@charset "UTF-8";
:root {
  --vw: 1vw;
}

html, body {
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
}
html *, body * {
  box-sizing: border-box;
  font-family: "Noto Sans JP", sans-serif !important;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
html *:focus, body *:focus {
  outline: none;
}

html {
  scroll-behavior: smooth;
}
@media screen and (min-width: 981px) {
  html {
    scroll-padding-top: 6.25vw;
  }
}

body {
  color: #1A1311;
  background-color: #fff;
}
body.locked {
  overflow: hidden;
  width: 100%;
  height: 100dvh;
}

.num {
  font-family: "WDXL Lubrifont TC", sans-serif !important;
  font-style: normal;
}

.scr {
  transition: opacity 1s, translate 1s;
  translate: 0 20px;
  opacity: 0;
}
.scr.visible {
  translate: 0 0;
  opacity: 1;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

iframe {
  max-width: 100%;
}

a {
  color: #1A1311;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}
@media screen and (min-width: 981px) {
  a {
    transition: opacity 0.3s;
  }
  a:hover {
    opacity: 0.7;
  }
}

em {
  font-style: normal;
}

@media screen and (min-width: 981px) {
  .for-mb {
    display: none !important;
  }
}

@media screen and (max-width: 980px) {
  .for-pc {
    display: none !important;
  }
}
@media screen and (min-width: 981px) {
  .for-pc {
    display: auto;
  }
}

@media screen and (min-width: 981px) {
  img.for-pc {
    display: inline;
  }
}

summary {
  display: block;
}
summary::-webkit-details-marker {
  display: none;
}

.hidden {
  display: none !important;
}

#loading {
  position: fixed;
  inset: 0;
  margin: auto;
  height: 100dvh;
  z-index: 99;
  background-color: #005693;
  transition: 1s 1s;
}
#loading.loaded {
  opacity: 0;
  visibility: hidden;
}
#loading.loaded .loading__logo span {
  translate: 0;
}
#loading.hidden {
  transition: opacity 0.1s 0s, visibility 0s 0.1s;
  opacity: 0;
  visibility: hidden;
}

.loading__logo {
  position: absolute;
  inset: 0;
  margin: auto;
  width: -moz-max-content;
  width: max-content;
  height: -moz-max-content;
  height: max-content;
  color: #fff;
  opacity: 0.7;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  overflow: hidden;
  line-height: 1;
}
@media screen and (min-width: 981px) {
  .loading__logo {
    font-size: 1.25vw;
  }
}
.loading__logo span {
  display: inline-block;
  transition: translate 1s;
  translate: 0 1em;
}

#header {
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  justify-content: space-between;
  z-index: 9;
  display: flex;
  align-items: center;
  background-color: #fff;
}
.header__logo {
  color: #0D0F1F;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 980px) {
  .header__logo {
    gap: 1.6vw;
    padding-left: 2.9333333333vw;
  }
}
@media screen and (min-width: 981px) {
  .header__logo {
    gap: 0.5208333333vw;
    padding: 1.1375vw 0 1.3541666667vw 0.5729166667vw;
  }
}
@media screen and (max-width: 980px) {
  .header__logo .logo__img {
    max-width: 10.9333333333vw;
    max-height: 8.8vw;
    height: auto;
  }
}
@media screen and (min-width: 981px) {
  .header__logo .logo__img {
    max-width: 5.125vw;
    max-height: 3.4479166667vw;
  }
}
.header__logo .logo__main {
  display: block;
  font-weight: 500;
  font-size: 1em;
}
@media screen and (max-width: 980px) {
  .header__logo .logo__main img {
    max-height: 9.2vw;
  }
}
@media screen and (min-width: 981px) {
  .header__logo .logo__main img {
    max-height: 3.3vw;
  }
}
.header__logo .logo__sub {
  display: block;
  font-weight: 500;
  line-height: 1;
}
@media screen and (min-width: 981px) {
  .header__logo .logo__sub {
    font-size: 0.8333333333vw;
  }
}



.header__button {
  aspect-ratio: 1/1;
  width: 16vw;
  background-color: #0F39C6;
  position: relative;
  z-index: 99;
  border: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 2.1333333333vw;
  transition: 0.2s;
}
@media screen and (min-width: 981px) {
  .header__button {
    display: none;
  }
}
.header__button::before, .header__button::after {
  content: "";
  width: 8vw;
  height: 2px;
  background-color: #fff;
  transition: 0.2s;
}
.header__button.active {
  background: transparent;
}
.header__button.active::before {
  translate: 0 1.3333333333vw;
  rotate: 30deg;
}
.header__button.active::after {
  translate: 0 -1.3333333333vw;
  rotate: -30deg;
}
.header__button.active + .header__nav {
  right: 0;
}

@media screen and (max-width: 980px) {
  .header__nav {
    position: absolute;
    top: 0;
    transition: 0.2s;
    width: 100%;
    right: -66.6666666667vw;
    width: 66.6666666667vw;
    background: linear-gradient(to top, #032f6a 0%, #0f39c6 76.35%, #0f39c6 100%);
    padding-top: 16vw;
    padding-bottom: 16vw;
  }
}
@media screen and (min-width: 981px) {
  .header__nav {
    position: static;
  }
}
.header__nav ul {
  list-style: none;
  display: flex;
  align-items: center;
  margin: 0;
}
@media screen and (max-width: 980px) {
  .header__nav ul {
    flex-direction: column;
    align-items: flex-start;
    padding-left: 10.6666666667vw;
    gap: 9.6vw;
  }
}
@media screen and (min-width: 981px) {
  .header__nav ul {
    gap: 3.2291666667vw;
    font-size: 0.9375vw;
  }
}
.header__nav ul a {
  display: flex;
  flex-direction: column;
  font-weight: 700;
}
@media screen and (max-width: 980px) {
  .header__nav ul a {
    font-weight: 700;
    font-size: 3.4666666667vw;
    color: #fff;
  }
}
@media screen and (min-width: 981px) {
  .header__nav ul a {
    font-size: min(1.5vw, 18px);
    transition: 0.2s;
  }
  .header__nav ul a:hover {
    color: #0F39C6;
    opacity: 1;
  }
}
.header__nav ul a.contact {
  background-color: #0D0F1F;
  color: #fff;
  letter-spacing: 0.05em;
  font-weight: 700;
  line-height: 1;
  border-radius: 9999px;
}
@media screen and (max-width: 980px) {
  .header__nav ul a.contact {
    flex-direction: row;
    align-items: center;
    gap: 4vw;
    background: #fff;
    border-radius: 9999px;
    border: 1px solid #00449E;
    color: #00449E;
    padding: 3.7333333333vw 8.5333333333vw 3.7333333333vw 7.7333333333vw;
    margin-top: 6.9333333333vw;
  }
  .header__nav ul a.contact::after {
    content: "";
    aspect-ratio: 1/1;
    width: 4.2666666667vw;
    background-image: url(../images/link-active.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
  }
}
@media screen and (min-width: 981px) {
  .header__nav ul a.contact {
    display: flex;
    justify-content: center;
    align-items: center;
    height: min(3.5vw, 42px);
    padding: 0 min(2.8333333333vw, 34px);
    margin-right: 1.9791666667vw;
  }
  .header__nav ul a.contact:hover {
    background-color: #0F39C6;
    color: #fff;
  }
}

#footer {
  background-color: #0D0F1F;
  color: #fff;
}
@media screen and (max-width: 980px) {
  #footer {
    padding-top: 16.8vw;
    padding-bottom: 17.8666666667vw;
  }
}
@media screen and (min-width: 981px) {
  #footer {
    border-image-width: 0.8333333333vw 0 0 0;
    padding-top: 3.6875vw;
    padding-bottom: 1.5041666667vw;
  }
}
#footer .inner {
  display: flex;
  container-type: inline-size;
}
@media screen and (max-width: 980px) {
  #footer .inner {
    flex-direction: column;
    align-items: center;
  }
}
@media screen and (min-width: 981px) {
  #footer .inner {
    justify-content: space-between;
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
    padding-left: min(3.8461538462vw, 50px);
    padding-right: min(3.8461538462vw, 50px);
  }
}
#footer .footer__company {
  order: 2;
}
@media screen and (min-width: 981px) {
  #footer .footer__company {
    order: unset;
  }
}
#footer .footer__name {
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 980px) {
  #footer .footer__name {
    text-align: center;
    margin-bottom: 2.5vw;
  }
}
@media screen and (min-width: 981px) {
  #footer .footer__name {
    font-size: min(2.6153846154vw, 34px);
    margin-bottom: min(0.8461538462vw, 11px);
  }
}
#footer .footer__name img {
  max-width: 74.6666666667vw;
}
@media screen and (min-width: 981px) {
  #footer .footer__name img {
    max-width: 100%;
  }
}

#footer .footer__address {
  font-weight: 400;
}
@media screen and (max-width: 980px) {
  #footer .footer__address {
    text-align: center;
    font-size: 3.7333333333vw;
  }
}
@media screen and (min-width: 981px) {
  #footer .footer__address {
    font-size: min(1.0769230769vw, 14px);
    white-space: nowrap;
  }
}

#footer .footer__copyright {
  font-weight: 400;
  text-align: center;
}
@media screen and (max-width: 980px) {
  #footer .footer__copyright {
    margin-top: 15.4666666667vw;
    font-size: 2.6666666667vw;
  }
}
@media screen and (min-width: 981px) {
  #footer .footer__copyright {
    margin-top: min(3.0769230769vw, 40px);
    font-size: min(0.9230769231vw, 12px);
  }
}
@media screen and (max-width: 980px) {
  #footer .footer__nav {
    order: 1;
    margin-bottom: 22.9333333333vw;
  }
}
#footer .footer__nav ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 980px) {
  #footer .footer__nav ul {
    flex-direction: column;
    align-items: center;
    gap: 8.2666666667vw;
  }
}
@media screen and (min-width: 981px) {
  #footer .footer__nav ul {
    gap: min(1.6153846154vw, 21px) min(4.6153846154vw, 60px);
    justify-content: flex-end;
  }
}
#footer .footer__nav ul a {
  color: #fff;
  font-weight: 700;
}
@media screen and (max-width: 980px) {
  #footer .footer__nav ul a {
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 981px) {
  #footer .footer__nav ul a {
    font-size: min(1.2307692308vw, 16px);
  }
}
#footer .footer__nav .nav__contact {
  width: 100%;
}
@media screen and (max-width: 980px) {
  #footer .footer__nav .nav__contact {
    margin-top: 4.8vw;
  }
}
@media screen and (min-width: 981px) {
  #footer .footer__nav .nav__contact {
    text-align: right;
  }
}
#footer .footer__nav .nav__contact a {
  display: inline-flex;
  align-items: center;
  background-color: transparent;
  color: #fff;
  letter-spacing: 0.05em;
  font-weight: 500;
}
@media screen and (max-width: 980px) {
  #footer .footer__nav .nav__contact a {
    border: 1px solid #fff;
    padding: 2.1333333333vw 6.6666666667vw;
    gap: 4.5333333333vw;
  }
}
@media screen and (min-width: 981px) {
  #footer .footer__nav .nav__contact a {
    border: 1px solid #fff;
    border-radius: 5px;
    padding: min(0.7692307692vw, 10px) min(1.8461538462vw, 24px);
    gap: min(1.3076923077vw, 17px);
    font-size: min(1.2307692308vw, 16px);
    transition: 0.2s;
  }
  #footer .footer__nav .nav__contact a:hover {
    border-color: transparent;
    background-color: #0F39C6;
    color: #0D0F1F;
    opacity: 1;
  }
  #footer .footer__nav .nav__contact a:hover::after {
    background-image: url(../images/footer-contact-icon-active.png);
  }
}
#footer .footer__nav .nav__contact a::after {
  content: "";
  aspect-ratio: 26/19;
  background-image: url(../images/contact-icon-active.png);
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 980px) {
  #footer .footer__nav .nav__contact a::after {
    width: 7.4666666667vw;
    background-image: url(../images/contact-icon-active.png);
  }
}
@media screen and (min-width: 981px) {
  #footer .footer__nav .nav__contact a::after {
    width: min(2.1538461538vw, 28px);
  }
}

