* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

ul {
  list-style-type: none;
}

a {
  color: inherit;
  text-decoration: none;
}

ul,
ol,
div {
  margin: 0;
  padding: 0;
}

html {
  font-family: "Noto Sans JP", sans-serif;
  color: #1D2E35;
  font-size: 10px;
  scroll-behavior: smooth;
}
@media screen and (max-width: 980px) {
  html {
    min-width: 980px;
  }
}
@media screen and (max-width: 767px) {
  html {
    min-width: 100%;
  }
}

.main {
  position: relative;
  padding-top: 120px;
  background-color: #F1F1F1;
}
@media screen and (max-width: 767px) {
  .main {
    padding-top: 90px;
  }
}

.button {
  border: 1px solid #1D2E35;
  padding: 20.76px 39px;
  width: 480px;
  font: 700 2.1rem "Noto Sans JP", sans-serif;
  line-height: 1.75em;
  position: relative;
  -webkit-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
}
@media screen and (max-width: 767px) {
  .button {
    padding: 16px 15px;
    width: 100%;
    font-size: 13px;
  }
}
.button:hover {
  opacity: 0.4;
}
.button__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 34px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .button__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.button::before, .button::after {
  content: "";
  position: absolute;
}
.button::before {
  top: 36%;
  right: 70px;
  width: 30px;
  height: 30px;
  background-image: url("/wp-content/themes/kojiken/img/icons/divider-black.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .button::before {
    top: 27%;
    right: 41px;
    height: 27px;
  }
}
.button--download::after {
  top: 42%;
  right: 49px;
  width: 13px;
  height: 20px;
  background-image: url("/wp-content/themes/kojiken/img/icons/download.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .button--download::after {
    top: 36%;
    right: 22px;
  }
}
.button--enter::after {
  top: 42%;
  right: 49px;
  width: 13px;
  height: 20px;
  background-image: url("/wp-content/themes/kojiken/img/icons/download.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .button--enter::after {
    top: 36%;
    right: 22px;
  }
}
.button--mail {
  max-width: 399px;
}
@media screen and (max-width: 767px) {
  .button--mail {
    width: 100%;
    min-width: initial;
  }
}
.button--mail::after {
  top: 47%;
  right: 49px;
  width: 17px;
  height: 20px;
  background-image: url("/wp-content/themes/kojiken/img/icons/mail.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .button--mail::after {
    top: 41%;
    right: 22px;
  }
}
.button--arrow-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.button--arrow-left::before {
  left: 17%;
}
@media screen and (max-width: 767px) {
  .button--arrow-left::before {
    left: 77px;
  }
}
.button--arrow-left::after {
  top: 46%;
  left: 8%;
  width: 15px;
  height: 20px;
  background-image: url("/wp-content/themes/kojiken/img/icons/caret-left.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .button--arrow-left::after {
    top: 41%;
    left: 22px;
  }
}
.button--arrow-right::after {
  top: 46%;
  right: 49px;
  width: 15px;
  height: 20px;
  background-image: url("/wp-content/themes/kojiken/img/icons/caret-right.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .button--arrow-right::after {
    top: 41%;
    right: 22px;
  }
}

.heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.heading--center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.heading__main {
  font: 700 2rem "europa", sans-serif;
  color: #37A3BF;
  line-height: 1.75em;
}
@media screen and (max-width: 767px) {
  .heading__main {
    font-size: 1.6rem;
  }
}
.heading__main--mb {
  margin-bottom: 20px;
}
.heading__subhead {
  font: 700 2.4rem "Noto Sans JP", sans-serif;
  color: #1D2E35;
  line-height: 1.75em;
}
@media screen and (max-width: 767px) {
  .heading__subhead {
    font-size: 1.8rem;
  }
}

.page-banner {
  height: 545px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  border-bottom: 2px solid #1D2E35;
}
@media screen and (max-width: 1200px) {
  .page-banner {
    margin: -1px;
  }
}
@media screen and (max-width: 767px) {
  .page-banner {
    height: 300px;
    margin: 0;
  }
}
.page-banner--bg-white {
  height: 290px;
  background-color: #F1F1F1;
}
.page-banner--bg-white .page-banner__text-jap,
.page-banner--bg-white .page-banner__breadcrumbs-item {
  color: #1D2E35;
}
.page-banner--bg-white::after {
  background-color: #F1F1F1 !important;
  opacity: initial;
}
.page-banner--bg-white .page-banner__breadcrumbs-item--link::before {
  background-image: url("/wp-content/themes/kojiken/img/icons/divider-black.svg");
}
.page-banner::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  opacity: 0.3;
  background-color: #1D2E35;
}
.page-banner img {
  height: 100%;
  width: 100%;
  position: relative;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: bottom;
     object-position: bottom;
  background-position: center center;
}
.page-banner__wrap {
  padding: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  width: 100%;
  z-index: 1;
  max-width: 1520px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  max-width: 1520px;
}
@media screen and (max-width: 1600px) {
  .page-banner__wrap {
    max-width: 1200px;
  }
}
@media screen and (max-width: 767px) {
  .page-banner__wrap {
    max-width: 100%;
    padding: 0 5%;
  }
}
@media screen and (max-width: 1600px) {
  .page-banner__wrap {
    max-width: 1200px;
  }
}
@media screen and (max-width: 1200px) {
  .page-banner__wrap {
    padding: 0 86px 0 100px;
  }
}
@media screen and (max-width: 767px) {
  .page-banner__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: initial;
        -ms-flex-align: initial;
            align-items: initial;
    padding: 0 60px 0 5%;
  }
}
.page-banner__about {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.page-banner__about--works {
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .page-banner__about--works {
    gap: 10px;
  }
}
.page-banner__text-eng {
  font: 700 2.4rem "europa", sans-serif;
  color: #37A3BF;
  line-height: 1.1666666667em;
}
.page-banner__text-jap {
  font: 700 3.6rem "Noto Sans JP", sans-serif;
  color: #fff;
  line-height: 1.75em;
}
@media screen and (max-width: 767px) {
  .page-banner__text-jap {
    font-size: 30px;
  }
}
.page-banner__breadcrumbs {
  padding-top: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .page-banner__breadcrumbs {
    padding-top: 0;
  }
}
.page-banner__breadcrumbs--works {
  padding-top: 80px;
}
@media screen and (max-width: 767px) {
  .page-banner__breadcrumbs--works {
    padding-top: 40px;
  }
}
.page-banner__breadcrumbs-item {
  font: 400 1.4rem "Noto Sans JP", sans-serif;
  color: #fff;
  line-height: 1.75em;
  text-decoration: underline;
}
.page-banner__breadcrumbs-item--link {
  position: relative;
  opacity: 1;
  text-decoration: none;
}
.page-banner__breadcrumbs-item--link:not(:last-child) {
  position: relative;
}
.page-banner__breadcrumbs-item--link::before {
  content: "";
  position: absolute;
  top: 50%;
  right: -20px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1px;
  height: 14px;
  background-image: url("/wp-content/themes/kojiken/img/icons/divider.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
.page-banner__item-text {
  font-weight: 400;
  font-size: 1.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 40px;
  color: #778286;
}
@media screen and (max-width: 767px) {
  .page-banner__item-text {
    font-size: 1.2rem;
  }
}
.page-banner__item-time {
  font-family: "europa", sans-serif;
  position: relative;
}
.page-banner__item-time::after {
  content: " ";
  position: absolute;
  top: 50%;
  right: -20px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url("/wp-content/themes/kojiken/img/icons/separator-gray.svg") center no-repeat;
  background-size: cover;
  width: 1px;
  height: 12px;
}

.header {
  z-index: 99;
}
.header__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 100px;
  height: 120px;
  position: fixed;
  width: 100%;
  background-color: #f2f2f2;
  border-bottom: 1px solid #1D2E35;
  z-index: 99;
}
@media screen and (max-width: 767px) {
  .header__container {
    padding: 0 5%;
    height: 90px;
  }
}
.header__logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .header__logo {
    gap: 15px;
  }
}
.header__logo-img {
  width: 60px;
  height: 70px;
}
@media screen and (max-width: 767px) {
  .header__logo-img {
    width: 45px;
    height: 60px;
  }
}
.header__logo-name {
  font-weight: 400;
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  .header__logo-name {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 1200px) {
  .header__menu {
    display: none;
    position: absolute;
    top: 90px;
    left: 0;
    width: 100%;
    height: calc(100vh - 90px);
    background-color: #fff;
  }
}
.header__menu.active {
  display: block;
  overflow-y: scroll;
}
.header__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 75px;
}
@media screen and (max-width: 1200px) {
  .header__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
    padding-top: 15px;
  }
}
.header__item {
  -webkit-transition: all 0.3s ease-in;
  transition: all 0.3s ease-in;
}
@media screen and (max-width: 1200px) {
  .header__item {
    width: 100%;
    height: 50px;
    padding: 0 5%;
  }
}
.header__item:hover .header__link {
  color: #37A3BF;
}
@media screen and (max-width: 767px) {
  .header__item:hover .header__link {
    color: #1D2E35;
  }
}
.header__item:hover .header__link::after {
  opacity: 1;
}
@media screen and (max-width: 1200px) {
  .header__item--submenu {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
  .header__item--submenu .header__link::after {
    content: none;
  }
}
.header__item--submenu:hover .header__submenu {
  height: 150px;
}
@media screen and (max-width: 1200px) {
  .header__item--submenu:hover .header__submenu {
    height: -webkit-max-content;
    height: -moz-max-content;
    height: max-content;
  }
}
@media screen and (max-width: 1200px) {
  .header__item--submenu:hover .header__link {
    color: #1D2E35;
  }
}
.header__link {
  font-weight: 700;
  font-size: 1.8rem;
  display: block;
  height: 100%;
  width: 100%;
  position: relative;
  -webkit-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
}
@media screen and (max-width: 1200px) {
  .header__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 50px;
  }
}
.header__link::after {
  content: " ";
  width: 6px;
  height: 6px;
  background-color: #37A3BF;
  border-radius: 100%;
  position: absolute;
  bottom: -10px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
  opacity: 0;
}
@media screen and (max-width: 1200px) {
  .header__link::after {
    left: unset;
    right: 0;
    -webkit-transform: unset;
            transform: unset;
    bottom: 15px;
    border-radius: 0;
    width: 45px;
    height: 30px;
    background: url("/wp-content/themes/kojiken/img/icons/link-arrow.svg") center no-repeat;
    background-size: contain;
    opacity: 1;
  }
}
.header__submenu {
  position: absolute;
  left: 0;
  top: 120px;
  width: 100%;
  height: 0;
  z-index: -1;
  background-color: #fff;
  overflow: hidden;
  -webkit-transition: all 0.3s ease-in;
  transition: all 0.3s ease-in;
}
@media screen and (max-width: 1200px) {
  .header__submenu {
    position: relative;
    height: -webkit-max-content;
    height: -moz-max-content;
    height: max-content;
    top: 0;
    z-index: 1;
  }
}
.header__submenu-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 150px;
  border-bottom: 1px solid #000;
}
@media screen and (max-width: 1200px) {
  .header__submenu-wrap {
    height: unset;
    border: none;
  }
}
.header__submenu-title {
  max-width: 510px;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 1200px) {
  .header__submenu-title {
    display: none;
  }
}
.header__submenu-title-en {
  font-weight: 700;
  font-size: 2rem;
  font-family: "europa", sans-serif;
  line-height: getem(20, 35);
  color: #37A3BF;
}
.header__submenu-title-jp {
  font-weight: 700;
  font-size: 2.4rem;
}
.header__submenu-list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  border-bottom: 1px solid #000;
}
@media screen and (max-width: 1200px) {
  .header__submenu-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    border: none;
  }
}
.header__submenu-item {
  width: 50%;
  height: 75px;
  border: 1px solid #000;
  border-right: 0;
  border-bottom: 0;
}
@media screen and (max-width: 1200px) {
  .header__submenu-item {
    width: 100%;
    border: none;
    height: 50px;
  }
}
.header__submenu-link {
  height: 100%;
  font-weight: 700;
  font-size: 1.8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0 50px 0 30px;
  background-color: #fff;
  color: #000;
  -webkit-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
}
@media screen and (max-width: 1200px) {
  .header__submenu-link {
    padding: 0 0 0 5%;
  }
}
.header__submenu-link::after {
  content: " ";
  position: relative;
  width: 45px;
  height: 30px;
  background: url("/wp-content/themes/kojiken/img/icons/link-arrow.svg") center no-repeat;
}
.header__submenu-link:hover {
  background-color: #1D2E35;
  color: #fff;
}
@media screen and (max-width: 1200px) {
  .header__submenu-link:hover {
    background-color: #fff;
    color: #1D2E35;
  }
}
.header__submenu-link:hover::after {
  -webkit-filter: invert(100%);
          filter: invert(100%);
}
@media screen and (max-width: 1200px) {
  .header__submenu-link:hover::after {
    -webkit-filter: none;
            filter: none;
  }
}
.header__burger {
  display: none;
}
@media screen and (max-width: 1200px) {
  .header__burger {
    z-index: 1;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 50px;
    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;
  }
}
.header__burger-icon {
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
  width: 100%;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  cursor: pointer;
  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;
}
.header__burger-icon.close .header__burger-line {
  width: 50px;
}
@media screen and (max-width: 767px) {
  .header__burger-icon.close .header__burger-line {
    width: 40px;
  }
}
.header__burger-icon.close .header__burger-line:first-child {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transform-origin: 14px;
          transform-origin: 14px;
}
@media screen and (max-width: 767px) {
  .header__burger-icon.close .header__burger-line:first-child {
    -webkit-transform-origin: 12px;
            transform-origin: 12px;
  }
}
.header__burger-icon.close .header__burger-line:nth-child(2) {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transform-origin: 14px;
          transform-origin: 14px;
}
@media screen and (max-width: 767px) {
  .header__burger-icon.close .header__burger-line:nth-child(2) {
    -webkit-transform-origin: 12px;
            transform-origin: 12px;
  }
}
.header__burger-line {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin: 5px auto;
  background: #000;
  height: 1px;
  opacity: 1;
  -webkit-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}
