@charset "UTF-8";
@-webkit-keyframes slideInRight {
  0% {
    right: -100%;
  }
  100% {
    right: 0;
  }
}
@keyframes slideInRight {
  0% {
    right: -100%;
  }
  100% {
    right: 0;
  }
}
@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes showIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes showIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes reveal-and-wait {
  0% {
    -webkit-transform: translateX(-50%) scaleY(1);
            transform: translateX(-50%) scaleY(1);
  }
  25% {
    -webkit-transform: translateX(-50%) scaleY(0);
            transform: translateX(-50%) scaleY(0);
  }
  100% {
    -webkit-transform: translateX(-50%) scaleY(0);
            transform: translateX(-50%) scaleY(0);
  }
}
@keyframes reveal-and-wait {
  0% {
    -webkit-transform: translateX(-50%) scaleY(1);
            transform: translateX(-50%) scaleY(1);
  }
  25% {
    -webkit-transform: translateX(-50%) scaleY(0);
            transform: translateX(-50%) scaleY(0);
  }
  100% {
    -webkit-transform: translateX(-50%) scaleY(0);
            transform: translateX(-50%) scaleY(0);
  }
}
@-webkit-keyframes slideInLeftSP {
  0% {
    left: 100%;
  }
  100% {
    left: -40.8vw;
  }
}
@keyframes slideInLeftSP {
  0% {
    left: 100%;
  }
  100% {
    left: -40.8vw;
  }
}
@-webkit-keyframes slideInRightSP {
  0% {
    left: 100%;
  }
  100% {
    left: -13.3333333333vw;
  }
}
@keyframes slideInRightSP {
  0% {
    left: 100%;
  }
  100% {
    left: -13.3333333333vw;
  }
}
@-webkit-keyframes slideInBgSP {
  0% {
    left: 100%;
  }
  100% {
    left: 0;
  }
}
@keyframes slideInBgSP {
  0% {
    left: 100%;
  }
  100% {
    left: 0;
  }
}
/*------------------------------
ベーススタイル
------------------------------*/
html {
  font-size: 16px;
}
html.active {
  overflow: hidden;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.875;
  letter-spacing: 0;
  color: #000000;
  position: relative;
}
body.active {
  overflow: hidden;
}

img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

a {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media (any-hover: hover) {
  a:hover {
    opacity: 0.7;
    text-decoration: none !important;
  }
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Zen Old Mincho", serif;
  font-weight: 700;
  text-transform: uppercase;
  border-bottom: none;
  border-top: none;
  line-height: normal;
}
h1::after,
h2::after,
h3::after,
h4::after,
h5::after,
h6::after {
  display: none !important;
}

address {
  font-style: normal;
}

.veu_autoEyeCatchBox {
  display: none;
}

.archive h1,
.archive h2,
.archive h3,
.archive h4,
.archive h5,
.archive h6,
.archive p,
.blog h1,
.blog h2,
.blog h3,
.blog h4,
.blog h5,
.blog h6,
.blog p {
  margin: 0;
  padding: 0;
  -webkit-margin-after: 0 !important;
          margin-block-end: 0 !important;
  -webkit-margin-before: 0 !important;
          margin-block-start: 0 !important;
}

#site-header.site-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 2001;
  -webkit-box-shadow: none;
          box-shadow: none;
}
#site-header .site-header-container {
  max-width: 110rem;
  width: 100%;
  margin: 0 auto;
  position: relative;
}
#site-header .site-header-logo {
  margin: 0;
  padding: 0;
  padding-top: 1.25rem;
  padding-bottom: 1rem;
  min-width: 12.5rem;
  padding-right: 2.5rem;
}
@media (max-width: 991.98px) {
  #site-header .site-header-logo {
    min-width: unset;
    width: 13.4375rem;
    max-width: 13.4375rem;
    padding-top: 1rem;
    padding-bottom: 0.6875rem;
    padding-right: 0;
  }
}
#site-header .site-header-logo img {
  max-height: none;
}
#site-header .global-nav {
  padding-top: 0.5rem;
}
#site-header .global-nav .acc-btn {
  display: none !important;
}
#site-header .menu-item {
  padding: 0;
}
#site-header .menu-item strong {
  font-weight: 400;
}
#site-header .menu-item::before {
  display: none;
}
#site-header .menu-item a {
  padding: min(1.25rem, 1.0416666667vw) !important;
}
#site-header .menu-item:nth-child(2) {
  margin-left: 1.8229166667vw;
}
#site-header .menu-item:nth-child(3) {
  margin-left: 1.7708333333vw;
}
#site-header .menu-item:nth-child(4) {
  margin-left: 1.1458333333vw;
}
#site-header .menu-item:nth-child(5) {
  margin-left: 1.1458333333vw;
}
#site-header .menu-item:nth-of-type(6) {
  margin-left: 0.8854166667vw;
}
#site-header .menu-item:last-child {
  margin-left: 0.8854166667vw;
}
#site-header .menu-item.menu-item-has-children li {
  margin-left: 0;
}

#site-header .menu-item a strong {
  font-size: 0.875rem !important;
}

#site-header .menu-item .acc-child-close a {
  font-size: 0.875rem !important;
}

nav a[href="#"] {
  pointer-events: none;
  cursor: default;
}

.container {
  padding: 0 1.25rem;
  max-width: 1080px;
}

#vk-mobile-nav-menu-btn.vk-mobile-nav-menu-btn {
  background: url(../img/sp/common/icon_menu.svg) no-repeat center center/contain;
  border: none;
  height: auto;
  left: unset;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  position: absolute;
  right: 1.25rem;
}
#vk-mobile-nav-menu-btn.vk-mobile-nav-menu-btn.menu-open {
  background: url(../img/sp/common/icon_menu.svg) no-repeat center center/contain;
  border: none;
  height: auto;
  left: unset;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  position: absolute;
  right: 1.25rem;
}

#vk-mobile-nav {
  height: auto;
  border: none;
  padding-top: 1.875rem;
}
#vk-mobile-nav.vk-mobile-nav-drop-in ul,
#vk-mobile-nav.vk-mobile-nav-drop-in a {
  border: none;
}
#vk-mobile-nav.vk-mobile-nav-drop-in a {
  line-height: 3.1080625rem;
  padding: 0 0.6em;
}
#vk-mobile-nav.vk-mobile-nav-drop-in.vk-mobile-nav-open {
  top: 3.71875rem;
}
#vk-mobile-nav.vk-mobile-nav-drop-in .acc-btn {
  border: none;
  width: 100%;
  background-position: right center;
}
#vk-mobile-nav.vk-mobile-nav-drop-in .acc-btn.acc-btn-open {
  background-image: url(../img/common/vk-menu-acc-icon-open-black.svg);
  background-size: 1.5rem 1.5rem;
  right: 1rem;
}
#vk-mobile-nav.vk-mobile-nav-drop-in .acc-btn.acc-btn-close {
  background-image: url(../img/common/vk-menu-acc-icon-close-black.svg);
  background-size: 1.25rem 1.25rem; /* 横20px × 縦20px */
  background-size: 1.5rem 1.5rem;
  right: 1rem;
}
#vk-mobile-nav.vk-mobile-nav-drop-in .sub-menu {
  padding-left: 1em;
}
#vk-mobile-nav.vk-mobile-nav-menu-outer {
  margin-bottom: 0;
}

#vk-mobile-nav-cover {
  background-color: rgba(0, 0, 0, 0.5);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -2000;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}

.site-footer {
  border-top: none;
  background-color: #00285c;
  color: #ffffff;
  padding: 3.4375rem 0 1.875rem;
}
@media (max-width: 991.98px) {
  .site-footer {
    padding: 3.4375rem 0 1.1rem;
  }
}

.site-footer__body {
  display: grid;
  grid-template: "company nav" auto/21.5rem 1fr;
  gap: 5.8645833333vw;
}
@media (max-width: 991.98px) {
  .site-footer__body {
    grid-template: "company" auto "nav" auto/auto;
    gap: 5.8645833333vw;
    inline-size: -webkit-fit-content;
    inline-size: -moz-fit-content;
    inline-size: fit-content;
  }
}

@media (max-width: 991.98px) {
  .site-footer__company {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.site-footer__company .site-footer__title {
  font-size: 2.25rem;
  font-weight: 400;
  line-height: 3.9375rem;
  padding: 0;
  margin: 0;
}
@media (max-width: 991.98px) {
  .site-footer__company .site-footer__title {
    font-size: 1.75rem;
    line-height: 1;
  }
}
.site-footer__company .site-footer__title a {
  color: #ffffff;
}
.site-footer__company .site-footer__address {
  font-size: 16px;
  font-weight: 400;
  line-height: 28px;
  font-weight: 400;
  padding-top: 0.625rem;
}
@media (max-width: 991.98px) {
  .site-footer__company .site-footer__address {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    -ms-flex-item-align: center;
        align-self: center;
    padding-top: 2.0625rem;
    position: relative;
    left: -4px;
  }
}
.site-footer__company .site-footer__address p {
  margin-bottom: 0;
}
@media (max-width: 991.98px) {
  .site-footer__company .site-footer__address p {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
.site-footer__company .site-footer__address a {
  color: #ffffff;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.site-footer__company .site-footer__address a:hover {
  opacity: 0.7;
}

.site-footer__nav {
  grid-area: nav;
}
@media (max-width: 991.98px) {
  .site-footer__nav {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    min-width: 227.55px;
    justify-self: center;
  }
}
.site-footer__nav ul.footer-nav-list {
  display: grid;
  grid-template: "service  works faq" auto "service  company contact" auto "service  company recruit" auto "service  company blog" auto/auto auto auto;
  row-gap: 1.1rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 0.625rem;
}
@media (max-width: 991.98px) {
  .site-footer__nav ul.footer-nav-list {
    grid-template: "service" auto "works" auto "company" auto "faq" auto "contact" auto "recruit" auto "blog" auto/auto;
    gap: 1.3rem;
    -webkit-column-gap: unset;
       -moz-column-gap: unset;
            column-gap: unset;
    margin-top: 0;
    position: relative;
    left: -4px;
  }
}
.site-footer__nav ul.footer-nav-list li {
  border: none;
}
.site-footer__nav ul.footer-nav-list li a {
  font-weight: 700;
  color: #ffffff;
  font-size: 1.125rem;
  line-height: 1.75rem;
  padding: 0.5em 0;
}
@media (max-width: 991.98px) {
  .site-footer__nav ul.footer-nav-list li a {
    font-size: 1rem;
    padding: 0;
  }
}
.site-footer__nav ul.footer-nav-list > li:nth-child(1) {
  grid-area: service;
  margin-right: 1.5625vw;
}
.site-footer__nav ul.footer-nav-list > li:nth-child(2) {
  grid-area: works;
}
.site-footer__nav ul.footer-nav-list > li:nth-child(3) {
  grid-area: company;
}
.site-footer__nav ul.footer-nav-list > li:nth-child(4) {
  grid-area: faq;
}
.site-footer__nav ul.footer-nav-list > li:nth-child(5) {
  grid-area: blog;
}
.site-footer__nav ul.footer-nav-list > li:nth-child(6) {
  grid-area: contact;
}
.site-footer__nav ul.footer-nav-list > li:nth-child(7) {
  grid-area: recruit;
}
.site-footer__nav ul.sub-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 0;
  padding-left: 1.125rem;
  margin-top: 0.5rem;
}
.site-footer__nav ul.sub-menu li {
  font-weight: 400;
  position: relative;
  font-size: 16px;
  font-weight: 400;
  line-height: 28px;
  font-weight: 400;
}
.site-footer__nav ul.sub-menu li::before {
  position: absolute;
  content: "・";
  left: -1.125rem;
}
.site-footer__nav ul.sub-menu li a {
  font-size: 16px;
  font-weight: 400;
  line-height: 28px;
  font-weight: 400;
}

.site-footer-bottom {
  display: grid;
  grid-template: "privacy copyright blank" auto/1fr 1fr 1fr;
  margin-top: 5.5625rem;
  margin-top: 4rem;
}
@media (max-width: 991.98px) {
  .site-footer-bottom {
    grid-template: "privacy" auto "copyright" auto "blank" auto/auto;
    gap: 0;
    margin-top: 3.25rem;
  }
}
.site-footer-bottom a {
  color: #ffffff;
  font-size: 16px;
  font-weight: 400;
  line-height: 28px;
  font-weight: 400;
}
@media (max-width: 991.98px) {
  .site-footer-bottom a {
    font-size: 0.875rem;
    line-height: 1.75rem;
  }
}
.site-footer-bottom .site-footer-copyright {
  grid-area: copyright;
  justify-self: center;
  font-size: 16px;
  font-weight: 400;
  line-height: 28px;
  font-weight: 400;
  padding: 0;
}
@media (max-width: 991.98px) {
  .site-footer-bottom .site-footer-copyright {
    font-size: 0.875rem;
    line-height: 1.75rem;
  }
}
.site-footer-bottom .site-footer-privacy-policy {
  grid-area: privacy;
  align-self: center;
}
@media (max-width: 991.98px) {
  .site-footer-bottom .site-footer-privacy-policy {
    justify-self: center;
  }
}
.site-footer-bottom .site-footer-privacy-policy a {
  padding: 0.3em 0;
}
.site-footer-bottom .site-footer-blank {
  grid-area: blank;
}

#page_top {
  display: none;
}

.mv {
  position: relative;
  width: 100%;
  aspect-ratio: 1920/776;
  overflow: hidden;
  background-color: #ffffff !important;
}
.mv h1,
.mv h2,
.mv h3,
.mv h4,
.mv h5,
.mv h6,
.mv p {
  margin: 0;
  padding: 0;
  -webkit-margin-after: 0 !important;
          margin-block-end: 0 !important;
  -webkit-margin-before: 0 !important;
          margin-block-start: 0 !important;
}

.mv-sp {
  background-color: #ffffff !important;
}

.mv-body {
  position: absolute;
  z-index: 12;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  width: 100%;
  max-width: calc(79.4791666667vw + 2.5rem);
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  padding: 0 1.25rem;
  padding-top: min(6.1979166667vw, 7.4375rem);
}
.mv-body h1,
.mv-body h2,
.mv-body h3,
.mv-body h4,
.mv-body h5,
.mv-body h6,
.mv-body p {
  margin: 0;
  padding: 0;
  -webkit-margin-after: 0 !important;
          margin-block-end: 0 !important;
  -webkit-margin-before: 0 !important;
          margin-block-start: 0 !important;
}

.mv-body__title {
  opacity: 0;
}
.mv-body__title h2 {
  font-size: min(2.5vw, 3rem);
}

.mv-body__title-text--blue {
  color: #32a0c7;
}

.mv-body__text {
  opacity: 0;
}
.mv-body__text p {
  font-size: min(0.8333333333vw, 1rem);
  line-height: min(1.875vw, 2.25rem);
}

.mv-body__scroll {
  text-transform: uppercase;
  color: #32a0c7;
  font-size: min(1.0416666667vw, 1.25rem);
  position: absolute;
  bottom: min(7.4479166667vw, 8.9375rem);
  opacity: 0;
}

.mv-body__scroll__line {
  opacity: 0;
}
.mv-body__scroll__line::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 100%;
  left: 50%;
  margin-top: 1.5rem;
  width: 0.25rem;
  height: 6.1458333333vw;
  background-color: white;
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
  -webkit-animation: reveal-and-wait 4.3s ease infinite;
          animation: reveal-and-wait 4.3s ease infinite;
}
.mv-body__scroll__line::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  margin-top: min(1.3020833333vw, 1.5625rem);
  width: 0.125rem;
  height: 6.1458333333vw;
  background-image: repeating-linear-gradient(to bottom, currentColor, currentColor 0.125rem, transparent 0.125rem, transparent 0.25rem);
}