body.top #main .inner {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 981px) {
  body.top #main .inner {
    margin-left: auto;
    margin-right: auto;
  }
}
body.top #mv {
  position: relative;
}
@media screen and (max-width: 980px) {
  body.top #mv {
    padding-top: 16vw;
  }
}
body.top #mv .mv__slide img {
  width: 100%;
}
body.top .mv__copy {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 980px) {
  body.top .mv__copy {
    padding-top: 8.8vw;
    padding-left: 6.1333333333vw;
    margin-bottom: 2.6666666667vw;
  }
}

/* トップ画面の空白を縮める（margin-topを４に設定） */


@media screen and (min-width: 981px) {
  body.top .mv__copy {
/*    margin-top: 8.3333333333vw; */
    margin-top: 4vw;
    margin-left: 3.90625vw;
    margin-bottom: 1.6666666667vw;
    padding-top: 3.4375vw;
    padding-left: 6.4583333333vw;
  }
}
body.top .mv__copy::before {
  content: "";
  position: absolute;
  aspect-ratio: 185/213;
  height: auto;
  background-image: url(../images/mv-copy-bg.png);
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
}
@media screen and (max-width: 980px) {
  body.top .mv__copy::before {
    top: 0;
    left: 3.2vw;
    width: 12vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .mv__copy::before {
    top: 0;
    left: 0;
    width: 9.6354166667vw;
  }
}
body.top .mv__copy .copy__main {
  font-weight: 700;
  letter-spacing: 0.07em;
  line-height: 1.45;
}
@media screen and (max-width: 980px) {
  body.top .mv__copy .copy__main {
    font-size: 7.4666666667vw;
    line-height: 1.2;
  }
}
@media screen and (min-width: 981px) {
  body.top .mv__copy .copy__main {
    font-size: 3.8541666667vw;
  }
}
body.top .mv__copy .copy__main em {
  color: #00449E;
  font-weight: 700;
}
@media screen and (max-width: 980px) {
  body.top .mv__slide {
    margin-left: 3.2vw;
    margin-right: 3.2vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .mv__slide {
    margin-left: 1.0416666667vw;
    margin-right: 1.0416666667vw;
  }
}
@media screen and (max-width: 980px) {
  body.top .mv__slide .slide__wrapper {
    border-top-left-radius: 2.4vw;
    border-top-right-radius: 2.4vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .mv__slide .slide__wrapper {
    border-top-left-radius: 2.1354166667vw;
    border-top-right-radius: 2.1354166667vw;
  }
}
body.top #news .inner {
  container-type: inline-size;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 980px) {
  body.top #news .inner {
    padding-top: 17.3333333333vw;
    padding-left: 6.1333333333vw;
    padding-right: 6.1333333333vw;
    padding-bottom: 15.2vw;
  }
}
@media screen and (min-width: 981px) {
  body.top #news .inner {
    max-width: 1200px;
    padding-top: min(6.6666666667vw, 80px);
    padding-left: min(8.3333333333vw, 100px);
    padding-right: min(8.3333333333vw, 100px);
    padding-bottom: min(5vw, 60px);
  }
}
@media screen and (max-width: 980px) {
  body.top .news__head {
    margin-bottom: 1.8666666667vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .news__head {
    margin-bottom: min(4.1666666667vw, 50px);
  }
}
body.top .head__main {
  display: flex;
}
@media screen and (max-width: 980px) {
  body.top .head__main {
    flex-direction: column;
    align-items: center;
  }
}
@media screen and (min-width: 981px) {
  body.top .head__main {
    align-items: flex-end;
  }
}
@media screen and (max-width: 980px) {
  body.top .head__main img {
    width: 42.1333333333vw;
    margin-right: 9.0666666667vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .head__main img {
    width: min(19.5833333333vw, 235px);
  }
}
body.top .head__sub {
  letter-spacing: 0.05em;
}
@media screen and (max-width: 980px) {
  body.top .head__sub {
    font-size: 3.2vw;
    font-weight: 600;
  }
}
@media screen and (min-width: 981px) {
  body.top .head__sub {
    margin-left: min(1.5vw, 18px);
    font-size: min(2.3333333333vw, 28px);
    font-weight: 700;
  }
}
body.top .news__body {
  list-style-type: none;
  margin: 0;
  padding: 0;
  flex: 1;
  counter-reset: number 0;
}
body.top .news__body li {
  font-weight: 500;
}
@media screen and (max-width: 980px) {
  body.top .news__body li {
    display: grid;
    grid-template-columns: auto auto 1fr;
    padding: 5.3333333333vw 0;
  }
}
@media screen and (min-width: 981px) {
  body.top .news__body li {
    display: flex;
    align-items: center;
    padding-top: min(1.6666666667vw, 20px);
    padding-bottom: min(1.6666666667vw, 20px);
    padding-left: min(7vw, 84px);
    padding-right: min(1.6666666667vw, 20px);
    font-size: min(1.3333333333vw, 16px);
  }
}
body.top .news__body li::before {
  counter-increment: number 1;
  content: counter(number, decimal-leading-zero) " ";
  color: #0F39C6;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 980px) {
  body.top .news__body li::before {
    grid-column: 1;
    grid-row: 1;
    font-size: 4.2666666667vw;
    margin-right: 1.6vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .news__body li::before {
    font-size: min(1.5vw, 18px);
    margin-right: min(1.6666666667vw, 20px);
  }
}
body.top .news__date {
  font-weight: 500;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(#00449e 0%, #007ac6 100%);
}
@media screen and (max-width: 980px) {
  body.top .news__date {
    grid-column: 2;
    grid-row: 1;
    border-radius: 1.3333333333vw;
    padding: 1.3333333333vw 3.4666666667vw;
    font-size: 3.2vw;
    line-height: 1;
  }
}
@media screen and (min-width: 981px) {
  body.top .news__date {
    border-radius: min(0.4166666667vw, 5px);
    padding: min(0.0833333333vw, 1px) min(1.3333333333vw, 16px) min(0.25vw, 3px);
    font-size: min(1.3333333333vw, 16px);
    margin-right: min(5.1666666667vw, 62px);
  }
}
body.top .news__subject {
  font-weight: 500;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 980px) {
  body.top .news__subject {
    grid-column: 1/4;
    grid-row: 2;
    font-size: 3.7333333333vw;
    margin-top: 2.4vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .news__subject {
    font-size: min(1.3333333333vw, 16px);
  }
}
body.top .news__subject a {
  text-decoration: underline;
}
body.top #business {
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 980px) {
  body.top #business {
    padding-bottom: 14.9333333333vw;
  }
}
@media screen and (min-width: 981px) {
  body.top #business {
    margin-bottom: -18.4375vw;
  }
}
body.top #business::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  background-image: url(../images/business-head.png);
  background-repeat: no-repeat;
  background-size: contain;
  aspect-ratio: 1067/196;
  height: auto;
  z-index: 1;
  mix-blend-mode: overlay;
}
@media screen and (max-width: 980px) {
  body.top #business::before {
    position: relative;
    display: block;
    left: 0;
    width: 100%;
  }
}
@media screen and (min-width: 981px) {
  body.top #business::before {
    right: 2.4479166667vw;
    width: 55.5729166667vw;
  }
}
body.top #business::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  background: linear-gradient(#00449e 0%, #007ac6 100%);
}
@media screen and (max-width: 980px) {
  body.top #business::after {
    top: 0;
    bottom: 0;
  }
}
@media screen and (min-width: 981px) {
  body.top #business::after {
    top: 1.71875vw;
    bottom: 18.3854166667vw;
  }
}
body.top #business .inner {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 980px) {
  body.top #business .inner {
    padding-left: 6.1333333333vw;
    padding-right: 6.1333333333vw;
  }
}
@media screen and (min-width: 981px) {
  body.top #business .inner {
    width: 100%;
  }
}
@media screen and (max-width: 980px) {
  body.top .business__body.work {
    display: flex;
    flex-direction: column;
  }
}
@media screen and (min-width: 981px) {
  body.top .business__body.work {
    padding-top: min(23.25vw, 279px);
    display: grid;
    gap: min(3.0833333333vw, 37px) min(8.3333333333vw, 100px);
    grid-template-columns: calc(50% - min(8.3333333333vw, 100px)) min(41.6666666667vw, 500px);
  }
}
body.top .business__body.work .block__txt {
  color: #fff;
}
@media screen and (max-width: 980px) {
  body.top .business__body.work .block__txt {
    order: 2;
    margin-top: 8vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .business__body.work .block__txt {
    grid-column: 2;
    grid-row: 1;
  }
}
@media screen and (min-width: 981px) {
  body.top .business__body.work .block__txt .block__inner {
    padding-top: min(4.5833333333vw, 55px);
    width: min(41.6666666667vw, 500px);
  }
}
body.top .business__body.work .block__txt .business__subject {
  font-weight: 700;
}
@media screen and (max-width: 980px) {
  body.top .business__body.work .block__txt .business__subject {
    font-size: 6.4vw;
    margin-bottom: 2.4vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .business__body.work .block__txt .business__subject {
    font-size: min(2.3333333333vw, 28px);
    margin-bottom: min(4.1666666667vw, 50px);
  }
}
body.top .business__body.work .block__txt .business__lead {
  letter-spacing: 0.01em;
}
@media screen and (max-width: 980px) {
  body.top .business__body.work .block__txt .business__lead {
    font-size: 3.7333333333vw;
    font-weight: 400;
    line-height: 1.7;
  }
}
@media screen and (min-width: 981px) {
  body.top .business__body.work .block__txt .business__lead {
    font-size: min(1.3333333333vw, 16px);
    font-weight: 500;
    line-height: 2.25;
  }
}
@media screen and (max-width: 980px) {
  body.top .business__body.work .block__img {
    order: 1;
    display: flex;
    flex-direction: column;
    gap: 3.7333333333vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .business__body.work .block__img {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    gap: 1.0416666667vw;
  }
}
@media screen and (max-width: 980px) {
  body.top .business__body.work .block__img .img__wrap img {
    border-radius: 1.6vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .business__body.work .block__img .img__wrap img {
    border-top-right-radius: 0.7291666667vw;
    border-bottom-right-radius: 0.7291666667vw;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media screen and (min-width: 981px) {
  body.top .business__body.work .block__img .img__wrap:first-child img {
    height: 470px;
  }
}
@media screen and (min-width: 981px) {
  body.top .business__body.work .block__img .img__wrap:last-child img {
    height: 290px;
  }
}
@media screen and (max-width: 980px) {
  body.top .business__body.work .business__more {
    order: 3;
    margin-top: 12vw;
    text-align: center;
  }
}
@media screen and (min-width: 981px) {
  body.top .business__body.work .business__more {
    grid-column: 2;
    grid-row: 2;
    text-align: right;
  }
}
body.top .business__body.work .business__more a {
  background-color: #0c0c0c;
  border: 1px solid #fff;
  border-radius: 9999px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  position: relative;
  color: #fff;
  letter-spacing: 0.1em;
  transition: 0.2s;
}
@media screen and (max-width: 980px) {
  body.top .business__body.work .business__more a {
    padding: 5.3333333333vw 16.8vw;
    gap: 4.8vw;
    font-size: 3.7333333333vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .business__body.work .business__more a {
    padding: min(1.75vw, 21px) min(5.25vw, 63px);
    gap: min(1.5vw, 18px);
    font-size: min(1.1666666667vw, 14px);
  }
  body.top .business__body.work .business__more a:hover {
    opacity: 1;
    background-color: #fff;
    border-color: #0F39C6;
    color: #0F39C6;
  }
  body.top .business__body.work .business__more a:hover::after {
    background-image: url(../images/link-active.svg);
  }
}
body.top .business__body.work .business__more a::after {
  content: "";
  aspect-ratio: 1/1;
  height: auto;
  background-image: url(../images/link.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
@media screen and (max-width: 980px) {
  body.top .business__body.work .business__more a::after {
    width: 4.2666666667vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .business__body.work .business__more a::after {
    width: min(1.3333333333vw, 16px);
  }
}
body.top .business__body.images {
  border: 1px solid #007ac6;
  background-color: #fff;
}
@media screen and (max-width: 980px) {
  body.top .business__body.images {
    margin-top: 13.3333333333vw;
    border-radius: 2.4vw;
    padding: 7.4666666667vw 6.6666666667vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .business__body.images {
    margin-top: min(6.75vw, 81px);
    margin-right: 0;
    margin-left: auto;
    width: 87.2916666667vw;
    border-right: 0;
    border-top-left-radius: min(1.6666666667vw, 20px);
    border-bottom-left-radius: min(1.6666666667vw, 20px);
    padding: min(8.1666666667vw, 98px) 0 min(8.1666666667vw, 98px) min(9.6666666667vw, 116px);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: min(8.3333333333vw, 100px);
  }
}
@media screen and (max-width: 980px) {
  body.top .business__body.images .block__txt {
    font-size: 3.7333333333vw;
    font-weight: 400;
    line-height: 1.7;
    margin-bottom: 5.8666666667vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .business__body.images .block__txt {
    width: min(41.6666666667vw, 500px);
    font-size: min(1.3333333333vw, 16px);
    font-weight: 500;
    line-height: 2.25;
  }
}
body.top .business__body.images .block__img {
  display: flex;
}
@media screen and (max-width: 980px) {
  body.top .business__body.images .block__img {
    flex-direction: column;
    gap: 3.2vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .business__body.images .block__img {
    width: 57%;
    gap: 1.1458333333vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .business__body.images .block__img .img__wrap {
    flex-shrink: 0;
    width: auto;
  }
}
@media screen and (min-width: 981px) {
  body.top .business__body.images .block__img .img__wrap img {
    border-radius: min(1.1666666667vw, 14px);
    height: 256px;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media screen and (min-width: 981px) {
  body.top .business__body.images .block__img .img__wrap:first-child {
    max-width: 500px;
    width: 52%;
  }
}
@media screen and (min-width: 981px) {
  body.top .business__body.images .block__img .img__wrap:last-child {
    max-width: 440px;
    width: 45%;
  }
}
body.top #interview {
  position: relative;
  display: flex;
}
body.top #interview .inner {
  display: flex;
}
@media screen and (min-width: 981px) {
  body.top #interview .inner {
    margin-left: 0;
  }
}
body.top .interview__head {
  position: relative;
  background-image: url(../images/interview-bg.png), linear-gradient(#f5f5f5 0%, rgba(245, 245, 245, 0.5) 100%);
  background-repeat: no-repeat;
  display: grid;
  grid-template-columns: max-content max-content;
  grid-template-rows: max-content max-content;
}
@media screen and (max-width: 980px) {
  body.top .interview__head {
    gap: 2.1333333333vw 1.3333333333vw;
    width: 17.3333333333vw;
    flex-shrink: 0;
    padding-top: 16.2666666667vw;
    background-size: 17.3333333333vw auto, 100%;
    background-position: top 5.6vw right -1.6vw, top center;
  }
}
@media screen and (min-width: 981px) {
  body.top .interview__head {
    gap: min(3.6666666667vw, 44px) min(2.3333333333vw, 28px);
    padding-top: 30vw;
    padding-left: min(5.5833333333vw, 67px);
    padding-right: min(5.5833333333vw, 67px);
    background-position: top 24.84375vw right min(4.0833333333vw, 49px), top center;
    background-size: min(12.8333333333vw, 154px) auto, 100%;
  }
}
body.top .interview__head .head__sub {
  margin: 0;
  grid-column: 2;
  grid-row: 1;
  justify-self: start;
  height: auto;
}
@media screen and (max-width: 980px) {
  body.top .interview__head .head__sub {
    width: 2.1333333333vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .interview__head .head__sub {
    width: min(2.3333333333vw, 28px);
  }
}
body.top .interview__head .head__main {
  grid-column: 1;
  grid-row: 1;
  justify-self: end;
  writing-mode: vertical-rl;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 980px) {
  body.top .interview__head .head__main {
    font-size: 6.4vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .interview__head .head__main {
    font-size: min(5.6666666667vw, 68px);
    margin-top: min(0.6666666667vw, 8px);
  }
}
body.top .interview__head .head__lead {
  grid-column: 1/3;
  grid-row: 2;
  justify-self: center;
  writing-mode: vertical-rl;
  font-weight: 400;
  line-height: 1.7;
}
@media screen and (max-width: 980px) {
  body.top .interview__head .head__lead {
    width: 17.3333333333vw;
    margin-top: 2.1333333333vw;
    font-size: 2.6666666667vw;
    line-height: 1.5;
    align-content: center;
  }
}
@media screen and (min-width: 981px) {
  body.top .interview__head .head__lead {
    font-size: min(1.5vw, 18px);
    line-height: 1.75;
  }
}
body.top .interview__wrap {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 980px) {
  body.top .interview__wrap {
    background: linear-gradient(to right, rgba(0, 122, 198, 0.1) 0%, rgba(121, 200, 248, 0.1) 62.56%, rgba(121, 200, 248, 0) 100%);
  }
}
@media screen and (min-width: 981px) {
  body.top .interview__wrap {
    max-width: 940px;
    padding-top: 28.4479166667vw;
    padding-bottom: min(17.8333333333vw, 214px);
  }
}
@media screen and (min-width: 981px) {
  body.top .interview__item {
    display: grid;
  }
}
@media screen and (min-width: 981px) {
  body.top .interview__item .item__head {
    grid-column: 1;
    grid-row: 1;
    width: min(44.5833333333vw, 535px);
  }
}
body.top .interview__item .item__head .head__main {
  border-bottom: 2px solid #0F39C6;
}
@media screen and (max-width: 980px) {
  body.top .interview__item .item__head .head__main {
    align-items: end;
    margin-top: 6.1333333333vw;
    margin-bottom: 1.8666666667vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .interview__item .item__head .head__main {
    padding-left: min(1.6666666667vw, 20px);
    margin-bottom: min(0.75vw, 9px);
  }
}
body.top .interview__item .item__head .head__main img {
  width: auto;
}
@media screen and (max-width: 980px) {
  body.top .interview__item .item__head .head__main img {
    margin-right: 6.1333333333vw;
    height: 9.6vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .interview__item .item__head .head__main img {
    height: min(4.5vw, 54px);
  }
}
body.top .interview__item .item__head .item__img {
  flex-shrink: 0;
}
body.top .interview__item .item__head .item__img img {
  height: auto;
}
@media screen and (min-width: 981px) {
  body.top .interview__item .item__head .item__img img {
    width: min(44.5833333333vw, 535px);
  }
}
@media screen and (min-width: 981px) {
  body.top .interview__item .item__txt {
    grid-column: 2;
    grid-row: 1;
  }
}
body.top .interview__item .item__txt .txt__wrap {
  position: relative;
}
@media screen and (max-width: 980px) {
  body.top .interview__item .item__txt .txt__wrap {
    padding: 4vw 6.1333333333vw 9.3333333333vw 4.5333333333vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .interview__item .item__txt .txt__wrap {
    width: min(41.25vw, 495px);
    margin-top: min(2.25vw, 27px);
    padding: min(5.4166666667vw, 65px) min(6.8333333333vw, 82px) min(3.75vw, 45px) min(7.0833333333vw, 85px);
    margin-left: max(-3.75vw, -45px);
  }
}
body.top .interview__item .item__txt .txt__wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, #007ac6 0%, #79c8f8 75.37%, rgba(121, 200, 248, 0) 100%);
  opacity: 0.1;
}
body.top .interview__item .item__txt .txt__subject {
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 980px) {
  body.top .interview__item .item__txt .txt__subject {
    font-size: 5.3333333333vw;
    margin-bottom: 2.6666666667vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .interview__item .item__txt .txt__subject {
    font-size: min(2.0833333333vw, 25px);
    margin-bottom: min(1vw, 12px);
  }
}
body.top .interview__item .item__txt .txt__profile {
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 980px) {
  body.top .interview__item .item__txt .txt__profile {
    margin-bottom: 3.2vw;
    font-size: 4.8vw;
    text-align: right;
  }
}
@media screen and (min-width: 981px) {
  body.top .interview__item .item__txt .txt__profile {
    margin-bottom: min(2.4166666667vw, 29px);
    font-size: min(1.5833333333vw, 19px);
  }
}
@media screen and (max-width: 980px) {
  body.top .interview__item .item__txt .txt__profile small {
    margin-right: 2.4vw;
    font-size: 3.2vw;
    font-weight: 600;
  }
}
@media screen and (min-width: 981px) {
  body.top .interview__item .item__txt .txt__profile small {
    margin-right: min(0.75vw, 9px);
    font-size: min(1vw, 12px);
    font-weight: 700;
  }
}
body.top .interview__item .item__txt .txt__comment {
  font-weight: 500;
  line-height: 1.71;
}
@media screen and (max-width: 980px) {
  body.top .interview__item .item__txt .txt__comment {
    font-size: 3.7333333333vw;
    font-weight: 400;
  }
}
@media screen and (min-width: 981px) {
  body.top .interview__item .item__txt .txt__comment {
    font-size: min(1.1666666667vw, 14px);
  }
}
body.top .interview__item .item__question {
  position: relative;
}
@media screen and (max-width: 980px) {
  body.top .interview__item .item__question {
    margin: 0;
    padding-left: 4.8vw;
    margin-bottom: 11.2vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .interview__item .item__question {
    grid-column: 1/3;
    grid-row: 2;
    padding: min(1.5vw, 18px) min(6.8333333333vw, 82px) min(4.8333333333vw, 58px) min(10vw, 120px);
  }
  body.top .interview__item .item__question::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    background: linear-gradient(to right, #007ac6 0%, #79c8f8 75.37%, rgba(121, 200, 248, 0) 100%);
    opacity: 0.1;
  }
}
body.top .interview__item .item__question dt, body.top .interview__item .item__question dd {
  margin: 0;
  padding: 0;
}
body.top .interview__item .item__question dt {
  display: flex;
  border-bottom: 2px solid #0F39C6;
}
@media screen and (max-width: 980px) {
  body.top .interview__item .item__question dt {
    padding-top: 2.4vw;
    padding-right: 6.1333333333vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .interview__item .item__question dt {
    align-items: flex-end;
    margin-bottom: min(2vw, 24px);
  }
}
body.top .interview__item .item__question dt .img {
  width: auto;
}
@media screen and (max-width: 980px) {
  body.top .interview__item .item__question dt .img {
    height: 8.8vw;
    margin-right: 2.6666666667vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .interview__item .item__question dt .img {
    height: min(5.5vw, 66px);
    margin-right: min(2.9166666667vw, 35px);
  }
}
body.top .interview__item .item__question dt .subject {
  font-weight: 700;
}
@media screen and (max-width: 980px) {
  body.top .interview__item .item__question dt .subject {
    padding-top: 2.9333333333vw;
    font-size: 5.3333333333vw;
    line-height: 1.4;
  }
}
@media screen and (min-width: 981px) {
  body.top .interview__item .item__question dt .subject {
    font-size: min(2.6666666667vw, 32px);
    letter-spacing: 0.05em;
  }
}
body.top .interview__item .item__question dd {
  font-weight: 400;
  line-height: 1.75;
}
@media screen and (max-width: 980px) {
  body.top .interview__item .item__question dd {
    padding-top: 3.4666666667vw;
    padding-right: 6.1333333333vw;
    font-size: 3.7333333333vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .interview__item .item__question dd {
    font-size: min(1.1666666667vw, 14px);
    padding-left: min(11.3333333333vw, 136px);
  }
}
@media screen and (min-width: 981px) {
  body.top .interview__item:not(:first-child) {
    margin-top: min(13.3333333333vw, 160px);
  }
}
@media screen and (min-width: 981px) {
  body.top .interview__item:nth-child(even) .item__head {
    grid-column: 2;
  }
  body.top .interview__item:nth-child(even) .item__head .head__main {
    justify-content: end;
    padding-left: 0;
    padding-right: min(1.6666666667vw, 20px);
  }
  body.top .interview__item:nth-child(even) .item__txt {
    grid-column: 1;
  }
  body.top .interview__item:nth-child(even) .item__txt .txt__wrap {
    margin-left: 0;
    margin-right: max(-4.5vw, -54px);
  }
  body.top .interview__item:nth-child(even) .item__txt .txt__wrap::before {
    background: linear-gradient(to left, #007ac6 0%, #79c8f8 75.37%, rgba(121, 200, 248, 0) 100%);
  }
  body.top .interview__item:nth-child(even) .item__question {
    padding-left: min(8.3333333333vw, 100px);
    padding-right: min(12.1666666667vw, 146px);
  }
  body.top .interview__item:nth-child(even) .item__question::before {
    background: linear-gradient(to left, #007ac6 0%, #79c8f8 75.37%, rgba(121, 200, 248, 0) 100%);
  }
}
@media screen and (max-width: 980px) {
  body.top .interview__contact {
    background-color: #fff;
    padding-top: 12.8vw;
    padding-bottom: 12vw;
    padding-left: 4vw;
    text-align: left;
  }
}
@media screen and (min-width: 981px) {
  body.top .interview__contact {
    margin-top: min(7.5833333333vw, 91px);
    padding-right: min(8.3333333333vw, 100px);
    text-align: right;
  }
}
body.top .interview__contact a {
  border-radius: 9999px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  position: relative;
  color: #fff;
  letter-spacing: 0.1em;
  transition: 0.2s;
}
@media screen and (max-width: 980px) {
  body.top .interview__contact a {
    background-color: #0F39C6;
    padding: 5.6vw 5.8666666667vw;
    color: #fff;
    font-size: 3.7333333333vw;
    font-weight: 600;
    letter-spacing: 0;
    gap: 2.6666666667vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .interview__contact a {
    background-color: #0c0c0c;
    padding: min(1.75vw, 21px) min(5.25vw, 63px);
    gap: min(1.5vw, 18px);
    font-size: pminpx2vw2vw(14, 1200);
  }
  body.top .interview__contact a:hover {
    opacity: 1;
    background-color: #0F39C6;
    color: #fff;
  }
}
body.top .interview__contact a::after {
  content: "";
  aspect-ratio: 1/1;
  height: auto;
  background-image: url(../images/link.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
@media screen and (max-width: 980px) {
  body.top .interview__contact a::after {
    width: 4.2666666667vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .interview__contact a::after {
    width: min(1.3333333333vw, 16px);
  }
}
body.top #contact {
  position: relative;
}
@media screen and (max-width: 980px) {
  body.top #contact {
    padding-top: 6.6666666667vw;
    padding-bottom: 12vw;
    background: linear-gradient(#efefef 0%, #efefef 17.95%, #a7a7a7 100%);
  }
}
@media screen and (min-width: 981px) {
  body.top #contact {
    padding-top: 4.1666666667vw;
    padding-bottom: 4.0625vw;
  }
}
body.top .contact__bg {
  position: absolute;
  inset: 0;
}
body.top .contact__bg::before {
  content: "";
  position: absolute;
  z-index: 1;
  background: linear-gradient(#f0f0f0 0%, #a7a7a7 100%);
  opacity: 0.41;
}
@media screen and (max-width: 980px) {
  body.top .contact__bg::before {
    display: block;
    aspect-ratio: 375/144;
    width: 100vw;
    clip-path: polygon(0 0, 100% 0, 0 100%);
    mix-blend-mode: multiply;
  }
}
@media screen and (min-width: 981px) {
  body.top .contact__bg::before {
    inset: 0;
    clip-path: polygon(30% 0, 100% 0, 70% 100%, 0 100%);
    mix-blend-mode: overlay;
  }
}
body.top .contact__bg::after {
  content: "";
  position: absolute;
  z-index: 0;
  background: linear-gradient(#f0f0f0 0%, #a7a7a7 100%);
}
@media screen and (max-width: 980px) {
  body.top .contact__bg::after {
    display: block;
    aspect-ratio: 203/123;
    width: 54.1333333333vw;
    bottom: 0;
    right: 0;
    clip-path: polygon(100% 0, 100% 100%, 0 100%);
    mix-blend-mode: multiply;
  }
}
@media screen and (min-width: 981px) {
  body.top .contact__bg::after {
    inset: 0;
  }
}
body.top .contact__inner {
  position: relative;
  z-index: 1;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 981px) {
  body.top .contact__inner {
    width: min(91.8333333333vw, 1102px);
  }
}
body.top .contact__head {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 980px) {
  body.top .contact__head {
    flex-direction: column;
    gap: 2.9333333333vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .contact__head {
    gap: min(2.3333333333vw, 28px);
    margin-bottom: min(2.25vw, 27px);
  }
}
@media screen and (max-width: 980px) {
  body.top .contact__head .icon {
    width: 21.0666666667vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .contact__head .icon {
    width: min(13.1666666667vw, 158px);
  }
}
body.top .contact__head .label {
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 980px) {
  body.top .contact__head .label {
    font-size: 6.4vw;
    text-align: center;
  }
}
@media screen and (min-width: 981px) {
  body.top .contact__head .label {
    font-size: min(3.8333333333vw, 46px);
  }
}
body.top .contact__body {
  background-color: #fff;
  box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.5);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 980px) {
  body.top .contact__body {
    width: 88vw;
    border-radius: 6.9333333333vw;
    padding-top: 10.1333333333vw;
    padding-bottom: 12vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .contact__body {
    width: min(91.8333333333vw, 1102px);
    border-radius: min(2.1666666667vw, 26px);
    padding-top: min(4.0833333333vw, 49px);
    padding-bottom: min(3.3333333333vw, 40px);
  }
}
body.top .contact__info {
  list-style: none;
  display: flex;
  justify-content: center;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 980px) {
  body.top .contact__info {
    flex-direction: column;
    align-items: center;
    gap: 10.1333333333vw;
    margin-bottom: 13.8666666667vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .contact__info {
    gap: min(5.5vw, 66px);
    margin-bottom: min(2.5vw, 30px);
  }
}
body.top .contact__info li {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 980px) {
  body.top .contact__info li {
    flex-direction: column;
    gap: 2.1333333333vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .contact__info li {
    gap: min(1.5vw, 18px);
  }
}
body.top .contact__info .info__head {
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1/1;
  border: 1px solid #C80D2F;
  border-radius: 9999px;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 980px) {
  body.top .contact__info .info__head {
    width: 20.5333333333vw;
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .contact__info .info__head {
    width: min(7.25vw, 87px);
    font-size: min(1.3333333333vw, 16px);
    flex-shrink: 0;
  }
}
body.top .contact__info .info__body {
  font-weight: 700;
  white-space: nowrap;
  flex-shrink: 0;
}
@media screen and (max-width: 980px) {
  body.top .contact__info .info__body {
    font-size: 7.4666666667vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .contact__info .info__body {
    font-size: min(2.1666666667vw, 26px);
    letter-spacing: 0.1em;
  }
}
body.top .contact__more {
  text-align: center;
}
body.top .contact__more a {
  display: inline-flex;
  align-items: center;
  border: 1px solid #C80D2F;
  font-weight: 500;
}
@media screen and (max-width: 980px) {
  body.top .contact__more a {
    gap: 2.9333333333vw;
    border-radius: 2.9333333333vw;
    padding: 1.8666666667vw 6.9333333333vw;
    background-color: #C80D2F;
    color: #fff;
  }
}
@media screen and (min-width: 981px) {
  body.top .contact__more a {
    gap: min(0.9166666667vw, 11px);
    border-radius: min(0.3333333333vw, 4px);
    padding-left: min(2.5vw, 30px);
    padding-right: min(2.5vw, 30px);
    padding-top: min(0.75vw, 9px);
    padding-bottom: min(0.75vw, 9px);
    transition: 0.2s;
    color: #C80D2F;
  }
  body.top .contact__more a:hover {
    background-color: #C80D2F;
    color: #fff;
    opacity: 1;
  }
  body.top .contact__more a:hover::after {
    background-image: url(../images/contact-icon-active.png);
  }
}
body.top .contact__more a::after {
  content: "";
  aspect-ratio: 26/19;
  background-image: url(../images/contact-icon.png);
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 980px) {
  body.top .contact__more a::after {
    width: 6.9333333333vw;
    background-image: url(../images/contact-icon-active.png);
  }
}
@media screen and (min-width: 981px) {
  body.top .contact__more a::after {
    width: min(2.1666666667vw, 26px);
  }
}
body.top #company {
  position: relative;
}
body.top #company .inner {
  display: flex;
}
@media screen and (min-width: 981px) {
  body.top #company .inner {
    margin-left: 0;
  }
}
body.top .company__head {
  position: relative;
  background-image: url(../images/interview-bg.png), linear-gradient(rgba(0, 122, 198, 0.1) 0%, rgba(121, 200, 248, 0.1) 75.37%, rgba(121, 200, 248, 0) 100%);
  background-repeat: no-repeat;
  display: grid;
  grid-template-columns: max-content max-content;
  grid-template-rows: max-content max-content;
}
@media screen and (max-width: 980px) {
  body.top .company__head {
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
    gap: 1.3333333333vw;
    width: 17.3333333333vw;
    flex-shrink: 0;
    padding-top: 16.2666666667vw;
    background-size: 17.3333333333vw auto, 100%;
    background-position: top 5.6vw right -1.6vw, top center;
  }
}
@media screen and (min-width: 981px) {
  body.top .company__head {
    gap: 0 min(1.9166666667vw, 23px);
    width: min(21.6666666667vw, 260px);
    padding-top: min(19.1666666667vw, 230px);
    padding-left: min(5.5833333333vw, 67px);
    padding-right: min(7vw, 84px);
    background-position: top min(10.6666666667vw, 128px) right min(4.0833333333vw, 49px), top center;
    background-size: min(12.8333333333vw, 154px) auto, 100%;
  }
}
body.top .company__head .head__sub {
  margin: 0;
  grid-column: 2;
  grid-row: 1;
  justify-self: start;
  height: auto;
}
@media screen and (max-width: 980px) {
  body.top .company__head .head__sub {
    width: 2.1333333333vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .company__head .head__sub {
    width: min(2.3333333333vw, 28px);
  }
}
body.top .company__head .head__main {
  grid-column: 1;
  grid-row: 1;
  justify-self: end;
  writing-mode: vertical-rl;
  font-weight: 700;
  letter-spacing: 0.15em;
  line-height: 1;
}
@media screen and (max-width: 980px) {
  body.top .company__head .head__main {
    align-items: flex-start;
    font-size: 6.4vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .company__head .head__main {
    font-size: min(5.3333333333vw, 64px);
  }
}
body.top .company__body {
  background-color: #fff;
}
@media screen and (min-width: 981px) {
  body.top .company__body {
    margin-top: min(13.5vw, 318px);
    padding-left: min(4.3333333333vw, 52px);
    margin-bottom: min(14.5vw, 174px);
  }
}
body.top .company__info {
  display: flex;
  align-items: end;
}
@media screen and (max-width: 980px) {
  body.top .company__info {
    flex-direction: column;
    margin-top: 18.8666666667vw;
    text-align: right;
    margin-right: 6.1333333333vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .company__info {
    gap: min(2.9166666667vw, 35px);
    margin-bottom: min(5vw, 60px);
  }
}
@media screen and (max-width: 980px) {
  body.top .company__info .info__img {
    order: 2;
    margin-bottom: 5.6vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .company__info .info__img {
    width: min(37.75vw, 453px);
  }
}
body.top .company__info .info__txt {
  letter-spacing: 0.05em;
  line-height: 1.33;
}
@media screen and (max-width: 980px) {
  body.top .company__info .info__txt {
    order: 1;
    font-size: 3.7333333333vw;
    font-weight: 400;
    margin-bottom: 4.8vw;
  }
}
@media screen and (min-width: 981px) {
  body.top .company__info .info__txt {
    padding-left: min(0.8333333333vw, 10px);
    font-size: min(1.8333333333vw, 22px);
    font-weight: 500;
  }
}
body.top .company__info .info__txt address {
  line-height: 1.3;
  font-weight: 400;
}
@media screen and (min-width: 981px) {
  body.top .company__info .info__txt address {
    margin-bottom: min(0.8333333333vw, 10px);
  }
}
@media screen and (max-width: 980px) {
  body.top .company__map {
    margin-bottom: 11.7333333333vw;
  }
}
@media screen and (max-width: 980px) {
  body.top .company__map iframe {
    display: block;
    aspect-ratio: 288/168;
    width: 76.8vw;
    height: auto;
  }
}
@media screen and (min-width: 981px) {
  body.top .company__map iframe {
    aspect-ratio: 1000/227;
    width: 100%;
    height: auto;
  }
}

@media screen and (min-width: 981px) {
  body.company #main {
    overflow: hidden;
  }
}
body.company #mv {
  position: relative;
}
body.company .mv__img img {
  width: 100%;
}
body.company .mv__catch {
  position: absolute;
  inset: 0;
}
body.company .mv__catch .catch__main {
  position: absolute;
  z-index: 8;
  text-shadow: 0px 0px 6px rgba(255, 255, 255, 0.6);
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 980px) {
  body.company .mv__catch .catch__main {
    top: 22.6666666667vw;
    left: 6.1333333333vw;
  }
}
@media screen and (min-width: 981px) {
  body.company .mv__catch .catch__main {
    top: 12.5vw;
    right: calc(50% + 2.1354166667vw);
    margin: auto;
    justify-content: center;
    gap: 0.9375vw;
  }
}
body.company .mv__catch .catch__main span {
  display: inline-block;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.07em;
}
@media screen and (max-width: 980px) {
  body.company .mv__catch .catch__main span {
    font-size: 7.4666666667vw;
    line-height: 1.5;
  }
}
@media screen and (min-width: 981px) {
  body.company .mv__catch .catch__main span {
    padding: 0.5208333333vw 0.8333333333vw 0.8333333333vw 0.8333333333vw;
    font-size: 3.8541666667vw;
  }
}
body.company .mv__catch .catch__main span em {
  font-weight: 700;
  color: #00449E;
}
body.company .section__head {
  position: relative;
  letter-spacing: 0.05em;
  display: flex;
  flex-direction: column;
  background: linear-gradient(#00449e 0%, #007ac6 100%);
  color: #fff;
}
@media screen and (max-width: 980px) {
  body.company .section__head {
    padding-top: 4.8vw;
    padding-left: 9.6vw;
    padding-bottom: 2.4vw;
    border-radius: 0px 1.8666666667vw 1.8666666667vw 0;
    margin-right: 6.1333333333vw;
    margin-bottom: 6.1333333333vw;
  }
}
@media screen and (min-width: 981px) {
  body.company .section__head {
    padding-top: min(1.7307692308vw, 27px);
    padding-left: min(23.0769230769vw, 360px);
    padding-bottom: min(0.7692307692vw, 12px);
    margin-bottom: min(6.1538461538vw, 96px);
    border-radius: 0px 0.8333333333cqw 0.8333333333cqw 0px;
  }
}
body.company .section__head .head__sub {
  position: relative;
  width: -moz-max-content;
  width: max-content;
}
@media screen and (max-width: 980px) {
  body.company .section__head .head__sub {
    width: 100%;
  }
}
@media screen and (min-width: 981px) {
  body.company .section__head .head__sub {
    padding-top: min(4.4230769231vw, 69px);
    padding-right: min(6.4102564103vw, 100px);
  }
}
@media screen and (max-width: 980px) {
  body.company .section__head .head__sub img {
    height: 8.8vw;
  }
}
@media screen and (min-width: 981px) {
  body.company .section__head .head__sub img {
    height: min(5.1282051282vw, 80px);
  }
}
body.company .section__head .head__sub::after {
  content: "";
  aspect-ratio: 1/1;
  height: auto;
  position: absolute;
  right: 0;
  bottom: 0;
  background-image: url(../images/mv-copy-bg.png);
  background-repeat: no-repeat;
  background-size: contain;
  mix-blend-mode: multiply;
}
@media screen and (max-width: 980px) {
  body.company .section__head .head__sub::after {
    right: 3.2vw;
    bottom: -3.2vw;
    width: 16.8vw;
  }
}
@media screen and (min-width: 981px) {
  body.company .section__head .head__sub::after {
    width: min(8.4615384615vw, 132px);
  }
}
body.company .section__head .head__main {
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 980px) {
  body.company .section__head .head__main {
    font-size: 4.8vw;
  }
}
@media screen and (min-width: 981px) {
  body.company .section__head .head__main {
    margin-left: min(0.4487179487vw, 7px);
    font-size: min(1.1538461538vw, 18px);
  }
}
body.company .table {
  border-collapse: collapse;
  width: 100%;
}
@media screen and (min-width: 981px) {
  body.company .table {
    width: 100%;
  }
}
body.company .table th {
  background-color: #E5E5E5;
  border-top: 2px solid #fff;
  border-bottom: 2px solid #fff;
  color: #707070;
  font-weight: 500;
}
@media screen and (max-width: 980px) {
  body.company .table th {
    border-width: 1px;
    width: 19.7333333333vw;
    padding-top: 4.8vw;
    padding-bottom: 4.8vw;
    font-size: 3.2vw;
  }
}
@media screen and (min-width: 981px) {
  body.company .table th {
    width: min(11.0897435897vw, 173px);
    padding-top: min(1.7948717949vw, 28px);
    padding-bottom: min(2.1153846154vw, 33px);
    font-size: min(1.2820512821vw, 20px);
  }
}
body.company .table td {
  border-top: 1px solid #707070;
  border-bottom: 1px solid #707070;
  font-weight: 500;
}
@media screen and (max-width: 980px) {
  body.company .table td {
    border-right: 1px solid;
    border-color: #E5E5E5;
    padding-top: 4.2666666667vw;
    padding-bottom: 4.2666666667vw;
    padding-left: 4.2666666667vw;
    font-size: 3.7333333333vw;
  }
}
@media screen and (min-width: 981px) {
  body.company .table td {
    padding-top: min(1.7948717949vw, 28px);
    padding-bottom: min(2.1153846154vw, 33px);
    padding-left: min(3.0128205128vw, 47px);
    font-size: min(1.2820512821vw, 20px);
  }
}

/* 組合員リスト表示用（開始） */

body.company .member_table {
  border-collapse: collapse;
  width: 100%;
  min-width: 950px;
  overflow-x: auto;
}
@media screen and (min-width: 981px) {
  body.company .member_table {
    width: 106.5%;
  }
}
body.company .member_table th {
  background-color: #E5E5E5;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  color: #000000;
  font-weight: 500;
}
@media screen and (max-width: 980px) {
  body.company .member_table th {
    border-width: 1px;
    width: 19.7333333333vw;
    padding-top: 4.8vw;
    padding-bottom: 4.8vw;
    font-size: 3.2vw;
  }
}
@media screen and (min-width: 981px) {
  body.company .member_table th {
    width: min(11.0897435897vw, 173px);
    padding-top: min(1.0vw, 28px);
    padding-bottom: min(1.0vw, 33px);
    font-size: min(1.0vw, 20px);
  }
}
body.company .member_table td {
  border-top: 1px solid #707070;
  border-bottom: 1px solid #707070;
  font-weight: 500;
}
@media screen and (max-width: 980px) {
  body.company .member_table td {
    border-right: 1px solid;
    border-color: #E5E5E5;
    padding-top: 4.2666666667vw;
    padding-bottom: 4.2666666667vw;
    padding-left: 4.2666666667vw;
    font-size: 3.7333333333vw;
  }
}
@media screen and (min-width: 981px) {
  body.company .member_table td {
    padding-top: min(1.0vw, 28px);
    padding-bottom: min(1.0vw, 33px);
    padding-left: min(2.5vw, 47px);
    font-size: min(1.0vw, 20px);
a {
color:#55F;
text-decoration:underline;
}
  }
}

/* 組合員リスト表示用（終了） */


body.company #greeting {
  position: relative;
  background-color: #fff;
}
body.company #greeting .inner {
  position: relative;
  container-type: inline-size;
}
@media screen and (max-width: 980px) {
  body.company #greeting .inner {
    padding-top: 10.6666666667vw;
    padding-left: 12.5333333333vw;
    padding-right: 12.8vw;
    padding-bottom: 18.6666666667vw;
  }
}
@media screen and (min-width: 981px) {
  body.company #greeting .inner {
    max-width: 1560px;
    padding-top: min(7.8205128205vw, 122px);
    padding-left: min(23.8461538462vw, 372px);
    padding-right: min(6.4102564103vw, 100px);
    padding-bottom: min(12.0512820513vw, 188px);
  }
}
body.company #greeting .inner::before {
  content: "";
  position: absolute;
  background: linear-gradient(#f5f5f5 0%, rgba(245, 245, 245, 0.5) 100%);
  top: 0;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 980px) {
  body.company #greeting .inner::before {
    width: 9.6vw;
  }
}
@media screen and (min-width: 981px) {
  body.company #greeting .inner::before {
    width: min(23.0769230769vw, 360px);
  }
}
body.company #greeting .inner::after {
  content: "";
  aspect-ratio: 1/1;
  height: auto;
  background-image: url(../images/page-company-greeting.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  mix-blend-mode: multiply;
}
@media screen and (max-width: 980px) {
  body.company #greeting .inner::after {
    top: -4.8vw;
    right: 6.1333333333vw;
    width: 23.4666666667vw;
  }
}
@media screen and (min-width: 981px) {
  body.company #greeting .inner::after {
    top: max(-2.1794871795vw, -34px);
    right: max(-2.1794871795vw, -34px);
    width: min(11.9230769231vw, 186px);
  }
}
body.company #greeting .greeting__head {
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #0c0c0c;
}
@media screen and (max-width: 980px) {
  body.company #greeting .greeting__head {
    font-size: 6.4vw;
    margin-bottom: 4vw;
  }
}
@media screen and (min-width: 981px) {
  body.company #greeting .greeting__head {
    font-size: min(1.6666666667vw, 26px);
    margin-bottom: min(0.8974358974vw, 14px);
  }
}
body.company #greeting .greeting__body {
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 2;
}
@media screen and (max-width: 980px) {
  body.company #greeting .greeting__body {
    font-size: 3.7333333333vw;
    margin-bottom: 9.6vw;
  }
}
@media screen and (min-width: 981px) {
  body.company #greeting .greeting__body {
    font-size: min(1.0256410256vw, 16px);
    margin-bottom: min(1.6666666667vw, 26px);
  }
}
body.company #greeting .greeting__foot {
  width: -moz-max-content;
  width: max-content;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.77;
  text-align: right;
  margin-left: auto;
  margin-right: 0;
}
@media screen and (max-width: 980px) {
  body.company #greeting .greeting__foot {
    font-size: 4.2666666667vw;
    line-height: 1.3;
  }
}
@media screen and (min-width: 981px) {
  body.company #greeting .greeting__foot {
    font-size: min(1.1538461538vw, 18px);
  }
}
body.company .content__section {
  position: relative;
  max-width: 1560px;
}
@media screen and (min-width: 981px) {
  body.company .content__section {
    padding-right: min(6.4102564103vw, 100px);
    padding-bottom: min(3.2820512821vw, 176px);
  }
}
body.company .content__section::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(#f5f5f5 0%, rgba(245, 245, 245, 0.58) 84.73%, rgba(245, 245, 245, 0) 100%);
}
@media screen and (max-width: 980px) {
  body.company .content__section::before {
    width: 9.6vw;
  }
}
@media screen and (min-width: 981px) {
  body.company .content__section::before {
    width: min(23.0769230769vw, 360px);
  }
}
body.company .content__section .inner {
  background-color: #fff;
  container-type: inline-size;
  position: relative;
}
@media screen and (max-width: 980px) {
  body.company .content__section .inner {
    width: 100vw;
    margin-left: auto;
    margin-right: auto;
    border-radius: 4.2666666667vw;
    padding: 6.4vw 6.6666666667vw 7.4666666667vw;
    background: #fff;
    box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.16);
  }
}
@media screen and (min-width: 981px) {
  body.company .content__section .inner {
    max-width: 1460px;
    box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.16);
    border-radius: min(1.3461538462vw, 21px);
    margin-left: min(10.8333333333vw, 325px);
    padding-top: min(1.5769230769vw, 87px);
    padding-bottom: min(3.9615384615vw, 93px);
    padding-left: min(8.6538461538vw, 135px);
    padding-right: min(6.9871794872vw, 109px);
  }
}
@media screen and (min-width: 981px) {
  body.company .content__section:nth-of-type(even) {
    margin-left: auto;
    margin-right: 0;
    padding-left: min(6.4102564103vw, 100px);
    padding-right: 0;
  }
}
body.company .content__section:nth-of-type(even)::before {
  left: unset;
  right: 0;
}
@media screen and (min-width: 981px) {
  body.company .content__section:nth-of-type(even) .inner {
    margin-left: auto;
    margin-right: min(10.8333333333vw, 325px);
  }
}
body.company .content__section:nth-of-type(even) .section__head {
  align-items: end;
}
@media screen and (max-width: 980px) {
  body.company .content__section:nth-of-type(even) .section__head {
    border-radius: 1.8666666667vw 0px 0px 1.8666666667vw;
    margin-left: 6.1333333333vw;
    margin-right: 0;
    padding-right: 9.6vw;
    padding-left: 0;
  }
}
@media screen and (min-width: 981px) {
  body.company .content__section:nth-of-type(even) .section__head {
    border-radius: min(0.8333333333vw, 16px) 0px 0px min(0.8333333333vw, 16px);
    padding-left: unset;
    padding-right: min(23.0769230769vw, 360px);
  }
}
@media screen and (max-width: 980px) {
  body.company .content__section:nth-of-type(even) .section__head .head__sub {
    text-align: right;
  }
}
@media screen and (min-width: 981px) {
  body.company .content__section:nth-of-type(even) .section__head .head__sub {
    padding-right: unset;
    padding-left: min(6.4102564103vw, 100px);
  }
}
body.company .content__section:nth-of-type(even) .section__head .head__sub::after {
  right: unset;
  left: 0;
}
@media screen and (max-width: 980px) {
  body.company .content__section:nth-of-type(even) .section__head .head__sub::after {
    left: 3.4666666667vw;
  }
}

/* 組合員ブロック（開始）　*/
body.company .member_content__section {
  position: relative;
  max-width: 1560px;
}
@media screen and (min-width: 981px) {
  body.company .member_content__section {
    padding-right: min(6.4102564103vw, 100px);
    padding-bottom: min(3.2820512821vw, 176px);
  }
}
body.company .member_content__section::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(#f5f5f5 0%, rgba(245, 245, 245, 0.58) 84.73%, rgba(245, 245, 245, 0) 100%);
}
@media screen and (max-width: 980px) {
  body.company .member_content__section::before {
    width: 9.6vw;
  }
}
@media screen and (min-width: 981px) {
  body.company .member_content__section::before {
    width: min(23.0769230769vw, 360px);
  }
}
body.company .member_content__section .inner {
  background-color: #fff;
  container-type: inline-size;
  position: relative;
}
@media screen and (max-width: 980px) {
  body.company .member_content__section .inner {
    width: 100vw;
    margin-left: auto;
    margin-right: auto;
    border-radius: 4.2666666667vw;
    padding: 6.4vw 6.6666666667vw 7.4666666667vw;
    background: #fff;
    box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.16);
  }
}
@media screen and (min-width: 981px) {
  body.company .member_content__section .inner {
    max-width: 1460px;
    box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.16);
    border-radius: min(1.3461538462vw, 21px);
    margin-left: min(10.8333333333vw, 325px);
    padding-top: min(1.5769230769vw, 87px);
    padding-bottom: min(3.9615384615vw, 93px);
    padding-left: min(3.0538461538vw, 135px);
    padding-right: min(7.9871794872vw, 109px);
  }
}
@media screen and (min-width: 981px) {
  body.company .member_content__section:nth-of-type(even) {
    margin-left: auto;
    margin-right: 0;
    padding-left: min(6.4102564103vw, 100px);
    padding-right: 0;
  }
}
body.company .member_content__section:nth-of-type(even)::before {
  left: unset;
  right: 0;
}
@media screen and (min-width: 981px) {
  body.company .member_content__section:nth-of-type(even) .inner {
    margin-left: auto;
    margin-right: min(10.8333333333vw, 325px);
  }
}
body.company .member_content__section:nth-of-type(even) .section__head {
  align-items: end;
}
@media screen and (max-width: 980px) {
  body.company .member_content__section:nth-of-type(even) .section__head {
    border-radius: 1.8666666667vw 0px 0px 1.8666666667vw;
    margin-left: 6.1333333333vw;
    margin-right: 0;
    padding-right: 9.6vw;
    padding-left: 0;
  }
}
@media screen and (min-width: 981px) {
  body.company .member_content__section:nth-of-type(even) .section__head {
    border-radius: min(0.8333333333vw, 16px) 0px 0px min(0.8333333333vw, 16px);
    padding-left: unset;
    padding-right: min(23.0769230769vw, 360px);
  }
}
@media screen and (max-width: 980px) {
  body.company .member_content__section:nth-of-type(even) .section__head .head__sub {
    text-align: right;
  }
}
@media screen and (min-width: 981px) {
  body.company .member_content__section:nth-of-type(even) .section__head .head__sub {
    padding-right: unset;
    padding-left: min(6.4102564103vw, 100px);
  }
}
body.company .member_content__section:nth-of-type(even) .section__head .head__sub::after {
  right: unset;
  left: 0;
}
@media screen and (max-width: 980px) {
  body.company .member_content__section:nth-of-type(even) .section__head .head__sub::after {
    left: 3.4666666667vw;
  }
}

/* 組合員ブロック（終了）　*/

@media screen and (max-width: 980px) {
  body.company #information {
    padding-bottom: 16vw;
  }
}
@media screen and (max-width: 980px) {
  body.company #member {
    padding-bottom: 16vw;
  }
}
@media screen and (max-width: 980px) {
  body.company #location {
    padding-bottom: 16vw;
  }
}
@media screen and (min-width: 981px) {
  body.company #location .inner {
    padding: min(4.6794871795vw, 73px) min(3.8461538462vw, 60px);
  }
}
@media screen and (min-width: 981px) {
  body.company #location .location__body {
    margin-bottom: min(2.6923076923vw, 42px);
  }
}
body.company #location .location__info {
  display: flex;
}
@media screen and (max-width: 980px) {
  body.company #location .location__info {
    flex-direction: column;
  }
}
@media screen and (min-width: 981px) {
  body.company #location .location__info {
    flex-direction: row-reverse;
    align-items: flex-end;
    gap: min(3.2692307692vw, 51px);
  }
}
@media screen and (max-width: 980px) {
  body.company #location .location__info .info__img {
    order: 2;
    margin-bottom: 5.3333333333vw;
  }
}
@media screen and (min-width: 981px) {
  body.company #location .location__info .info__img {
    width: min(32.0512820513vw, 500px);
  }
}
@media screen and (max-width: 980px) {
  body.company #location .location__info .info__txt {
    order: 1;
    margin-bottom: 4vw;
  }
}
body.company #location .location__info .info__body {
  letter-spacing: 0.05em;
  line-height: 1.16;
  font-weight: 400;
  text-align: right;
}
@media screen and (max-width: 980px) {
  body.company #location .location__info .info__body {
    font-size: 3.7333333333vw;
    line-height: 1.57;
  }
}
@media screen and (min-width: 981px) {
  body.company #location .location__info .info__body {
    font-size: 2.2cqw;
  }
}
body.company #location .location__info .info__body address {
  font-weight: 400;
}
@media screen and (min-width: 981px) {
  body.company #location .location__info .info__body address {
    margin-bottom: 0.5cqw;
    line-height: 1.3;
  }
}
body.company #location .company__map iframe {
  aspect-ratio: 1000/227;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 980px) {
  body.company #location .company__map iframe {
    aspect-ratio: 280/163;
  }
}
@media screen and (max-width: 980px) {
  body.company #history {
    padding-bottom: 13.6vw;
  }
}
body.company #history .inner {
  background: transparent;
  box-shadow: unset;
  padding-right: 0;
  padding-bottom: 0;
}
@media screen and (max-width: 980px) {
  body.company #history .inner {
    padding-left: 0;
    padding-right: 0;
  }
}
@media screen and (min-width: 981px) {
  body.company #history .inner {
    padding-top: min(2.1794871795vw, 34px);
  }
}
body.company #history .history__item {
  display: grid;
  margin: 0;
  position: relative;
}
body.company #history .history__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  aspect-ratio: 1/1;
  border-radius: 9999px;
  background-color: #0D1557;
}
@media screen and (max-width: 980px) {
  body.company #history .history__item::before {
    top: 0.8vw;
    left: 16vw;
    width: 2.6666666667vw;
  }
}
@media screen and (min-width: 981px) {
  body.company #history .history__item::before {
    top: min(1.7307692308vw, 27px);
    left: min(13.2051282051vw, 206px);
    width: min(0.9615384615vw, 15px);
  }
}
body.company #history .history__item::after {
  content: "";
  position: absolute;
  z-index: -1;
  display: block;
  width: 1px;
  background-color: #0D1557;
  height: 100%;
}
@media screen and (max-width: 980px) {
  body.company #history .history__item::after {
    top: 1.3333333333vw;
    left: 17.0666666667vw;
  }
}
@media screen and (min-width: 981px) {
  body.company #history .history__item::after {
    top: min(1.7307692308vw, 27px);
    left: min(13.6538461538vw, 213px);
  }
}
body.company #history .history__item:first-of-type .history__year::before {
  content: "";
  position: absolute;
  z-index: -1;
  display: block;
  background-color: #0D1557;
}
@media screen and (max-width: 980px) {
  body.company #history .history__item:first-of-type .history__year::before {
    top: 2.1333333333vw;
    left: 12vw;
    width: 5.3333333333vw;
    height: 1px;
  }
}
@media screen and (min-width: 981px) {
  body.company #history .history__item:first-of-type .history__year::before {
    top: min(2.1794871795vw, 34px);
    left: min(10vw, 156px);
    width: min(3.5897435897vw, 56px);
    height: 1px;
  }
}
@media screen and (max-width: 980px) {
  body.company #history .history__item:not(:last-of-type) {
    padding-bottom: 8.8vw;
  }
}
@media screen and (min-width: 981px) {
  body.company #history .history__item:not(:last-of-type) {
    padding-bottom: min(5.9615384615vw, 93px);
  }
}
body.company #history .history__item:last-of-type {
  padding-bottom: 0;
}
body.company #history .history__year {
  flex-shrink: 0;
  letter-spacing: 0.05em;
  margin: 0;
  line-height: 1;
  position: relative;
  grid-column: 1;
  grid-row: 1;
}
@media screen and (max-width: 980px) {
  body.company #history .history__year {
    font-size: 3.7333333333vw;
    padding-right: 9.8666666667vw;
  }
}
@media screen and (min-width: 981px) {
  body.company #history .history__year {
    font-size: min(2.9487179487vw, 46px);
    padding-right: min(6.6025641026vw, 103px);
  }
}
body.company #history .history__year::before {
  content: "";
  position: absolute;
  z-index: -1;
  display: block;
  background-color: #0D1557;
}
@media screen and (max-width: 980px) {
  body.company #history .history__year::before {
    top: 2.1333333333vw;
    left: 12vw;
    width: 5.3333333333vw;
    height: 1px;
  }
}
@media screen and (min-width: 981px) {
  body.company #history .history__year::before {
    top: min(2.1794871795vw, 34px);
    left: min(10vw, 156px);
    width: min(3.5897435897vw, 56px);
    height: 1px;
  }
}
body.company #history .history__year span {
  font-weight: 400;
  background-color: #0D1557;
  color: #fff;
}
@media screen and (max-width: 980px) {
  body.company #history .history__year span {
    padding: 0.5333333333vw 2.6666666667vw;
    border-radius: 1.0666666667vw;
  }
}
@media screen and (min-width: 981px) {
  body.company #history .history__year span {
    display: flex;
    justify-content: center;
    align-items: center;
    width: min(10vw, 156px);
    height: min(4.358974359vw, 68px);
    border-radius: min(0.5769230769vw, 9px);
  }
}
body.company #history .history__month {
  margin: 0;
  color: #0F39C6;
  letter-spacing: 0.05em;
  font-weight: 700;
  grid-column: 2;
  grid-row: 1;
}
@media screen and (max-width: 980px) {
  body.company #history .history__month {
    font-size: 4.2666666667vw;
    margin-top: -1.3333333333vw;
    margin-bottom: 1.6vw;
  }
}
@media screen and (min-width: 981px) {
  body.company #history .history__month {
    padding-top: min(1.3461538462vw, 21px);
    gap: min(0.4487179487vw, 7px);
    font-size: min(1.1538461538vw, 18px);
    line-height: min(2.0512820513vw, 32px);
  }
}
body.company #history .history__detail {
  grid-column: 2;
  grid-row: 2;
  flex: 1;
  margin: 0;
  font-weight: 400;
  letter-spacing: 0.025em;
  line-height: 1.55;
}
@media screen and (max-width: 980px) {
  body.company #history .history__detail {
    font-size: 3.2vw;
  }
}
@media screen and (min-width: 981px) {
  body.company #history .history__detail {
    font-size: min(1.0256410256vw, 16px);
  }
}
body.company #history .history__img {
  margin: 0;
  grid-column: 2;
  grid-row: 3;
  display: flex;
}
@media screen and (max-width: 980px) {
  body.company #history .history__img {
    flex-direction: column;
    gap: 2.6666666667vw;
    margin-top: 3.2vw;
  }
}
@media screen and (min-width: 981px) {
  body.company #history .history__img {
    margin-top: min(1.7948717949vw, 28px);
    gap: min(0.641025641vw, 10px);
  }
}
@media screen and (min-width: 981px) {
  body.company #history .history__img img {
    width: min(10vw, 156px);
  }
}