@media screen and (max-width: 767px) {
  .header__burger-line {
    margin: 3px auto;
  }
}

.footer__container {
  border-top: 1px solid #1D2E35;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5.263%;
  position: relative;
  padding: 0 10.416%;
}
@media screen and (max-width: 1600px) {
  .footer__container {
    padding: 0 100px;
  }
}
@media screen and (max-width: 1200px) {
  .footer__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0 5%;
  }
}
.footer__contact {
  background-color: #1D2E35;
  color: #fff;
  width: 480px;
  min-height: 505px;
  position: relative;
  top: -110px;
  padding: 80px 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 45px;
  z-index: 98;
}
@media screen and (max-width: 1200px) {
  .footer__contact {
    width: 100%;
    min-height: 400px;
    top: -60px;
    padding: 40px 25px;
  }
}
@media screen and (max-width: 350px) {
  .footer__contact {
    padding: 40px 15px;
  }
}
.footer__contact-title-en {
  font-weight: 700;
  font-size: 2rem;
  font-family: "europa", sans-serif;
  color: #37A3BF;
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .footer__contact-title-en {
    font-size: 1.6rem;
    margin-bottom: 10px;
  }
}
.footer__contact-title-jp {
  font-weight: 700;
  font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
  .footer__contact-title-jp {
    font-size: 2rem;
  }
}
.footer__contact-tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 60px;
}
@media screen and (max-width: 767px) {
  .footer__contact-tel {
    gap: 30px;
  }
}
.footer__contact-tel-name {
  font-weight: 700;
  font-size: 1.8rem;
  position: relative;
  padding-top: 10px;
}
@media screen and (max-width: 767px) {
  .footer__contact-tel-name {
    font-size: 1.4rem;
  }
}
.footer__contact-tel-name::after {
  content: " ";
  position: absolute;
  top: 25px;
  right: -25px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url("/wp-content/themes/kojiken/img/icons/separator-white.png") center no-repeat;
  background-size: cover;
  width: 1px;
  height: 30px;
}
@media screen and (max-width: 767px) {
  .footer__contact-tel-name::after {
    top: 18px;
    right: -15px;
    height: 20px;
  }
}
.footer__contact-tel-details {
  font-weight: 700;
  font-size: 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
}
@media screen and (max-width: 767px) {
  .footer__contact-tel-details {
    font-size: 2.5rem;
  }
}
.footer__contact-tel-time {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 15px;
}
.footer__contact-tel-time-box {
  font-weight: 400;
  font-size: 1.2rem;
  padding: 0 10px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border: 1px solid #fff;
}
.footer__contact-tel-time-text {
  font-weight: 400;
  font-size: 1.4rem;
}
.footer__contact-button-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
}
.footer__contact-text {
  font-weight: 700;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .footer__contact-text {
    font-size: 1.2rem;
  }
}
.footer__contact-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 22px 35px;
  background-color: #1D2E35;
  border: 1px solid #fff;
  width: 400px;
  height: 75px;
  -webkit-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
}
@media screen and (max-width: 767px) {
  .footer__contact-button {
    width: 100%;
    padding: 15px 20px;
  }
}
.footer__contact-button:hover {
  background-color: #fff;
  color: #1D2E35;
}
.footer__contact-button:hover .footer__contact-button-img {
  -webkit-filter: invert(100%);
          filter: invert(100%);
}
.footer__contact-button span {
  font-weight: 700;
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  .footer__contact-button span {
    font-size: 1.4rem;
  }
}
.footer__contact-button-img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 17px;
  height: 12px;
  position: relative;
}
.footer__contact-button-img::before {
  content: " ";
  position: absolute;
  top: 50%;
  left: -25px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url("/wp-content/themes/kojiken/img/icons/separator-white.png") center no-repeat;
  background-size: cover;
  width: 1px;
  height: 30px;
}
.footer__content-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 20px;
  width: 100%;
  padding: 50px 0 80px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 767px) {
  .footer__content-container {
    padding: 0;
  }
}
.footer__content-wrap {
  max-width: 550px;
  width: 100%;
}
.footer__logo-wrap {
  margin-bottom: 95px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .footer__logo-wrap {
    margin-bottom: 50px;
  }
}
.footer__logo-img {
  width: 80px;
  height: 95px;
  margin-right: 15px;
}
@media screen and (max-width: 767px) {
  .footer__logo-img {
    width: 50px;
    height: 60px;
    margin-right: 8px;
  }
}
@media screen and (max-width: 350px) {
  .footer__logo-img {
    width: 40px;
    height: 50px;
  }
}
.footer__logo-text {
  font-weight: 400;
  font-size: 1.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 767px) {
  .footer__logo-text {
    font-size: 1.2rem;
  }
}
.footer__logo-text .big {
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  .footer__logo-text .big {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 350px) {
  .footer__logo-text .big {
    font-size: 1.2rem;
  }
}
.footer__logo-text-wrap {
  margin-left: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}
@media screen and (max-width: 767px) {
  .footer__logo-text-wrap {
    margin-left: 25px;
  }
}
.footer__logo-text-wrap::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -20px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url("/wp-content/themes/kojiken/img/icons/separator-black.png") center no-repeat;
  background-size: contain;
  width: 1px;
  height: 75px;
}
@media screen and (max-width: 767px) {
  .footer__logo-text-wrap::before {
    height: 40px;
    left: -12px;
  }
}
.footer__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 60px;
}
@media screen and (max-width: 767px) {
  .footer__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}