.mv-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1;
  -webkit-transition: all 0.8s ease-in-out;
  transition: all 0.8s ease-in-out;
}
@media (max-width: 991.98px) {
  .mv-img {
    height: 100%;
  }
}
.mv-img__arrow-left {
  z-index: 3;
  right: -100%;
  left: auto;
}
.mv-img__bg {
  z-index: 2;
}
.mv-img__arrow-right {
  z-index: 4;
  right: -100%;
  left: auto;
}
.mv-img__main-image {
  z-index: 1;
  opacity: 0;
}

.mv-animation__arrow-bg {
  -webkit-animation: fadeOut 0.3s 1.2s forwards;
          animation: fadeOut 0.3s 1.2s forwards;
}

.mv-animation__arrow-left {
  -webkit-animation: slideInRight 0.3s ease-in-out forwards, fadeOut 0.3s 1.2s forwards;
          animation: slideInRight 0.3s ease-in-out forwards, fadeOut 0.3s 1.2s forwards;
}
.mv-animation__arrow-left.is-sp {
  -webkit-animation: slideInLeftSP 0.3s ease-in-out forwards, fadeOut 0.3s 1.2s forwards;
          animation: slideInLeftSP 0.3s ease-in-out forwards, fadeOut 0.3s 1.2s forwards;
}

.mv-animation__arrow-right {
  -webkit-animation: slideInRight 0.3s ease-in-out 0.3s forwards, fadeOut 0.3s 1.2s forwards;
          animation: slideInRight 0.3s ease-in-out 0.3s forwards, fadeOut 0.3s 1.2s forwards;
}
.mv-animation__arrow-right.is-sp {
  -webkit-animation: slideInRightSP 0.3s ease-in-out 0.3s forwards, fadeOut 0.3s 1.2s forwards;
          animation: slideInRightSP 0.3s ease-in-out 0.3s forwards, fadeOut 0.3s 1.2s forwards;
}

.mv-animation__main-image {
  -webkit-animation: showIn 0s 0.3s forwards;
          animation: showIn 0s 0.3s forwards;
}

.mv-animation__body {
  -webkit-animation: showIn 0.3s 2.3s forwards;
          animation: showIn 0.3s 2.3s forwards;
}

.mv-animation__line {
  -webkit-animation: showIn 0.3s 3.4s forwards;
          animation: showIn 0.3s 3.4s forwards;
}

@media (max-width: 991.98px) {
  .sp-off {
    display: none;
  }
}

.sp-on {
  display: none;
}
@media (max-width: 991.98px) {
  .sp-on {
    display: block;
  }
}

.home {
  background-color: transparent !important;
  position: relative;
  height: 100%;
}
.home h1,
.home h2,
.home h3,
.home h4,
.home h5,
.home h6,
.home p {
  margin: 0;
  padding: 0;
  -webkit-margin-after: 0 !important;
          margin-block-end: 0 !important;
  -webkit-margin-before: 0 !important;
          margin-block-start: 0 !important;
}
.home::after {
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: url(../img/pc/parallax/img_bg.jpg) no-repeat center center/cover;
}
@media (max-width: 991.98px) {
  .home::after {
    background: url(../img/sp/parallax/img_bg_sp.jpg) no-repeat center center/cover;
  }
}

.home #site-header {
  opacity: 0;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media (max-width: 991.98px) {
  .home #site-header {
    opacity: 1;
  }
}

.home__box-full {
  background-color: #ffffff !important;
}
.home__box-full .common-box__inner-normal {
  padding-top: 0;
  padding-bottom: 0;
}

body.home {
  padding-top: 0;
}
@media (max-width: 991.98px) {
  body.home {
    padding-top: 59.5px;
  }
}

.sp-br {
  display: inline;
}
@media (max-width: 991.98px) {
  .sp-br {
    display: inline-block;
  }
}

.mv-sp-body__title {
  display: inline-block;
  display: grid;
  padding: 1.875rem 0 1.875rem;
}
.mv-sp-body__title h2 {
  display: inline;
  text-align: center;
  font-size: 2rem;
}

