@charset "utf-8";
@font-face {
  font-family: swiper-icons;
  font-style: normal;
  font-weight: 400;
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA")
}

:root {
  --swiper-theme-color: #007aff
}

.swiper {
  list-style: none;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
  padding: 0;
  position: relative;
  z-index: 1
}

.swiper-vertical>.swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column
}

.swiper-wrapper {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  display: -webkit-box;
  display: flex;
  height: 100%;
  position: relative;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  width: 100%;
  z-index: 1
}

.swiper-android .swiper-slide, .swiper-wrapper {
  -webkit-transform: translateZ(0);
  transform: translateZ(0)
}

.swiper-pointer-events {
  touch-action: pan-y
}

.swiper-pointer-events.swiper-vertical {
  touch-action: pan-x
}

.swiper-slide {
  flex-shrink: 0;
  height: 100%;
  position: relative;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  width: 100%
}

.swiper-slide-invisible-blank {
  visibility: hidden
}

.swiper-autoheight, .swiper-autoheight .swiper-slide {
  height: auto
}

.swiper-autoheight .swiper-wrapper {
  -webkit-box-align: start;
  align-items: flex-start;
  -webkit-transition-property: height, -webkit-transform;
  transition-property: height, -webkit-transform;
  -o-transition-property: transform, height;
  transition-property: transform, height;
  transition-property: transform, height, -webkit-transform
}

.swiper-backface-hidden .swiper-slide {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  transform: translateZ(0)
}

.swiper-3d, .swiper-3d.swiper-css-mode .swiper-wrapper {
  -webkit-perspective: 1200px;
  perspective: 1200px
}

.swiper-3d .swiper-cube-shadow, .swiper-3d .swiper-slide, .swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top, .swiper-3d .swiper-wrapper {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d
}

.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top {
  height: 100%;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 10
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, .15)
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, .5)), to(transparent));
  background-image: -o-linear-gradient(right, rgba(0, 0, 0, .5), transparent);
  background-image: linear-gradient(270deg, rgba(0, 0, 0, .5), transparent)
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(transparent));
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5), transparent);
  background-image: linear-gradient(90deg, rgba(0, 0, 0, .5), transparent)
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, .5)), to(transparent));
  background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, .5), transparent);
  background-image: linear-gradient(0deg, rgba(0, 0, 0, .5), transparent)
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, .5)), to(transparent));
  background-image: -o-linear-gradient(top, rgba(0, 0, 0, .5), transparent);
  background-image: linear-gradient(180deg, rgba(0, 0, 0, .5), transparent)
}

.swiper-css-mode>.swiper-wrapper {
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch;
  overflow: auto;
  scrollbar-width: none
}

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
  display: none
}

.swiper-css-mode>.swiper-wrapper>.swiper-slide {
  scroll-snap-align: start start
}

.swiper-horizontal.swiper-css-mode>.swiper-wrapper {
  scroll-snap-type: x mandatory
}

.swiper-vertical.swiper-css-mode>.swiper-wrapper {
  scroll-snap-type: y mandatory
}

.swiper-centered>.swiper-wrapper:before {
  -webkit-box-ordinal-group: 10000;
  content: "";
  flex-shrink: 0;
  order: 9999
}

.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
  -webkit-margin-start: var(--swiper-centered-offset-before);
  margin-inline-start: var(--swiper-centered-offset-before)
}

.swiper-centered.swiper-horizontal>.swiper-wrapper:before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after)
}

.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
  -webkit-margin-before: var(--swiper-centered-offset-before);
  margin-block-start: var(--swiper-centered-offset-before)
}

.swiper-centered.swiper-vertical>.swiper-wrapper:before {
  height: var(--swiper-centered-offset-after);
  min-width: 1px;
  width: 100%
}

.swiper-centered>.swiper-wrapper>.swiper-slide {
  scroll-snap-align: center center
}

.mv__slide-list-item {
  -webkit-transition: opacity 1s ease;
  -o-transition: opacity 1s ease;
  transition: opacity 1s ease;
  will-change: opacity
}

.hover-elem {
  cursor: pointer
}