.footer__content-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 35px;
}
@media screen and (max-width: 767px) {
  .footer__content-list {
    gap: 20px;
  }
}
.footer__content-list--subitem {
  gap: 20px;
}
.footer__content-item {
  font-weight: 400;
  font-size: 1.4rem;
  color: #084F72;
  padding-left: 12px;
  position: relative;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.footer__content-item::before {
  content: " ";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url("/wp-content/themes/kojiken/img/icons/separator-blue.png") center no-repeat;
  background-size: cover;
  width: 1px;
  height: 14px;
}
.footer__content-subitem {
  font-weight: 400;
  font-size: 1.4rem;
  color: #084F72;
}
@media screen and (max-width: 767px) {
  .footer__content-subitem {
    padding-left: 12px;
  }
}
.footer__copyright {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 30px;
}
@media screen and (max-width: 1440px) {
  .footer__copyright {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media screen and (max-width: 767px) {
  .footer__copyright {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 50px;
  }
}
.footer__copyright-text {
  font-weight: 400;
  font-size: 1.2rem;
  font-family: "europa", sans-serif;
  color: #6B95AA;
}
.footer__copyright-breadcrumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  font-weight: 400;
  font-size: 1.2rem;
  color: #6B95AA;
  -ms-flex-item-align: end;
      align-self: flex-end;
}

.sidenav {
  z-index: 98;
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 100px;
  background-color: #084F72;
  z-index: 98;
}
@media screen and (max-width: 1200px) {
  .sidenav {
    width: 50px;
  }
}
.sidenav__content {
  position: sticky;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  cursor: pointer;
}
.sidenav__link {
  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;
  gap: 15px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100vh;
}
.sidenav__link span {
  -webkit-writing-mode: vertical-lr;
      -ms-writing-mode: tb-lr;
          writing-mode: vertical-lr;
  color: #fff;
  font-weight: 700;
  font-size: 1.8rem;
}
.sidenav__image {
  width: 17px;
  height: 12px;
}

.page-test {
  padding-top: 50px;
  width: 100%;
}
.page-test__container {
  max-width: 1520px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  max-width: 1200px;
}
@media screen and (max-width: 1600px) {
  .page-test__container {
    max-width: 1200px;
  }
}
@media screen and (max-width: 767px) {
  .page-test__container {
    max-width: 100%;
    padding: 0 5%;
  }
}

.table__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 10px;
}
@media screen and (max-width: 767px) {
  .table__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.table__side {
  width: 23%;
}
@media screen and (max-width: 767px) {
  .table__side {
    width: initial;
  }
}
.table__content {
  width: 65.79%;
  margin-top: 13px;
}
@media screen and (max-width: 767px) {
  .table__content {
    width: initial;
  }
}
.table__content--no-border .table__list-item {
  border: none !important;
  padding-block: 0;
}
.table__list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-block: 14px;
  border-top: 1px solid #1D2E35;
}
.table__list-item:last-of-type {
  border-bottom: 1px solid #1D2E35;
}
@media screen and (max-width: 767px) {
  .table__list-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}
.table__label {
  font: 700 1.8rem "Noto Sans JP", sans-serif;
  line-height: 1.75em;
  min-width: 175px;
}
@media screen and (max-width: 767px) {
  .table__label {
    font-size: 1.3rem;
    min-width: 130px;
  }
}
.table__detail {
  width: 100%;
  font: 400 1.6rem "Noto Sans JP", sans-serif;
  line-height: 1.75em;
}
@media screen and (max-width: 767px) {
  .table__detail {
    font-size: 1.4rem;
  }
}
.table__map {
  margin-block: 20px 5.5px;
  max-width: 800px;
  height: 420px;
}
@media screen and (max-width: 767px) {
  .table__map {
    height: 200px;
  }
}
.table__map iframe {
  width: 100%;
  height: 100%;
}

.top {
  background: #f2f2f2;
  padding-bottom: 215px;
}
@media screen and (max-width: 767px) {
  .top {
    padding-bottom: 100px;
  }
}
.top__mv-container {
  height: calc(100vh - 120px);
  background: #f2f2f2;
  padding: 50px 10.416% 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .top__mv-container {
    height: 380px;
    padding: 30px 60px 0 5%;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    margin: 0 auto;
  }
}
.top__mv-splide-container {
  width: 70.35%;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .top__mv-splide-container {
    max-width: 300px;
    width: 100%;
  }
}
.top__mv-logo {
  position: absolute;
  right: -33%;
  bottom: -27%;
  width: 39.21%;
  height: auto;
  z-index: 1;
  opacity: 0;
  -webkit-animation: animateLeft 1s cubic-bezier(0.25, 1, 0.5, 1) forwards, fadeIn 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
          animation: animateLeft 1s cubic-bezier(0.25, 1, 0.5, 1) forwards, fadeIn 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  -webkit-animation-delay: 5s;
          animation-delay: 5s;
}
@media screen and (max-width: 767px) {
  .top__mv-logo {
    bottom: unset;
    top: 50px;
    right: 0;
  }
}
.top__mv-splide {
  width: 100%;
  opacity: 0;
  -webkit-animation: animateLeft 1s cubic-bezier(0.25, 1, 0.5, 1) forwards, fadeIn 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
          animation: animateLeft 1s cubic-bezier(0.25, 1, 0.5, 1) forwards, fadeIn 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  -webkit-animation-delay: 5s;
          animation-delay: 5s;
}
@media screen and (max-width: 767px) {
  .top__mv-splide {
    padding-top: 75px;
  }
}
.top__mv-content {
  width: 60%;
  position: absolute;
  right: -43%;
  bottom: 7%;
  z-index: 1;
}
@media screen and (max-width: 1600px) {
  .top__mv-content {
    bottom: 5%;
  }
}
@media screen and (max-width: 767px) {
  .top__mv-content {
    width: 80%;
    bottom: unset;
    top: 0;
    right: 0;
  }
}
.top__mv-header {
  text-align: right;
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 25px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .top__mv-header {
    gap: 5px;
  }
}
.top__mv-header-en {
  opacity: 0;
  font-weight: 700;
  font-size: 6.25vw;
  font-family: "europa", sans-serif;
  line-height: 1em;
  background: -webkit-gradient(linear, left top, right top, from(#056499), to(#4DBBCE));
  background: linear-gradient(to right, #056499 0%, #4DBBCE 100%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-animation: animateLeft 1s cubic-bezier(0.25, 1, 0.5, 1) forwards, fadeIn 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
          animation: animateLeft 1s cubic-bezier(0.25, 1, 0.5, 1) forwards, fadeIn 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  -webkit-animation-delay: 3s;
          animation-delay: 3s;
}
@media screen and (max-width: 767px) {
  .top__mv-header-en {
    font-size: 3rem;
  }
}
.top__mv-header-jp {
  font-size: 2.1875vw;
  font-weight: 700;
  opacity: 0;
  -webkit-animation: animateLeft 1s cubic-bezier(0.25, 1, 0.5, 1) forwards, fadeIn 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
          animation: animateLeft 1s cubic-bezier(0.25, 1, 0.5, 1) forwards, fadeIn 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  -webkit-animation-delay: 4s;
          animation-delay: 4s;
}
@media screen and (max-width: 767px) {
  .top__mv-header-jp {
    font-size: 16px;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.6);
  }
}
.top__mv-scroll {
  position: absolute;
  left: 0;
  bottom: -80px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  opacity: 0;
  -webkit-animation: animateLeft 1s cubic-bezier(0.25, 1, 0.5, 1) forwards, fadeIn 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
          animation: animateLeft 1s cubic-bezier(0.25, 1, 0.5, 1) forwards, fadeIn 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  -webkit-animation-delay: 5s;
          animation-delay: 5s;
}
.top__mv-scroll::before {
  content: "";
  position: relative;
  width: 13px;
  height: 13px;
  background: url("/wp-content/themes/kojiken/img/icons/scroll-down.svg") center, no-repeat;
}
.top__mv-scroll span {
  font-size: 1.4rem;
  font-weight: 700;
  font-family: "europa", sans-serif;
}
.top__container {
  height: 160px;
  background: #f2f2f2;
  border-bottom: 1px solid #1D2E35;
  padding: 0 10.416%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .top__container {
    height: 100px;
    padding: 0 60px 0 5%;
  }
}
.top__service-container {
  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;
  margin: 0 auto;
  background: #fff;
  border-bottom: 1px solid #1D2E35;
}
@media screen and (max-width: 767px) {
  .top__service-container {
    border-bottom: none;
  }
}
.top__service-list {
  width: 79.166%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .top__service-list {
    width: 100%;
    padding-right: 50px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.top__service-item {
  width: 25%;
  height: 420px;
  background-size: cover;
  -webkit-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 25px;
}
@media screen and (max-width: 767px) {
  .top__service-item {
    width: 50%;
    height: 320px;
    border-bottom: 1px solid #1D2E35;
    border-right: 1px solid #1D2E35;
  }
}
.top__service-item:not(:last-of-type) {
  border-right: 2px solid #1D2E35;
}
@media screen and (max-width: 767px) {
  .top__service-item:not(:last-of-type) {
    border-right: 1px solid #1D2E35;
  }
}
.top__service-item--01 {
  background-image: url("/wp-content/themes/kojiken/img/top/service-01-2.jpg");
}
.top__service-item--01:hover {
  opacity: 0.6;
}
.top__service-item--02 {
  background-image: url("/wp-content/themes/kojiken/img/top/service-02-2.jpg");
}
.top__service-item--02:hover {
  opacity: 0.6;
}
.top__service-item--03 {
  background-image: url("/wp-content/themes/kojiken/img/top/service-03-2.jpg");
}
.top__service-item--03:hover {
  opacity: 0.6;
}
.top__service-item--04 {
  background-image: url("/wp-content/themes/kojiken/img/top/service-04-2.jpg");
}
.top__service-item--04:hover {
  opacity: 0.6;
}
.top__service-text {
  display: block;
  -webkit-writing-mode: vertical-lr;
      -ms-writing-mode: tb-lr;
          writing-mode: vertical-lr;
  font-weight: 700;
  font-size: 2.8rem;
  color: #fff;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: 10px 5px 20px;
  background: rgba(29, 46, 53, 0.3);
}
.top__works-container {
  background-color: #fff;
}
.top__works-list {
  padding-right: 100px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}
@media screen and (max-width: 1200px) {
  .top__works-list {
    padding-right: 50px;
  }
}
@media screen and (max-width: 767px) {
  .top__works-list {
    grid-template-columns: 1fr;
  }
}
.top__works-item {
  border-right: 1px solid #1D2E35;
  border-bottom: 1px solid #1D2E35;
}
.top__works-item-image {
  height: 400px;
}
@media screen and (max-width: 767px) {
  .top__works-item-image {
    height: 200px;
  }
}
.top__works-item-text-wrap {
  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-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 25px;
  padding: 50px 0;
}
@media screen and (max-width: 767px) {
  .top__works-item-text-wrap {
    gap: 5px;
    padding: 20px 0 25px;
  }
}
.top__works-item-name {
  font-weight: 400;
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .top__works-item-name {
    font-size: 1.6rem;
  }
}
.top__works-item-text {
  font-size: 1.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 40px;
  color: #778286;
}
@media screen and (max-width: 767px) {
  .top__works-item-text {
    font-size: 1.2rem;
  }
}
.top__works-item-time {
  font-family: "europa", sans-serif;
  position: relative;
}
.top__works-item-time::after {
  content: " ";
  position: absolute;
  top: 50%;
  right: -20px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url("/wp-content/themes/kojiken/img/icons/separator-gray.svg") center no-repeat;
  background-size: cover;
  width: 1px;
  height: 12px;
}
.top__button {
  border: 1px solid #1D2E35;
  padding: 26px 39px;
  width: 480px;
  font: 700 1.8rem "Noto Sans JP", sans-serif;
  line-height: 1.75em;
  position: relative;
  -webkit-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
}
@media screen and (max-width: 767px) {
  .top__button {
    padding: 16px 15px;
    width: 100%;
    font-size: 13px;
  }
}
.top__button:hover {
  opacity: 0.4;
}
.top__button::before {
  content: "";
  position: absolute;
  top: 36%;
  right: 70px;
  width: 30px;
  height: 30px;
  background-image: url("/wp-content/themes/kojiken/img/icons/divider-black.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .top__button::before {
    top: 27%;
    right: 41px;
    height: 27px;
  }
}
.top__button::after {
  content: "";
  position: absolute;
  top: 46%;
  right: 49px;
  width: 15px;
  height: 20px;
  background-image: url("/wp-content/themes/kojiken/img/icons/caret-right.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .top__button::after {
    top: 41%;
    right: 22px;
  }
}
.top__subfooter-container {
  background: #fff;
  border-bottom: 1px solid #1D2E35;
  padding: 0 10.416%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .top__subfooter-container {
    padding: 0 50px 0 0;
  }
}
.top__subfooter-item {
  display: block;
  position: relative;
  width: 50%;
  height: 225px;
  overflow: hidden;
  -webkit-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
}
@media screen and (max-width: 767px) {
  .top__subfooter-item {
    height: 100px;
  }
}
.top__subfooter-item:hover .top__subfooter-overlay {
  opacity: 70%;
}
.top__subfooter-item-image {
  width: 100%;
  height: 100%;
}
.top__subfooter-item-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: bottom;
     object-position: bottom;
}
.top__subfooter-item-image img.op-center {
  -o-object-position: center;
     object-position: center;
}
.top__subfooter-item-text {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.top__subfooter-overlay {
  position: absolute;
  top: 0;
  left: 0;
  background: #1D2E35;
  width: 100%;
  height: 100%;
  opacity: 40%;
  -webkit-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
}

.service__nav-wrap {
  padding: 43px 100px 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 1200px) {
  .service__nav-wrap {
    padding-right: 50px;
  }
}
@media screen and (max-width: 767px) {
  .service__nav-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0;
  }
}
.service__nav-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 140px;
  width: 100%;
  border: 1px solid black;
  padding: 34px;
}
@media screen and (max-width: 767px) {
  .service__nav-btn {
    display: none;
    text-align: center;
    height: 110px;
    padding: 24px;
  }
}
.service__nav-text {
  font: 700 1.8rem "Noto Sans JP", sans-serif;
  line-height: 1.75em;
  position: relative;
}
@media screen and (max-width: 767px) {
  .service__nav-text {
    width: 100%;
    font-size: 14px;
  }
}
.service__nav-text::before {
  content: "";
  position: absolute;
  top: 39px;
  left: 39%;
  height: 20px;
  width: 30px;
  background-image: url("/wp-content/themes/kojiken/img/icons/caret-down.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .service__nav-text::before {
    left: 49%;
  }
}
.service__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 36px 18px;
  max-width: 1520px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  max-width: 1200px;
}
@media screen and (max-width: 1600px) {
  .service__wrap {
    max-width: 1200px;
  }
}
@media screen and (max-width: 767px) {
  .service__wrap {
    max-width: 100%;
    padding: 0 5%;
  }
}
.service__wrap--no-head {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.service__wrap:last-child {
  padding-bottom: 95px;
}
@media screen and (max-width: 767px) {
  .service__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    margin-top: 20px;
  }
}
.service__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 65.79%;
}
@media screen and (max-width: 1400px) {
  .service__content {
    padding-right: 50px;
  }
}
@media screen and (max-width: 767px) {
  .service__content {
    width: 100%;
  }
}
.service__text-heading {
  font: 700 2rem "Noto Sans JP", sans-serif;
  line-height: 2em;
}
@media screen and (max-width: 767px) {
  .service__text-heading {
    font-size: 18px;
  }
}
.service__text-wrap {
  margin-top: 46px;
  font: 400 1.6rem "Noto Sans JP", sans-serif;
  line-height: 2em;
}
@media screen and (max-width: 767px) {
  .service__text-wrap {
    margin-top: 26px;
    font-size: 14px;
  }
}
.service__img-wrap {
  margin-top: 46px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5px;
}
@media screen and (max-width: 767px) {
  .service__img-wrap {
    margin-top: 20px;
    gap: 20px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.service__img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 26px;
}
@media screen and (max-width: 767px) {
  .service__img {
    gap: 16px;
  }
}
.service__img span {
  font: 700 1.8rem "Noto Sans JP", sans-serif;
  line-height: 1.75em;
}
.service__btn-wrap {
  margin: 53px 0 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .service__btn-wrap {
    margin: 27px 0 30px;
  }
}
.service__btn {
  width: 70%;
}
@media screen and (max-width: 1200px) {
  .service__btn {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .service__btn {
    width: 100%;
  }
}
.service__border {
  border-top: 1px solid black;
  width: 100%;
}

.concerned {
  background-color: #f1f1f1;
}
.concerned__content--w60 {
  width: 65.79%;
}
@media screen and (max-width: 767px) {
  .concerned__content--w60 {
    width: 100%;
  }
}
.concerned__wrap {
  padding: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 1520px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  max-width: 1200px;
}
@media screen and (max-width: 1600px) {
  .concerned__wrap {
    max-width: 1200px;
  }
}
@media screen and (max-width: 767px) {
  .concerned__wrap {
    max-width: 100%;
    padding: 0 5%;
  }
}
@media screen and (max-width: 767px) {
  .concerned__wrap {
    padding: 0 5%;
  }
}
@media screen and (max-width: 767px) {
  .concerned__wrap--invoice {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 30px;
    padding-right: 60px;
  }
}
@media screen and (max-width: 767px) {
  .concerned__wrap--notes {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-right: 60px;
  }
}
.concerned__wrap:first-child {
  padding-top: 46px;
}
.concerned__wrap:last-child {
  padding-bottom: 160px;
}
@media screen and (max-width: 767px) {
  .concerned__wrap:last-child {
    padding-bottom: 80px;
  }
}
.concerned__text {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2em;
}
@media screen and (max-width: 767px) {
  .concerned__text {
    font-size: 14px;
  }
}
.concerned__notes-text {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2em;
  margin: -7px 0 20px 0;
}
.concerned__tbl-text {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.75em;
}
.concerned__tbl-list {
  margin-top: 10px;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.75em;
}
.concerned__btn-wrap {
  margin-top: 53px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 32px;
}
@media screen and (max-width: 1200px) {
  .concerned__btn-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.concerned__btn {
  width: 48%;
  font-size: 1.4rem;
  position: relative;
}
@media screen and (max-width: 1200px) {
  .concerned__btn {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .concerned__btn {
    font-size: 12px;
  }
}
.concerned__btn::before {
  top: 32%;
  right: 46px;
}
@media screen and (max-width: 767px) {
  .concerned__btn::before {
    top: initial;
  }
}
.concerned__btn::after {
  top: 39%;
  right: 26px;
}
@media screen and (max-width: 767px) {
  .concerned__btn::after {
    top: initial;
  }
}
.concerned__border {
  margin-block: 30px 20px;
  border-top: 1px solid black;
  width: 100%;
}

.fieldstaff {
  background-color: #f1f1f1;
}
.fieldstaff__wrap {
  padding: 46px 10px 160px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 1520px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  max-width: 1200px;
}
@media screen and (max-width: 1600px) {
  .fieldstaff__wrap {
    max-width: 1200px;
  }
}
@media screen and (max-width: 767px) {
  .fieldstaff__wrap {
    max-width: 100%;
    padding: 0 5%;
  }
}
@media screen and (max-width: 767px) {
  .fieldstaff__wrap {
    padding-top: 30px;
    padding-right: 60px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}
.fieldstaff__btn-wrap {
  -webkit-box-pack: initial;
      -ms-flex-pack: initial;
          justify-content: initial;
  margin-top: 43px;
}
.fieldstaff__btn {
  position: relative;
  width: 65%;
}
@media screen and (max-width: 1200px) {
  .fieldstaff__btn {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .fieldstaff__btn {
    width: 100%;
  }
}
.recruit__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 1520px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  max-width: 1400px;
  padding-right: 60px;
}
@media screen and (max-width: 1600px) {
  .recruit__wrap {
    max-width: 1200px;
  }
}
@media screen and (max-width: 767px) {
  .recruit__wrap {
    max-width: 100%;
    padding: 0 5%;
  }
}
@media screen and (max-width: 1200px) {
  .recruit__wrap {
    padding: 0 65px 0 5%;
  }
}
@media screen and (max-width: 767px) {
  .recruit__wrap {
    gap: 20px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.recruit__wrap:first-child {
  padding-top: 45px;
}
.recruit__wrap:last-child {
  padding-bottom: 210px;
}
@media screen and (max-width: 767px) {
  .recruit__wrap:last-child {
    padding-bottom: 100px;
  }
}
.recruit__content {
  width: 65.79%;
}
@media screen and (max-width: 767px) {
  .recruit__content {
    width: 100%;
  }
}
.recruit__content--faq {
  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: -20px;
}
.recruit__content--selection {
  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: -50px;
}
.recruit__content--president {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .recruit__content--president {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}
.recruit__content--president picture {
  min-width: 320px;
  height: 360px;
}
@media screen and (max-width: 1200px) {
  .recruit__content--president picture {
    min-width: 230px;
  }
}
@media screen and (max-width: 767px) {
  .recruit__content--president picture {
    width: 100%;
    height: auto;
    min-width: initial;
  }
}
.recruit__content--profits {
  display: grid;
  grid-template-columns: repeat(2, auto);
  -webkit-column-gap: 78px;
     -moz-column-gap: 78px;
          column-gap: 78px;
  margin-bottom: -50px;
}
@media screen and (max-width: 1200px) {
  .recruit__content--profits {
    -webkit-column-gap: 50px;
       -moz-column-gap: 50px;
            column-gap: 50px;
  }
}
@media screen and (max-width: 767px) {
  .recruit__content--profits {
    grid-template-columns: repeat(1, auto);
    margin-bottom: 0;
  }
}
.recruit__content--work {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
}
@media screen and (max-width: 1200px) {
  .recruit__content--work {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.recruit__content-text {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6em;
  color: #37A3BF;
}
.recruit__heading {
  font: 700 2rem "Noto Sans JP", sans-serif;
  line-height: 1.6em;
  color: #37A3BF;
}
@media screen and (max-width: 767px) {
  .recruit__heading {
    font-size: 18px;
  }
}
.recruit__heading--text-blk {
  color: #1D2E35;
}
.recruit__border {
  margin: 30px 0 30px;
  border-top: 1px solid black;
  width: 100%;
}
.recruit__border--last {
  margin: 30px 0 0;
}
.recruit__border--bottom {
  margin-top: 0;
}
.recruit__text {
  margin-top: 26px;
  font: 400 1.6rem "Noto Sans JP", sans-serif;
  line-height: 2em;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .recruit__text {
    font-size: 14px;
  }
}
.recruit__text--president {
  margin-top: 0;
  width: 100%;
  line-height: 1.75em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .recruit__text--president {
    width: 100%;
  }
}
.recruit__president-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 40px;
  font: 400 1.6rem "Noto Sans JP", sans-serif;
}
.recruit__president-img {
  width: 50%;
}
.recruit__profits-content {
  margin-bottom: 48px;
}
@media screen and (max-width: 767px) {
  .recruit__profits-content {
    margin-bottom: 15px;
  }
}
.recruit__profits-content img {
  height: 140px;
  margin-bottom: 35px;
}
@media screen and (max-width: 767px) {
  .recruit__profits-content img {
    margin-bottom: 15px;
  }
}
.recruit__profits-text {
  text-align: justify;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2em;
}
@media screen and (max-width: 767px) {
  .recruit__profits-text {
    font-size: 14px;
  }
}
.recruit__work-wrap {
  position: relative;
}
.recruit__work-wrap::before {
  content: "";
  position: absolute;
  top: 18px;
  left: 85px;
  width: 20px;
  height: calc(100% - 75px);
  background-image: url("/wp-content/themes/kojiken/img/icons/line.png");
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .recruit__work-wrap::before {
    height: calc(100% - 90px);
  }
}
.recruit__work-date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 60px;
  position: relative;
  margin-bottom: 54px;
}
.recruit__work-date:last-child {
  margin-bottom: 10px;
}
.recruit__work-date:last-child::before {
  top: -221px;
  height: 100px;
}
.recruit__work-date::after {
  content: "";
  position: absolute;
  top: 11px;
  left: 80px;
  width: 10px;
  height: 10px;
  background-image: url("/wp-content/themes/kojiken/img/icons/blue-icon.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
.recruit__work-time {
  font: 700 2.2rem "europa", sans-serif;
  line-height: 1.4545454545em;
  color: #37A3BF;
}
@media screen and (max-width: 767px) {
  .recruit__work-time {
    font-size: 18px;
  }
}
.recruit__work-event {
  font: 700 2rem "Noto Sans JP", sans-serif;
  line-height: 1.6em;
}
@media screen and (max-width: 767px) {
  .recruit__work-event {
    font-size: 16px;
  }
}
.recruit__work-img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 62px;
  margin-bottom: 47px;
}
@media screen and (max-width: 1200px) {
  .recruit__work-img {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    padding-right: 50px;
  }
}
@media screen and (max-width: 767px) {
  .recruit__work-img {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 30px;
    padding-right: 0;
    margin-bottom: 0;
  }
}
.recruit__work-img picture {
  width: 350px;
  height: 260px;
}
@media screen and (max-width: 1200px) {
  .recruit__work-img picture {
    width: 100%;
    height: auto;
  }
}
.recruit__values {
  margin-top: 28px;
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: 18px;
}
@media screen and (max-width: 767px) {
  .recruit__values {
    grid-template-columns: repeat(1, auto);
  }
}
.recruit__values-content {
  padding: 39px 18px 28px 18px;
  background-color: #fff;
}
.recruit__values-text {
  font: 700 1.4rem "Noto Sans JP", sans-serif;
  line-height: 2em;
}
.recruit__values-wrap {
  position: relative;
  top: 20px;
  text-align: center;
}
.recruit__values-number {
  font: 700 15rem "europa", sans-serif;
  color: #BDC8CB;
  line-height: 0.1866666667em;
}
.recruit__values-desc {
  position: relative;
  bottom: 73px;
  font: 700 2rem "Noto Sans JP", sans-serif;
  line-height: 1.6em;
  color: #084F72;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .recruit__values-desc {
    bottom: 74px;
  }
}
.recruit__faq-box {
  background-color: #fff;
  padding: 28px 16px;
  margin-bottom: 16px;
}
.recruit__faq-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 18px;
}
.recruit__faq-wrap:last-child {
  margin-top: 16px;
}
.recruit__faq-label {
  min-width: 25px;
  height: 25px;
  text-align: center;
  font: 700 1.8rem "europa", sans-serif;
  color: #fff;
}
.recruit__faq-label--question {
  background-color: #1D2E35;
}
.recruit__faq-label--answer {
  background-color: #37A3BF;
}
.recruit__faq-text {
  min-width: 430px;
  width: 100%;
  font: 700 1.6rem "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 767px) {
  .recruit__faq-text {
    min-width: initial;
    font-size: 14px;
  }
}
.recruit__selection-box {
  background-color: #fff;
  padding: 30px 30px 30px 30px;
  margin-bottom: 50px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .recruit__selection-box {
    padding: 20px 15px 20px 15px;
  }
}
.recruit__selection-box::before {
  content: "";
  position: absolute;
  top: 112%;
  right: 47%;
  width: 20px;
  height: 110px;
  background-image: url("/wp-content/themes/kojiken/img/icons/caret-down-grey.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
.recruit__selection-box:first-child::before {
  top: 106%;
}
@media screen and (max-width: 767px) {
  .recruit__selection-box:first-child::before {
    top: 104%;
  }
}
.recruit__selection-box:last-child::before {
  display: none;
}
.recruit__selection-box img {
  width: 70px;
  height: 70px;
}
.recruit__selection-procedures {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .recruit__selection-procedures {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    text-align: center;
  }
}
.recruit__selection-procedures::before {
  content: "";
  position: absolute;
  left: 145px;
  height: 20px;
  width: 30px;
  background-image: url("/wp-content/themes/kojiken/img/icons/divider-black.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .recruit__selection-procedures::before {
    display: none;
  }
}
.recruit__selection-step {
  margin: 0 35px 0 20px;
  font: 700 1.6rem "europa", sans-serif;
  color: #37A3BF;
}
.recruit__selection-text {
  font: 700 2rem "Noto Sans JP", sans-serif;
  color: #1D2E35;
}
@media screen and (max-width: 767px) {
  .recruit__selection-text {
    margin: 0 35px 0 20px;
  }
}
.recruit__selection-wrap {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2em;
  margin-top: 21px;
}
.recruit__selection-wrap--step3 {
  margin-top: 16px;
}
.recruit__selection-btn-wrap {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin: 20px 0 0;
}
.recruit__selection-btn {
  width: 70%;
}
@media screen and (max-width: 767px) {
  .recruit__selection-btn {
    width: 100%;
    font-size: 10px;
    line-height: initial;
  }
}
@media screen and (max-width: 767px) {
  .recruit__selection-btn::before {
    right: 8px;
    height: 19px;
  }
}
@media screen and (max-width: 767px) {
  .recruit__selection-btn::after {
    top: 38%;
    right: 11px;
  }
}
.recruit__application-heading {
  margin-top: 30px;
}
.recruit__application {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 65.79%;
}
@media screen and (max-width: 767px) {
  .recruit__application {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
  }
}
.recruit__application-list {
  width: 60%;
  height: 570px;
  background-size: cover;
  background-repeat: no-repeat;
  -webkit-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
  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-top: 25px;
}
@media screen and (max-width: 767px) {
  .recruit__application-list {
    width: 100%;
  }
}
.recruit__application-list--01 {
  background-image: url("/wp-content/themes/kojiken/img/recruit/cons.jpg");
}
.recruit__application-list--01:hover {
  opacity: 0.6;
}
.recruit__application-list--02 {
  background-image: url("/wp-content/themes/kojiken/img/recruit/call.jpg");
  background-position: center;
}
.recruit__application-list--02:hover {
  opacity: 0.6;
}
.recruit__application-text {
  display: block;
  -webkit-writing-mode: vertical-lr;
      -ms-writing-mode: tb-lr;
          writing-mode: vertical-lr;
  font-weight: 700;
  font-size: 2.8rem;
  color: #fff;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: 10px 5px 20px;
  background: rgba(29, 46, 53, 0.3);
}

.works {
  background-color: #F1F1F1;
  padding: 50px 100px 215px 0;
}
@media screen and (max-width: 1200px) {
  .works {
    padding-right: 50px;
  }
}
.works__categories-container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  border-top: 1px solid #1D2E35;
}
@media screen and (max-width: 767px) {
  .works__categories-container {
    grid-template-columns: 1fr;
  }
}
.works__categories-item {
  border-right: 1px solid #1D2E35;
  border-bottom: 1px solid #1D2E35;
  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-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 35px;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .works__categories-item {
    padding: 20px;
    gap: 15px;
  }
}
.works__category-parent {
  font-weight: 700;
  font-size: 1.8rem;
  color: #778286;
}
.works__category-list {
  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;
  row-gap: 10px;
  -webkit-column-gap: 40px;
     -moz-column-gap: 40px;
          column-gap: 40px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .works__category-list {
    row-gap: 10px;
    -webkit-column-gap: 20px;
       -moz-column-gap: 20px;
            column-gap: 20px;
  }
}
.works__category-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: 400;
  font-size: 1.6rem;
  position: relative;
  -webkit-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
}
@media screen and (max-width: 767px) {
  .works__category-link {
    font-size: 1.2rem;
  }
}
.works__category-link:hover {
  color: #778286;
}
.works__category-link:not(:first-of-type)::before {
  content: " ";
  position: absolute;
  top: 50%;
  left: -20px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url("/wp-content/themes/kojiken/img/icons/separator-black.png") center no-repeat;
  background-size: contain;
  width: 1px;
  height: 16px;
}
@media screen and (max-width: 767px) {
  .works__category-link:not(:first-of-type)::before {
    left: -10px;
    height: 12px;
  }
}
.works__category-arrow {
  width: 15px;
  height: 10px;
}
.works__content {
  border-top: 1px solid #1D2E35;
}
.works__breadcrumb {
  padding: 50px 0;
  max-width: 1200px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .works__breadcrumb {
    padding: 25px 5%;
  }
}
.works__breadcrumb-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 40px;
}
.works__breadcrumb-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: 400;
  font-size: 1.4rem;
  position: relative;
  -webkit-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
}
.works__breadcrumb-item:hover {
  color: #778286;
}
.works__breadcrumb-item:not(:last-of-type)::after {
  content: " ";
  position: absolute;
  top: 50%;
  right: -20px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url("/wp-content/themes/kojiken/img/icons/separator-black.png") center no-repeat;
  background-size: contain;
  width: 1px;
  height: 12px;
}
.works__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}
@media screen and (max-width: 767px) {
  .works__list {
    grid-template-columns: 1fr;
  }
}
.works__item {
  border-right: 1px solid #1D2E35;
  border-bottom: 1px solid #1D2E35;
}
.works__item-image {
  height: 400px;
}
@media screen and (max-width: 767px) {
  .works__item-image {
    height: 200px;
  }
}
.works__item-text-wrap {
  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-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 25px;
  padding: 50px 0;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .works__item-text-wrap {
    gap: 5px;
    padding: 20px 0 25px;
  }
}
.works__item-name {
  font-weight: 400;
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .works__item-name {
    font-size: 1.6rem;
  }
}
.works__item-text {
  font-size: 1.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 40px;
  color: #778286;
}
@media screen and (max-width: 767px) {
  .works__item-text {
    font-size: 1.2rem;
  }
}
.works__item-time {
  font-family: "europa", sans-serif;
  position: relative;
}
.works__item-time::after {
  content: " ";
  position: absolute;
  top: 50%;
  right: -20px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url("/wp-content/themes/kojiken/img/icons/separator-gray.svg") center no-repeat;
  background-size: cover;
  width: 1px;
  height: 12px;
}
.works__mv {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 55px;
  max-width: 1520px;
  width: 100%;
  margin: 0 auto;
  padding-left: 50px;
}
@media screen and (max-width: 1600px) {
  .works__mv {
    max-width: 1200px;
  }
}
@media screen and (max-width: 1200px) {
  .works__mv {
    padding: 0 36px 0 100px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 15px;
  }
}
@media screen and (max-width: 767px) {
  .works__mv {
    padding: 0 5%;
  }
}
.works__mv-slide-image {
  width: 100%;
  height: 100%;
  background-color: #cbcbcb;
}
.works__thumb-slide-image {
  width: 100%;
  height: 100%;
  padding: 10px;
}
@media screen and (max-width: 767px) {
  .works__thumb-slide-image {
    padding: 3px;
  }
}
.works__description {
  padding: 50px 0;
  border-bottom: 1px solid #1D2E35;
}
.works__description-wrap {
  max-width: 1520px;
  width: 100%;
  margin: 0 auto;
  padding-left: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
@media screen and (max-width: 1600px) {
  .works__description-wrap {
    max-width: 1200px;
  }
}
@media screen and (max-width: 1200px) {
  .works__description-wrap {
    padding: 0 36px 0 100px;
  }
}
@media screen and (max-width: 767px) {
  .works__description-wrap {
    padding: 0 5%;
  }
}
.works__description-title {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.75em;
}
@media screen and (max-width: 767px) {
  .works__description-title {
    font-size: 2rem;
  }
}
.works__description-text {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 2em;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .works__description-text {
    font-size: 1.4rem;
  }
}
.works__info {
  padding: 50px 0;
  border-bottom: 1px solid #1D2E35;
}
@media screen and (max-width: 767px) {
  .works__info .table__list-item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.works__info-wrap {
  max-width: 1520px;
  width: 100%;
  margin: 0 auto;
  padding-left: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
}
@media screen and (max-width: 1600px) {
  .works__info-wrap {
    max-width: 1200px;
  }
}
@media screen and (max-width: 1200px) {
  .works__info-wrap {
    padding: 0 36px 0 100px;
  }
}
@media screen and (max-width: 767px) {
  .works__info-wrap {
    padding: 0 5%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.works__info-title {
  width: 40%;
}
.works__related-button-container {
  padding: 50px 0;
  max-width: 1520px;
  width: 100%;
  margin: 0 auto;
  padding-left: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 1600px) {
  .works__related-button-container {
    max-width: 1200px;
  }
}
@media screen and (max-width: 1200px) {
  .works__related-button-container {
    padding: 50px 36px 50px 100px;
  }
}
@media screen and (max-width: 767px) {
  .works__related-button-container {
    padding: 50px 5%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 20px;
  }
}
.works__related-button {
  margin: 0;
}
@media screen and (max-width: 767px) {
  .works__related-button {
    width: 100%;
  }
}
.works__related-list {
  border-top: 1px solid #1D2E35;
}

.company__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 1520px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  max-width: 1520px;
  width: 100%;
}
@media screen and (max-width: 1600px) {
  .company__wrap {
    max-width: 1200px;
  }
}
@media screen and (max-width: 767px) {
  .company__wrap {
    max-width: 100%;
    padding: 0 5%;
  }
}
@media screen and (max-width: 1600px) {
  .company__wrap {
    max-width: 1200px;
  }
}
@media screen and (max-width: 1200px) {
  .company__wrap {
    padding: 20px 60px 0 20px;
  }
}
@media screen and (max-width: 767px) {
  .company__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.company__wrap:first-child {
  padding-top: 46px;
}
.company__wrap:last-child {
  padding-bottom: 202px;
}
@media screen and (max-width: 767px) {
  .company__wrap:last-child {
    padding-bottom: 100px;
  }
}
.company__border {
  margin: 30px 0 30px;
  border-top: 1px solid black;
  width: 100%;
}
.company__greeting-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 65.79%;
}
@media screen and (max-width: 1600px) {
  .company__greeting-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .company__greeting-wrap {
    width: 100%;
  }
}
.company__text {
  font: 400 1.6rem "Noto Sans JP", sans-serif;
  line-height: 2em;
}
@media screen and (max-width: 767px) {
  .company__text {
    margin-top: 24px;
    font-size: 14px;
  }
}
.company__img-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.company__img-wrap picture {
  width: 440px;
  height: 460px;
}
@media screen and (max-width: 1600px) {
  .company__img-wrap picture {
    width: 100%;
    height: auto;
  }
}
.company__img-desc {
  margin-top: 16px;
  text-align: right;
}
.company__img-text {
  font-family: "Noto Sans JP", sans-serif;
}
.company__img-text--title {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.75em;
}
.company__img-text--name {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.75em;
}
@media screen and (max-width: 767px) {
  .company__img-text--name {
    font-size: 18px;
  }
}

.clerical-staff__wrap {
  padding: 46px 10px 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 1520px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  max-width: 1200px;
}
@media screen and (max-width: 1600px) {
  .clerical-staff__wrap {
    max-width: 1200px;
  }
}
@media screen and (max-width: 767px) {
  .clerical-staff__wrap {
    max-width: 100%;
    padding: 0 5%;
  }
}
@media screen and (max-width: 1200px) {
  .clerical-staff__wrap {
    padding-right: 60px;
  }
}
@media screen and (max-width: 767px) {
  .clerical-staff__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-top: 20px;
    padding-bottom: 80px;
  }
}
@media screen and (max-width: 767px) {
  .clerical-staff__tbl-content {
    margin-bottom: 0;
  }
}
.clerical-staff__button-wrap {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.privacy__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 1520px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  max-width: 1200px;
  padding: 45px 0 100px 0;
}
@media screen and (max-width: 1600px) {
  .privacy__wrap {
    max-width: 1200px;
  }
}
@media screen and (max-width: 767px) {
  .privacy__wrap {
    max-width: 100%;
    padding: 0 5%;
  }
}
@media screen and (max-width: 1200px) {
  .privacy__wrap {
    padding: 45px 86px;
  }
}
@media screen and (max-width: 767px) {
  .privacy__wrap {
    gap: 20px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 20px 60px 80px 20px;
  }
}
.privacy__text {
  display: block;
  font: 400 1.6rem "Noto Sans JP", sans-serif
  color: #1D2E35;
  line-height: 2em;
}
@media screen and (max-width: 767px) {
  .privacy__text {
    font-size: 14px;
  }
}
.privacy__text--mb {
  margin-bottom: 20px;
}
.privacy__heading {
  display: block;
  font: 700 2rem "Noto Sans JP", sans-serif
  line-height: 1.75em;
  color: #1D2E35;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .privacy__heading {
    font-size: 18px;
  }
}
.privacy__border-short {
  margin: 30px 0 30px;
  border-top: 1px solid #1D2E35;
  width: 100%;
}
.privacy__content {
  width: 65.79%;
}
@media screen and (max-width: 767px) {
  .privacy__content {
    width: 100%;
  }
}
.privacy__article {
  margin-top: 40px;
}
.privacy__list {
  margin-top: 24px;
  margin-left: 6px;
  counter-reset: item;
}
.privacy__list--inner {
  margin-left: 26px;
}
.privacy__list-text {
  display: block;
  margin-left: 20px;
  font: 400 1.6rem "Noto Sans JP", sans-serif
  color: #1D2E35;
  line-height: 2em;
}
.privacy__list-text::before {
  content: counter(item) "";
  counter-increment: item;
  display: inline-block;
  padding-right: 20px;
  margin-left: -1.7em;
}
.privacy__list-text--count {
  margin-block: 20px;
}
.privacy__btn-wrap {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.sitemap__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  max-width: 1520px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  max-width: 1200px;
  padding-top: 45px;
  padding-bottom: 180px;
}
@media screen and (max-width: 1600px) {
  .sitemap__wrap {
    max-width: 1200px;
  }
}
@media screen and (max-width: 767px) {
  .sitemap__wrap {
    max-width: 100%;
    padding: 0 5%;
  }
}
@media screen and (max-width: 1200px) {
  .sitemap__wrap {
    padding-right: 60px;
  }
}
@media screen and (max-width: 767px) {
  .sitemap__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    padding-top: 20px;
    padding-bottom: 140px;
  }
}
.sitemap__heading {
  font: 700 1.8rem "Noto Sans JP", sans-serif
  color: #1D2E35;
  line-height: 1.75em;
  margin-bottom: 24px;
  position: relative;
}
.sitemap__heading::before {
  content: "";
  position: absolute;
  top: 23px;
  border-bottom: 3px solid #1D2E35;
  height: 30px;
  width: 60px;
}
.sitemap__content {
  width: 70%;
}
@media screen and (max-width: 767px) {
  .sitemap__content {
    width: 100%;
  }
}
.sitemap__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding: 25px 0;
}
.sitemap__nav:first-child {
  border-top: 1px solid #1D2E35;
}
.sitemap__nav:last-child {
  border-bottom: 1px solid #1D2E35;
}
.sitemap__product-nav {
  border-bottom: 1px solid #1D2E35;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  row-gap: 40px;
  -webkit-column-gap: 30px;
     -moz-column-gap: 30px;
          column-gap: 30px;
  padding: 25px 25px 25px 0;
}
@media screen and (max-width: 767px) {
  .sitemap__product-nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.sitemap__product-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 178px;
  font-size: 1.6rem;
  font-weight: 700;
  position: relative;
}
@media screen and (max-width: 1200px) {
  .sitemap__product-link {
    width: 140px;
    font-size: 14px;
  }
}
.sitemap__product-link--border::before {
  content: "";
  position: absolute;
  top: 18px;
  border-bottom: 3px solid #1D2E35;
  height: 30px;
  width: 60px;
}
@media screen and (max-width: 1200px) {
  .sitemap__product-link--border::before {
    top: 15px;
  }
}
@media screen and (max-width: 767px) {
  .sitemap__product-link--border::before {
    top: 0;
  }
}

.contact {
  padding-bottom: 180px;
}
@media screen and (max-width: 767px) {
  .contact {
    padding-bottom: 100px;
  }
}
.contact__container {
  padding: 50px 0;
}
.contact__container:not(:last-of-type) {
  border-bottom: 1px solid #1D2E35;
}
.contact__wrap {
  max-width: 1520px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 1600px) {
  .contact__wrap {
    max-width: 1200px;
  }
}
@media screen and (max-width: 767px) {
  .contact__wrap {
    max-width: 100%;
    padding: 0 5%;
  }
}
@media screen and (max-width: 1200px) {
  .contact__wrap {
    padding: 0 60px 0 5%;
  }
}
@media screen and (max-width: 767px) {
  .contact__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}
.contact__header {
  width: 34.21%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 35px;
}
@media screen and (max-width: 767px) {
  .contact__header {
    width: 100%;
  }
}
.contact__progress-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
}
.contact__progress-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
}
.contact__progress-item--active .contact__progress-num {
  color: #37A3BF;
}
.contact__progress-item--active .contact__progress-name {
  color: #1D2E35;
}
.contact__progress-num {
  font: 700 1.5rem "europa", sans-serif;
  color: #BDC8CB;
}
.contact__progress-name {
  font: 400 1.6rem "Noto Sans JP", sans-serif
  color: #BDC8CB;
}
.contact__content {
  width: 65.79%;
}
@media screen and (max-width: 767px) {
  .contact__content {
    width: 100%;
  }
}
.contact__tel {
  background-color: #fff;
  color: #37A3BF;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 60px;
}
@media screen and (max-width: 1200px) {
  .contact__tel {
    gap: 40px;
    padding: 20px;
  }
}
@media screen and (max-width: 767px) {
  .contact__tel {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.contact__tel-name {
  font: 700 1.8rem "europa", sans-serif;
  position: relative;
}
@media screen and (max-width: 767px) {
  .contact__tel-name {
    margin-top: 5px;
  }
}
.contact__tel-name::after {
  content: " ";
  position: absolute;
  top: 50%;
  right: -30px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url("/wp-content/themes/kojiken/img/icons/separator-lightblue.svg") center no-repeat;
  background-size: contain;
  width: 1px;
  height: 25px;
}
@media screen and (max-width: 1200px) {
  .contact__tel-name::after {
    right: -20px;
  }
}
.contact__tel-details {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 40px;
}
@media screen and (max-width: 1200px) {
  .contact__tel-details {
    gap: 20px;
  }
}
@media screen and (max-width: 767px) {
  .contact__tel-details {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 10px;
  }
}
.contact__tel-number {
  font: 700 3rem "europa", sans-serif;
}
@media screen and (max-width: 767px) {
  .contact__tel-number {
    font-size: 2.4rem;
  }
}
.contact__tel-time {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 15px;
}
.contact__tel-time-box {
  font-weight: 400;
  font-size: 1.2rem;
  padding: 3px 10px;
  border: 1px solid #37A3BF;
}
.contact__tel-time-text {
  font-weight: 400;
  font-size: 1.4rem;
}
.contact__note {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 2em;
  padding-bottom: 50px;
}
.contact__item {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2%;
  padding: 30px 0;
  border-top: 1px solid #1D2E35;
}
@media screen and (max-width: 1200px) {
  .contact__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}
.contact__item--start {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.contact__item--start .contact__label-wrap {
  margin-top: 15px;
}
.contact__item--policy {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.contact__label-wrap {
  width: 30%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
}
@media screen and (max-width: 1600px) {
  .contact__label-wrap {
    width: 38%;
  }
}
@media screen and (max-width: 1200px) {
  .contact__label-wrap {
    width: 100%;
  }
}
.contact__required {
  background-color: #1D2E35;
  color: #fff;
  padding: 3px 8px;
}
.contact__required--not {
  background-color: #BDC8CB;
}
.contact__label {
  font-weight: 700;
  font-size: 1.8rem;
}
.contact__label-note {
  font-weight: 400;
  font-size: 1.2rem;
}
.contact__input-wrap {
  width: 68%;
  font: 400 1.6rem "Noto Sans JP", sans-serif
}
@media screen and (max-width: 1600px) {
  .contact__input-wrap {
    width: 60%;
  }
}
@media screen and (max-width: 1200px) {
  .contact__input-wrap {
    width: 100%;
  }
}
.contact__input-wrap--file {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .contact__input-wrap--file {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.contact__radio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px 40px;
  margin-top: 7px;
}
@media screen and (max-width: 1600px) {
  .contact__radio {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.contact__radio .mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0;
}
.contact__radio [type=radio]:checked,
.contact__radio [type=radio]:not(:checked) {
  display: none;
}
.contact__radio [type=radio]:checked + span,
.contact__radio [type=radio]:not(:checked) + span {
  position: relative;
  padding-left: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
}
.contact__radio [type=radio]:checked + span::before,
.contact__radio [type=radio]:not(:checked) + span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 30px;
  height: 30px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-radius: 100%;
  background: #fff;
}
.contact__radio [type=radio]:checked + span::after,
.contact__radio [type=radio]:not(:checked) + span::after {
  content: "";
  height: 10px;
  width: 10px;
  background: #37A3BF;
  border-radius: 100%;
  position: absolute;
  top: 50%;
  left: 10px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.contact__radio [type=radio]:not(:checked) + span::after {
  opacity: 0;
}
.contact__radio [type=radio]:checked + span::after {
  opacity: 1;
}
.contact__input {
  width: 100%;
  padding: 15px 20px;
  border: none;
}
.contact__input::-webkit-input-placeholder {
  font: 400 1.6rem "Noto Sans JP", sans-serif
  line-height: 2em;
  color: #b2b2b2;
}
.contact__input::-moz-placeholder {
  font: 400 1.6rem "Noto Sans JP", sans-serif
  line-height: 2em;
  color: #b2b2b2;
}
.contact__input:-ms-input-placeholder {
  font: 400 1.6rem "Noto Sans JP", sans-serif
  line-height: 2em;
  color: #b2b2b2;
}
.contact__input::-ms-input-placeholder {
  font: 400 1.6rem "Noto Sans JP", sans-serif
  line-height: 2em;
  color: #b2b2b2;
}
.contact__input::placeholder {
  font: 400 1.6rem "Noto Sans JP", sans-serif
  line-height: 2em;
  color: #b2b2b2;
}
.contact__input--textarea {
  height: 220px;
  resize: none;
}
.contact__input-file {
  width: 200px;
  height: 50px;
  opacity: 0;
}
.contact__input-file-text {
  position: absolute;
}
.contact__input-file-button {
  width: 200px;
  height: 50px;
  background: #1D2E35;
  position: relative;
  cursor: pointer;
  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;
}
.contact__input-file-button span {
  position: absolute;
  color: #fff;
  right: 0;
}
.contact__input-file-button .mwform-file-delete {
  right: 0;
}
.contact__input-note {
  display: none;
}
.contact__input-note.show{
  display: block;
}
.contact__policy-text {
  font-weight: 700;
  font-size: 1.6rem;
}
.contact__policy-link {
  color: #37A3BF;
  padding-right: 20px;
  position: relative;
}
.contact__policy-link::after {
  content: "";
  position: absolute;
  right: 3px;
  top: 5px;
  background: url("/wp-content/themes/kojiken/img/icons/policy-link.svg") center no-repeat;
  width: 14px;
  height: 14px;
}
.contact__policy-checkbox {
  width: 100%;
  font-weight: 400;
  font-size: 1.6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-top: 35px;
}
.contact__policy-checkbox .mwform-checkbox-field {
  display: block;
}
.contact__policy-checkbox [type=checkbox]:checked,
.contact__policy-checkbox [type=checkbox]:not(:checked) {
  display: none;
}
.contact__policy-checkbox [type=checkbox]:checked + span,
.contact__policy-checkbox [type=checkbox]:not(:checked) + span {
  position: relative;
  padding-left: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
}
.contact__policy-checkbox [type=checkbox]:checked + span::before,
.contact__policy-checkbox [type=checkbox]:not(:checked) + span::before {
  content: "";
  position: absolute;
  left: 1px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 30px;
  height: 30px;
  background: #fff;
}
.contact__policy-checkbox [type=checkbox]:checked + span::before {
  background-color: #084F72;
}
.contact__policy-checkbox [type=checkbox]:checked + span::after,
.contact__policy-checkbox [type=checkbox]:not(:checked) + span::after {
  content: "";
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  height: 22px;
  width: 8px;
  border-bottom: 3px solid #fff;
  border-right: 3px solid #fff;
  border-radius: 2px;
  position: absolute;
  top: -3px;
  left: 11px;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.contact__policy-checkbox [type=checkbox]:not(:checked) + span::after {
  opacity: 0;
}
.contact__policy-checkbox [type=checkbox]:checked + span::after {
  opacity: 1;
}
.contact__button-wrap {
  margin-top: 20px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.contact__complete-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 50px;
}
.contact__complete-header {
  font-weight: 700;
  font-size: 2rem;
}
.contact__complete-text {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 2em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 50px;
}
.contact__complete-button {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.contact--confirm .contact__confirm-none {
  display: none;
}
.contact--confirm .contact__item--start .contact__label-wrap {
  margin-top: 0;
}
.contact--confirm .contact__radio {
  position: relative;
  padding-left: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
}
.contact--confirm .contact__radio::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 30px;
  height: 30px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-radius: 100%;
  background: #fff;
}
.contact--confirm .contact__radio::after {
  content: "";
  height: 10px;
  width: 10px;
  background: #37A3BF;
  border-radius: 100%;
  position: absolute;
  top: 50%;
  left: 10px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.contact--confirm .contact__button {
  width: 100%;
}

.popupbnr {
  display: none;
  position: fixed;
  bottom: 50px;
  right: 50px;
  z-index: 999;
}
@media screen and (max-width: 767px) {
  .popupbnr {
    width: 50%;
    bottom: 20px;
    right: 0;
    padding: 0 5%;
  }
}
.popupbnr__content {
  position: relative;
}
.popupbnr__img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 300px;
  height: 169px;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .popupbnr__img {
    width: 100%;
    height: unset;
  }
}
.popupbnr__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.popupbnr__close {
  position: absolute;
  top: -10px;
  right: -10px;
  width: 20px;
  height: 20px;
  border-radius: 100%;
  background: url("/wp-content/themes/kojiken/img/popup/close.png") center no-repeat;
  background-size: contain;
  cursor: pointer;
}
.popupbnr.show {
  display: block;
}
.popupbnr.close {
  display: none !important;
}
.popupbnr .pc {
  display: block;
}
@media screen and (max-width: 767px) {
  .popupbnr .pc {
    display: none;
  }
}
.popupbnr .sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .popupbnr .sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.white {
  color: #fff;
}

.white-bg {
  background: #fff;
}

.white-bg-f1 {
  background-color: #F1F1F1;
}

.black {
  color: #000;
}

.black-bg {
  background: #000;
}

.bold {
  font-weight: 700;
}

.overflow {
  overflow: hidden;
}

.img-contain {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

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

.img-cover-contain {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .img-cover-contain {
    -o-object-fit: contain;
       object-fit: contain;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.pc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}

.mx1200 {
  display: none;
}
@media screen and (max-width: 1200px) {
  .mx1200 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.empty-post__message {
  font-size: 1.8rem;
  margin: 50px auto;
  padding-left: 100px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .empty-post__message {
    font-size: 1.6rem;
    padding: 5%;
  }
}

.wp-pagenavi {
  line-height: 1.75em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 50px;
  padding: 50px 0 50px 0;
}
@media screen and (max-width: 767px) {
  .wp-pagenavi {
    width: 100%;
    margin-top: 50px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 10px;
  }
}
@media screen and (max-width: 380px) {
  .wp-pagenavi {
    gap: 7px;
  }
}
.wp-pagenavi .page,
.wp-pagenavi .current {
  font: 700 1.8rem "europa", sans-serif;
  width: 30px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .wp-pagenavi .page,
  .wp-pagenavi .current {
    font-size: 15px;
  }
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink,
.wp-pagenavi .page {
  cursor: pointer;
}
.wp-pagenavi .previouspostslink:hover,
.wp-pagenavi .nextpostslink:hover,
.wp-pagenavi .page:hover {
  opacity: 0.4;
}
.wp-pagenavi .current {
  color: #37A3BF;
  position: relative;
}
.wp-pagenavi .current::before {
  content: "";
  position: absolute;
  left: 8px;
  bottom: -4px;
  width: 47%;
  height: 4px;
  background-color: #37A3BF;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  font: 700 1.8rem "europa", sans-serif;
}

.top__mv-splide .splide__slide.is-active .top__mv-slide-image {
  -webkit-animation: fadeOut 6s ease-in-out, zoomOut 6s ease-in-out;
          animation: fadeOut 6s ease-in-out, zoomOut 6s ease-in-out;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.top__mv-splide .splide__progress {
  position: absolute;
  bottom: -35px;
  left: 30px;
  width: 65px;
  height: 2px;
  background-color: #BEC9CC;
}
.top__mv-splide .splide__progress__bar {
  background-color: #1D2E35;
  height: 2px;
}
.top__mv-splide .splide__pagination {
  counter-reset: pagination-num;
  position: absolute;
  bottom: -40px;
  left: 0;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding: 0;
  gap: 15px;
}
.top__mv-splide .splide__pagination > li:nth-of-type(1) {
  padding-right: 80px;
}
.top__mv-splide .splide__pagination__page {
  width: 15px;
  height: 15px;
  background: none;
  margin: 0;
}
.top__mv-splide .splide__pagination__page:before {
  counter-increment: pagination-num;
  content: "0" counter(pagination-num);
  font-size: 1.4rem;
  font-weight: 700;
  font-family: "europa", sans-serif;
  color: #BEC9CC;
}
.top__mv-splide .splide__pagination__page.is-active {
  -webkit-transform: scale(1);
          transform: scale(1);
}
.top__mv-splide .splide__pagination__page.is-active:before {
  color: #1D2E35;
}

.works__mv-splide .splide__pagination__page {
  border: 1px solid #fff;
  border-radius: 0;
  width: 10px;
  height: 10px;
  margin: 0 5px 20px;
}
.works__mv-splide .splide__pagination__page.is-active {
  -webkit-transform: scale(1);
          transform: scale(1);
}

.works__thumb-splide .splide__arrow {
  border-radius: 0;
  background: #fff;
  width: 55px;
  height: 55px;
  left: unset;
  right: -65px;
}
.works__thumb-splide .splide__arrow::after {
  content: " ";
  background: url("/wp-content/themes/kojiken/img/icons/arrow.svg") center no-repeat;
  background-size: contain;
  width: 15px;
  height: 11px;
}
.works__thumb-splide .splide__arrow--prev {
  -webkit-transform: translate(0) rotate(270deg) !important;
          transform: translate(0) rotate(270deg) !important;
}
.works__thumb-splide .splide__arrow--next {
  -webkit-transform: translate(0) rotate(90deg) !important;
          transform: translate(0) rotate(90deg) !important;
}
.works__thumb-splide .splide__arrow svg {
  display: none;
}
.works__thumb-splide .splide__track--nav > .splide__list > .splide__slide.is-active {
  border: 1px solid #1D2E35;
}

/* Define animation for fading away */
@-webkit-keyframes fadeOut {
  0%, 60% {
    opacity: 1;
  }
  110% {
    opacity: 0;
  }
}
@keyframes fadeOut {
  0%, 60% {
    opacity: 1;
  }
  110% {
    opacity: 0;
  }
}
/* Define animation for zooming out */
@-webkit-keyframes zoomOut {
  0% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes zoomOut {
  0% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@-webkit-keyframes animateLeft {
  0% {
    -webkit-transform: translateX(180px);
            transform: translateX(180px);
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes animateLeft {
  0% {
    -webkit-transform: translateX(180px);
            transform: translateX(180px);
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  40%, 100% {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  40%, 100% {
    opacity: 1;
  }
}