.mv-sp-body__text {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.mv-sp-body__text p {
  line-height: 1.875rem;
  font-size: 1rem;
  display: inline-block;
}

.mv-sp {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@media (max-width: 991.98px) {
  .mv-sp .mv-img {
    height: auto;
    aspect-ratio: 375/377;
  }
}

.home-section {
  max-width: 65rem;
  margin: 0 auto;
  padding-top: 5rem !important;
  padding-bottom: 5rem !important;
  margin-top: 0 !important;
}
.home-section h2 {
  font-size: 2rem;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0;
}
@media (max-width: 991.98px) {
  .home-section h2 {
    font-size: 1.5rem;
  }
}
.home-section .smb-section__lede-wrapper {
  margin-top: 0;
  margin-top: 0.5rem;
  text-transform: uppercase;
  color: #32a0c7;
}
@media (max-width: 991.98px) {
  .home-section .smb-section__lede-wrapper {
    font-size: 0.875rem;
    margin-top: 0.9375rem;
  }
}
.home-section .smb-section__lede {
  font-size: 1rem !important;
}
@media (max-width: 991.98px) {
  .home-section .smb-section__lede {
    font-size: 0.875rem !important;
  }
}
.home-section .smb-section__body {
  margin-top: 0;
}

.home-section__contact {
  padding: 0 10px;
}
@media (max-width: 320px) {
  .home-section__contact .button a {
    min-width: unset !important;
  }
  .home-section__contact .button a::after {
    display: none;
  }
}

@media (max-width: 320px) {
  .home-section__company .button a {
    min-width: 12.5rem !important;
  }
  .home-section__company .button a::after {
    display: none;
  }
}

.common-box-tel.smb-box {
  padding: 2.2rem 1.25rem 1rem;
  max-width: 40.4375rem;
  -webkit-transition: -webkit-filter 0.3s;
  transition: -webkit-filter 0.3s;
  transition: filter 0.3s;
  transition: filter 0.3s, -webkit-filter 0.3s;
}
.common-box-tel.smb-box h1,
.common-box-tel.smb-box h2,
.common-box-tel.smb-box h3,
.common-box-tel.smb-box h4,
.common-box-tel.smb-box h5,
.common-box-tel.smb-box h6,
.common-box-tel.smb-box p {
  margin: 0;
  padding: 0;
  -webkit-margin-after: 0 !important;
          margin-block-end: 0 !important;
  -webkit-margin-before: 0 !important;
          margin-block-start: 0 !important;
}
.common-box-tel.smb-box:hover {
  -webkit-filter: brightness(0.96);
          filter: brightness(0.96);
}
@media (max-width: 991.98px) {
  .common-box-tel.smb-box {
    padding: 1.4rem 0.625rem 0.625rem;
    max-width: 18.4375rem;
  }
}
.common-box-tel.smb-box .common-box-tel__number strong {
  font-size: 3rem !important;
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
  line-height: 1;
  position: relative;
  left: 0.625rem;
  padding-top: 0.625rem;
}
@media (max-width: 991.98px) {
  .common-box-tel.smb-box .common-box-tel__number strong {
    font-size: 2rem !important;
    left: 0.7em;
    padding-top: 0;
  }
}
.common-box-tel.smb-box .common-box-tel__number strong::after {
  position: absolute;
  content: "";
  width: 2.1875rem;
  aspect-ratio: 35/45;
  background: url(../img/common/icon_tel.svg) no-repeat center center/cover;
  top: 60%;
  right: calc(100% + 0.375rem);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (max-width: 991.98px) {
  .common-box-tel.smb-box .common-box-tel__number strong::after {
    width: 1.625rem;
    top: 64.8%;
    right: calc(100% + 0.575rem);
  }
}
.common-box-tel.smb-box .common-box-tel__number .smb-box__body > p {
  font-size: 1rem !important;
  margin-top: 0.625rem;
}
.common-box-tel.smb-box .common-box-tel__time {
  -webkit-margin-before: 0.625rem !important;
          margin-block-start: 0.625rem !important;
}
@media (max-width: 991.98px) {
  .common-box-tel.smb-box .common-box-tel__time {
    -webkit-margin-before: 0px !important;
            margin-block-start: 0px !important;
    line-height: 1.5;
    padding-top: 0.5rem;
  }
}

.common-qa__wrapper {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  background-color: #e7f5fc !important;
}
.common-section.common-qa {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  background-color: #e7f5fc;
  padding-top: 5rem !important;
  padding-bottom: 8.5625rem !important;
  padding: 0 1.25rem;
  max-width: 67.5rem;
}
@media (max-width: 991.98px) {
  .common-section.common-qa {
    width: 100%;
  }
}
@media (max-width: 991.98px) {
  .common-section.common-qa {
    padding-bottom: 4.1rem !important;
  }
}
.common-section.common-qa .smb-section__background {
  background-color: #e7f5fc !important;
}

.common-qa_items {
  -webkit-margin-before: 3.1875rem !important;
          margin-block-start: 3.1875rem !important;
}
@media (max-width: 991.98px) {
  .common-qa_items {
    -webkit-margin-before: 2.875rem !important;
            margin-block-start: 2.875rem !important;
  }
}

.common-qa__item {
  -webkit-margin-before: 2.8125rem !important;
          margin-block-start: 2.8125rem !important;
}
@media (max-width: 991.98px) {
  .common-qa__item {
    -webkit-margin-before: 3.1rem !important;
            margin-block-start: 3.1rem !important;
  }
  .common-qa__item:not(:first-child) {
    -webkit-margin-before: 3.9375rem !important;
            margin-block-start: 3.9375rem !important;
  }
}

.common-qa__question {
  color: #32a0c7;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  font-family: "Noto Sans JP", sans-serif;
}
@media (max-width: 991.98px) {
  .common-qa__question {
    font-size: 1.125rem;
  }
}

.common-qa__answer {
  font-size: 1.125rem;
  font-style: normal;
  line-height: 1.875rem;
  -webkit-margin-before: 0.625rem !important;
          margin-block-start: 0.625rem !important;
  text-align: justify;
}
@media (max-width: 991.98px) {
  .common-qa__answer {
    font-size: 1rem;
  }
}

.common-qa__button.is-layout-flex {
  display: none;
}

.button h1,
.button h2,
.button h3,
.button h4,
.button h5,
.button h6,
.button p {
  margin: 0;
  padding: 0;
  -webkit-margin-after: 0 !important;
          margin-block-end: 0 !important;
  -webkit-margin-before: 0 !important;
          margin-block-start: 0 !important;
}
.button a, .button button {
  min-width: 21rem;
  position: relative;
  padding: 1.5625rem;
  font-size: 1.125rem;
  display: inline-block;
  text-align: center;
  border-radius: 0.1875rem;
}
@media (max-width: 991.98px) {
  .button a, .button button {
    min-width: 18.75rem;
    padding: 1.1875rem;
  }
}
.button a::after, .button button::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1em;
  aspect-ratio: 1/1;
  background: url(../img/common/icon_button.svg) no-repeat center center/contain;
  right: 1em;
}
.button a:hover, .button button:hover {
  -webkit-filter: brightness(0.9);
          filter: brightness(0.9);
}

button[type=submit].smf-button-control__control {
  min-width: 21rem;
  position: relative;
  padding: 1.5625rem;
  font-size: 1.125rem;
  display: inline-block;
  text-align: center;
  border-radius: 0.1875rem;
  background-color: #32a0c7;
  background-image: none;
  color: #ffffff;
  border: none;
}
@media (max-width: 991.98px) {
  button[type=submit].smf-button-control__control {
    min-width: 18.75rem;
    padding: 1.1875rem;
  }
}
button[type=submit].smf-button-control__control::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1em;
  aspect-ratio: 1/1;
  background: url(../img/common/icon_button.svg) no-repeat center center/contain;
  right: 1em;
}
button[type=submit].smf-button-control__control:hover {
  -webkit-filter: brightness(0.9);
          filter: brightness(0.9);
}
@media (max-width: 991.98px) {
  button[type=submit].smf-button-control__control {
    width: 100%;
    min-width: unset;
  }
}

.works-item {
  overflow: hidden;
}
.works-item__slide {
  height: 18.75rem;
  position: relative;
  overflow: hidden;
}
.works-item__image {
  aspect-ratio: 244/260;
  -o-object-fit: cover;
     object-fit: cover;
}
.works-item__content {
  width: 100%;
}
.works-item__title {
  margin: 0 0 0.5rem 0;
  font-size: 1.125rem;
  font-family: "Noto Sans JP", sans-serif;
  color: #000;
}
@media (max-width: 991.98px) {
  .works-item__title {
    font-size: 1rem;
  }
}
.works-item__tag {
  padding: 0 0.4375rem;
  border-radius: 1.875rem;
  font-size: 0.875rem;
  margin-top: 0.625rem;
  display: inline-block;
  color: #ffffff;
  background-color: #ffffff;
  border: 0.0625rem solid #ffffff;
}
@media (max-width: 991.98px) {
  .works-item__tag {
    font-size: 0.75rem;
  }
}
.works-item__period {
  font-size: 1rem;
  color: #777777;
  line-height: 2;
}
@media (max-width: 991.98px) {
  .works-item__period {
    font-size: 0.875rem;
  }
}

.parallax .smb-box__background {
  border: none !important;
}

.button-white a {
  font-size: 1.125rem;
  text-indent: -1em;
}
@media (max-width: 991.98px) {
  .button-white a {
    font-size: 1rem;
  }
}
.button-white a::after {
  background: url(../img/common/icon_button-navy.svg) no-repeat center center/contain;
  right: 1.4rem;
}
@media (max-width: 991.98px) {
  .button-white a::after {
    right: 1rem;
  }
}

.home-company {
  background-color: #144e85;
  padding: 4rem 1.25rem;
  width: 100vw;
  max-width: unset;
  margin-left: calc(50% - 50vw) !important;
  position: relative;
  padding-top: 5.1rem !important;
  padding-bottom: 4.4rem !important;
}
@media (max-width: 991.98px) {
  .home-company {
    padding-top: 3.75rem !important;
    padding-bottom: 10.625rem !important;
  }
}
.home-company::before {
  content: "";
  position: absolute;
  top: -0.0625rem;
  left: 0;
  width: 100%;
  height: 0.0625rem;
  background-color: #144e85;
}
.home-company .smb-section__lede {
  color: #ffffff;
  font-size: 1rem !important;
}
.home-company .smb-section__body {
  position: relative;
}
.home-company .smb-grid {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
}
@media (max-width: 991.98px) {
  .home-company .smb-grid {
    top: 10.0625rem;
  }
}

.home-company__img {
  margin-top: 2.375rem !important;
  width: 21.625rem;
}

.home-company__grid {
  grid-template-columns: repeat(2, auto); /* 2列 */
  gap: 15.125rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 991.98px) {
  .home-company__grid {
    grid-template-columns: 1fr;
    gap: 2.25rem;
    place-content: center;
  }
}

.home-company__flex {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media (max-width: 991.98px) {
  .home-company__flex {
    width: auto;
  }
}

.home-company__button-description {
  font-size: 1.125rem;
  line-height: 1.875rem; /* 166.667% */
  text-align: center;
}
@media (max-width: 991.98px) {
  .home-company__button-description {
    font-size: 1rem;
    line-height: 1.875rem;
  }
}

.home-company__about--box .home-company__button-description {
  position: relative;
  left: 0.7em;
}
@media (max-width: 991.98px) {
  .home-company__about--box .home-company__button-description {
    left: 0;
  }
}

@media (max-width: 991.98px) {
  .home-company__company--box {
    position: relative;
    top: -0.125rem;
  }
}
.home-company__company--box .home-company__button-description {
  position: relative;
  left: -0.7em;
}
@media (max-width: 991.98px) {
  .home-company__company--box .home-company__button-description {
    left: 0;
  }
}

.home-reason {
  padding-bottom: 11.4375rem !important;
}
@media (max-width: 991.98px) {
  .home-reason {
    padding-bottom: 3.875rem !important;
  }
}
.home-reason .smb-media-text__contents-wrapper {
  margin: 0 !important;
  position: relative;
}
.home-reason .smb-media-text__contents-wrapper h3 {
  color: #000;
  font-family: "Noto Sans JP";
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  position: relative;
}
@media (max-width: 991.98px) {
  .home-reason .smb-media-text__contents-wrapper h3 {
    font-size: 1.125rem;
  }
}
.home-reason .smb-media-text__contents-wrapper h3::before {
  content: "00";
  position: absolute;
  bottom: 100%;
  left: 0;
  color: #32a0c7;
  font-family: "Zen Old Mincho";
  font-size: 2.5rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}
@media (max-width: 991.98px) {
  .home-reason .smb-media-text__contents-wrapper h3::before {
    font-size: 2rem;
    bottom: 154%;
  }
}
.home-reason .smb-media-text__contents-wrapper .smb-media-text__body {
  margin-top: 1.25rem;
}
@media (max-width: 991.98px) {
  .home-reason .smb-media-text__contents-wrapper .smb-media-text__body {
    margin-top: 0.625rem;
  }
}
.home-reason .smb-media-text__contents-wrapper .smb-media-text__body p {
  color: #000;
  font-family: "Noto Sans JP";
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.875rem; /* 187.5% */
}
.home-reason .smb-media-text__contents-wrapper::after {
  content: "";
  position: absolute;
  bottom: -1.875rem;
  left: 0;
  width: 100%;
  height: 0.0625rem;
  border-top: 0.125rem dotted #144e85;
}
@media (max-width: 991.98px) {
  .home-reason .smb-media-text__contents-wrapper::after {
    border-top: none;
  }
}
@media (max-width: 991.98px) {
  .home-reason .smb-media-text__figure {
    margin-bottom: 3.875rem;
  }
}
.home-reason .c-row > .c-row__col {
  max-width: 35.625rem;
  width: 100%;
}
@media (max-width: 991.98px) {
  .home-reason .c-row > .c-row__col {
    max-width: unset;
  }
}
.home-reason .c-row__col:first-child {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.home-reason__reasons.smb-box {
  padding: 0;
  margin-top: 5rem;
}
@media (max-width: 991.98px) {
  .home-reason__reasons.smb-box {
    margin-top: 2.8125rem;
  }
}

.home-reason__reason {
  -webkit-margin-before: 4.375rem !important;
          margin-block-start: 4.375rem !important;
}
@media (max-width: 991.98px) {
  .home-reason__reason {
    -webkit-margin-before: 3.0625rem !important;
            margin-block-start: 3.0625rem !important;
  }
}
@media (max-width: 991.98px) {
  .home-reason__reason.reason1 {
    -webkit-margin-before: 0 !important;
            margin-block-start: 0 !important;
  }
}
.home-reason__reason.reason1 h3::before {
  content: "01" !important;
}
@media (max-width: 991.98px) {
  .home-reason__reason.reason1 > div {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important;
  }
}
.home-reason__reason.reason2 h3::before {
  content: "02" !important;
}
.home-reason__reason.reason2 .smb-media-text__contents-wrapper {
  padding-left: 3.25rem;
  padding-top: 0.625rem;
}
@media (max-width: 991.98px) {
  .home-reason__reason.reason2 .smb-media-text__contents-wrapper {
    padding-left: 0;
  }
}
@media (max-width: 991.98px) {
  .home-reason__reason.reason2 .smb-media-text__figure > img {
    position: relative;
    top: 0.625rem;
  }
}
.home-reason__reason.reason3 h3::before {
  content: "03" !important;
}
.home-reason__reason.reason3 .smb-media-text__contents-wrapper {
  padding-top: 0.625rem;
}
@media (max-width: 991.98px) {
  .home-reason__reason.reason3 .smb-media-text__figure > img {
    position: relative;
    top: 0.625rem;
  }
}
@media (max-width: 991.98px) {
  .home-reason__reason.reason3 > div {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important;
  }
}

.site-body {
  padding-top: 0;
  padding-bottom: 0;
}

.home-service {
  --smb-section--fixed-background-color: transparent !important;
  padding-top: 4.375rem !important;
  padding-bottom: 7.625rem !important;
  padding: 0 1.25rem;
  max-width: 67.5rem;
}
@media (max-width: 991.98px) {
  .home-service {
    width: 100%;
  }
}
@media (max-width: 991.98px) {
  .home-service {
    padding-top: 2.25rem !important;
    padding-bottom: 3.6875rem !important;
  }
}

.home-service__items {
  -webkit-margin-before: 3.75rem !important;
          margin-block-start: 3.75rem !important;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 991.98px) {
  .home-service__items {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 2.8125rem;
    -webkit-margin-before: 2.8125rem !important;
            margin-block-start: 2.8125rem !important;
  }
}

.home-service__item {
  height: 25.5rem;
  width: 20.625rem;
  padding: 1.5625rem 1.4rem 1.5rem !important;
  cursor: pointer;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  background: #fff;
}
.home-service__item:hover {
  -webkit-transform: translate(2px, -3px);
          transform: translate(2px, -3px);
}
@media (max-width: 991.98px) {
  .home-service__item {
    height: 21.5625rem;
    width: 100%;
    padding: 1.875rem 0.625rem 3.5rem !important;
  }
}
.home-service__item .smb-box__background {
  border: none;
}
.home-service__item .smb-box__body {
  display: grid;
  gap: 1.75rem;
  grid-template-rows: repeat(3, auto);
  justify-items: center;
}
@media (max-width: 991.98px) {
  .home-service__item .smb-box__body {
    gap: 1.25rem;
  }
}
.home-service__item .home-service__item-title {
  color: #000;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}
@media (max-width: 991.98px) {
  .home-service__item .home-service__item-title {
    font-size: 1.25rem;
  }
}
.home-service__item .home-service__item-image {
  height: 8.75rem;
}
@media (max-width: 991.98px) {
  .home-service__item .home-service__item-image {
    height: auto;
  }
}
.home-service__item .home-service__item-image img {
  position: relative;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.home-service__item.demolition img {
  max-height: 8.75rem;
}
@media (max-width: 991.98px) {
  .home-service__item.demolition img {
    width: 8.75rem;
    height: 6.75rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
.home-service__item.civil-engineering img {
  max-height: 7.9375rem;
  left: 57%;
}
@media (max-width: 991.98px) {
  .home-service__item.civil-engineering img {
    width: 9.75rem;
    height: 6.375rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
.home-service__item.industrial-waste img {
  max-height: 8.3125rem;
}
@media (max-width: 991.98px) {
  .home-service__item.industrial-waste img {
    width: 9.875rem;
    height: 6.0625rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
.home-service__item .home-service__item-text {
  line-height: 1.75rem; /* 175% */
  padding-top: 0.3rem;
}
@media (max-width: 991.98px) {
  .home-service__item .home-service__item-text {
    max-width: 17.625rem;
  }
}

.home-works {
  padding-top: 4.5rem !important;
  padding-bottom: 7.5rem !important;
}
@media (max-width: 991.98px) {
  .home-works {
    padding-top: 2.5625rem !important;
    padding-bottom: 5rem !important;
  }
}

.home-works__items {
  -webkit-margin-before: 6.625rem !important;
          margin-block-start: 6.625rem !important;
}
@media (max-width: 991.98px) {
  .home-works__items {
    -webkit-margin-before: 1.875rem !important;
            margin-block-start: 1.875rem !important;
  }
  .home-works__items .smb-box__body {
    padding: 0;
    width: calc(100vw - 1.25rem);
  }
}

.home-works__button {
  margin-top: 3.75rem !important;
}
@media (max-width: 991.98px) {
  .home-works__button {
    margin-top: 4.0625rem !important;
  }
}

.smb-box {
  padding: 0;
  border: none !important;
  --smb-box--border-width: 0 !important;
}

.home-contact__parallax {
  padding-top: 7.5rem;
  padding-bottom: 7.625rem;
}
@media (max-width: 991.98px) {
  .home-contact__parallax {
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
  }
}

@media (max-width: 991.98px) {
  .home-contact {
    padding-top: 3.75rem !important;
    padding-bottom: 3.75rem !important;
  }
}

.home-contact__tel-box {
  -webkit-margin-before: 1.125rem !important;
          margin-block-start: 1.125rem !important;
}
@media (max-width: 991.98px) {
  .home-contact__tel-box {
    -webkit-margin-before: 2.8125rem !important;
            margin-block-start: 2.8125rem !important;
  }
}

.home-contact__button-wrapper {
  -webkit-margin-before: 2.375rem !important;
          margin-block-start: 2.375rem !important;
}

.button-ghost a {
  font-size: 1.25rem;
  text-indent: 0.5em;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.button-ghost a:hover {
  -webkit-filter: unset;
          filter: unset;
  opacity: 1;
  cursor: default;
}
@media (max-width: 991.98px) {
  .button-ghost a {
    font-size: 1.125rem;
    text-indent: 0;
  }
}

.button-primary a {
  background-color: #32a0c7;
  background-image: none;
  color: #ffffff;
  text-indent: -1em;
}
@media (max-width: 991.98px) {
  .button-primary a {
    font-size: 1rem;
    text-indent: -0.8em;
  }
}
.button-primary.is-wide {
  text-align: center;
  max-width: unset;
}
@media (max-width: 991.98px) {
  .button-primary.is-wide a {
    min-width: 100%;
  }
}

@media (max-width: 991.98px) {
  .button-set {
    gap: 0.4375rem;
  }
}

.page-contact .page-contact__tel {
  margin-top: 6rem;
  margin-bottom: 4.4375rem;
}
@media (max-width: 991.98px) {
  .page-contact .page-contact__tel {
    margin-top: 4.25rem;
    margin-bottom: 3.875rem;
  }
  .page-contact .page-contact__tel .common-box-tel {
    max-width: unset;
  }
  .page-contact .page-contact__tel .common-box-tel__number strong {
    left: 0;
  }
  .page-contact .page-contact__tel .common-box-tel__number strong::after {
    width: 1.3125rem;
    top: 50%;
    right: calc(100% + 0.2em);
  }
}

.page-contact__confirm-heading,
.smf-complete-content {
  margin-top: 6.25rem;
  margin-bottom: 5.25rem;
}
@media (max-width: 991.98px) {
  .page-contact__confirm-heading,
  .smf-complete-content {
    margin-top: 2.8125rem;
    margin-bottom: 4.3125rem;
  }
}
.page-contact__confirm-heading > P,
.smf-complete-content > P {
  margin-top: 6.875rem;
  margin-bottom: 6.25rem;
  color: #000;
  font-family: "Noto Sans JP";
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.75rem;
}
@media (max-width: 991.98px) {
  .page-contact__confirm-heading > P,
  .smf-complete-content > P {
    margin-top: 4.3125rem;
    line-height: 1.875rem;
    margin-bottom: 3.4375rem;
  }
}
.page-contact__confirm-heading h2,
.smf-complete-content h2 {
  color: #000;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  position: relative;
}
@media (max-width: 991.98px) {
  .page-contact__confirm-heading h2,
  .smf-complete-content h2 {
    font-size: 1.5rem;
  }
}
.page-contact__confirm-heading h2::after,
.smf-complete-content h2::after {
  content: "";
  position: absolute;
  bottom: -0.625rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 4.6875rem;
  height: 0.25rem;
  background-color: #32a0c7;
  display: block !important;
  z-index: 1;
  top: 144%;
}
@media (max-width: 991.98px) {
  .page-contact__confirm-heading h2::after,
  .smf-complete-content h2::after {
    top: 157%;
  }
}

@media (max-width: 991.98px) {
  .smf-complete-content h2 {
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }
}

.page-contact .page-contact__form-item {
  min-height: 5.9375rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 2.9375rem;
  border-bottom: 0.0625rem solid #C2D1D9;
  padding: 1.5625rem 0 1.5625rem 1.875rem !important;
}
.page-contact .page-contact__form-item:nth-of-type(3) {
  border-top: 0.0625rem solid #C2D1D9;
}
@media (max-width: 991.98px) {
  .page-contact .page-contact__form-item:nth-of-type(3) {
    border-top: none;
  }
}
@media (max-width: 991.98px) {
  .page-contact .page-contact__form-item {
    min-height: 3.1875rem;
    display: block;
    padding: 0 !important;
    border-bottom: none !important;
    margin-bottom: 2.8125rem !important;
  }
  .page-contact .page-contact__form-item:last-child {
    margin-bottom: 0 !important;
  }
}
.page-contact .page-contact__form-item .smf-item__col--label {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  max-width: unset;
  padding-right: 0;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.75rem;
}
@media (max-width: 991.98px) {
  .page-contact .page-contact__form-item .smf-item__col--label {
    font-size: 1rem;
    padding-bottom: 0.9375rem;
  }
}
.page-contact .page-contact__form-item .smf-item__col--label .smf-item__description {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0;
  background-color: #32a0c7;
  color: #ffffff;
  padding: 0.125rem 0.5625rem 0.125rem 0.625rem;
  border-radius: 0.3125rem;
  margin-top: 0;
  font-size: 0.875rem;
}
@media (max-width: 991.98px) {
  .page-contact .page-contact__form-item .smf-item__col--label .smf-item__description {
    top: 0;
    -webkit-transform: none;
            transform: none;
  }
}
.page-contact .page-contact__form-item .smf-item__col--controls {
  max-width: 41.125rem;
}
@media (max-width: 991.98px) {
  .page-contact .page-contact__form-item .smf-item__col--controls {
    max-width: unset;
  }
}
.page-contact .page-contact__form-item .smf-item__col--controls input,
.page-contact .page-contact__form-item .smf-item__col--controls textarea {
  border: 0.0625rem solid #B6B6B6;
  border-radius: 0.3125rem;
  margin-bottom: 0;
  margin-top: 0;
}
.page-contact .page-contact__form-item .smf-item__col--controls .smf-checkboxes-control__control {
  margin-top: 0;
}
@media (max-width: 991.98px) {
  .page-contact .page-contact__form-item .smf-item__col--controls .smf-checkboxes-control__control {
    margin-top: 0.9375rem;
  }
}
.page-contact .page-contact__form-item .smf-item__col--controls .smf-checkboxes-control__control .smf-checkbox-control {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1rem;
  line-height: normal;
  position: relative;
  left: 1em;
}
@media (max-width: 991.98px) {
  .page-contact .page-contact__form-item .smf-item__col--controls .smf-checkboxes-control__control .smf-checkbox-control {
    left: 0.5em;
  }
}
.page-contact .page-contact__form-item .smf-item__col--controls .smf-checkboxes-control__control .smf-checkbox-control .smf-checkbox-control__link {
  color: #000000;
  border-bottom: 0.0625rem solid #000000;
}
.page-contact .page-contact__form-item .smf-item__col--controls .smf-checkboxes-control__control .smf-checkbox-control .smf-checkbox-control__link:hover {
  opacity: 0.7;
}
.page-contact .page-contact__form-item .smf-item__col--controls .smf-textarea-control textarea {
  min-height: 11.125rem;
}
@media (max-width: 991.98px) {
  .page-contact .page-contact__form-item .smf-item__col--controls .smf-textarea-control textarea {
    min-height: 12.8125rem;
  }
}
.page-contact input[type=checkbox] {
  opacity: 0;
}
.page-contact input[type=checkbox]:checked {
  position: relative;
  z-index: 1;
}
.page-contact input[type=checkbox]:checked + .smf-checkbox-control__label::after {
  opacity: 1;
}
.page-contact input[type=checkbox]:focus + .smf-checkbox-control__label::before, .page-contact input[type=checkbox]:focus-within + .smf-checkbox-control__label::before, .page-contact input[type=checkbox]:active + .smf-checkbox-control__label::before, .page-contact input[type=checkbox][aria-selected=true] + .smf-checkbox-control__label::before {
  outline: 0.125rem solid #32a0c7;
}
.page-contact .smf-checkbox-control__label {
  position: relative;
}
.page-contact .smf-checkbox-control__label::before {
  content: "";
  position: absolute;
  width: 1.25rem;
  height: 1.25rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: -2.125rem;
  border: 0.0625rem solid #B6B6B6;
  border-radius: 0.3125rem;
  background-color: #ffffff;
}
.page-contact .smf-checkbox-control__label::after {
  content: "";
  position: absolute;
  width: 1.25rem;
  height: 1.25rem;
  top: 44%;
  left: -1.9375rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(../img/common/checkmark.svg) no-repeat center center/contain;
  opacity: 0;
}
.page-contact .smf-form .smf-text-control__control:active,
.page-contact .smf-form .smf-text-control__control:focus,
.page-contact .smf-form .smf-text-control__control:focus-within,
.page-contact .smf-form .smf-text-control__control[aria-selected=true],
.page-contact .smf-form .smf-textarea-control__control:active,
.page-contact .smf-form .smf-textarea-control__control:focus,
.page-contact .smf-form .smf-textarea-control__control:focus-within,
.page-contact .smf-form .smf-textarea-control__control[aria-selected=true] {
  outline: 0.125rem solid #32a0c7;
}
.page-contact .smf-action {
  margin-top: 4.375rem;
  margin-bottom: 4.875rem;
}
@media (max-width: 991.98px) {
  .page-contact .smf-action {
    margin-top: 2.3125rem;
    margin-bottom: 4rem;
  }
  .page-contact .smf-action .smf-button-control {
    width: 100%;
  }
  .page-contact .smf-action .smf-button-control__control {
    padding: 1.625rem !important;
  }
}
.page-contact [data-screen=confirm] .smf-action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 9.6875rem;
}
@media (max-width: 991.98px) {
  .page-contact [data-screen=confirm] .smf-action {
    gap: 2.8125rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    margin-top: 6.3125rem;
  }
}
.page-contact [data-screen=confirm] .smf-button-control {
  margin: 0;
}
.page-contact button[data-action=back] {
  background-color: #A0ADB1;
}
.page-contact button[data-action=back]::after {
  display: none;
}
@media (max-width: 991.98px) {
  .page-contact .smf-complete-content .smb-btn-wrapper {
    width: 100%;
  }
  .page-contact .smf-complete-content .smb-btn-wrapper a {
    padding: 1.625rem 0;
  }
}

.page-contact .common-qa {
  padding-top: 7.5rem !important;
  padding-bottom: 4.625rem !important;
}
.page-contact .common-qa h1,
.page-contact .common-qa h2,
.page-contact .common-qa h3,
.page-contact .common-qa h4,
.page-contact .common-qa h5,
.page-contact .common-qa h6,
.page-contact .common-qa p {
  margin: 0;
  padding: 0;
  -webkit-margin-after: 0 !important;
          margin-block-end: 0 !important;
  -webkit-margin-before: 0 !important;
          margin-block-start: 0 !important;
}
@media (max-width: 991.98px) {
  .page-contact .common-qa {
    padding-top: 3.4375rem !important;
    padding-bottom: 2.8125rem !important;
  }
}
.page-contact .common-qa h2.smb-section__title {
  position: relative !important;
  font-family: "Noto Sans JP";
  font-size: 2rem;
  line-height: normal;
}
@media (max-width: 991.98px) {
  .page-contact .common-qa h2.smb-section__title {
    font-size: 1.5rem;
  }
}
.page-contact .common-qa h2.smb-section__title::after {
  content: "";
  position: absolute;
  bottom: -0.625rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 4.6875rem;
  height: 0.25rem;
  background-color: #32a0c7;
  display: block !important;
  z-index: 1;
  top: 152%;
}
@media (max-width: 991.98px) {
  .page-contact .common-qa h2.smb-section__title::after {
    top: 157%;
  }
}
.page-contact .common-qa .smb-section__lede-wrapper {
  display: none;
}
.page-contact .common-qa .common-qa_items {
  -webkit-margin-before: 6.875rem !important;
          margin-block-start: 6.875rem !important;
}
@media (max-width: 991.98px) {
  .page-contact .common-qa .common-qa_items {
    -webkit-margin-before: 5.375rem !important;
            margin-block-start: 5.375rem !important;
  }
}
@media (max-width: 991.98px) {
  .page-contact .common-qa .common-qa__item {
    margin-top: 3.0625rem !important;
  }
}
.page-contact .common-qa .common-qa__answer {
  margin-top: 0.625rem !important;
}
.page-contact .common-qa .page-contact-on.is-layout-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 5.375rem;
}
@media (max-width: 991.98px) {
  .page-contact .common-qa .page-contact-on.is-layout-flex {
    margin-top: 2.6875rem;
    width: 100%;
  }
}
@media (max-width: 991.98px) {
  .page-contact .common-qa .page-contact-on.is-layout-flex .button {
    width: 100%;
  }
  .page-contact .common-qa .page-contact-on.is-layout-flex .button a {
    padding: 26px !important;
    min-width: unset;
  }
}

.form-screen-confirm .common-qa,
.form-screen-invalid .common-qa,
.form-screen-complete .common-qa {
  display: none;
}

.page-header {
  background-color: #ffffff;
  height: 20.9375rem;
  background: url(../img/pc/common/img_headder.jpg) no-repeat center center/cover;
  position: relative;
}
@media (max-width: 991.98px) {
  .page-header {
    background: url(../img/sp/common/img_headder.jpg) no-repeat center center/cover;
    height: 16.625rem;
  }
}
.page-header .page-header-inner {
  position: absolute;
  width: 100%;
  left: 50%;
  top: 53%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.page-header .page-header-inner h1 {
  font-family: "Zen Old Mincho", serif;
  font-size: 3.125rem;
  line-height: normal;
}
@media (max-width: 991.98px) {
  .page-header .page-header-inner h1 {
    font-size: 2rem;
  }
}

.main-section {
  margin-bottom: 0;
}

.breadcrumb {
  min-height: 3.75rem;
  background-color: #F2F2F2;
  font-size: 1rem;
  border: none;
  padding-bottom: 6px;
}
@media (max-width: 991.98px) {
  .breadcrumb {
    min-height: 3.125rem;
    font-size: 0.875rem;
  }
}
.breadcrumb .container {
  position: relative;
  height: 100%;
  min-height: 3.125rem;
}
.breadcrumb .breadcrumb-list {
  position: absolute;
  position: relative;
  padding-top: 14px;
}
@media (max-width: 991.98px) {
  .breadcrumb .breadcrumb-list {
    top: 45%;
  }
}
.breadcrumb .breadcrumb-list li::after {
  content: ">";
}
.breadcrumb .breadcrumb-list li:last-child::after {
  display: none;
}
.breadcrumb .breadcrumb-list__item svg {
  display: none;
}
.breadcrumb .breadcrumb-list__item a {
  text-decoration: none;
  color: #000000;
}

.post-type-archive-works h1,
.post-type-archive-works h2,
.post-type-archive-works h3,
.post-type-archive-works h4,
.post-type-archive-works h5,
.post-type-archive-works h6,
.post-type-archive-works p {
  margin: 0;
  padding: 0;
  -webkit-margin-after: 0 !important;
          margin-block-end: 0 !important;
  -webkit-margin-before: 0 !important;
          margin-block-start: 0 !important;
}
.post-type-archive-works .main-section {
  width: 100%;
  padding-bottom: 8.0625rem;
}
@media (max-width: 991.98px) {
  .post-type-archive-works .main-section {
    padding-bottom: 5.4375rem;
  }
}
.post-type-archive-works .vk_posts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-column-gap: 0.625rem;
     -moz-column-gap: 0.625rem;
          column-gap: 0.625rem;
  margin-top: 6.875rem;
  row-gap: 6.875rem;
  margin-bottom: 6.875rem;
  width: 100%;
  justify-items: center;
  margin-left: 0;
  margin-right: 0;
}
@media (max-width: 991.98px) {
  .post-type-archive-works .vk_posts {
    row-gap: 2.5625rem;
  }
}
@media (max-width: 767.98px) {
  .post-type-archive-works .vk_posts {
    grid-template-columns: repeat(1, 1fr);
    margin-top: 3.75rem;
    margin-bottom: 3.75rem;
  }
}
.post-type-archive-works .works-item__image {
  aspect-ratio: 338/320;
}
@media (max-width: 991.98px) {
  .post-type-archive-works .works-item__image {
    aspect-ratio: 350/209;
  }
}
@media (max-width: 991.98px) {
  .post-type-archive-works .works-item__content {
    display: grid;
    grid-template: "title title" 1fr "tag period" 1fr/auto 1fr;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 0.125rem;
  }
}
@media (max-width: 991.98px) {
  .post-type-archive-works .works-item__title {
    font-size: 1.125rem;
    grid-area: title;
  }
}
@media (max-width: 991.98px) {
  .post-type-archive-works .works-item__tag {
    font-size: 0.875rem;
    grid-area: tag;
    margin-top: 0;
  }
}
@media (max-width: 991.98px) {
  .post-type-archive-works .works-item__period {
    grid-area: period;
    padding-left: 0.625rem;
  }
}

.swiper-button-next::after,
.swiper-button-prev::after {
  display: none;
}

.custom-swiper-button {
  width: 3.4375rem;
  height: 3.4375rem;
  border-radius: 50%;
  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-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: absolute;
  top: 9.375rem;
  /* スライドの高さ(300px)の半分 */
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 10;
}

.custom-swiper-button:hover {
  /* 垂直方向の中央揃えを維持しながら拡大 */
  -webkit-transform: scale(1.1) translateY(-50%);
          transform: scale(1.1) translateY(-50%);
}

.swiper-button-next {
  left: 105.8%;
}

.swiper-button-prev {
  left: -11.2%;
}

.swiper-pagination {
  margin-top: 2.8125rem;
  width: 100%;
  max-width: 100%;
  height: 0.5rem;
  background: transparent;
  position: static;
}
@media (max-width: 991.98px) {
  .swiper-pagination {
    margin-top: 2.625rem;
  }
}

.swiper-pagination-progressbar {
  background: #D9D9D9 !important;
  border-radius: 3.125rem;
  height: 0.9375rem !important;
  overflow: hidden;
}
@media (max-width: 991.98px) {
  .swiper-pagination-progressbar {
    height: 0.625rem !important;
  }
}

.swiper-pagination-progressbar-fill {
  background: transparent !important;
  border-radius: 3.125rem !important;
}

@media (max-width: 768px) {
  .custom-swiper-button {
    display: none;
  }
  .swiper-pagination {
    width: calc(100% - 1.25rem) !important;
    left: 0;
  }
}
.swiper-scrollbar {
  background: #D9D9D9 !important;
  border-radius: 3.125rem;
  height: 0.9375rem !important;
  overflow: hidden;
}
@media (max-width: 991.98px) {
  .swiper-scrollbar {
    height: 0.625rem !important;
  }
}

.swiper-scrollbar-drag {
  background: #32a0c7 !important;
  height: 100%;
  height: 0.9375rem !important;
  overflow: hidden;
}
@media (max-width: 991.98px) {
  .swiper-scrollbar-drag {
    height: 0.625rem !important;
  }
}

.custom-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.875rem;
  margin: 2.5rem 0;
}
@media (max-width: 991.98px) {
  .custom-pagination {
    margin-top: 4.8125rem;
  }
}

.custom-pagination-body {
  position: relative;
}
.custom-pagination-body::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0.8125rem;
  width: 8px;
  height: 100%;
  background: url(../img/pc/common/icon_arrow_page.svg) no-repeat center center/contain;
  z-index: 0;
}
@media (max-width: 991.98px) {
  .custom-pagination-body::after {
    background: url(../img/sp/common/icon_arrow_page_sp.svg) no-repeat center/contain;
    width: 0.6875rem;
    right: 0.8125rem;
  }
}
.custom-pagination-body select {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  height: 100%;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  outline: none;
  border: none;
  border-radius: 0;
  margin-bottom: 0;
  z-index: 1;
}

.custom-pagination-current {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 1rem;
  width: 8rem;
  height: 3.75rem;
  border: 0.125rem solid #9E9E9E;
  border-radius: 0.3125rem;
  color: #777;
  font-size: 1rem;
  line-height: 1.75rem;
}
@media (max-width: 991.98px) {
  .custom-pagination-current {
    padding: 0 1.75rem;
  }
}

.custom-pagination-btn img {
  width: 100%;
  height: 100%;
  display: block;
}

.custom-pagination-btn.disabled img {
  opacity: 0.3;
  -webkit-filter: brightness(0.9);
          filter: brightness(0.9);
}

.single .main-section {
  padding-top: 4.0625rem;
  padding-bottom: 8.5rem;
}
@media (max-width: 991.98px) {
  .single .main-section {
    padding-top: 2.8125rem;
    padding-bottom: 4.125rem;
  }
}
.single .page-header-title {
  font-family: "Zen Old Mincho", serif;
  font-size: 3.125rem;
  line-height: normal;
}
@media (max-width: 991.98px) {
  .single .page-header-title {
    font-size: 2rem;
  }
}

@media (max-width: 991.98px) {
  .single__header {
    display: grid;
    grid-template: "title title" 1fr "tag period" 1fr/auto 1fr;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 0.125rem;
  }
}
@media (max-width: 991.98px) {
  .single__header.is-blog-single {
    display: block;
  }
}

@media (max-width: 991.98px) {
  .single__body {
    margin-top: 1.5rem;
  }
}
@media (max-width: 991.98px) {
  .single__body.is-blog-single {
    margin-top: 0.8rem;
  }
}
.single__body h1,
.single__body h2,
.single__body h3,
.single__body h4,
.single__body h5,
.single__body h6 {
  font-family: "Noto Sans JP", sans-serif;
  margin-bottom: 0 !important;
}

.single__header-title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.75rem;
  -webkit-margin-after: 0;
          margin-block-end: 0;
  margin-bottom: 1.375rem;
}
@media (max-width: 991.98px) {
  .single__header-title {
    font-size: 1.25rem;
    grid-area: title;
    margin-bottom: 0;
  }
}

.single__header-tag {
  padding: 0 0.4375rem;
  border-radius: 1.875rem;
  font-size: 0.875rem;
  display: inline-block;
  color: #ffffff;
  background-color: #ffffff;
  border: 0.0625rem solid #ffffff;
}
@media (max-width: 991.98px) {
  .single__header-tag {
    font-size: 0.75rem;
    grid-area: tag;
    margin-top: 0;
  }
}

.single__header-period {
  font-size: 1rem;
  color: #777777;
  line-height: 2;
  margin-top: 0.8125rem;
  margin-bottom: 0.9375rem;
}
@media (max-width: 991.98px) {
  .single__header-period {
    grid-area: period;
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 1.25rem;
  }
}

.single__button-back {
  margin-top: 7.5rem;
  text-align: center;
}
@media (max-width: 991.98px) {
  .single__button-back {
    margin-top: 4.125rem;
  }
}

.single__header-categories {
  font-size: 1rem;
  line-height: 1.75rem;
}

.single__header-meta {
  margin-top: -0.7rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.7rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-bottom: 1.3rem;
}
@media (max-width: 991.98px) {
  .single__header-meta {
    margin-top: 0;
    margin-bottom: 0;
  }
}

.single__header-date {
  font-size: 1rem;
  line-height: 2;
  display: inline-block;
  margin: 0;
}

.button-back a {
  background-color: #A0ADB1;
  background-image: none;
  color: #ffffff;
  text-indent: -1em;
}
@media (max-width: 991.98px) {
  .button-back a {
    font-size: 1rem;
    text-indent: -0.8em;
    display: block;
    max-width: unset;
  }
}
.button-back a::after {
  display: none;
}
.button-back a:hover {
  cursor: pointer;
}

.snow-monkey-form:not([data-screen=confirm]) .only-confirm {
  display: none;
}

.snow-monkey-form[data-screen=confirm] .only-confirm {
  display: block;
}

.snow-monkey-form:not([data-screen=input]):not([data-screen=invalid]):not([data-screen=back]) .only-form {
  display: none;
}

.snow-monkey-form[data-screen=input] .only-form,
.snow-monkey-form[data-screen=invalid] .only-form,
.snow-monkey-form[data-screen=back] .only-form {
  display: block;
}

.common-heading__h2 {
  color: #000;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  position: relative;
}
@media (max-width: 991.98px) {
  .common-heading__h2 {
    font-size: 1.5rem;
  }
}
.common-heading__h2::after {
  content: "";
  position: absolute;
  width: 5.0625rem;
  height: 0.25rem;
  background: #32a0c7;
  bottom: -1.375rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: block !important;
}
@media (max-width: 991.98px) {
  .common-heading__h2::after {
    bottom: -1.5rem;
    width: 4.75rem;
  }
}

.common-heading__h3 {
  color: #32a0c7;
  font-family: "Noto Sans JP";
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  position: relative;
  border-bottom: 0.125rem dotted #32a0c7;
  padding-bottom: 0.8125rem !important;
}
@media (max-width: 991.98px) {
  .common-heading__h3 {
    font-size: 1.25rem;
    padding-bottom: 0.5rem !important;
  }
}

.common-heading__h4 {
  color: #32a0c7;
  font-family: "Noto Sans JP";
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  background-color: unset;
  border-radius: 0;
}
@media (max-width: 991.98px) {
  .common-heading__h4 {
    font-size: 1.125rem;
  }
}

.common-heading__h5 {
  color: #000;
  font-family: "Noto Sans JP";
  font-size: 1rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.75rem; /* 175% */
}

.common-box__container {
  width: 100%;
  padding: 0 1.25rem;
  max-width: 67.5rem;
  padding: 0;
}
@media (max-width: 991.98px) {
  .common-box__container {
    width: 100%;
  }
}

.common-box__full {
  background-color: #e7f5fc;
  padding: 0;
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

.common-box__inner-normal {
  padding: 0 1.25rem;
  max-width: 67.5rem;
  padding-top: 5.1875rem;
  padding-bottom: 7.125rem;
}
@media (max-width: 991.98px) {
  .common-box__inner-normal {
    width: 100%;
  }
}
@media (max-width: 991.98px) {
  .common-box__inner-normal {
    padding-top: 2.375rem;
    padding-bottom: 3.875rem;
  }
}

.common-box__inner-narrow {
  width: 50rem;
  padding: 0;
  margin: 0 auto;
}

.common-anchor-link__buttons {
  -webkit-column-gap: 2.4375rem;
     -moz-column-gap: 2.4375rem;
          column-gap: 2.4375rem;
  row-gap: 0.9375rem;
}
@media (max-width: 991.98px) {
  .common-anchor-link__buttons {
    -webkit-column-gap: 0.9375rem;
       -moz-column-gap: 0.9375rem;
            column-gap: 0.9375rem;
    row-gap: 1.125rem;
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }
}

.common-anchor-link__button {
  width: 100%;
  margin-bottom: 1.75rem;
  max-width: 20rem;
  position: relative;
}
@media (max-width: 991.98px) {
  .common-anchor-link__button {
    max-width: calc(50% - 0.9375rem);
  }
}
.common-anchor-link__button::after {
  content: "";
  position: absolute;
  width: 0.8125rem;
  height: 0.5625rem;
  background: url(../img/common/arrow-bottom.png) no-repeat center center/contain;
  right: 0.875rem;
  top: 63%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (max-width: 991.98px) {
  .common-anchor-link__button::after {
    right: 0;
  }
}
.common-anchor-link__button a {
  padding: 0.9375rem 0.9375rem 0.8125rem;
  text-align: left;
  color: #000;
  font-family: "Noto Sans JP";
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  border-bottom: 0.125rem solid #32a0c7;
  background-color: unset !important;
  border-radius: 0 !important;
  display: block;
}
@media (max-width: 991.98px) {
  .common-anchor-link__button a {
    font-size: 1rem;
    padding: 0px 0px 0.25rem;
  }
}
.common-anchor-link__button a:hover {
  -webkit-filter: unset;
          filter: unset;
  color: inherit;
}

.common-text__normal {
  color: #000;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
}

.common-dot-leader__heading {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.common-dot-line {
  position: relative;
  width: 100%;
  height: 0.125rem;
}
.common-dot-line::after {
  content: "";
  position: absolute;
  width: calc(100% + 1.25rem);
  height: 0.125rem;
  border-bottom: 0.125rem dotted #32a0c7;
  bottom: -0.8125rem;
  display: block !important;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.common-dot-leader__description {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.common-basic-info__container {
  -webkit-margin-before: 1.5rem !important;
          margin-block-start: 1.5rem !important;
  gap: 4.0625rem;
}
@media (max-width: 991.98px) {
  .common-basic-info__container {
    -webkit-margin-before: 1.25rem !important;
            margin-block-start: 1.25rem !important;
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important;
    gap: 0.4375rem;
  }
}
.common-basic-info__container figure {
  width: 50%;
}
@media (max-width: 991.98px) {
  .common-basic-info__container figure {
    width: 100%;
  }
}

.common-basic-info__items {
  gap: 0;
}

.common-basic-info__item {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 0.8125rem 0;
  border-bottom: 0.0625rem solid #32a0c7;
  width: 100%;
  gap: 0 !important;
}
@media (max-width: 991.98px) {
  .common-basic-info__item {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
    gap: 0.1875rem !important;
  }
}
.common-basic-info__item p {
  text-align: left;
  text-align: justify;
}
.common-basic-info__item p:first-child {
  color: var(--2, #32a0c7);
  font-family: "Noto Sans JP";
  font-size: 1rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.75rem;
  width: 6.5rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.common-basic-info__organization {
  padding-top: 3.5625rem;
  padding-bottom: 8.125rem;
}
@media (max-width: 991.98px) {
  .common-basic-info__organization {
    padding-top: 1.25rem;
    padding-bottom: 2.5rem;
  }
}

.common-history {
  padding: 1.25rem 1.875rem 1.1875rem;
}
@media (max-width: 991.98px) {
  .common-history {
    padding: 1.125rem 0;
  }
}

.common-history__row {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  gap: 0;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.common-history__row:not(:first-child) {
  margin-top: 0.9375rem !important;
}
@media (max-width: 991.98px) {
  .common-history__row:not(:first-child) {
    margin-top: 0px !important;
  }
}
@media (max-width: 991.98px) {
  .common-history__row {
    display: grid !important;
    grid-template: "year year" auto "month description" auto/2.875rem 1fr;
    row-gap: 0.5625rem;
  }
}

.common-history__year {
  min-width: 8.5625rem;
  color: var(--2, #32a0c7);
  font-family: "Noto Sans JP";
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.75rem;
}
@media (max-width: 991.98px) {
  .common-history__year {
    font-size: 1.125rem;
    grid-area: year;
  }
  .common-history__year.is-blank {
    display: none;
  }
}

.common-history__month {
  min-width: 3.125rem;
  color: #000;
  text-align: right;
  font-family: "Noto Sans JP";
  font-size: 1rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.75rem;
}
@media (max-width: 991.98px) {
  .common-history__month {
    grid-area: month;
  }
}

.common-history__description {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  color: #000;
  font-family: "Noto Sans JP";
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.75rem;
}
@media (max-width: 991.98px) {
  .common-history__description {
    grid-area: description;
  }
}

.page-company h1,
.page-company h2,
.page-company h3,
.page-company h4,
.page-company h5,
.page-company h6,
.page-company p {
  margin: 0;
  padding: 0;
  -webkit-margin-after: 0 !important;
          margin-block-end: 0 !important;
  -webkit-margin-before: 0 !important;
          margin-block-start: 0 !important;
}
.page-company p {
  text-align: justify;
}

.page-company__anchor-link-container {
  margin-top: 2.375rem;
}
@media (max-width: 991.98px) {
  .page-company__anchor-link-container {
    margin-top: 1.25rem;
  }
}

.page-company__basic-info {
  margin-top: 6.9375rem;
}
@media (max-width: 991.98px) {
  .page-company__basic-info {
    margin-top: 3.25rem;
  }
}

.page-company__body {
  -webkit-margin-before: 5.25rem !important;
          margin-block-start: 5.25rem !important;
}
@media (max-width: 991.98px) {
  .page-company__body {
    -webkit-margin-before: 4.3125rem !important;
            margin-block-start: 4.3125rem !important;
  }
}
.page-company__body h3:not(:first-child) {
  margin-top: 3.75rem !important;
}
@media (max-width: 991.98px) {
  .page-company__body h3:not(:first-child) {
    margin-top: 2.8125rem !important;
  }
}

.page-company__basic-info-container > div {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.page-company__concept-body {
  -webkit-margin-before: 6.5rem !important;
          margin-block-start: 6.5rem !important;
}
@media (max-width: 991.98px) {
  .page-company__concept-body {
    -webkit-margin-before: 5.1875rem !important;
            margin-block-start: 5.1875rem !important;
  }
}
.page-company__concept-body h4 {
  margin-top: 3.75rem !important;
}
@media (max-width: 991.98px) {
  .page-company__concept-body h4 {
    margin-top: 2.75rem !important;
  }
}
.page-company__concept-body p {
  margin-top: 1.25rem !important;
}
@media (max-width: 991.98px) {
  .page-company__concept-body p {
    margin-top: 0.875rem !important;
  }
}

.page-company__history-container {
  padding-top: 5rem;
  padding-bottom: 3.0625rem;
}
@media (max-width: 991.98px) {
  .page-company__history-container {
    padding-top: 3.25rem;
    padding-bottom: 3.75rem;
  }
}

.page-company__history-body {
  -webkit-margin-before: 4.0625rem !important;
          margin-block-start: 4.0625rem !important;
}
@media (max-width: 991.98px) {
  .page-company__history-body {
    -webkit-margin-before: 5.1875rem !important;
            margin-block-start: 5.1875rem !important;
  }
}

.page-company__permission-body {
  margin-top: 5.875rem !important;
}
@media (max-width: 991.98px) {
  .page-company__permission-body {
    margin-top: 4.3125rem !important;
  }
}
.page-company__permission-body h3 {
  margin-top: 3.75rem !important;
}
@media (max-width: 991.98px) {
  .page-company__permission-body h3 {
    margin-top: 3.0625rem !important;
  }
}
.page-company__permission-body p {
  margin-top: 1.875rem !important;
  line-height: 1.75rem; /* 175% */
}
@media (max-width: 991.98px) {
  .page-company__permission-body p {
    margin-top: 1.25rem !important;
  }
}
.page-company__permission-body strong span.sme-font-size {
  color: #000;
  font-family: "Noto Sans JP";
  font-size: 1.25rem !important;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}
@media (max-width: 991.98px) {
  .page-company__permission-body strong span.sme-font-size {
    font-size: 1rem !important;
  }
}

.page-company__permission-inner {
  padding-top: 4rem;
}
@media (max-width: 991.98px) {
  .page-company__permission-inner {
    padding-top: 2.8125rem;
    padding-bottom: 2.0625rem;
  }
}

.page-company__certification {
  padding-top: 6.5rem !important;
  padding-bottom: 5.4375rem !important;
}
@media (max-width: 991.98px) {
  .page-company__certification {
    padding-top: 2.875rem !important;
    padding-bottom: 3.5625rem !important;
  }
}

.page-company__certification-body {
  margin-top: 5.875rem !important;
}
@media (max-width: 991.98px) {
  .page-company__certification-body {
    margin-top: 4.3125rem !important;
  }
}
.page-company__certification-body h3 {
  margin-top: 3.75rem !important;
}

.page-company__certification-row {
  border-bottom: 0.0625rem solid #32a0c7;
  padding-bottom: 1.875rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 991.98px) {
  .page-company__certification-row {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
    border-bottom: none;
    gap: 4.375rem !important;
    padding-bottom: 0 !important;
  }
}
.page-company__certification-row:not(:last-child) {
  margin-bottom: 2.5rem;
}
.page-company__certification-row figure {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
@media (max-width: 991.98px) {
  .page-company__certification-row figure {
    width: 100%;
  }
}
.page-company__certification-row figcaption {
  text-align: left !important;
  color: #000;
  font-family: "Noto Sans JP";
  font-size: 1rem !important;
  font-style: normal;
  font-weight: 400;
  line-height: 1.75rem;
}
@media (max-width: 991.98px) {
  .page-company__certification-row figcaption {
    margin-top: 0.9375rem;
  }
}
.page-company__certification-row.first {
  gap: 5.625rem;
}
.page-company__certification-row.second {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 991.98px) {
  .page-company__certification-row.third {
    gap: 1.25rem !important;
  }
}
.page-company__certification-row.third > div {
  width: 100%;
}
@media (max-width: 991.98px) {
  .page-company__certification-row.third > div {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .page-company__certification-row.third > div figure {
    width: 46% !important;
  }
}
.page-company__certification-row.third p {
  line-height: 1.75rem;
}

.page-company__member-inner-normal {
  padding-top: 6rem !important;
  padding-bottom: 4.5rem !important;
}
@media (max-width: 991.98px) {
  .page-company__member-inner-normal {
    padding-top: 3.75rem !important;
    padding-bottom: 3.125rem !important;
  }
}

.page-company__member-body {
  margin-top: 5.25rem !important;
}
@media (max-width: 991.98px) {
  .page-company__member-body {
    margin-top: 4.4375rem !important;
  }
  .page-company__member-body p {
    line-height: 1.875rem;
  }
}

.page-company__qualified {
  padding-top: 3.75rem !important;
  padding-bottom: 5.5rem !important;
}
@media (max-width: 991.98px) {
  .page-company__qualified {
    padding-top: 3.6875rem !important;
    padding-bottom: 2.8125rem !important;
  }
}

.page-company__qualified-body {
  margin-top: 6.5rem !important;
}
@media (max-width: 991.98px) {
  .page-company__qualified-body {
    margin-top: 4.25rem !important;
  }
}
.page-company__qualified-body p {
  margin-top: 1.25rem !important;
  padding-bottom: 1.25rem !important;
  border-bottom: 0.0625rem solid #32a0c7 !important;
  line-height: 1.75rem;
}
@media (max-width: 991.98px) {
  .page-company__qualified-body p {
    margin-top: 1.1875rem !important;
    padding-bottom: 1.5625rem !important;
  }
}
.page-company__qualified-body p:first-child {
  margin-top: 0 !important;
}
.page-company__qualified-body p:last-child {
  padding-bottom: 0 !important;
  border-bottom: none !important;
}
.page-company__works-inner {
  padding-top: 6rem !important;
  padding-bottom: 4.9375rem !important;
}
@media (max-width: 991.98px) {
  .page-company__works-inner {
    padding-top: 4.8125rem !important;
    padding-bottom: 3.1875rem !important;
  }
}

.page-company__works-body {
  margin-top: 5.25rem !important;
}
@media (max-width: 991.98px) {
  .page-company__works-body {
    margin-top: 4.25rem !important;
  }
}
.page-company__works-body h3 {
  margin-top: 3.75rem !important;
  margin-bottom: 2.625rem !important;
}
@media (max-width: 991.98px) {
  .page-company__works-body h3 {
    margin-top: 2.8125rem !important;
    margin-bottom: 1.25rem !important;
  }
}
.page-company__works-body p {
  line-height: 1.75rem;
  -webkit-font-feature-settings: "palt" on;
          font-feature-settings: "palt" on;
}

@media (max-width: 991.98px) {
  .page-company__works.demolition {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
    gap: 0px !important;
  }
}

.page-company__works-row {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  gap: 0;
}

.page-company__owned-vehicle {
  padding-top: 6.875rem !important;
  padding-bottom: 7.375rem !important;
}
@media (max-width: 991.98px) {
  .page-company__owned-vehicle {
    padding-top: 1.8125rem !important;
    padding-bottom: 2.875rem !important;
  }
}

.page-company__owned-vehicle-body {
  margin-top: 5.25rem !important;
}
@media (max-width: 991.98px) {
  .page-company__owned-vehicle-body {
    margin-top: 2.8125rem !important;
  }
}

.page-company__owned-vehicle-items {
  gap: 2.5rem;
}
@media (max-width: 991.98px) {
  .page-company__owned-vehicle-items {
    gap: 0;
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }
  .page-company__owned-vehicle-items > div {
    width: 100%;
  }
}

.page-company__owned-vehicle-item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  gap: 0;
}
@media (max-width: 991.98px) {
  .page-company__owned-vehicle-item {
    gap: 0.4375rem;
  }
}
.page-company__owned-vehicle-item > div {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 100%;
}

.page-company__owned-equipment-inner {
  padding-top: 6.0625rem !important;
  padding-bottom: 9.0625rem !important;
}
@media (max-width: 991.98px) {
  .page-company__owned-equipment-inner {
    padding-top: 1.3125rem !important;
    padding-bottom: 3.5625rem !important;
  }
}
.page-company__owned-equipment-inner h3 {
  margin-top: 4.6875rem !important;
  margin-bottom: 1.875rem !important;
}
@media (max-width: 991.98px) {
  .page-company__owned-equipment-inner h3 {
    margin-top: 2.8125rem !important;
    margin-bottom: 0px !important;
  }
}
.page-company__owned-equipment-inner h4 {
  padding-bottom: 0.625rem;
}
@media (max-width: 991.98px) {
  .page-company__owned-equipment-inner h4 {
    padding-bottom: 0px;
    margin-top: 1.875rem !important;
  }
  .page-company__owned-equipment-inner h4.is-blank {
    display: none;
  }
}

.page-company__owned-equipment-body {
  margin-top: 5.25rem !important;
}
@media (max-width: 991.98px) {
  .page-company__owned-equipment-body {
    margin-top: 0.875rem !important;
  }
}

.page-company__owned-equipment-items {
  gap: 1.6875rem !important;
}
@media (max-width: 991.98px) {
  .page-company__owned-equipment-items {
    gap: 0px !important;
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }
}
.page-company__owned-equipment-items.attachment h4 {
  padding-bottom: 0;
}
@media (max-width: 991.98px) {
  .page-company__owned-equipment-items.attachment h4 {
    margin-top: 1.5625rem !important;
  }
  .page-company__owned-equipment-items.attachment h4.is-first {
    margin-top: 1.25rem !important;
  }
}
.page-company__owned-equipment-items.attachment h5 {
  margin-top: 0.25rem !important;
}
.page-company__owned-equipment-items.attachment h5.is-mt-lg {
  margin-top: 1.25rem !important;
}
@media (max-width: 991.98px) {
  .page-company__owned-equipment-items.attachment h5.is-mt-lg {
    margin-top: 1.25rem !important;
  }
}
@media (max-width: 991.98px) {
  .page-company__owned-equipment-items.attachment h5 {
    margin-top: 1.25rem !important;
  }
}
@media (max-width: 991.98px) {
  .page-company__owned-equipment-items.attachment .common-dot-leader {
    margin-top: 0.1875rem;
  }
}

.page-company__owned-equipment-item {
  width: 100%;
  gap: 0;
}
.page-company__owned-equipment-item > div {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 100%;
}
@media (max-width: 991.98px) {
  .page-company__owned-equipment-item .common-dot-leader {
    margin-top: 0.40625rem;
  }
}

.page-about h1,
.page-about h2,
.page-about h3,
.page-about h4,
.page-about h5,
.page-about h6,
.page-about p {
  margin: 0;
  padding: 0;
  -webkit-margin-after: 0 !important;
          margin-block-end: 0 !important;
  -webkit-margin-before: 0 !important;
          margin-block-start: 0 !important;
}

.page-about__anchors {
  padding-top: 2.75rem;
  padding-bottom: 4.9375rem;
}
@media (max-width: 991.98px) {
  .page-about__anchors {
    padding-bottom: 3.75rem;
  }
}

.page-about__greeting {
  padding-bottom: 4.75rem;
}
@media (max-width: 991.98px) {
  .page-about__greeting {
    padding-bottom: 4rem;
  }
}

.page-about__greeting-body {
  margin-top: 7.3125rem !important;
}
@media (max-width: 991.98px) {
  .page-about__greeting-body {
    margin-top: 6.5625rem !important;
  }
}

.page-about__greeting-items {
  gap: 1.5625rem;
  display: grid !important;
  grid-template-columns: 1fr 23.75rem !important;
}
@media (max-width: 991.98px) {
  .page-about__greeting-items {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important;
    gap: 2.6875rem;
  }
}
@media (max-width: 991.98px) {
  .page-about__greeting-items figure {
    width: 100% !important;
  }
}

.page-about__greeting-item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  height: 100%;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 991.98px) {
  .page-about__greeting-item {
    gap: 3rem;
  }
}
.page-about__greeting-item p {
  color: #000;
  font-family: "Noto Sans JP";
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.875rem;
  text-align: justify;
}
.page-about__greeting-item p.page-about__greeting-name {
  color: #000;
  font-family: "Noto Sans JP";
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.75rem;
  text-align: right;
}

.page-about__philosophy-inner {
  padding-top: 6.4375rem;
  padding-bottom: 11.625rem;
}
@media (max-width: 991.98px) {
  .page-about__philosophy-inner {
    padding-top: 5rem;
    padding-bottom: 5.5rem;
  }
}

.page-about__philosophy-body {
  margin-top: 4.625rem !important;
}
@media (max-width: 991.98px) {
  .page-about__philosophy-body {
    margin-top: 4.25rem !important;
  }
}

.page-about__philosophy-lead {
  color: #000;
  font-family: "Noto Sans JP";
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.875rem;
}

.page-about__philosophy-items {
  margin-top: 5rem !important;
}
@media (max-width: 991.98px) {
  .page-about__philosophy-items {
    margin-top: 2.875rem !important;
  }
}

.page-about__philosophy-item:not(:first-child) {
  margin-top: 3.125rem !important;
}
@media (max-width: 991.98px) {
  .page-about__philosophy-item:not(:first-child) {
    margin-top: 2.9375rem !important;
  }
}
.page-about__philosophy-item h3 {
  color: var(--2, #32a0c7);
  font-family: "Noto Sans JP";
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}
@media (max-width: 991.98px) {
  .page-about__philosophy-item h3 {
    font-size: 1.125rem;
  }
}
.page-about__philosophy-item p {
  margin-top: 1.25rem !important;
  line-height: 1.875rem;
}
@media (max-width: 991.98px) {
  .page-about__philosophy-item p {
    margin-top: 0.5625rem !important;
  }
}

.common-step-item__box {
  padding: 1.25rem 2.8125rem;
  gap: 0;
  position: relative;
  width: 100%;
  background-color: #ffffff;
}
.common-step-item__box h1,
.common-step-item__box h2,
.common-step-item__box h3,
.common-step-item__box h4,
.common-step-item__box h5,
.common-step-item__box h6,
.common-step-item__box p {
  margin: 0;
  padding: 0;
  -webkit-margin-after: 0 !important;
          margin-block-end: 0 !important;
  -webkit-margin-before: 0 !important;
          margin-block-start: 0 !important;
}
@media (max-width: 991.98px) {
  .common-step-item__box {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
    padding: 1.125rem 1.875rem 1.875rem;
  }
}
.common-step-item__box::before {
  position: absolute;
  content: "";
  top: 95%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 6.75rem;
  height: 2.8125rem;
  display: block !important;
  background: url(../img/common/polygon.svg) no-repeat center center/contain;
}
@media (max-width: 991.98px) {
  .common-step-item__box::before {
    background-image: url(../img/common/polygon_sp.svg);
  }
}

.common-step-item__number {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 3.125rem;
  gap: 0;
  margin-right: 3.125vw !important;
}
@media (max-width: 991.98px) {
  .common-step-item__number {
    margin-right: 0 !important;
  }
}

.common-step-item__number-step {
  color: #144e85;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: normal;
  font-family: "Zen Old Mincho";
  font-style: normal;
}

.common-step-item__number-number {
  color: #32a0c7;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: normal;
  font-family: "Zen Old Mincho";
  font-style: normal;
}
@media (max-width: 991.98px) {
  .common-step-item__number-number {
    line-height: 1.1;
  }
}

.common-step-item__body {
  line-height: normal;
  gap: 0;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-right: 2.0833333333vw !important;
}
@media (max-width: 991.98px) {
  .common-step-item__body {
    margin-right: 0 !important;
    width: 100%;
    padding-top: 1rem;
    line-height: normal;
  }
}
.common-step-item__body .common-step-item__title {
  color: #000;
}
@media (max-width: 991.98px) {
  .common-step-item__body .common-step-item__title {
    line-height: normal;
    margin-top: 0.5rem;
  }
}
.common-step-item__body .common-step-item__description {
  position: relative;
  top: 0.1875rem;
  text-align: justify;
}
@media (max-width: 991.98px) {
  .common-step-item__body .common-step-item__description {
    padding-top: 0.3125rem;
    top: 0;
  }
}

.common-step-item__image {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 18.5625rem;
}
@media (max-width: 991.98px) {
  .common-step-item__image {
    padding-top: 1.0625rem;
  }
}
@media (max-width: 991.98px) {
  .common-step-item__image img {
    aspect-ratio: 269/167;
  }
}

.common-lead {
  padding-top: 5rem;
}
@media (max-width: 991.98px) {
  .common-lead {
    padding-top: 1.875rem;
  }
}

.common-lead__text {
  font-size: 1.125rem;
  font-style: normal;
  line-height: 1.875rem;
  text-align: justify;
}
@media (max-width: 991.98px) {
  .common-lead__text {
    font-size: 1rem;
  }
}

.common-media-text__items {
  padding-top: 3.3125rem;
  gap: 1.375rem;
}
@media (max-width: 991.98px) {
  .common-media-text__items {
    padding-top: 3.4375rem;
  }
}

.common-media-text__item:not(:first-child) {
  padding-top: 3.8125rem;
}
@media (max-width: 991.98px) {
  .common-media-text__item:not(:first-child) {
    padding-top: 3.5rem;
  }
}
@media (max-width: 991.98px) {
  .common-media-text__item {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
    gap: 0.5625rem;
  }
  .common-media-text__item:nth-child(2n) {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important;
  }
}
.common-media-text__item figure {
  position: relative;
  top: -0.625rem;
}
.common-media-text__item figure img {
  aspect-ratio: 497/260;
}
@media (max-width: 991.98px) {
  .common-media-text__item figure img {
    aspect-ratio: 335/150;
    height: 100%;
  }
}
@media (max-width: 991.98px) {
  .common-media-text__item figure {
    width: 100%;
  }
}

.common-media-text__item-body {
  width: 50%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  gap: 0.625rem;
}
@media (max-width: 991.98px) {
  .common-media-text__item-body {
    width: 100%;
  }
}

.common-media-text__item-body-title {
  color: #000;
  font-size: 1.25rem;
}
@media (max-width: 991.98px) {
  .common-media-text__item-body-title {
    font-size: 1.125rem;
  }
}

.common-media-text__item-body-text {
  text-align: justify;
  font-size: 1rem;
  line-height: 1.875rem;
}

.page-demolition h1,
.page-demolition h2,
.page-demolition h3,
.page-demolition h4,
.page-demolition h5,
.page-demolition h6,
.page-demolition p {
  margin: 0;
  padding: 0;
  -webkit-margin-after: 0 !important;
          margin-block-end: 0 !important;
  -webkit-margin-before: 0 !important;
          margin-block-start: 0 !important;
}

.page-demolition__anchor-links {
  padding-top: 2.875rem;
}

@media (max-width: 991.98px) {
  .page-demolition__anchor-links-items {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 0.9375rem;
    row-gap: 1.8125rem;
  }
}

@media (max-width: 991.98px) {
  .page-demolition__anchor-links-item {
    max-width: calc(50% - 0.5rem);
  }
  .page-demolition__anchor-links-item::after {
    top: 53%;
  }
}
.page-demolition__anchor-links-item a {
  padding-bottom: 1.125rem;
}
@media (max-width: 991.98px) {
  .page-demolition__anchor-links-item a {
    font-size: 0.875rem;
    padding-bottom: 0.5rem;
  }
}

.page-demolition__construction-details {
  padding-top: 6.25rem;
}
@media (max-width: 991.98px) {
  .page-demolition__construction-details {
    padding-top: 3.875rem;
  }
}

.page-demolition__construction-details-body {
  padding-top: 6.75rem;
}
@media (max-width: 991.98px) {
  .page-demolition__construction-details-body {
    padding-top: 5.4375rem;
  }
}

.page-demolition__construction-details-items {
  gap: 1.875rem;
}
@media (max-width: 991.98px) {
  .page-demolition__construction-details-items {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
    gap: 1.1875rem;
  }
}

.page-demolition__construction-details-item-image {
  width: 50%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (max-width: 991.98px) {
  .page-demolition__construction-details-item-image {
    width: 100%;
  }
}

.page-demolition__construction-details-item-text {
  padding-top: 1.125rem !important;
  font-size: 1.125rem;
  line-height: 1.875rem;
}
@media (max-width: 991.98px) {
  .page-demolition__construction-details-item-text {
    padding-top: 0 !important;
    font-size: 1rem;
  }
}

.page-demolition__construction-details-text {
  padding-top: 3.1875rem !important;
  font-size: 1.125rem;
  line-height: 1.875rem;
}
@media (max-width: 991.98px) {
  .page-demolition__construction-details-text {
    padding-top: 3.75rem !important;
    font-size: 1rem;
  }
}

.page-demolition__features {
  padding-top: 8.0625rem;
}
@media (max-width: 991.98px) {
  .page-demolition__features {
    padding-top: 6.125rem;
  }
}

.page-demolition__features-lead {
  padding-top: 4.1875rem;
}
@media (max-width: 991.98px) {
  .page-demolition__features-lead {
    padding-top: 5.1875rem;
  }
}

.page-demolition__features-lead-text {
  font-size: 1.125rem;
  line-height: 1.875rem;
  text-align: justify;
}
@media (max-width: 991.98px) {
  .page-demolition__features-lead-text {
    font-size: 1rem;
  }
}

.page-demolition__types {
  padding-top: 4.6875rem;
}
@media (max-width: 991.98px) {
  .page-demolition__types {
    padding-top: 3.8125rem;
  }
}

.page-demolition__strengths {
  padding-top: 6.75rem;
}
@media (max-width: 991.98px) {
  .page-demolition__strengths {
    padding-top: 3.8125rem;
  }
}

.page-demolition__strengths-body {
  padding-top: 7.75rem;
}
@media (max-width: 991.98px) {
  .page-demolition__strengths-body {
    padding-top: 3.75rem;
  }
}

.page-demolition__strengths-items {
  display: grid !important;
  grid-template-columns: repeat(3, 18.125rem);
  grid-template-rows: 7rem auto auto;
  gap: 2rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 991.98px) {
  .page-demolition__strengths-items {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
    gap: 3.75rem;
  }
}

.page-demolition__strengths-item {
  grid-template-rows: subgrid;
  grid-row: span 3;
}
@media (max-width: 991.98px) {
  .page-demolition__strengths-item {
    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;
  }
}
@media (max-width: 991.98px) {
  .page-demolition__strengths-item figure.wp-block-image.hart {
    width: 34.4vw;
    -ms-flex-item-align: center;
        align-self: center;
  }
}
@media (max-width: 991.98px) {
  .page-demolition__strengths-item figure.wp-block-image.pig {
    width: 39.4666666667vw;
    -ms-flex-item-align: center;
        align-self: center;
  }
}
.page-demolition__strengths-item figure.wp-block-image.hands {
  position: relative;
  top: 0.5625rem;
  left: -1rem;
  scale: 0.9;
}
@media (max-width: 991.98px) {
  .page-demolition__strengths-item figure.wp-block-image.hands {
    scale: 1;
    left: 0;
    top: 0;
    width: 37.6vw;
    -ms-flex-item-align: center;
        align-self: center;
  }
}
.page-demolition__strengths-item figure.wp-block-image img {
  height: 100% !important;
  -o-object-fit: contain;
     object-fit: contain;
}

.page-demolition__strengths-item-title {
  text-align: center;
  font-size: 1.25rem;
  color: #000;
}
@media (max-width: 991.98px) {
  .page-demolition__strengths-item-title {
    font-size: 1.125rem;
    line-height: 1.875rem;
  }
}
.page-demolition__strengths-item-title.common-heading__h4 {
  -webkit-margin-before: 2.875rem !important;
          margin-block-start: 2.875rem !important;
  place-content: center;
}
@media (max-width: 991.98px) {
  .page-demolition__strengths-item-title.common-heading__h4 {
    -webkit-margin-before: 2rem !important;
            margin-block-start: 2rem !important;
  }
  .page-demolition__strengths-item-title.common-heading__h4.service {
    -webkit-margin-before: 1.5625rem !important;
            margin-block-start: 1.5625rem !important;
  }
  .page-demolition__strengths-item-title.common-heading__h4.career {
    -webkit-margin-before: 1.8125rem !important;
            margin-block-start: 1.8125rem !important;
  }
}

.page-demolition__strengths-item-text {
  text-align: justify;
  line-height: 1.4375rem;
}
@media (max-width: 991.98px) {
  .page-demolition__strengths-item-text {
    line-height: 1.875rem;
  }
}
.page-demolition__strengths-item-text.common-text__normal {
  -webkit-margin-before: 1.25rem !important;
          margin-block-start: 1.25rem !important;
}
@media (max-width: 991.98px) {
  .page-demolition__strengths-item-text.common-text__normal.career {
    -webkit-margin-before: 1.1875rem !important;
            margin-block-start: 1.1875rem !important;
  }
}

.page-demolition__works {
  padding-top: 5rem;
}

.page-demolition__works-slider {
  padding-top: 3.75rem;
}
@media (max-width: 991.98px) {
  .page-demolition__works-slider {
    padding-top: 3rem;
    width: calc(100vw - 1.25rem);
  }
}

.page-demolition__works-button {
  padding-top: 3.4375rem;
}
@media (max-width: 991.98px) {
  .page-demolition__works-button {
    padding-top: 4.125rem;
  }
}

.page-demolition__step {
  margin-top: 9.125rem;
}
@media (max-width: 991.98px) {
  .page-demolition__step {
    margin-top: 3.9375rem;
  }
}

.page-demolition__step-inner {
  padding-top: 7.125rem;
}
@media (max-width: 991.98px) {
  .page-demolition__step-inner {
    padding-top: 3.8125rem;
  }
}

.page-demolition__step-lead {
  padding-top: 4.3125rem;
}

.page-demolition__step-items {
  -webkit-margin-before: 3rem !important;
          margin-block-start: 3rem !important;
  gap: 3.75rem;
}
@media (max-width: 991.98px) {
  .page-demolition__step-items {
    -webkit-margin-before: 2.8125rem !important;
            margin-block-start: 2.8125rem !important;
  }
}

.page-demolition__step-item.common-step-item__box:last-child::before {
  display: none !important;
}

.page-civil-engineering h1,
.page-civil-engineering h2,
.page-civil-engineering h3,
.page-civil-engineering h4,
.page-civil-engineering h5,
.page-civil-engineering h6,
.page-civil-engineering p {
  margin: 0;
  padding: 0;
  -webkit-margin-after: 0 !important;
          margin-block-end: 0 !important;
  -webkit-margin-before: 0 !important;
          margin-block-start: 0 !important;
}

.page-civil-engineering__types {
  padding-top: 6.375rem;
  padding-bottom: 8.8125rem;
}
@media (max-width: 991.98px) {
  .page-civil-engineering__types {
    padding-top: 3.4375rem;
    padding-bottom: 4.9375rem;
  }
}

.page-civil-engineering__types-body {
  padding-top: 3.9375rem;
}
@media (max-width: 991.98px) {
  .page-civil-engineering__types-body {
    padding-top: 2.125rem;
  }
}

.page-industrial-waste h1,
.page-industrial-waste h2,
.page-industrial-waste h3,
.page-industrial-waste h4,
.page-industrial-waste h5,
.page-industrial-waste h6,
.page-industrial-waste p {
  margin: 0;
  padding: 0;
  -webkit-margin-after: 0 !important;
          margin-block-end: 0 !important;
  -webkit-margin-before: 0 !important;
          margin-block-start: 0 !important;
}

.page-industrial-waste__anchors {
  padding-top: 3.125rem;
}
@media (max-width: 991.98px) {
  .page-industrial-waste__anchors {
    padding-top: 4.25rem;
  }
}

@media (max-width: 991.98px) {
  .page-industrial-waste__anchors-buttons {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 0.9375rem;
    row-gap: 1.8125rem;
  }
}

@media (max-width: 991.98px) {
  .page-industrial-waste__anchors-button {
    max-width: calc(50% - 0.5rem);
  }
  .page-industrial-waste__anchors-button::after {
    top: 53%;
  }
}
.page-industrial-waste__anchors-button a {
  padding-bottom: 1.125rem;
}
@media (max-width: 991.98px) {
  .page-industrial-waste__anchors-button a {
    padding-bottom: 0.5rem;
  }
}

.page-industrial-waste__about-container {
  padding-top: 10.25rem;
}
@media (max-width: 991.98px) {
  .page-industrial-waste__about-container {
    padding-top: 5.5rem;
  }
}

.page-industrial-waste__about-container-lead {
  padding-top: 4.3125rem;
}

@media (max-width: 991.98px) {
  .page-industrial-waste__about-container-lead-text {
    line-height: 1.875rem;
  }
}

.page-industrial-waste__about-container-body {
  padding-top: 8.625rem;
}
@media (max-width: 991.98px) {
  .page-industrial-waste__about-container-body {
    padding-top: 5rem;
  }
}
.page-industrial-waste__about-container-body:not(.container4) {
  padding-top: 7.125rem;
}
@media (max-width: 991.98px) {
  .page-industrial-waste__about-container-body:not(.container4) {
    padding-top: 6.375rem;
  }
}

.page-industrial-waste__about-container-items {
  padding-top: 1.125rem;
}
@media (max-width: 991.98px) {
  .page-industrial-waste__about-container-items {
    padding-top: 2.9375rem;
  }
}

.page-industrial-waste__about-container-item {
  width: 100%;
}
@media (max-width: 991.98px) {
  .page-industrial-waste__about-container-item {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important;
  }
}

.page-industrial-waste__about-container-item-image-large {
  max-width: 40.8125rem;
}
@media (max-width: 991.98px) {
  .page-industrial-waste__about-container-item-image-large {
    max-width: 100%;
  }
}

.page-industrial-waste__about-container-item-contents {
  padding-top: 1.6875rem;
  gap: 0.625rem;
}
@media (max-width: 991.98px) {
  .page-industrial-waste__about-container-item-contents {
    padding-top: 0.9375rem;
    width: 100%;
  }
}

.page-industrial-waste__about-container-item-contents-row {
  border-bottom: 0.0625rem solid #32a0c7;
  min-width: 15.3125rem;
  padding-bottom: 0.5625rem;
}
@media (max-width: 991.98px) {
  .page-industrial-waste__about-container-item-contents-row {
    min-width: 100%;
  }
}

.page-industrial-waste__about-container-item-contents-row-title {
  color: var(--2, #32a0c7);
  font-family: "Noto Sans JP";
  font-size: 1rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.75rem;
  width: 4.25rem;
}
@media (max-width: 991.98px) {
  .page-industrial-waste__about-container-item-contents-row-title {
    width: 6.75rem;
  }
}

.page-industrial-waste__about-container-item-contents-row-text {
  color: #000;
  font-family: "Noto Sans JP";
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.75rem;
}

.page-industrial-waste__about-container-item-contents-image-small {
  padding-top: 2.0625rem;
  max-width: 20.125rem;
  display: grid;
  place-items: center;
}
@media (max-width: 991.98px) {
  .page-industrial-waste__about-container-item-contents-image-small {
    max-width: 100%;
    padding-right: 0.75rem;
  }
}

.page-industrial-waste__steps {
  margin-top: 4.8125rem;
}
@media (max-width: 991.98px) {
  .page-industrial-waste__steps {
    margin-top: 2.1875rem;
  }
}

.page-industrial-waste__steps-inner {
  padding-top: 6.3125rem;
  padding-bottom: 7.875rem;
}
@media (max-width: 991.98px) {
  .page-industrial-waste__steps-inner {
    padding-top: 2.8125rem;
    padding-bottom: 5.875rem;
  }
}

.page-industrial-waste__steps-body {
  padding-top: 2.75rem;
}

.page-industrial-waste__steps-items {
  row-gap: 3.75rem;
}

.page-industrial-waste__steps-item {
  min-height: 14.3125rem;
}
@media (max-width: 991.98px) {
  .page-industrial-waste__steps-item {
    min-height: unset;
  }
}
.page-industrial-waste__steps-item:last-child::before {
  display: none !important;
}

.page-industrial-waste__list {
  padding-top: 10.875rem;
  padding-bottom: 8.3125rem;
}
@media (max-width: 991.98px) {
  .page-industrial-waste__list {
    padding-top: 5rem;
    padding-bottom: 4.5rem;
  }
}

.page-industrial-waste__list-body {
  padding-top: 6.75rem;
}
@media (max-width: 991.98px) {
  .page-industrial-waste__list-body {
    padding-top: 4.3125rem;
  }
}

.page-industrial-waste__list-items {
  gap: 1.25rem;
  display: grid !important;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: 1fr;
}
@media (max-width: 991.98px) {
  .page-industrial-waste__list-items {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
    gap: 1.9375rem;
  }
}

.page-industrial-waste__list-item {
  grid-template-rows: subgrid;
  grid-row: span 1;
  background-color: #e7f5fc;
  padding: 1.5625rem 1.875rem 2.6875rem;
  height: 100%;
}
@media (max-width: 991.98px) {
  .page-industrial-waste__list-item {
    padding: 1.875rem 1.25rem 1.4375rem;
    width: 100%;
  }
}

.page-industrial-waste__list-item-title {
  position: relative;
}
.page-industrial-waste__list-item-title h4 {
  font-size: 1.5rem;
}
@media (max-width: 991.98px) {
  .page-industrial-waste__list-item-title h4 {
    font-size: 1.125rem;
  }
}

.page-industrial-waste__list-item-title-note {
  position: absolute;
  top: 55%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 16.3%;
  font-size: 0.875rem;
}
@media (max-width: 991.98px) {
  .page-industrial-waste__list-item-title-note {
    position: static;
    padding-top: 0.625rem;
    width: 100%;
    top: 0;
    right: 0;
    -webkit-transform: unset;
            transform: unset;
  }
}

.page-industrial-waste__list-item-text {
  padding-top: 1.625rem;
}
@media (max-width: 991.98px) {
  .page-industrial-waste__list-item-text {
    padding-top: 1.25rem;
  }
}
.page-industrial-waste__list-item-text p {
  color: #000;
  font-family: "Noto Sans JP";
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  padding-left: 1.3em;
}
@media (max-width: 991.98px) {
  .page-industrial-waste__list-item-text p {
    padding: 0;
    line-height: 1.875rem;
  }
}

.main-404 {
  max-width: 37.5rem;
  margin: 3.75rem auto;
  text-align: center;
  padding-bottom: 6.25rem;
  padding-top: 3.125rem;
}
.main-404 h2 {
  font-size: 2em;
  font-weight: bold;
  margin-bottom: 0.2em;
}
.main-404__text {
  padding-top: 1.5625rem;
}
.main-404 p {
  font-size: 1em;
  margin-bottom: 4em;
  padding-top: 4rem;
}
.main-404 .button-back {
  padding-top: 1.5625rem;
}

.custom-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.page-voices h1,
.page-voices h2,
.page-voices h3,
.page-voices h4,
.page-voices h5,
.page-voices h6,
.page-voices p {
  margin: 0;
  padding: 0;
  -webkit-margin-after: 0 !important;
          margin-block-end: 0 !important;
  -webkit-margin-before: 0 !important;
          margin-block-start: 0 !important;
}

.page-voices__links {
  padding-top: 3.75rem;
}
@media (max-width: 991.98px) {
  .page-voices__links {
    padding-top: 2.5rem;
  }
}

.page-voices__links-items {
  gap: 2.5rem;
}
@media (max-width: 991.98px) {
  .page-voices__links-items {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
    gap: 3.75rem;
  }
}

.page-voices__links-item-text {
  padding-top: 0.625rem;
}

.page-voices__links-item-text-body {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 0.625rem;
}

.page-voices__links-item-text-body-title {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: normal;
}

.page-voices__links-item-text-body-note {
  font-size: 1rem;
  line-height: 1.875rem;
}

.page-voices__archive {
  padding-top: 11.875rem;
  padding-bottom: 6.25rem;
}
@media (max-width: 991.98px) {
  .page-voices__archive {
    padding-top: 7.5rem;
    padding-bottom: 1.875rem;
  }
}

.page-voices__archive-items {
  gap: 11.4375rem;
}
@media (max-width: 991.98px) {
  .page-voices__archive-items {
    gap: 6.5rem;
  }
}

.page-voices__archive-item:nth-child(even) .page-voices__archive-item-meta {
  grid-template-areas: "body image" "body image";
}
@media (max-width: 991.98px) {
  .page-voices__archive-item:nth-child(even) .page-voices__archive-item-meta {
    grid-template-areas: "image" "body";
  }
}
.page-voices__archive-item:nth-child(even) .page-voices__archive-item-image {
  padding-right: 0;
  padding-left: 2.5rem;
}
@media (max-width: 991.98px) {
  .page-voices__archive-item:nth-child(even) .page-voices__archive-item-image {
    padding-left: 0;
  }
}

.page-voices__archive-item-meta {
  padding-top: 2.625rem;
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 20% auto;
  -webkit-column-gap: 0;
     -moz-column-gap: 0;
          column-gap: 0;
  row-gap: 3rem;
  grid-template-areas: "image body" "image body";
}
@media (max-width: 991.98px) {
  .page-voices__archive-item-meta {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    grid-template-areas: "image" "body";
    padding-top: 1.6875rem;
    row-gap: 0.625rem;
  }
}

.page-voices__archive-item-image {
  grid-template-rows: subgrid;
  grid-row: span 2;
  padding-right: 2.5rem;
  grid-area: image;
}
@media (max-width: 991.98px) {
  .page-voices__archive-item-image {
    padding-right: 0;
  }
}
.page-voices__archive-item-image img {
  aspect-ratio: 478/321;
}
@media (max-width: 991.98px) {
  .page-voices__archive-item-image img {
    aspect-ratio: 334/260;
  }
}

.page-voices__archive-item-body {
  display: grid !important;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: unset !important;
  grid-area: body;
}
@media (max-width: 991.98px) {
  .page-voices__archive-item-body {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
}

@media (max-width: 991.98px) {
  .page-voices__archive-item-body-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0.625rem;
    padding-bottom: 1.75rem;
  }
}
.page-voices__archive-item-body-title h4 {
  color: #000;
}
.page-voices__archive-item-body-title p {
  font-size: 1rem;
  line-height: 1.875rem;
}

.page-voices__archive-item-body-text {
  text-align: justify;
  height: 100%;
  line-height: 1.875rem;
}

.page-voices__button {
  padding-top: 3.1875rem;
  padding-bottom: 10.3125rem;
}
@media (max-width: 991.98px) {
  .page-voices__button {
    padding-bottom: 4.6875rem;
  }
}
@media (max-width: 991.98px) {
  .page-voices__button .button {
    width: 100%;
  }
  .page-voices__button .button a {
    font-size: 1.125rem;
    height: 5rem;
  }
}

.page-recruit h1,
.page-recruit h2,
.page-recruit h3,
.page-recruit h4,
.page-recruit h5,
.page-recruit h6,
.page-recruit p {
  margin: 0;
  padding: 0;
  -webkit-margin-after: 0 !important;
          margin-block-end: 0 !important;
  -webkit-margin-before: 0 !important;
          margin-block-start: 0 !important;
}

.page-recruit__lead {
  padding-top: 3.5625rem;
}
@media (max-width: 991.98px) {
  .page-recruit__lead {
    padding-top: 2.1875rem;
  }
}
.page-recruit__lead p {
  font-size: 1rem;
  line-height: 1.875rem;
}

.page-recruit__tel {
  padding-top: 3.125rem;
}
@media (max-width: 991.98px) {
  .page-recruit__tel {
    padding-top: 1.5rem;
  }
}
@media (max-width: 991.98px) {
  .page-recruit__tel .common-box-tel {
    max-width: unset;
  }
  .page-recruit__tel .common-box-tel strong {
    left: 0 !important;
  }
  .page-recruit__tel .common-box-tel strong::after {
    width: 1.25rem !important;
    top: 52% !important;
    right: calc(100% + 0.375rem) !important;
  }
}

.page-recruit__links {
  padding-top: 4.6875rem;
}
@media (max-width: 991.98px) {
  .page-recruit__links {
    padding-top: 3.75rem;
  }
  .page-recruit__links .common-anchor-link__buttons {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    row-gap: 1.8125rem;
  }
  .page-recruit__links .common-anchor-link__buttons .common-anchor-link__button {
    max-width: 47%;
  }
}

.page-recruit__recruitment-list {
  max-width: unset;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding-top: 0.875rem;
}
@media (max-width: 991.98px) {
  .page-recruit__recruitment-list {
    padding-top: 1.8125rem;
  }
}

.is-hidden__heading {
  position: absolute;
  z-index: -2000;
  opacity: 0;
}

.common-recruit-section__container {
  padding-top: 6.4375rem;
  padding-bottom: 5.1875rem;
  background-color: #ffffff;
}
@media (max-width: 991.98px) {
  .common-recruit-section__container {
    padding-top: 3.125rem;
    padding-bottom: 2.8125rem;
  }
}
.common-recruit-section__container:nth-child(even) {
  background-color: #e7f5fc;
}

.common-recruit-section__inner {
  padding-top: 0;
  padding-bottom: 0;
}

.common-recruit-section__body {
  padding-top: 6.3125rem;
}
@media (max-width: 991.98px) {
  .common-recruit-section__body {
    padding-top: 3rem;
  }
}

.common-recruit-section__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.3125rem;
}
@media (max-width: 991.98px) {
  .common-recruit-section__items {
    gap: 0;
  }
}

.common-recruit-section__item {
  margin: 0 !important;
  border-bottom: 1px solid #32a0c7;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0.875rem 0.625rem 1.125rem;
}
@media (max-width: 991.98px) {
  .common-recruit-section__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0.5625rem 0 0.625rem;
    gap: 0.3125rem;
  }
}
.common-recruit-section__item h4 {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.875rem;
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 10.5625rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (max-width: 991.98px) {
  .common-recruit-section__item h4 {
    line-height: normal;
  }
}
.common-recruit-section__item p {
  -webkit-font-feature-settings: "palt" on;
          font-feature-settings: "palt" on;
  text-align: justify;
  font-size: 1rem;
  line-height: 1.875rem;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.common-recruit-section__button {
  padding-top: 3.75rem;
}
@media (max-width: 991.98px) {
  .common-recruit-section__button {
    padding-top: 1.875rem;
  }
}

@media (max-width: 991.98px) {
  .common-recruit-section__button-primary {
    width: 100%;
  }
}

.page-privacy-policy h1,
.page-privacy-policy h2,
.page-privacy-policy h3,
.page-privacy-policy h4,
.page-privacy-policy h5,
.page-privacy-policy h6,
.page-privacy-policy p {
  margin: 0;
  padding: 0;
  -webkit-margin-after: 0 !important;
          margin-block-end: 0 !important;
  -webkit-margin-before: 0 !important;
          margin-block-start: 0 !important;
}

.page-privacy-policy__inner-narrow {
  max-width: 52.5rem;
  width: 100%;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  margin: 0 auto;
}
@media (max-width: 991.98px) {
  .page-privacy-policy__inner-narrow {
    padding-left: 0;
    padding-right: 0;
  }
}

.page-privacy-policy__lead {
  border-radius: 0 !important;
}
.page-privacy-policy__lead p {
  font-size: 16px;
  line-height: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #32a0c7 !important;
}
@media (max-width: 991.98px) {
  .page-privacy-policy__lead p {
    padding-bottom: 20px;
  }
}
@media (max-width: 991.98px) {
  .page-privacy-policy__lead .common-lead {
    padding-top: 19px;
  }
}

.page-privacy-policy__items {
  padding-top: 30px;
  padding-bottom: 104px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 31px;
  gap: 21px;
}
@media (max-width: 991.98px) {
  .page-privacy-policy__items {
    padding-top: 20px;
    padding-bottom: 68px;
  }
}

.page-privacy-policy__h2 {
  color: #32a0c7;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 30px;
}

.page-privacy-policy__text {
  font-size: 16px;
  line-height: 30px;
  padding-top: 4px !important;
  text-align: justify;
}

.blog-archive__categories {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 2.5rem;
     -moz-column-gap: 2.5rem;
          column-gap: 2.5rem;
  row-gap: 1.125rem;
  padding: 3.125rem 0.5rem 0.875rem;
}
@media (max-width: 991.98px) {
  .blog-archive__categories {
    -webkit-column-gap: 2.1875rem;
       -moz-column-gap: 2.1875rem;
            column-gap: 2.1875rem;
  }
}
@media (max-width: 991.98px) {
  .blog-archive__categories {
    padding: 1.25rem 0.5rem 0.875rem;
  }
}
.blog-archive__categories a {
  color: #888;
  line-height: 1.875rem;
  padding-bottom: 0.125rem;
}
@media (max-width: 991.98px) {
  .blog-archive__categories a {
    font-size: 1.125rem;
  }
}
.blog-archive__categories a.is-active {
  color: #32a0c7;
  font-weight: 700;
  border-bottom: 0.25rem solid #32a0c7;
}
.blog-archive__categories .blog-archive__categories-all {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.blog-archive__categories .blog-archive__categories-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 2.5rem;
     -moz-column-gap: 2.5rem;
          column-gap: 2.5rem;
  row-gap: 1.125rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media (max-width: 991.98px) {
  .blog-archive__categories .blog-archive__categories-list {
    -webkit-column-gap: 2.1875rem;
       -moz-column-gap: 2.1875rem;
            column-gap: 2.1875rem;
  }
}

.blog-archive__item-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 0.0625rem solid #32a0c7;
  padding: 2.75rem 0 1.375rem;
}
@media (max-width: 991.98px) {
  .blog-archive__item-link {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 1.125rem 0 1.25rem;
    margin-bottom: 0.875rem;
    gap: 0.875rem;
  }
}

.blog-archive__item-thumb {
  width: 50%;
  padding-right: 2.5rem;
}
.blog-archive__item-thumb img {
  aspect-ratio: 480/210;
}
@media (max-width: 991.98px) {
  .blog-archive__item-thumb img {
    aspect-ratio: 335/146;
  }
}
@media (max-width: 991.98px) {
  .blog-archive__item-thumb {
    width: 100%;
    padding-right: 0;
    line-height: 0;
  }
}

.blog-archive__item-meta {
  width: 50%;
}
@media (max-width: 991.98px) {
  .blog-archive__item-meta {
    width: 100%;
  }
}

.blog-archive__item-date {
  color: #32a0c7;
  font-size: 1rem;
  line-height: 1.875rem;
}

.blog-archive__item-cat {
  color: #32a0c7;
  font-size: 1rem;
  line-height: 1.875rem;
}

.blog-archive__item-title {
  color: #000000;
  font-family: "Noto Sans JP";
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 2.25rem;
  padding-top: 0.625rem !important;
}
@media (max-width: 991.98px) {
  .blog-archive__item-title {
    font-size: 1rem;
    line-height: 1.875rem;
    padding-top: 0 !important;
  }
}

.blog-archive__pagination {
  margin-bottom: 0;
  margin-top: 0;
  padding-top: 5rem;
  padding-bottom: 9rem;
}
@media (max-width: 991.98px) {
  .blog-archive__pagination {
    padding-top: 4.125rem;
    padding-bottom: 4.6875rem;
  }
}