@media (min-width:769px), print {
  .hover-indicator {
    -webkit-box-align: center;
    -webkit-box-pack: center;
    align-items: center;
    background-color: #323232;
    border-radius: 50%;
    color: #fff;
    display: -webkit-box;
    display: flex;
    height: 150px;
    justify-content: center;
    left: 0;
    margin-left: -75px;
    margin-top: -75px;
    pointer-events: none;
    position: fixed;
    top: 0;
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-transition: -webkit-transform .3s ease;
    transition: -webkit-transform .3s ease;
    -o-transition: transform .3s ease;
    transition: transform .3s ease;
    transition: transform .3s ease, -webkit-transform .3s ease;
    width: 150px;
    will-change: transform;
    z-index: 2000
  }
  .hover-indicator.active {
    -webkit-transform: scale(1);
    transform: scale(1)
  }
  .content__inner {
    margin: 0 auto;
    position: relative;
    width: 1200px
  }
  .header {
    display: none!important
  }
  .mv {
    aspect-ratio: 1500/800;
    background-color: #fafafa;
    position: relative;
    width: 100%
  }
  .mv .swiper-slide img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
  }
  .mv__row {
    display: -webkit-box;
    display: flex;
    height: 100%
  }
  .mv__column {
    position: relative
  }
  .mv__column--left {
    -webkit-box-align: center;
    -webkit-box-pack: center;
    align-items: center;
    display: -webkit-box;
    display: flex;
    flex-shrink: 0;
    height: 100%;
    justify-content: center;
    width: calc(var(--vw)*36.66667)
  }
  .mv__column--right {
    width: calc(100% - var(--vw)*36.66667)
  }
  .mv__navigation {
    border-bottom: 1px solid #ccc;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    height: 84px;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
  }
  .mv__navigation-list {
    -webkit-box-align: center;
    -webkit-box-pack: center;
    align-items: center;
    display: -webkit-box;
    display: flex;
    font-size: 1rem;
    font-weight: 500;
    gap: 25px;
    height: 84px;
    justify-content: center
  }
  .mv__logo {
    margin: 0 auto 20px;
    width: calc(var(--vw)*28.4)
  }
  .mv__catch {
    font-size: calc(var(--vw)*2.53333);
    font-weight: 700;
    line-height: 1.377;
    text-align: center
  }
  .mv__instagram {
    bottom: 40px;
    left: 40px;
    position: absolute;
    width: calc(100% - 80px)
  }
  .mv__instagram a {
    -webkit-box-align: center;
    -webkit-box-pack: start;
    align-items: center;
    background-color: #176cd4;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #fff;
    display: -webkit-box;
    display: flex;
    font-size: 1rem;
    font-weight: 500;
    gap: 10px;
    height: 50px;
    justify-content: flex-start;
    padding-left: 20px;
    position: relative;
    width: 100%
  }
  .mv__instagram a:before {
    background-color: #323232
  }
  .mv__instagram a .icon {
    position: relative;
    width: 24px
  }
  .mv__instagram a .arrow {
    -webkit-box-align: center;
    -webkit-box-pack: center;
    align-items: center;
    border-left: 1px solid hsla(0, 0%, 100%, .1);
    display: -webkit-box;
    display: flex;
    flex-shrink: 0;
    height: 50px;
    justify-content: center;
    position: absolute;
    right: 0;
    top: 0;
    width: 50px
  }
  .mv__instagram a .arrow img {
    width: 10px
  }
  .mv__tel {
    display: -webkit-box;
    display: flex;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 2
  }
  .mv__tel-column--left>span {
    -webkit-box-align: center;
    -webkit-box-pack: center;
    align-items: center;
    background-color: #fff;
    display: -webkit-box;
    display: flex;
    gap: 10px;
    height: 84px;
    justify-content: center;
    padding: 0 25px
  }
  .mv__tel-column--left>span img {
    width: 42px
  }
  .mv__tel-column--left>span span {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-box-align: center;
    align-items: center;
    display: -webkit-box;
    display: flex;
    flex-direction: column;
    font-size: 1.625rem;
    font-weight: 700;
    line-height: 1;
    text-align: center
  }
  .mv__tel-column--left>span span small {
    font-size: .75rem;
    font-weight: 500;
    margin-top: 10px
  }
  .mv__tel-column--right a {
    -webkit-box-align: center;
    -webkit-box-pack: center;
    align-items: center;
    background-color: #176cd4;
    display: -webkit-box;
    display: flex;
    font-size: 0;
    height: 84px;
    justify-content: center;
    width: 84px
  }
  .mv__tel-column--right a img {
    width: 30px
  }
  .mv__slide {
    height: 100%;
    overflow: hidden;
    position: relative
  }
  .mv__slide-navigation {
    -webkit-box-align: center;
    align-items: center;
    bottom: 20px;
    display: -webkit-box;
    display: flex;
    gap: 30px;
    position: absolute;
    right: 20px;
    z-index: 2
  }
  .mv__slide-navigation-bullets {
    display: -webkit-box;
    display: flex;
    gap: 10px
  }
  .mv__slide-navigation-bullets span {
    background-color: #fff;
    border-radius: 50%;
    cursor: pointer;
    display: block;
    height: 8px;
    width: 8px
  }
  .mv__slide-navigation-bullets span.swiper-pagination-bullet-active {
    background-color: #176cd4
  }
  .mv__slide-navigation-count {
    color: #fff;
    font-size: 1.25rem;
    font-weight: 500
  }
  .util__caption {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    display: -webkit-box;
    display: flex;
    flex-direction: column;
    gap: 15px;
    letter-spacing: .03em;
    margin-bottom: 50px;
    position: relative
  }
  .util__caption--center {
    -webkit-box-align: center;
    align-items: center
  }
  .util__caption span {
    font-size: 3rem;
    font-weight: 500;
    line-height: 1.3;
    position: relative
  }
  .util__caption small {
    color: #176cd4;
    font-size: 1.125rem;
    font-weight: 700;
    position: relative
  }
  .works {
    padding-bottom: 120px;
    padding-top: 180px;
    position: relative
  }
  .works:before {
    background-color: #fafafa;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 87%
  }
  .works__caption img {
    left: -100px;
    position: absolute;
    top: -128px;
    width: 600px
  }
  .works__row {
    display: -webkit-box;
    display: flex;
    gap: 55px;
    position: relative
  }
  .works__column--left {
    flex-shrink: 0;
    width: 340px
  }
  .works__column--right {
    position: relative
  }
  .works__description {
    font-size: 1rem;
    font-weight: 500;
    line-height: 2
  }
  .works__list {
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    gap: 50px 40px
  }
  .works__list-item {
    width: calc(50% - 20px)
  }
  .works__list-item-figure {
    margin-bottom: 20px;
    position: relative
  }
  .works__list-item-figure figcaption {
    -webkit-box-align: center;
    -webkit-box-pack: center;
    align-items: center;
    background-color: #176cd4;
    bottom: 0;
    color: #fff;
    display: -webkit-inline-box;
    display: inline-flex;
    font-size: .875rem;
    height: 32px;
    justify-content: center;
    left: 0;
    padding: 0 1em;
    position: absolute
  }
  .works__list-item-figure figcaption.category2 {
    background-color: #034595
  }
  .works__list-item-place {
    color: #176cd4;
    font-size: 1rem;
    font-weight: 500;
    margin-bottom: 5px
  }
  .works__list-item-title {
    font-size: 1rem;
    font-weight: 500
  }
  .facilities {
    padding-bottom: 120px;
    padding-top: 180px
  }
  .facilities__heading {
    -webkit-box-pack: justify;
    -webkit-box-align: end;
    align-items: flex-end;
    display: -webkit-box;
    display: flex;
    justify-content: space-between
  }
  .facilities__navigation {
    -webkit-box-align: center;
    align-items: center;
    display: -webkit-box;
    display: flex;
    gap: 30px;
    padding-bottom: 60px
  }
  .facilities__navigation-current, .facilities__navigation-max {
    font-size: 1rem;
    font-weight: 500
  }
  .facilities__navigation-progress {
    background-color: #ccc;
    height: 1px;
    position: relative;
    width: 224px
  }
  .facilities__navigation-progress span {
    background-color: currentColor;
    height: 1px;
    left: 0;
    position: absolute;
    top: 0;
    -webkit-transition: width .3s ease;
    -o-transition: width .3s ease;
    transition: width .3s ease;
    width: 50%;
    will-change: width
  }
  .facilities__caption img {
    left: -82px;
    position: absolute;
    top: -100px;
    width: 634px
  }
  .facilities__list-item {
    width: 570px
  }
  .facilities__list-item-figure {
    margin-bottom: 40px
  }
  .facilities__list-item-definition-list-term {
    color: #176cd4;
    font-size: 1.5rem;
    font-weight: 500;
    letter-spacing: .05em;
    margin-bottom: 20px
  }
  .facilities__list-item-definition-list-description {
    font-size: 1rem;
    font-weight: 500;
    line-height: 2
  }
  .about {
    background-color: #fafafa;
    padding-bottom: 120px;
    padding-top: 180px
  }
  .about__caption img {
    left: 50%;
    position: absolute;
    top: -98px;
    translate: -50% 0;
    width: 843px
  }
  .about__greeting {
    display: -webkit-box;
    display: flex;
    gap: 60px;
    margin-bottom: 80px
  }
  .about__greeting-figure {
    flex-shrink: 0;
    width: 570px
  }
  .about__greeting-caption {
    font-size: 2rem;
    font-weight: 500;
    margin-bottom: 40px;
	font-family: "リュウミン R-KL";
	text-align: center;
  }
  .about__greeting-text {
    font-size: 1rem;
    font-weight: 500;
    line-height: 2
  }
  .about__greeting-text:nth-of-type(n+2) {
    margin-top: 1.5em
  }
  .about__greeting-signature {
    -webkit-box-pack: end;
    -webkit-box-align: center;
    align-items: center;
    display: -webkit-box;
    display: flex;
    gap: 30px;
    justify-content: flex-end;
    margin-top: 60px
  }
  .about__greeting-signature small {
    font-size: 1rem;
    font-weight: 500
  }
  .about__greeting-signature span {
    font-family: YuMincho, Yu Mincho, serif;
    font-size: 2.375rem;
    font-weight: 600
  }
  .about__company {
    background-color: #fff;
    margin-bottom: 80px;
    padding: 80px 100px
  }
  .about__company-caption {
    color: #176cd4;
    font-size: 2.25rem;
    font-weight: 500;
    letter-spacing: .05em;
    margin-bottom: 60px;
    text-align: center
  }
  .about__company-table {
    border-spacing: 30px;
    width: 100%
  }
  .about__company-table th {
    border-bottom: 1px solid #176cd4;
    color: #176cd4;
    font-weight: 700
  }
  .about__company-table td {
    border-bottom: 1px solid #ccc;
    font-weight: 500
  }
  .about__company-table td, .about__company-table th {
    font-size: 1rem;
    padding: 0 15px 20px;
    vertical-align: top
  }
  .about__company-list {
    line-height: 2
  }
  .about__company-list-item {
    display: -webkit-box;
    display: flex
  }
  .about__company-list-item:before {
    content: "・"
  }
  .about__company-notice {
    color: #9c9c9c;
    font-size: .875rem;
    font-weight: 500;
    margin: 1em 0
  }
  .about__map {
    aspect-ratio: 1200/600;
    border: 8px solid #fff;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%
  }
  .about__map iframe {
    height: 100%;
    width: 100%
  }
  .decoration {
    aspect-ratio: 1500/540;
    overflow: hidden;
    position: relative;
    width: 100%
  }
  .decoration div {
    height: 120%;
    width: 100%
  }
  .decoration img {
    height: 100%;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%
  }
  .recruit {
    padding-bottom: 120px;
    padding-top: 180px
  }
  .recruit__caption img {
    left: 50%;
    position: absolute;
    top: -86px;
    translate: -50% 0;
    width: 640px
  }
  .recruit #recruit-radio-1:checked~.recruit__navigation .recruit__navigation-list-item:first-of-type {
    color: #176cd4
  }
  .recruit #recruit-radio-1:checked~.recruit__content--1 {
    display: block
  }
  .recruit #recruit-radio-2:checked~.recruit__navigation .recruit__navigation-list-item:nth-of-type(2) {
    color: #176cd4
  }
  .recruit #recruit-radio-2:checked~.recruit__content--2 {
    display: block
  }
  .recruit .recruit__content {
    background-color: #fafafa;
    display: none;
    padding: 100px
  }
  .recruit__navigation {
    margin-bottom: 60px
  }
  .recruit__navigation-list {
    -webkit-box-pack: center;
    -webkit-box-align: center;
    align-items: center;
    display: -webkit-box;
    display: flex;
    gap: 30px;
    justify-content: center
  }
  .recruit__navigation-list-item {
    color: #ccc
  }
  .recruit__navigation-list-item label {
    -webkit-box-align: center;
    -webkit-box-pack: center;
    align-items: center;
    border-bottom: 2px solid;
    cursor: pointer;
    display: -webkit-inline-box;
    display: inline-flex;
    font-size: 1.5rem;
    font-weight: 700;
    height: 64px;
    justify-content: center;
    width: 240px
  }
  .recruit__navigation-list-item label span {
    -webkit-box-align: center;
    align-items: center;
    display: -webkit-inline-box;
    display: inline-flex;
    gap: 20px
  }
  .recruit__navigation-list-item label span:after {
    border-bottom: 2px solid;
    border-right: 2px solid;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    content: "";
    display: inline-block;
    height: 11px;
    position: relative;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: center;
    transform-origin: center;
    width: 11px
  }
  .recruit__table {
    border-spacing: 30px;
    font-size: 1rem;
    line-height: 2;
    width: 100%
  }
  .recruit__table th {
    border-bottom: 1px solid #176cd4;
    color: #176cd4;
    font-weight: 700
  }
  .recruit__table td {
    border-bottom: 1px solid #ccc;
    font-weight: 500
  }
  .recruit__table td, .recruit__table th {
    padding: 0 20px 20px;
    vertical-align: top
  }
  .contact {
    background-image: url(../images/index/bg_contact.jpg?v99453dd5d97bac0c707a54b2d5e20b21);
    background-repeat: no-repeat;
    background-size: cover;
    padding-bottom: 120px;
    padding-top: 180px
  }
  .contact__caption img {
    left: 50%;
    position: absolute;
    top: -90px;
    translate: -50% 0;
    width: 728px
  }
  .contact__row {
    display: -webkit-box;
    display: flex;
    gap: 40px
  }
  .contact__column {
    border: 8px solid #fff;
    width: calc(50% - 20px)
  }
  .contact__column a, .contact__column>span {
    -webkit-box-align: center;
    -webkit-box-pack: center;
    align-items: center;
    display: -webkit-box;
    display: flex;
    gap: 20px;
    height: 140px;
    justify-content: center;
    width: 100%
  }
  .contact__column a img, .contact__column>span img {
    width: 50px
  }
  .contact__column a span, .contact__column>span span {
    font-size: 1.75rem;
    font-weight: 700
  }
  .contact__column a span.row, .contact__column>span span.row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-box-align: center;
    align-items: center;
    display: -webkit-box;
    display: flex;
    flex-direction: column;
    font-size: 2.625rem
  }
  .contact__column a span.row small, .contact__column>span span.row small {
    font-size: .875rem;
    font-weight: 500
  }
  .contact__column a {
    position: relative
  }
  .contact__column a:after {
    border-bottom: 3px solid #176cd4;
    border-right: 3px solid #176cd4;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    content: "";
    display: inline-block;
    height: 14px;
    position: relative;
    position: absolute;
    right: 40px;
    top: 50%;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transform-origin: center;
    transform-origin: center;
    translate: 0 -50%;
    width: 14px
  }
  .modal {
    -webkit-box-align: center;
    -webkit-box-pack: center;
    align-items: center;
    display: -webkit-box;
    display: flex;
    height: 100%;
    justify-content: center;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 9999
  }
  .modal__bg {
    background-color: rgba(0, 0, 0, .7);
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
  }
  .modal__window {
    position: relative;
    width: 1200px
  }
  .modal__close {
    background-color: #176cd4;
    color: #fff;
    cursor: pointer;
    height: 40px;
    position: relative;
    position: absolute;
    right: 0;
    top: -50px;
    width: 40px
  }
  .modal__close:after, .modal__close:before {
    background-color: currentColor;
    content: "";
    display: block;
    height: 2px;
    left: 50%;
    margin-left: -15px;
    margin-top: -1px;
    position: absolute;
    top: 50%;
    width: 30px
  }
  .modal__close:before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
  }
  .modal__close:after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
  }
  .modal_slide {
    flex-shrink: 0;
    overflow: hidden;
    position: relative;
    width: 800px
  }
  .modal_slide__list-item {
    aspect-ratio: 800/533;
    width: 800px
  }
  .modal_slide__list-item img {
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    width: 100%
  }
  .modal_slide__prev {
    cursor: pointer;
    left: 20px;
    position: absolute;
    scale: -1 1;
    top: 50%;
    translate: 0 -50%;
    width: 15px;
    z-index: 1
  }
  .modal_slide__next {
    cursor: pointer;
    position: absolute;
    right: 20px;
    top: 50%;
    translate: 0 -50%;
    width: 15px;
    z-index: 1
  }
  .modal_slide__navigation-bullets {
    -webkit-box-align: center;
    -webkit-box-pack: center;
    align-items: center;
    bottom: 15px;
    display: -webkit-box;
    display: flex;
    gap: 10px;
    justify-content: center;
    left: 0;
    position: absolute;
    width: 100%;
    z-index: 1
  }
  .modal_slide__navigation-bullets .swiper-pagination-bullet {
    background-color: #ccc;
    border-radius: 50%;
    cursor: pointer;
    height: 10px;
    width: 10px
  }
  .modal_slide__navigation-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: #176cd4;
    pointer-events: none
  }
  .modal__works {
    background-color: #fff;
    display: -webkit-box;
    display: flex
  }
  .modal__works-figure {
    aspect-ratio: 800/533;
    flex-shrink: 0;
    width: 800px
  }
  .modal__works-figure img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
  }
  .modal__works-column {
    padding: 40px
  }
  .modal__works-category {
    -webkit-box-align: center;
    align-items: center;
    background-color: #176cd4;
    color: #fff;
    display: -webkit-inline-box;
    display: inline-flex;
    font-size: .875rem;
    height: 32px;
    margin-bottom: 20px;
    padding: 0 1.5em
  }
  .modal__works-category.category2 {
    background-color: #034595
  }
  .modal__works-place {
    color: #176cd4;
    font-size: 1.5rem;
    font-weight: 500;
    margin-bottom: 10px
  }
  .modal__works-title {
    font-size: 1rem;
    font-weight: 500
  }
  .modal__works-detail {
    border-top: 1px solid;
    font-size: 1rem;
    margin-top: 30px;
    padding-top: 30px
  }
  .modal__facilities {
    background-color: #fff;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 40px;
    width: 1200px
  }
  .modal__facilities-caption {
    border-bottom: 1px solid #000;
    color: #176cd4;
    font-size: 1.5rem;
    font-weight: 500;
    margin-bottom: 30px;
    padding-bottom: 20px
  }
  .modal__facilities-row {
    -webkit-box-align: start;
    align-items: flex-start;
    display: -webkit-box;
    display: flex;
    gap: 40px
  }
  .modal__facilities-row table, .modal__facilities-row tbody, .modal__facilities-row td, .modal__facilities-row th, .modal__facilities-row tr {
    display: block
  }
  .modal__facilities-row table {
    margin-top: 30px
  }
  .modal__facilities-row tr {
    border-left: 1px solid #ccc;
    border-top: 1px solid #ccc
  }
  .modal__facilities-row tr:nth-of-type(n+2) {
    margin-top: 15px
  }
  .modal__facilities-row td, .modal__facilities-row th {
    border-bottom: 1px solid #ccc;
    border-right: 1px solid #ccc;
    font-size: .875rem;
    font-weight: 500;
    padding: 10px 20px
  }
  .modal__facilities-row th {
    background-color: #f4f8fd
  }
  .modal__facilities-figure {
    aspect-ratio: 570/360;
    flex-shrink: 0;
    width: 570px
  }
  .modal__facilities-figure img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
  }
  .modal__facilities-detail {
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.8
  }
}