body.contact {
  background-color: #F8F8F8;
}
body.contact #mv {
  margin-bottom: 0;
}
body.contact #mv img {
  width: 100%;
}
body.contact #contact {
  margin: 0;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 980px) {
  body.contact #contact {
    margin-top: -10.6666666667vw;
    margin-left: 6.1333333333vw;
    margin-right: 6.1333333333vw;
    margin-bottom: 13.3333333333vw;
  }
}
@media screen and (min-width: 981px) {
  body.contact #contact {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    margin-top: -11.9791666667vw;
    margin-bottom: 13.8020833333vw;
  }
}
body.contact #contact .inner {
  container-type: inline-size;
  background-color: #fff;
  box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.5);
}
@media screen and (max-width: 980px) {
  body.contact #contact .inner {
    border-radius: 3.2vw;
    padding-top: 15.7333333333vw;
    padding-bottom: 11.4666666667vw;
    padding-left: 6.6666666667vw;
    padding-right: 6.6666666667vw;
  }
}
@media screen and (min-width: 981px) {
  body.contact #contact .inner {
    border-radius: min(1vw, 12px);
    padding-top: min(9.3333333333vw, 112px);
    padding-bottom: min(11.25vw, 135px);
    padding-left: min(8.3333333333vw, 100px);
    padding-right: min(8.3333333333vw, 100px);
  }
}
body.contact .contact__head {
  width: -moz-max-content;
  width: max-content;
  margin-left: auto;
  margin-right: auto;
}
body.contact .section__head {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 980px) {
  body.contact .section__head {
    margin-bottom: 9.3333333333vw;
  }
}
@media screen and (min-width: 981px) {
  body.contact .section__head {
    margin-bottom: min(2.5833333333vw, 31px);
  }
}
body.contact .section__head .head__sub {
  font-weight: 700;
  letter-spacing: 0.05em;
  margin: 0;
}
@media screen and (max-width: 980px) {
  body.contact .section__head .head__sub {
    font-size: 11.2vw;
  }
}
@media screen and (min-width: 981px) {
  body.contact .section__head .head__sub {
    font-size: min(5.0833333333vw, 61px);
  }
}
body.contact .section__head .head__main {
  font-weight: 700;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 980px) {
  body.contact .section__head .head__main {
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 981px) {
  body.contact .section__head .head__main {
    font-size: min(1.5vw, 18px);
  }
}
body.contact .contact__lead {
  text-align: center;
  letter-spacing: 0.03em;
  line-height: 1.57;
  color: #4e4e4e;
}
@media screen and (max-width: 980px) {
  body.contact .contact__lead {
    font-size: 3.7333333333vw;
    font-weight: 400;
    letter-spacing: 0.03em;
    line-height: 1.7;
    text-align: center;
    margin-bottom: 8.5333333333vw;
  }
}
@media screen and (min-width: 981px) {
  body.contact .contact__lead {
    font-size: min(1.1666666667vw, 14px);
    font-weight: 500;
    margin-bottom: min(5.6666666667vw, 68px);
  }
}
body.contact .contact__lead img {
  height: auto;
}
@media screen and (max-width: 980px) {
  body.contact .contact__lead img {
    width: 18.1333333333vw;
    margin-bottom: 9.3333333333vw;
  }
}
@media screen and (min-width: 981px) {
  body.contact .contact__lead img {
    width: min(7.6666666667vw, 92px);
    margin-bottom: min(2.3333333333vw, 28px);
  }
}
body.contact .form__group {
  display: flex;
  align-items: flex-start;
  margin: 0;
}
@media screen and (max-width: 980px) {
  body.contact .form__group {
    flex-direction: column;
    padding-top: 4.8vw;
  }
}
@media screen and (min-width: 981px) {
  body.contact .form__group {
    padding-top: min(3.5vw, 42px);
    padding-bottom: min(3.5vw, 42px);
  }
}
body.contact .form__group dt {
  letter-spacing: 0.05em;
  color: #0D0F1F;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 980px) {
  body.contact .form__group dt {
    font-size: 4.8vw;
    font-weight: 500;
    line-height: 1;
    gap: 1.8666666667vw;
  }
}
@media screen and (min-width: 981px) {
  body.contact .form__group dt {
    width: min(26.3333333333vw, 316px);
    font-size: 16px;
    gap: min(2vw, 24px);
    padding-top: min(1vw, 12px);
    padding-left: min(3.3333333333vw, 40px);
  }
}
body.contact .form__group dt.required::before {
  content: "必須";
  background-image: url(../images/page-contact-required.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left center;
  white-space: nowrap;
  color: #DB2020;
  font-weight: 500;
}
@media screen and (max-width: 980px) {
  body.contact .form__group dt.required::before {
    flex-grow: 0;
    float: 1px;
    height: 5.0666666667vw;
    font-size: 2.4vw;
    letter-spacing: 0.4em;
    line-height: 5.0666666667vw;
    padding: 0 2.1333333333vw 0 1.8666666667vw;
  }
}
@media screen and (min-width: 981px) {
  body.contact .form__group dt.required::before {
    font-size: min(1vw, 12px);
    padding: min(0.25vw, 3px) min(1.5833333333vw, 19px) min(0.3333333333vw, 4px) min(0.6666666667vw, 8px);
  }
}
body.contact .form__group dt span {
  font-weight: 500;
}
@media screen and (max-width: 980px) {
  body.contact .form__group dt span {
    width: 100%;
    letter-spacing: 0.05em;
    line-height: 1;
  }
}
body.contact .form__group dd {
  font-weight: 500;
  flex: 1;
}
@media screen and (max-width: 980px) {
  body.contact .form__group dd {
    margin-left: 0;
    width: 100%;
    margin-top: 2.1333333333vw;
  }
}
@media screen and (min-width: 981px) {
  body.contact .form__group dd {
    font-size: 18px;
    color: #232729;
    padding-right: min(7.5vw, 90px);
  }
}
body.contact .form__group input[type=text],
body.contact .form__group textarea {
  background-color: #F0F0F0;
  border: none;
  box-sizing: border-box;
  width: 100%;
}
@media screen and (max-width: 980px) {
  body.contact .form__group input[type=text],
  body.contact .form__group textarea {
    padding: 2.9333333333vw;
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 981px) {
  body.contact .form__group input[type=text],
  body.contact .form__group textarea {
    padding: min(1vw, 12px);
    font-size: min(1.3333333333vw, 16px);
  }
}
@media screen and (max-width: 980px) {
  body.contact .form__group textarea {
    height: 38.4vw;
  }
}
@media screen and (min-width: 981px) {
  body.contact .form__group textarea {
    height: 200px;
  }
}
body.contact .form__group .items {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 4vw;
}
@media screen and (max-width: 980px) {
  body.contact .form__group .items {
    width: -moz-max-content;
    width: max-content;
    margin-left: auto;
    margin-right: auto;
    flex-direction: column;
    align-items: unset;
    gap: 3.2vw;
    margin-top: 8vw;
  }
}
@media screen and (min-width: 981px) {
  body.contact .form__group .items {
    gap: 0 min(6.5vw, 78px);
    padding-top: 10px;
  }
}
body.contact .form__group label {
  display: inline-flex;
  align-items: center;
  gap: 1.3333333333vw;
  font-weight: 800;
}
@media screen and (min-width: 981px) {
  body.contact .form__group label {
    gap: min(0.5vw, 6px);
    font-size: min(1.5vw, 18px);
  }
}
body.contact .form__group input[type=radio] {
  position: relative;
  background: #f0f0f0;
  border: 1px solid #00449E;
  border-radius: 50%;
  vertical-align: -2px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 4.8vw;
  height: 4.8vw;
  margin: 0;
}
@media screen and (min-width: 981px) {
  body.contact .form__group input[type=radio] {
    width: min(1.5vw, 18px);
    height: min(1.5vw, 18px);
    margin-right: min(0.5vw, 6px);
  }
}
body.contact .form__group input[type=radio]:checked:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #00449E;
  content: "";
  width: 3.2vw;
  height: 3.2vw;
}
@media screen and (min-width: 981px) {
  body.contact .form__group input[type=radio]:checked:before {
    width: min(0.6666666667vw, 8px);
    height: min(0.6666666667vw, 8px);
  }
}
body.contact .submit__wrap {
  text-align: center;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 980px) {
  body.contact .submit__wrap {
    flex-direction: column;
    gap: 8vw;
    margin-top: 12.2666666667vw;
  }
}
@media screen and (min-width: 981px) {
  body.contact .submit__wrap {
    gap: min(5vw, 60px);
    margin-top: min(7.5vw, 90px);
  }
}
body.contact .submit__btn,
body.contact .modify__btn {
  position: relative;
  background: #fff;
  border: 1px solid #0F39C6;
  text-align: center;
  border-radius: 9999px;
  color: #0F39C6;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 980px) {
  body.contact .submit__btn,
  body.contact .modify__btn {
    width: 100%;
    background-color: #00449E;
    color: #fff;
    min-height: 17.3333333333vw;
  }
}
@media screen and (min-width: 981px) {
  body.contact .submit__btn,
  body.contact .modify__btn {
    width: min(23.3333333333vw, 544px);
    height: min(5.5vw, 124px);
    transition: 0.2s;
  }
  body.contact .submit__btn:hover,
  body.contact .modify__btn:hover {
    background-color: #0F39C6;
    color: #fff;
  }
  body.contact .submit__btn:hover::before,
  body.contact .modify__btn:hover::before {
    border-color: #fff;
  }
}
body.contact .submit__btn::before,
body.contact .modify__btn::before {
  content: "";
  position: absolute;
  pointer-events: none;
  border: 1px solid #0F39C6;
  border-radius: 9999px;
}
@media screen and (max-width: 980px) {
  body.contact .submit__btn::before,
  body.contact .modify__btn::before {
    inset: 0.8vw;
    border-color: #fff;
  }
}
@media screen and (min-width: 981px) {
  body.contact .submit__btn::before,
  body.contact .modify__btn::before {
    inset: min(0.6666666667vw, 8px);
  }
}
body.contact .submit__btn .label,
body.contact .modify__btn .label {
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 980px) {
  body.contact .submit__btn .label,
  body.contact .modify__btn .label {
    font-size: 4.8vw;
  }
}
@media screen and (min-width: 981px) {
  body.contact .submit__btn .label,
  body.contact .modify__btn .label {
    font-size: min(2vw, 24px);
  }
}
body.contact .error {
  font-weight: 700;
  color: #DB2020;
}
body.contact .note {
  text-align: center;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
@media screen and (max-width: 980px) {
  body.contact .note {
    margin-top: 14.1333333333vw;
    font-size: 3.2vw;
  }
}
@media screen and (min-width: 981px) {
  body.contact .note {
    margin-top: min(3.8333333333vw, 46px);
    font-size: min(1vw, 12px);
  }
}