@media (--tb) {
  .hover-indicator {
    -webkit-box-align: center;
    -webkit-box-pack: center;
    align-items: center;
    background-color: #323232;
    border-radius: 50%;
    color: #fff;
    display: -webkit-box;
    display: flex;
    height: calc(var(--vw)*10);
    justify-content: center;
    left: 0;
    margin-left: calc(var(--vw)*-5);
    margin-top: calc(var(--vw)*-5);
    pointer-events: none;
    position: fixed;
    top: 0;
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-transition: -webkit-transform .3s ease;
    transition: -webkit-transform .3s ease;
    -o-transition: transform .3s ease;
    transition: transform .3s ease;
    transition: transform .3s ease, -webkit-transform .3s ease;
    width: calc(var(--vw)*10);
    will-change: transform;
    z-index: 2000
  }
  .hover-indicator.active {
    -webkit-transform: scale(1);
    transform: scale(1)
  }
  .content__inner {
    margin: calc(var(--vw)*0) auto;
    position: relative;
    width: calc(var(--vw)*80)
  }
  .header {
    display: none!important
  }
  .mv {
    aspect-ratio: 1500/800;
    background-color: #fafafa;
    position: relative;
    width: 100%
  }
  .mv .swiper-slide img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
  }
  .mv__row {
    display: -webkit-box;
    display: flex;
    height: 100%
  }
  .mv__column {
    position: relative
  }
  .mv__column--left {
    -webkit-box-align: center;
    -webkit-box-pack: center;
    align-items: center;
    display: -webkit-box;
    display: flex;
    flex-shrink: 0;
    height: 100%;
    justify-content: center;
    width: calc(var(--vw)*36.66667)
  }
  .mv__column--right {
    width: calc(100% - var(--vw)*36.66667)
  }
  .mv__navigation {
    border-bottom: 1px solid #ccc;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    height: calc(var(--vw)*5.6);
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
  }
  .mv__navigation-list {
    -webkit-box-align: center;
    -webkit-box-pack: center;
    align-items: center;
    display: -webkit-box;
    display: flex;
    font-size: calc(var(--vw)*1.06667);
    font-weight: 500;
    gap: calc(var(--vw)*1.66667);
    height: calc(var(--vw)*5.6);
    justify-content: center
  }
  .mv__logo {
    margin: calc(var(--vw)*0) auto;
    margin-bottom: calc(var(--vw)*1.33333);
    width: calc(var(--vw)*28.4)
  }
  .mv__catch {
    font-size: calc(var(--vw)*2.53333);
    font-weight: 700;
    line-height: 1.377;
    text-align: center
  }
  .mv__instagram {
    bottom: calc(var(--vw)*2.66667);
    left: calc(var(--vw)*2.66667);
    position: absolute;
    width: calc(100% - var(--vw)*5.33333)
  }
  .mv__instagram a {
    -webkit-box-align: center;
    -webkit-box-pack: start;
    align-items: center;
    background-color: #176cd4;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #fff;
    display: -webkit-box;
    display: flex;
    font-size: calc(var(--vw)*1.06667);
    font-weight: 500;
    gap: calc(var(--vw)*.66667);
    height: calc(var(--vw)*3.33333);
    justify-content: flex-start;
    padding-left: calc(var(--vw)*1.33333);
    position: relative;
    width: 100%
  }
  .mv__instagram a:before {
    background-color: #323232
  }
  .mv__instagram a .icon {
    position: relative;
    width: calc(var(--vw)*1.6)
  }
  .mv__instagram a .arrow {
    -webkit-box-align: center;
    -webkit-box-pack: center;
    align-items: center;
    border-left: 1px solid hsla(0, 0%, 100%, .1);
    display: -webkit-box;
    display: flex;
    flex-shrink: 0;
    height: calc(var(--vw)*3.33333);
    justify-content: center;
    position: absolute;
    right: 0;
    top: 0;
    width: calc(var(--vw)*3.33333)
  }
  .mv__instagram a .arrow img {
    width: calc(var(--vw)*.66667)
  }
  .mv__tel {
    display: -webkit-box;
    display: flex;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 2
  }
  .mv__tel-column--left>span {
    -webkit-box-align: center;
    -webkit-box-pack: center;
    align-items: center;
    background-color: #fff;
    display: -webkit-box;
    display: flex;
    gap: calc(var(--vw)*.66667);
    height: calc(var(--vw)*5.6);
    justify-content: center;
    padding: 0 calc(var(--vw)*1.66667)
  }
  .mv__tel-column--left>span img {
    width: calc(var(--vw)*2.8)
  }
  .mv__tel-column--left>span span {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-box-align: center;
    align-items: center;
    display: -webkit-box;
    display: flex;
    flex-direction: column;
    font-size: calc(var(--vw)*1.73333);
    font-weight: 700;
    line-height: 1;
    text-align: center
  }
  .mv__tel-column--left>span span small {
    font-size: calc(var(--vw)*.8);
    font-weight: 500;
    margin-top: calc(var(--vw)*.66667)
  }
  .mv__tel-column--right a {
    -webkit-box-align: center;
    -webkit-box-pack: center;
    align-items: center;
    background-color: #176cd4;
    display: -webkit-box;
    display: flex;
    font-size: 0;
    height: calc(var(--vw)*5.6);
    justify-content: center;
    width: calc(var(--vw)*5.6)
  }
  .mv__tel-column--right a img {
    width: calc(var(--vw)*2)
  }
  .mv__slide {
    height: 100%;
    overflow: hidden;
    position: relative
  }
  .mv__slide-navigation {
    -webkit-box-align: center;
    align-items: center;
    bottom: calc(var(--vw)*1.33333);
    display: -webkit-box;
    display: flex;
    gap: calc(var(--vw)*2);
    position: absolute;
    right: calc(var(--vw)*1.33333);
    z-index: 2
  }
  .mv__slide-navigation-bullets {
    display: -webkit-box;
    display: flex;
    gap: calc(var(--vw)*.66667)
  }
  .mv__slide-navigation-bullets span {
    background-color: #fff;
    border-radius: 50%;
    cursor: pointer;
    display: block;
    height: calc(var(--vw)*.53333);
    width: calc(var(--vw)*.53333)
  }
  .mv__slide-navigation-bullets span.swiper-pagination-bullet-active {
    background-color: #176cd4
  }
  .mv__slide-navigation-count {
    color: #fff;
    font-size: calc(var(--vw)*1.33333);
    font-weight: 500
  }
  .util__caption {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    display: -webkit-box;
    display: flex;
    flex-direction: column;
    gap: calc(var(--vw)*1);
    letter-spacing: .03em;
    margin-bottom: calc(var(--vw)*3.33333);
    position: relative
  }
  .util__caption--center {
    -webkit-box-align: center;
    align-items: center
  }
  .util__caption span {
    font-size: calc(var(--vw)*3.2);
    font-weight: 500;
    line-height: 1.3;
    position: relative
  }
  .util__caption small {
    color: #176cd4;
    font-size: calc(var(--vw)*1.2);
    font-weight: 700;
    position: relative
  }
  .works {
    padding-bottom: calc(var(--vw)*8);
    padding-top: calc(var(--vw)*12);
    position: relative
  }
  .works:before {
    background-color: #fafafa;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 87%
  }
  .works__caption img {
    left: calc(var(--vw)*-6.66667);
    position: absolute;
    top: calc(var(--vw)*-8.53333);
    width: calc(var(--vw)*40)
  }
  .works__row {
    display: -webkit-box;
    display: flex;
    gap: calc(var(--vw)*3.66667);
    position: relative
  }
  .works__column--left {
    flex-shrink: 0;
    width: calc(var(--vw)*22.66667)
  }
  .works__column--right {
    position: relative
  }
  .works__description {
    font-size: calc(var(--vw)*1.06667);
    font-weight: 500;
    line-height: 2
  }
  .works__list {
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    gap: calc(var(--vw)*3.33333) calc(var(--vw)*2.66667)
  }
  .works__list-item {
    width: calc(50% - var(--vw)*2.66667/2)
  }
  .works__list-item-figure {
    margin-bottom: calc(var(--vw)*1.33333);
    position: relative
  }
  .works__list-item-figure figcaption {
    -webkit-box-align: center;
    -webkit-box-pack: center;
    align-items: center;
    background-color: #176cd4;
    bottom: 0;
    color: #fff;
    display: -webkit-inline-box;
    display: inline-flex;
    font-size: calc(var(--vw)*.93333);
    height: calc(var(--vw)*2.13333);
    justify-content: center;
    left: 0;
    padding: 0 1em;
    position: absolute
  }
  .works__list-item-figure figcaption.category2 {
    background-color: #034595
  }
  .works__list-item-place {
    color: #176cd4;
    font-size: calc(var(--vw)*1.06667);
    font-weight: 500;
    margin-bottom: calc(var(--vw)*.33333)
  }
  .works__list-item-title {
    font-size: calc(var(--vw)*1.06667);
    font-weight: 500
  }
  .facilities {
    padding-bottom: calc(var(--vw)*8);
    padding-top: calc(var(--vw)*12)
  }
  .facilities__heading {
    -webkit-box-pack: justify;
    -webkit-box-align: end;
    align-items: flex-end;
    display: -webkit-box;
    display: flex;
    justify-content: space-between
  }
  .facilities__navigation {
    -webkit-box-align: center;
    align-items: center;
    display: -webkit-box;
    display: flex;
    gap: calc(var(--vw)*2);
    padding-bottom: calc(var(--vw)*4)
  }
  .facilities__navigation-current, .facilities__navigation-max {
    font-size: calc(var(--vw)*1.06667);
    font-weight: 500
  }
  .facilities__navigation-progress {
    background-color: #ccc;
    height: 1px;
    position: relative;
    width: calc(var(--vw)*14.93333)
  }
  .facilities__navigation-progress span {
    background-color: currentColor;
    height: 1px;
    left: 0;
    position: absolute;
    top: 0;
    -webkit-transition: width .3s ease;
    -o-transition: width .3s ease;
    transition: width .3s ease;
    width: 50%;
    will-change: width
  }
  .facilities__caption img {
    left: calc(var(--vw)*-5.46667);
    position: absolute;
    top: calc(var(--vw)*-6.66667);
    width: calc(var(--vw)*42.26667)
  }
  .facilities__list-item {
    width: calc(var(--vw)*38)
  }
  .facilities__list-item-figure {
    margin-bottom: calc(var(--vw)*2.66667)
  }
  .facilities__list-item-definition-list-term {
    color: #176cd4;
    font-size: calc(var(--vw)*1.6);
    font-weight: 500;
    letter-spacing: .05em;
    margin-bottom: calc(var(--vw)*1.33333)
  }
  .facilities__list-item-definition-list-description {
    font-size: calc(var(--vw)*1.06667);
    font-weight: 500;
    line-height: 2
  }
  .about {
    background-color: #fafafa;
    padding-bottom: calc(var(--vw)*8);
    padding-top: calc(var(--vw)*12)
  }
  .about__caption img {
    left: 50%;
    position: absolute;
    top: calc(var(--vw)*-6.53333);
    translate: -50% 0;
    width: calc(var(--vw)*56.2)
  }
  .about__greeting {
    display: -webkit-box;
    display: flex;
    gap: calc(var(--vw)*4);
    margin-bottom: calc(var(--vw)*5.33333)
  }
  .about__greeting-figure {
    flex-shrink: 0;
    width: calc(var(--vw)*38)
  }
  .about__greeting-caption {
    font-size: calc(var(--vw)*2.13333);
    font-weight: 500;
    margin-bottom: calc(var(--vw)*2.66667)
  }
  .about__greeting-text {
    font-size: calc(var(--vw)*1.06667);
    font-weight: 500;
    line-height: 2
  }
  .about__greeting-text:nth-of-type(n+2) {
    margin-top: 1.5em
  }
  .about__greeting-signature {
    -webkit-box-pack: end;
    -webkit-box-align: center;
    align-items: center;
    display: -webkit-box;
    display: flex;
    gap: calc(var(--vw)*2);
    justify-content: flex-end;
    margin-top: calc(var(--vw)*4)
  }
  .about__greeting-signature small {
    font-size: calc(var(--vw)*1.06667);
    font-weight: 500
  }
  .about__greeting-signature span {
    font-family: YuMincho, Yu Mincho, serif;
    font-size: calc(var(--vw)*2.53333);
    font-weight: 600
  }
  .about__company {
    background-color: #fff;
    margin-bottom: calc(var(--vw)*5.33333);
    padding: calc(var(--vw)*5.33333) calc(var(--vw)*6.66667)
  }
  .about__company-caption {
    color: #176cd4;
    font-size: calc(var(--vw)*2.4);
    font-weight: 500;
    letter-spacing: .05em;
    margin-bottom: calc(var(--vw)*4);
    text-align: center
  }
  .about__company-table {
    border-spacing: calc(var(--vw)*2);
    width: 100%
  }
  .about__company-table th {
    border-bottom: 1px solid #176cd4;
    color: #176cd4;
    font-weight: 700
  }
  .about__company-table td {
    border-bottom: 1px solid #ccc;
    font-weight: 500
  }
  .about__company-table td, .about__company-table th {
    font-size: calc(var(--vw)*1.06667);
    padding: calc(var(--vw)*1.33333) calc(var(--vw)*1);
    padding-top: 0;
    vertical-align: top
  }
  .about__company-list {
    line-height: 2
  }
  .about__company-list-item {
    display: -webkit-box;
    display: flex
  }
  .about__company-list-item:before {
    content: "・"
  }
  .about__company-notice {
    color: #9c9c9c;
    font-size: calc(var(--vw)*.93333);
    font-weight: 500;
    margin: 1em 0
  }
  .about__map {
    aspect-ratio: 1200/600;
    border: calc(var(--vw)*.53333) solid #fff;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%
  }
  .about__map iframe {
    height: 100%;
    width: 100%
  }
  .decoration {
    aspect-ratio: 1500/540;
    overflow: hidden;
    position: relative;
    width: 100%
  }
  .decoration div {
    height: 120%;
    width: 100%
  }
  .decoration img {
    height: 100%;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%
  }
  .recruit {
    padding-bottom: calc(var(--vw)*8);
    padding-top: calc(var(--vw)*12)
  }
  .recruit__caption img {
    left: 50%;
    position: absolute;
    top: calc(var(--vw)*-5.73333);
    translate: -50% 0;
    width: calc(var(--vw)*42.66667)
  }
  .recruit #recruit-radio-1:checked~.recruit__navigation .recruit__navigation-list-item:first-of-type {
    color: #176cd4
  }
  .recruit #recruit-radio-1:checked~.recruit__content--1 {
    display: block
  }
  .recruit #recruit-radio-2:checked~.recruit__navigation .recruit__navigation-list-item:nth-of-type(2) {
    color: #176cd4
  }
  .recruit #recruit-radio-2:checked~.recruit__content--2 {
    display: block
  }
  .recruit .recruit__content {
    background-color: #fafafa;
    display: none;
    padding: calc(var(--vw)*6.66667)
  }
  .recruit__navigation {
    margin-bottom: calc(var(--vw)*4)
  }
  .recruit__navigation-list {
    -webkit-box-pack: center;
    -webkit-box-align: center;
    align-items: center;
    display: -webkit-box;
    display: flex;
    gap: calc(var(--vw)*2);
    justify-content: center
  }
  .recruit__navigation-list-item {
    color: #ccc
  }
  .recruit__navigation-list-item label {
    -webkit-box-align: center;
    -webkit-box-pack: center;
    align-items: center;
    border-bottom: calc(var(--vw)*.13333) solid;
    cursor: pointer;
    display: -webkit-inline-box;
    display: inline-flex;
    font-size: calc(var(--vw)*1.6);
    font-weight: 700;
    height: calc(var(--vw)*4.26667);
    justify-content: center;
    width: calc(var(--vw)*16)
  }
  .recruit__navigation-list-item label span {
    -webkit-box-align: center;
    align-items: center;
    display: -webkit-inline-box;
    display: inline-flex;
    gap: calc(var(--vw)*1.33333)
  }
  .recruit__navigation-list-item label span:after {
    border-bottom: calc(var(--vw)*.13333) solid;
    border-right: calc(var(--vw)*.13333) solid;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    content: "";
    display: inline-block;
    height: calc(var(--vw)*.73333);
    position: relative;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: center;
    transform-origin: center;
    width: calc(var(--vw)*.73333)
  }
  .recruit__table {
    border-spacing: calc(var(--vw)*2);
    font-size: calc(var(--vw)*1.06667);
    line-height: 2;
    width: 100%
  }
  .recruit__table th {
    border-bottom: 1px solid #176cd4;
    color: #176cd4;
    font-weight: 700
  }
  .recruit__table td {
    border-bottom: 1px solid #ccc;
    font-weight: 500
  }
  .recruit__table td, .recruit__table th {
    padding: calc(var(--vw)*1.33333);
    padding-top: 0;
    vertical-align: top
  }
  .contact {
    background-image: url(../images/index/bg_contact.jpg?v99453dd5d97bac0c707a54b2d5e20b21);
    background-repeat: no-repeat;
    background-size: cover;
    padding-bottom: calc(var(--vw)*8);
    padding-top: calc(var(--vw)*12)
  }
  .contact__caption img {
    left: 50%;
    position: absolute;
    top: calc(var(--vw)*-6);
    translate: -50% 0;
    width: calc(var(--vw)*48.53333)
  }
  .contact__row {
    display: -webkit-box;
    display: flex;
    gap: calc(var(--vw)*2.66667)
  }
  .contact__column {
    border: calc(var(--vw)*.53333) solid #fff;
    width: calc(50% - var(--vw)*2.66667/2)
  }
  .contact__column a, .contact__column>span {
    -webkit-box-align: center;
    -webkit-box-pack: center;
    align-items: center;
    display: -webkit-box;
    display: flex;
    gap: calc(var(--vw)*1.33333);
    height: calc(var(--vw)*9.33333);
    justify-content: center;
    width: 100%
  }
  .contact__column a img, .contact__column>span img {
    width: calc(var(--vw)*3.33333)
  }
  .contact__column a span, .contact__column>span span {
    font-size: calc(var(--vw)*1.86667);
    font-weight: 700
  }
  .contact__column a span.row, .contact__column>span span.row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-box-align: center;
    align-items: center;
    display: -webkit-box;
    display: flex;
    flex-direction: column;
    font-size: calc(var(--vw)*2.8)
  }
  .contact__column a span.row small, .contact__column>span span.row small {
    font-size: calc(var(--vw)*.93333);
    font-weight: 500
  }
  .contact__column a {
    position: relative
  }
  .contact__column a:after {
    border-bottom: calc(var(--vw)*.2) solid #176cd4;
    border-right: calc(var(--vw)*.2) solid #176cd4;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    content: "";
    display: inline-block;
    height: calc(var(--vw)*.93333);
    position: relative;
    position: absolute;
    right: calc(var(--vw)*2.66667);
    top: 50%;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transform-origin: center;
    transform-origin: center;
    translate: 0 -50%;
    width: calc(var(--vw)*.93333)
  }
  .modal {
    -webkit-box-align: center;
    -webkit-box-pack: center;
    align-items: center;
    display: -webkit-box;
    display: flex;
    height: 100%;
    justify-content: center;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 9999
  }
  .modal__bg {
    background-color: rgba(0, 0, 0, .7);
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
  }
  .modal__window {
    position: relative;
    width: calc(var(--vw)*80)
  }
  .modal__close {
    background-color: #176cd4;
    color: #fff;
    cursor: pointer;
    height: calc(var(--vw)*2.66667);
    position: relative;
    position: absolute;
    right: 0;
    top: calc(var(--vw)*-3.33333);
    width: calc(var(--vw)*2.66667)
  }
  .modal__close:after, .modal__close:before {
    background-color: currentColor;
    content: "";
    display: block;
    height: calc(var(--vw)*.13333);
    left: 50%;
    margin-left: calc(var(--vw)*-1);
    margin-top: calc(var(--vw)*-.06667);
    position: absolute;
    top: 50%;
    width: calc(var(--vw)*2)
  }
  .modal__close:before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
  }
  .modal__close:after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
  }
  .modal_slide {
    flex-shrink: 0;
    overflow: hidden;
    position: relative;
    width: calc(var(--vw)*53.33333)
  }
  .modal_slide__list-item {
    aspect-ratio: 800/533;
    width: calc(var(--vw)*53.33333)
  }
  .modal_slide__list-item img {
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    width: 100%
  }
  .modal_slide__prev {
    cursor: pointer;
    left: calc(var(--vw)*1.33333);
    position: absolute;
    scale: -1 1;
    top: 50%;
    translate: 0 -50%;
    width: calc(var(--vw)*1);
    z-index: 1
  }
  .modal_slide__next {
    cursor: pointer;
    position: absolute;
    right: calc(var(--vw)*1.33333);
    top: 50%;
    translate: 0 -50%;
    width: calc(var(--vw)*1);
    z-index: 1
  }
  .modal_slide__navigation-bullets {
    -webkit-box-align: center;
    -webkit-box-pack: center;
    align-items: center;
    bottom: calc(var(--vw)*1);
    display: -webkit-box;
    display: flex;
    gap: calc(var(--vw)*.66667);
    justify-content: center;
    left: 0;
    position: absolute;
    width: 100%;
    z-index: 1
  }
  .modal_slide__navigation-bullets .swiper-pagination-bullet {
    background-color: #ccc;
    border-radius: 50%;
    cursor: pointer;
    height: calc(var(--vw)*.66667);
    width: calc(var(--vw)*.66667)
  }
  .modal_slide__navigation-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: #176cd4;
    pointer-events: none
  }
  .modal__works {
    background-color: #fff;
    display: -webkit-box;
    display: flex
  }
  .modal__works-figure {
    aspect-ratio: 800/533;
    flex-shrink: 0;
    width: calc(var(--vw)*53.33333)
  }
  .modal__works-figure img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
  }
  .modal__works-column {
    padding: calc(var(--vw)*2.66667)
  }
  .modal__works-category {
    -webkit-box-align: center;
    align-items: center;
    background-color: #176cd4;
    color: #fff;
    display: -webkit-inline-box;
    display: inline-flex;
    font-size: calc(var(--vw)*.93333);
    height: calc(var(--vw)*2.13333);
    margin-bottom: calc(var(--vw)*1.33333);
    padding: 0 1.5em
  }
  .modal__works-category.category2 {
    background-color: #034595
  }
  .modal__works-place {
    color: #176cd4;
    font-size: calc(var(--vw)*1.6);
    font-weight: 500;
    margin-bottom: calc(var(--vw)*.66667)
  }
  .modal__works-title {
    font-size: calc(var(--vw)*1.06667);
    font-weight: 500
  }
  .modal__works-detail {
    border-top: 1px solid;
    font-size: calc(var(--vw)*1.06667);
    margin-top: calc(var(--vw)*2);
    padding-top: calc(var(--vw)*2)
  }
  .modal__facilities {
    background-color: #fff;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: calc(var(--vw)*2.66667);
    width: calc(var(--vw)*80)
  }
  .modal__facilities-caption {
    border-bottom: 1px solid #000;
    color: #176cd4;
    font-size: calc(var(--vw)*1.6);
    font-weight: 500;
    margin-bottom: calc(var(--vw)*2);
    padding-bottom: calc(var(--vw)*1.33333)
  }
  .modal__facilities-row {
    -webkit-box-align: start;
    align-items: flex-start;
    display: -webkit-box;
    display: flex;
    gap: calc(var(--vw)*2.66667)
  }
  .modal__facilities-row table, .modal__facilities-row tbody, .modal__facilities-row td, .modal__facilities-row th, .modal__facilities-row tr {
    display: block
  }
  .modal__facilities-row table {
    margin-top: calc(var(--vw)*2)
  }
  .modal__facilities-row tr {
    border-left: 1px solid #ccc;
    border-top: 1px solid #ccc
  }
  .modal__facilities-row tr:nth-of-type(n+2) {
    margin-top: calc(var(--vw)*1)
  }
  .modal__facilities-row td, .modal__facilities-row th {
    border-bottom: 1px solid #ccc;
    border-right: 1px solid #ccc;
    font-size: calc(var(--vw)*.93333);
    font-weight: 500;
    padding: calc(var(--vw)*.66667) calc(var(--vw)*1.33333)
  }
  .modal__facilities-row th {
    background-color: #f4f8fd
  }
  .modal__facilities-figure {
    aspect-ratio: 570/360;
    flex-shrink: 0;
    width: calc(var(--vw)*38)
  }
  .modal__facilities-figure img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
  }
  .modal__facilities-detail {
    font-size: calc(var(--vw)*1.06667);
    font-weight: 500;
    line-height: 1.8
  }
}

@media only screen and (max-width:768px) {
  .content__inner {
    padding: 0 3.90625vw;
    position: relative
  }
  .root {
    overflow: hidden;
    padding-top: 13.020833333333334vw;
    width: 100%
  }
  .mv {
    background-color: #fafafa;
    height: calc(var(--vh)*100 - 13.02083vw);
    position: relative;
    z-index: 1
  }
  .mv .swiper-slide img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
  }
  .mv__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    display: -webkit-box;
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative
  }
  .mv__column {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative
  }
  .mv__column--left {
    -webkit-box-ordinal-group: 3;
    -webkit-box-align: center;
    -webkit-box-pack: center;
    align-items: center;
    display: -webkit-box;
    display: flex;
    flex-shrink: 0;
    height: 45%;
    justify-content: center;
    order: 2;
    padding-bottom: 13.020833333333334vw
  }
  .mv__column--right {
    -webkit-box-ordinal-group: 2;
    flex-shrink: 0;
    height: 55%;
    order: 1
  }
  .mv__logo {
    margin: 0 auto 2.604166666666667vw;
    width: 61.197916666666664vw
  }
  .mv__catch {
    font-size: 5.208333333333334vw;
    font-weight: 700;
    line-height: 1.377;
    text-align: center
  }
  .mv__instagram {
    bottom: 0;
    left: 0;
    position: absolute;
    width: 100%
  }
  .mv__instagram a {
    -webkit-box-align: center;
    -webkit-box-pack: start;
    align-items: center;
    background-color: #176cd4;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #fff;
    display: -webkit-box;
    display: flex;
    font-size: 3.6458333333333335vw;
    font-weight: 500;
    gap: 2.604166666666667vw;
    height: 13.020833333333334vw;
    justify-content: flex-start;
    padding-left: 3.90625vw;
    position: relative;
    width: 100%
  }
  .mv__instagram a .icon {
    flex-shrink: 0;
    position: relative;
    width: 5.208333333333334vw
  }
  .mv__instagram a .arrow {
    -webkit-box-align: center;
    -webkit-box-pack: center;
    align-items: center;
    border-left: 1px solid hsla(0, 0%, 100%, .1);
    display: -webkit-box;
    display: flex;
    flex-shrink: 0;
    height: 13.020833333333334vw;
    justify-content: center;
    position: absolute;
    right: 0;
    top: 0;
    width: 13.020833333333334vw
  }
  .mv__instagram a .arrow img {
    width: 1.3020833333333335vw
  }
  .mv__slide {
    height: 100%;
    overflow: hidden;
    position: relative
  }
  .mv__slide-navigation {
    -webkit-box-align: center;
    align-items: center;
    bottom: 2.604166666666667vw;
    display: -webkit-box;
    display: flex;
    gap: 3.90625vw;
    position: absolute;
    right: 2.604166666666667vw;
    z-index: 2
  }
  .mv__slide-navigation-bullets {
    display: -webkit-box;
    display: flex;
    gap: 2.604166666666667vw
  }
  .mv__slide-navigation-bullets span {
    background-color: #fff;
    border-radius: 50%;
    cursor: pointer;
    display: block;
    height: 1.3020833333333335vw;
    width: 1.3020833333333335vw
  }
  .mv__slide-navigation-bullets span.swiper-pagination-bullet-active {
    background-color: #176cd4
  }
  .mv__slide-navigation-count {
    color: #fff;
    font-size: 3.90625vw;
    font-weight: 500
  }
  .util__caption {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-box-align: center;
    align-items: center;
    display: -webkit-box;
    display: flex;
    flex-direction: column;
    gap: 3.90625vw;
    letter-spacing: .03em;
    margin-bottom: 10.416666666666668vw;
    position: relative;
    text-align: center
  }
  .util__caption span {
    font-size: 7.291666666666667vw;
    font-weight: 500;
    line-height: 1.3;
    position: relative
  }
  .util__caption small {
    color: #176cd4;
    font-size: 3.6458333333333335vw;
    font-weight: 700;
    position: relative
  }
  .works {
    background-color: #fafafa;
    padding-bottom: 15.625vw;
    padding-top: 23.4375vw;
    position: relative
  }
  .works__caption img {
    left: 50%;
    position: absolute;
    top: -14.973958333333334vw;
    translate: -50% 0;
    width: 78.125vw
  }
  .works__row {
    position: relative
  }
  .works__column--left {
    margin-bottom: 7.8125vw
  }
  .works__column--right {
    position: relative
  }
  .works__description {
    font-size: 3.6458333333333335vw;
    font-weight: 500;
    line-height: 1.7
  }
  .works__list {
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    gap: 6.510416666666667vw 3.90625vw
  }
  .works__list-item {
    width: calc(50% - 1.95313vw)
  }
  .works__list-item-figure {
    margin-bottom: 2.604166666666667vw;
    position: relative
  }
  .works__list-item-figure figcaption {
    -webkit-box-align: center;
    -webkit-box-pack: center;
    align-items: center;
    background-color: #176cd4;
    bottom: 0;
    color: #fff;
    display: -webkit-inline-box;
    display: inline-flex;
    font-size: 2.604166666666667vw;
    height: 4.427083333333334vw;
    justify-content: center;
    left: 0;
    padding: 0 1em;
    position: absolute
  }
  .works__list-item-figure figcaption.category2 {
    background-color: #034595
  }
  .works__list-item-place {
    color: #176cd4;
    font-size: 3.125vw;
    font-weight: 500;
    margin-bottom: .6510416666666667vw
  }
  .works__list-item-title {
    font-size: 3.125vw;
    font-weight: 500
  }
  .facilities {
    padding-bottom: 15.625vw;
    padding-top: 23.4375vw
  }
  .facilities__caption img {
    left: 50%;
    position: absolute;
    top: -15.625vw;
    translate: -50% 0;
    width: 82.55208333333334vw
  }
  .facilities__navigation {
    -webkit-box-align: center;
    -webkit-box-pack: center;
    align-items: center;
    display: -webkit-box;
    display: flex;
    gap: 3.90625vw;
    justify-content: center;
    padding-bottom: 7.8125vw
  }
  .facilities__navigation-current, .facilities__navigation-max {
    font-size: 3.6458333333333335vw;
    font-weight: 500
  }
  .facilities__navigation-progress {
    background-color: #ccc;
    height: 1px;
    position: relative;
    width: 29.166666666666668vw
  }
  .facilities__navigation-progress span {
    background-color: currentColor;
    height: 1px;
    left: 0;
    position: absolute;
    top: 0;
    -webkit-transition: width .3s ease;
    -o-transition: width .3s ease;
    transition: width .3s ease;
    width: 50%;
    will-change: width
  }
  .facilities__list-item {
    width: 74.21875vw
  }
  .facilities__list-item-figure {
    margin-bottom: 5.208333333333334vw
  }
  .facilities__list-item-definition-list-term {
    color: #176cd4;
    font-size: 4.166666666666666vw;
    font-weight: 500;
    letter-spacing: .05em;
    margin-bottom: 2.604166666666667vw
  }
  .facilities__list-item-definition-list-description {
    font-size: 3.6458333333333335vw;
    font-weight: 500;
    line-height: 1.5
  }
  .about {
    background-color: #fafafa;
    padding-bottom: 15.625vw;
    padding-top: 23.4375vw
  }
  .about__caption img {
    left: 50%;
    position: absolute;
    top: -15.104166666666666vw;
    translate: -50% 0;
    width: 109.765625vw
  }
  .about__greeting {
    margin: 0 auto 15.625vw;
    width: 74.21875vw
  }
  .about__greeting-figure {
    margin-bottom: 9.114583333333332vw
  }
  .about__greeting-caption {
    font-size: 4.6875vw;
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: 5.208333333333334vw
  }
  .about__greeting-text {
    font-size: 3.6458333333333335vw;
    font-weight: 500;
    line-height: 1.7
  }
  .about__greeting-text:nth-of-type(n+2) {
    margin-top: 1.5em
  }
  .about__greeting-signature {
    -webkit-box-pack: end;
    -webkit-box-align: center;
    align-items: center;
    display: -webkit-box;
    display: flex;
    gap: 3.90625vw;
    justify-content: flex-end;
    margin-top: 9.114583333333332vw
  }
  .about__greeting-signature small {
    font-size: 3.125vw;
    font-weight: 500
  }
  .about__greeting-signature span {
    font-family: YuMincho, Yu Mincho, serif;
    font-size: 5.208333333333334vw;
    font-weight: 600
  }
  .about__company {
    background-color: #fff;
    margin-bottom: 5.208333333333334vw;
    padding: 10.416666666666668vw 3.90625vw
  }
  .about__company-caption {
    color: #176cd4;
    font-size: 6.25vw;
    font-weight: 500;
    letter-spacing: .05em;
    margin-bottom: 9.114583333333332vw;
    text-align: center
  }
  .about__company-table {
    border-spacing: 2.604166666666667vw 5.208333333333334vw;
    width: 100%
  }
  .about__company-table th {
    border-bottom: 1px solid #176cd4;
    color: #176cd4;
    font-weight: 700;
    white-space: nowrap
  }
  .about__company-table td {
    border-bottom: 1px solid #ccc;
    font-weight: 500
  }
  .about__company-table td, .about__company-table th {
    font-size: 3.125vw;
    line-height: 1.5;
    padding: 0 1.3020833333333335vw 4.557291666666666vw;
    vertical-align: top
  }
  .about__company-list-item {
    display: -webkit-box;
    display: flex
  }
  .about__company-list-item:before {
    content: "・"
  }
  .about__company-notice {
    color: #9c9c9c;
    display: -webkit-box;
    display: flex;
    font-size: 2.864583333333333vw;
    font-weight: 500;
    gap: 1.3020833333333335vw;
    margin: 1em 0
  }
  .about__map {
    aspect-ratio: 708/600;
    border: 1.0416666666666665vw solid #fff;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%
  }
  .about__map iframe {
    height: 100%;
    width: 100%
  }
  .decoration {
    aspect-ratio: 768/400;
    overflow: hidden;
    position: relative;
    width: 100%
  }
  .decoration div {
    height: 120%;
    width: 100%
  }
  .decoration img {
    height: 100%;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%
  }
  .recruit {
    padding-bottom: 15.625vw;
    padding-top: 23.4375vw
  }
  .recruit__caption img {
    left: 50%;
    position: absolute;
    top: -13.671875vw;
    translate: -50% 0;
    width: 83.33333333333334vw
  }
  .recruit #recruit-radio-1:checked~.recruit__navigation .recruit__navigation-list-item:first-of-type {
    color: #176cd4
  }
  .recruit #recruit-radio-1:checked~.recruit__content--1 {
    display: block
  }
  .recruit #recruit-radio-2:checked~.recruit__navigation .recruit__navigation-list-item:nth-of-type(2) {
    color: #176cd4
  }
  .recruit #recruit-radio-2:checked~.recruit__content--2 {
    display: block
  }
  .recruit .recruit__content {
    background-color: #fafafa;
    display: none;
    padding: 10.416666666666668vw 3.90625vw
  }
  .recruit__navigation {
    margin-bottom: 9.114583333333332vw
  }
  .recruit__navigation-list {
    -webkit-box-pack: center;
    -webkit-box-align: center;
    align-items: center;
    display: -webkit-box;
    display: flex;
    gap: 3.90625vw;
    justify-content: center
  }
  .recruit__navigation-list-item {
    color: #ccc
  }
  .recruit__navigation-list-item label {
    -webkit-box-align: center;
    -webkit-box-pack: center;
    align-items: center;
    border-bottom: .26041666666666663vw solid;
    cursor: pointer;
    display: -webkit-inline-box;
    display: inline-flex;
    font-size: 3.6458333333333335vw;
    font-weight: 700;
    height: 8.333333333333332vw;
    justify-content: center;
    width: 31.25vw
  }
  .recruit__navigation-list-item label span {
    -webkit-box-align: center;
    align-items: center;
    display: -webkit-inline-box;
    display: inline-flex;
    gap: 2.604166666666667vw
  }
  .recruit__navigation-list-item label span:after {
    border-bottom: 1px solid;
    border-right: 1px solid;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    content: "";
    display: inline-block;
    height: 1.8229166666666667vw;
    position: relative;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: center;
    transform-origin: center;
    width: 1.8229166666666667vw
  }
  .recruit__table {
    border-spacing: 2.604166666666667vw 5.208333333333334vw;
    font-size: 3.125vw;
    line-height: 1.5;
    width: 100%
  }
  .recruit__table th {
    border-bottom: 1px solid #176cd4;
    color: #176cd4;
    font-weight: 700;
    white-space: nowrap
  }
  .recruit__table td {
    border-bottom: 1px solid #ccc;
    font-weight: 500
  }
  .recruit__table td, .recruit__table th {
    padding: 0 1.3020833333333335vw 4.557291666666666vw;
    vertical-align: top
  }
  .contact {
    background-image: url(../images/index/bg_contact.jpg?v99453dd5d97bac0c707a54b2d5e20b21);
    background-repeat: no-repeat;
    background-size: cover;
    padding-bottom: 15.625vw;
    padding-top: 23.4375vw
  }
  .contact__caption img {
    left: 50%;
    position: absolute;
    top: -14.322916666666666vw;
    translate: -50% 0;
    width: 83.33333333333334vw
  }
  .contact__column {
    border: 1.0416666666666665vw solid #fff;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%
  }
  .contact__column:nth-of-type(n+2) {
    margin-top: 3.90625vw
  }
  .contact__column a, .contact__column>span {
    -webkit-box-align: center;
    -webkit-box-pack: center;
    align-items: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: flex;
    gap: 2.604166666666667vw;
    height: 22.135416666666664vw;
    justify-content: center;
    width: 100%
  }
  .contact__column a img, .contact__column>span img {
    width: 8.59375vw
  }
  .contact__column a span, .contact__column>span span {
    font-size: 4.296875vw;
    font-weight: 700
  }
  .contact__column a span.row, .contact__column>span span.row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-box-align: center;
    align-items: center;
    display: -webkit-box;
    display: flex;
    flex-direction: column;
    font-size: 6.510416666666667vw
  }
  .contact__column a span.row small, .contact__column>span span.row small {
    font-size: 3.125vw;
    font-weight: 500
  }
  .contact__column a {
    position: relative
  }
  .contact__column a:after {
    border-bottom: .390625vw solid #176cd4;
    border-right: .390625vw solid #176cd4;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    content: "";
    display: inline-block;
    height: 1.8229166666666667vw;
    position: relative;
    position: absolute;
    right: 5.208333333333334vw;
    top: 50%;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transform-origin: center;
    transform-origin: center;
    translate: 0 -50%;
    width: 1.8229166666666667vw
  }
  .modal {
    -webkit-box-align: center;
    -webkit-box-pack: center;
    align-items: center;
    display: -webkit-box;
    display: flex;
    height: 100%;
    justify-content: center;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 9999
  }
  .modal__bg {
    background-color: rgba(0, 0, 0, .7);
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
  }
  .modal__window {
    position: relative;
    width: 100%
  }
  .modal__window-inner {
    -webkit-overflow-scrolling: touch;
    max-height: calc(var(--vh)*85);
    overflow: hidden;
    overflow-y: scroll
  }
  .modal__close {
    background-color: #176cd4;
    color: #fff;
    cursor: pointer;
    height: 8.072916666666668vw;
    position: relative;
    position: absolute;
    right: 0;
    top: -10.677083333333332vw;
    width: 8.072916666666668vw
  }
  .modal__close:after, .modal__close:before {
    background-color: currentColor;
    content: "";
    display: block;
    height: .26041666666666663vw;
    left: 50%;
    margin-left: -2.604166666666667vw;
    margin-top: -.13020833333333331vw;
    position: absolute;
    top: 50%;
    width: 5.208333333333334vw
  }
  .modal__close:before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
  }
  .modal__close:after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
  }
  .modal_slide {
    flex-shrink: 0;
    overflow: hidden;
    position: relative;
    width: 100%
  }
  .modal_slide__list-item {
    aspect-ratio: 720/520;
    width: 100%
  }
  .modal_slide__list-item img {
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    width: 100%
  }
  .modal_slide__navigation-bullets {
    -webkit-box-align: center;
    -webkit-box-pack: center;
    align-items: center;
    bottom: 3.90625vw;
    display: -webkit-box;
    display: flex;
    gap: 3.6458333333333335vw;
    justify-content: center;
    left: 0;
    position: absolute;
    width: 100%;
    z-index: 1
  }
  .modal_slide__navigation-bullets .swiper-pagination-bullet {
    background-color: #ccc;
    border-radius: 50%;
    cursor: pointer;
    height: 2.083333333333333vw;
    width: 2.083333333333333vw
  }
  .modal_slide__navigation-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: #176cd4;
    pointer-events: none
  }
  .modal__works {
    background-color: #fff
  }
  .modal__works-figure {
    aspect-ratio: 720/520;
    flex-shrink: 0;
    width: 100%
  }
  .modal__works-figure img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
  }
  .modal__works-column {
    padding: 5.208333333333334vw
  }
  .modal__works-category {
    -webkit-box-align: center;
    align-items: center;
    background-color: #176cd4;
    color: #fff;
    display: -webkit-inline-box;
    display: inline-flex;
    font-size: 2.604166666666667vw;
    height: 4.427083333333334vw;
    margin-bottom: 2.604166666666667vw;
    padding: 0 1.5em
  }
  .modal__works-category.category2 {
    background-color: #034595
  }
  .modal__works-place {
    color: #176cd4;
    font-size: 3.125vw;
    font-weight: 500;
    margin-bottom: .6510416666666667vw
  }
  .modal__works-title {
    font-size: 3.125vw;
    font-weight: 500
  }
  .modal__works-detail {
    border-top: 1px solid;
    font-size: 3.125vw;
    margin-top: 3.90625vw;
    padding-top: 3.90625vw
  }
  .modal__facilities {
    background-color: #fff;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 3.90625vw;
    width: 100%
  }
  .modal__facilities-caption {
    border-bottom: 1px solid #000;
    color: #176cd4;
    font-size: 4.166666666666666vw;
    font-weight: 500;
    margin-bottom: 3.90625vw;
    padding-bottom: 2.604166666666667vw
  }
  .modal__facilities-row table, .modal__facilities-row tbody, .modal__facilities-row td, .modal__facilities-row th, .modal__facilities-row tr {
    display: block
  }
  .modal__facilities-row table {
    margin-top: 3.90625vw
  }
  .modal__facilities-row tr {
    border-left: 1px solid #ccc;
    border-top: 1px solid #ccc
  }
  .modal__facilities-row tr:nth-of-type(n+2) {
    margin-top: 1.953125vw
  }
  .modal__facilities-row td, .modal__facilities-row th {
    border-bottom: 1px solid #ccc;
    border-right: 1px solid #ccc;
    font-size: 3.125vw;
    font-weight: 500;
    padding: 1.3020833333333335vw 2.604166666666667vw
  }
  .modal__facilities-row th {
    background-color: #f4f8fd
  }
  .modal__facilities-figure {
    aspect-ratio: 570/360;
    margin-bottom: 5.208333333333334vw;
    width: 100%
  }
  .modal__facilities-figure img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
  }
  .modal__facilities-detail {
    font-size: 3.125vw;
    font-weight: 500;
    line-height: 1.8
  }
}