@-webkit-keyframes mvBg {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@keyframes mvBg {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@-webkit-keyframes mvScroll {
  0% {
    height: 0;
    opacity: 0;
    top: 0;
  }
  30% {
    height: 100%;
    opacity: 1;
  }
  100% {
    height: 60%;
    opacity: 0;
    top: 40%;
  }
}
@keyframes mvScroll {
  0% {
    height: 0;
    opacity: 0;
    top: 0;
  }
  30% {
    height: 100%;
    opacity: 1;
  }
  100% {
    height: 60%;
    opacity: 0;
    top: 40%;
  }
}
@-webkit-keyframes mvInn {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 100% 0;
  }
}
@keyframes mvInn {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 100% 0;
  }
}
@-webkit-keyframes btnReason0 {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  50% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes btnReason0 {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  50% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes btnReason0reverse {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@keyframes btnReason0reverse {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@-webkit-keyframes btnReason1 {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 0;
  }
  21% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes btnReason1 {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 0;
  }
  21% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes btnReason2 {
  0% {
    opacity: 1;
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes btnReason2 {
  0% {
    opacity: 1;
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.wrapper {
  padding-top: 0;
}

.mv {
  overflow: hidden;
  position: relative;
}
@media print, screen and (min-width: 768px) {
  .mv {
    padding: 10.125rem 4.375rem 3.9375rem;
  }
}
@media only screen and (max-width: 767px) {
  .mv {
    padding: 9.1875rem 0.9375rem 10.5625rem;
  }
}
.mv .mv-bg {
  left: 0;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
}
.mv .mv-bg .mv-bg-inn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 100%;
  white-space: nowrap;
  width: auto;
}
@media print, screen and (min-width: 768px) {
  .mv .mv-bg .mv-bg-inn.-animation {
    animation: 124s linear infinite reverse mvBg;
  }
}
@media only screen and (max-width: 767px) {
  .mv .mv-bg .mv-bg-inn.-animation {
    animation: 113s linear infinite reverse mvBg;
  }
}
.mv .mv-bg picture {
  max-width: none;
  width: auto;
}
.mv .mv-bg img {
  height: 100%;
  max-width: none;
  width: auto;
}
.mv .mv-bg:after {
  background: center/cover no-repeat;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .mv .mv-bg:after {
    background-image: url(/img/index/bg-mv_pc.svg);
  }
}
@media only screen and (max-width: 767px) {
  .mv .mv-bg:after {
    background-image: url(/img/index/bg-mv_sp.svg);
  }
}
.mv .mv-inn {
  -webkit-animation: 8s linear infinite alternate mvInn;
          animation: 8s linear infinite alternate mvInn;
  background: linear-gradient(-60deg, #47CD8B, #006DBE, #47CD8B);
  background-size: 600% 100%;
  color: #FFF;
  overflow: hidden;
  position: relative;
}
@media print, screen and (min-width: 768px) {
  .mv .mv-inn {
    border-radius: 3.75rem;
    margin: 0 auto;
    padding: 3.125rem 1.75rem 6.5rem;
    width: 29.875rem;
  }
}
@media only screen and (max-width: 767px) {
  .mv .mv-inn {
    border-radius: 3.375rem;
    padding: 2.125rem 1.25rem 4.125rem;
  }
}
.mv .mv-inn p {
  font-size: 1.125rem;
}
@media print, screen and (min-width: 768px) {
  .mv .mv-inn p {
    line-height: 1.8333333333;
  }
}
@media only screen and (max-width: 767px) {
  .mv .mv-inn p {
    line-height: 1.5555555556;
  }
}
@media print, screen and (min-width: 768px) {
  .mv .mv-inn ul {
    margin-top: 2.0625rem;
  }
}
@media only screen and (max-width: 767px) {
  .mv .mv-inn ul {
    margin-top: 3.375rem;
  }
}
@media print, screen and (min-width: 768px) {
  .mv .mv-inn ul li + li {
    margin-top: 1.25rem;
  }
}
@media only screen and (max-width: 767px) {
  .mv .mv-inn ul li + li {
    margin-top: 0.625rem;
  }
}
.mv .btn {
  margin: 0 auto;
  padding: 0;
}
.mv .btn picture {
  height: 100%;
  max-width: none;
  overflow: hidden;
  width: 100%;
}
.mv .btn picture img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: relative;
  width: 100%;
  z-index: 1;
}
@media print, screen and (min-width: 768px) {
  .mv .btn picture {
    position: relative;
    z-index: 1;
  }
  .mv .btn picture.-default {
    -webkit-transition: opacity 0.2s ease-out;
    transition: opacity 0.2s ease-out;
  }
  .mv .btn picture.-hover {
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
  }
}
.mv .btn:after {
  border-radius: 62.4375rem;
  -webkit-box-shadow: inset 0 0 0 0.125rem #FFF;
          box-shadow: inset 0 0 0 0.125rem #FFF;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .mv .btn:after {
    -webkit-transition: -webkit-box-shadow 0.2s ease-out;
    transition: -webkit-box-shadow 0.2s ease-out;
    transition: box-shadow 0.2s ease-out;
    transition: box-shadow 0.2s ease-out, -webkit-box-shadow 0.2s ease-out;
    z-index: 1;
  }
}
@media print, screen and (min-width: 768px) {
  .mv .btn {
    height: 4.6875rem;
    position: relative;
    width: 24.0625rem;
  }
  .mv .btn:hover picture.-default {
    opacity: 0;
  }
  .mv .btn:hover:after {
    -webkit-box-shadow: inset 0 0 0 0.25rem #FFF;
            box-shadow: inset 0 0 0 0.25rem #FFF;
  }
}
@media only screen and (max-width: 767px) {
  .mv .btn {
    height: 3.4375rem;
    width: 19.0625rem;
  }
}
@media print, screen and (min-width: 768px) {
  .mv .btn.-contact:before {
    aspect-ratio: 500/75;
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22500.001%22%20height%3D%2275.001%22%20viewBox%3D%220%200%20500.001%2075.001%22%3E%3Cpath%20d%3D%22M8032%2C10400H7532a37.5%2C37.5%2C0%2C1%2C0%2C0-75h500v75Z%22%20transform%3D%22translate(-7532%20-10325)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E") right center/auto 100% no-repeat;
    content: "";
    display: block;
    height: 100%;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
    -webkit-transition: opacity 0.2s ease-out, -webkit-transform 0.2s ease-out;
    transition: opacity 0.2s ease-out, -webkit-transform 0.2s ease-out;
    transition: opacity 0.2s ease-out, transform 0.2s ease-out;
    transition: opacity 0.2s ease-out, transform 0.2s ease-out, -webkit-transform 0.2s ease-out;
  }
  .mv .btn.-contact picture.-hover {
    -webkit-transition: opacity 0.2s ease-out;
    transition: opacity 0.2s ease-out;
  }
  .mv .btn.-contact:hover:before {
    opacity: 1;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  .mv .btn.-contact:hover picture.-hover {
    opacity: 1;
  }
}
@media print, screen and (min-width: 768px) {
  .mv .btn.-reason:after {
    -webkit-box-shadow: inset 0 0 0 0.25rem #FFF;
            box-shadow: inset 0 0 0 0.25rem #FFF;
  }
}
@media print, screen and (min-width: 768px) {
  .mv .btn.-reason:before {
    aspect-ratio: 500/75;
    background: #FFF;
    border-radius: 62.4375rem;
    content: "";
    display: block;
    height: 100%;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .mv .btn.-reason picture.-hover2 {
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
  }
  .mv .btn.-reason:hover:after {
    -webkit-box-shadow: inset 0 0 0 0.125rem #FFF;
            box-shadow: inset 0 0 0 0.125rem #FFF;
  }
  .mv .btn.-reason.-hover-in:before {
    -webkit-animation: 0.4s ease-out btnReason0;
            animation: 0.4s ease-out btnReason0;
    opacity: 0;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  .mv .btn.-reason.-hover-in picture.-hover {
    -webkit-animation: 1s ease-out btnReason1;
            animation: 1s ease-out btnReason1;
    opacity: 1;
  }
  .mv .btn.-reason.-hover-in picture.-hover2 {
    -webkit-animation: 1s ease-out btnReason2;
            animation: 1s ease-out btnReason2;
    opacity: 0;
  }
  .mv .btn.-reason.-hover-out:before {
    -webkit-animation: 0.2s ease-out btnReason0reverse;
            animation: 0.2s ease-out btnReason0reverse;
    opacity: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .mv .btn.-reason.-hover-out picture.-hover {
    opacity: 0;
  }
  .mv .btn.-reason.-hover-out picture.-hover2 {
    opacity: 0;
  }
}
.mv .mv-catch {
  font-weight: 500;
  letter-spacing: 0.085em;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .mv .mv-catch {
    font-size: 2.375rem;
    line-height: 1.3684210526;
    margin-bottom: 1.625rem;
  }
}
@media only screen and (max-width: 767px) {
  .mv .mv-catch {
    font-size: 1.625rem;
    line-height: 1.3076923077;
    margin-bottom: 0.875rem;
  }
}
.mv .mv-scroll {
  bottom: 0;
  left: 50%;
  position: absolute;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media print, screen and (min-width: 768px) {
  .mv .mv-scroll {
    height: 6.25rem;
  }
}
@media only screen and (max-width: 767px) {
  .mv .mv-scroll {
    height: 11.875rem;
  }
}
.mv .mv-scroll p {
  color: #FFF;
  position: relative;
  text-align: center;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}
@media print, screen and (min-width: 768px) {
  .mv .mv-scroll p {
    font-size: 0.8125rem;
    line-height: 2.3076923077;
  }
}
@media only screen and (max-width: 767px) {
  .mv .mv-scroll p {
    font-size: 0.75rem;
    line-height: 1.4166666667;
  }
}
.mv .mv-scroll:after {
  -webkit-animation: 2s ease-in-out infinite mvScroll;
          animation: 2s ease-in-out infinite mvScroll;
  background: #FFF;
  content: "";
  display: block;
  left: 50%;
  position: absolute;
  width: 0.0625rem;
}
@-webkit-keyframes logoMmrquee {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@keyframes logoMmrquee {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
.logo {
  overflow: hidden;
}
@media print, screen and (min-width: 768px) {
  .logo {
    margin-top: 3.25rem;
  }
}
@media only screen and (max-width: 767px) {
  .logo {
    margin-top: 2.75rem;
  }
}
.logo ul {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  white-space: nowrap;
  width: auto;
}
@media print, screen and (min-width: 768px) {
  .logo ul + ul {
    margin-top: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .logo ul + ul {
    margin-top: 1rem;
  }
}
@media print, screen and (min-width: 768px) {
  .logo ul.-animation:nth-of-type(2n+1) {
    -webkit-animation: logoMmrquee 60s linear infinite;
            animation: logoMmrquee 60s linear infinite;
  }
  .logo ul.-animation:nth-of-type(2n) {
    animation: logoMmrquee 60s linear infinite reverse;
  }
}
@media only screen and (max-width: 767px) {
  .logo ul.-animation:nth-of-type(2n+1) {
    -webkit-animation: logoMmrquee 80s linear infinite;
            animation: logoMmrquee 80s linear infinite;
  }
  .logo ul.-animation:nth-of-type(2n) {
    animation: logoMmrquee 80s linear infinite reverse;
  }
}
@media print, screen and (min-width: 768px) {
  .logo ul li {
    margin-right: 3.4375rem;
  }
}
@media only screen and (max-width: 767px) {
  .logo ul li {
    margin-right: 0.3125rem;
  }
}
.logo ul img {
  max-width: none;
}

.section.service {
  background: #FFF center bottom/cover no-repeat;
}
@media print, screen and (min-width: 768px) {
  .section.service {
    background-image: url(/img/index/bg-service_pc.svg);
  }
}
@media only screen and (max-width: 767px) {
  .section.service {
    background-image: url(/img/index/bg-service_sp.svg);
  }
}
.section.service .section-inn {
  display: -ms-grid;
  display: grid;
}
@media print, screen and (min-width: 768px) {
  .section.service .section-inn {
    gap: 2.5rem 5.8%;
    -ms-grid-columns: 32% 5.8% 1fr;
    grid-template-columns: 32% 1fr;
    -ms-grid-rows: auto 2.5rem 1fr;
    grid-template-rows: auto 1fr;
  }
  .section.service .section-inn > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .section.service .section-inn > *:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .section.service .section-inn > *:nth-child(3) {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .section.service .section-inn > *:nth-child(4) {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
}
@media print, screen and (min-width: 768px) {
  .section.service .service-head {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
  }
}
@media print, screen and (min-width: 768px) {
  .section.service .service-head .index-h2 > span.-ja {
    line-height: 1;
    padding-bottom: 1.875rem;
  }
}
@media print, screen and (min-width: 768px) {
  .section.service .service-head p {
    font-size: 1.125rem;
    line-height: 1.6666666667;
  }
}
@media only screen and (max-width: 767px) {
  .section.service .service-head p {
    font-size: 0.9375rem;
    line-height: 1.6666666667;
  }
}
@media print, screen and (min-width: 768px) {
  .section.service .service-list-wrapper {
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2/3;
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    grid-row: 1/3;
  }
}
@media only screen and (max-width: 767px) {
  .section.service .service-list-wrapper {
    margin-top: 3.125rem;
  }
}
.section.service .service-list-wrapper ol {
  counter-reset: num;
}
.section.service .service-list-wrapper ol > li {
  counter-increment: num;
}
@media print, screen and (min-width: 768px) {
  .section.service .service-list-wrapper ol > li + li {
    margin-top: -0.3125rem;
  }
}
@media only screen and (max-width: 767px) {
  .section.service .service-list-wrapper ol > li + li {
    margin-top: -0.1875rem;
  }
}
.section.service .service-list-wrapper ol > li a {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217.259%22%20height%3D%2214.902%22%20viewBox%3D%220%200%2017.259%2014.902%22%3E%3Cpath%20d%3D%22M11.3.038l.16%2C4.06%2C2.641%2C0%2C.027%2C1.763-2.623%2C0%2C.142%2C3.053%2C2.758%2C0%2C.005%2C1.781-2.671%2C0%2C.146%2C4.176-1.211%2C0L10.535%2C10.7l-3.6.005.078%2C4.186-1.217%2C0-.1-4.188-2.693%2C0%2C.017-1.791%2C2.6%2C0L5.531%2C5.859l-2.782%2C0%2C.018-1.772%2C2.708%2C0L5.341.018l1.186%2C0%2C.139%2C4.069%2C3.589.005L10.122.034Zm-.96%2C5.824L6.7%2C5.86l.1%2C3.06%2C3.665%2C0Z%22%20fill%3D%22%233fb497%22%2F%3E%3C%2Fsvg%3E") 0.5rem center/0.864375rem auto no-repeat;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}
.section.service .service-list-wrapper ol > li a:before {
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2288.647%22%20height%3D%2277%22%20viewBox%3D%220%200%2088.647%2077%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22a%22%20x1%3D%220.568%22%20y1%3D%22-0.036%22%20x2%3D%220.924%22%20y2%3D%220.967%22%20gradientUnits%3D%22objectBoundingBox%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%2347cd8b%22%2F%3E%3Cstop%20offset%3D%220.5%22%20stop-color%3D%22%23069da3%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23006dbe%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Crect%20width%3D%2288.647%22%20height%3D%2277%22%20fill%3D%22url(%23a)%22%2F%3E%3C%2Fsvg%3E") center/cover no-repeat;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: "Jost", "Noto Sans JP", sans-serif;
  font-style: italic;
  font-weight: 500;
}
@media print, screen and (min-width: 768px) {
  .section.service .service-list-wrapper ol > li a:before {
    font-size: 2.625rem;
    line-height: 1.119047619;
    width: 5.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .section.service .service-list-wrapper ol > li a:before {
    font-size: 1.6875rem;
    line-height: 1.0740740741;
    width: 2.75rem;
  }
}
.section.service .service-list-wrapper ol > li a > span:not(.-line-top):not(.-line-bottom) {
  display: block;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-weight: 700;
  line-height: 1.375;
}
@media print, screen and (min-width: 768px) {
  .section.service .service-list-wrapper ol > li a > span:not(.-line-top):not(.-line-bottom) {
    font-size: 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .section.service .service-list-wrapper ol > li a > span:not(.-line-top):not(.-line-bottom) {
    font-size: 1.125rem;
  }
}
.section.service .service-list-wrapper ol > li a .-line-top,
.section.service .service-list-wrapper ol > li a .-line-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  left: 0;
  pointer-events: none;
  position: absolute;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .section.service .service-list-wrapper ol > li a .-line-top,
  .section.service .service-list-wrapper ol > li a .-line-bottom {
    height: 0.3125rem;
  }
}
@media only screen and (max-width: 767px) {
  .section.service .service-list-wrapper ol > li a .-line-top,
  .section.service .service-list-wrapper ol > li a .-line-bottom {
    height: 0.1875rem;
  }
}
.section.service .service-list-wrapper ol > li a .-line-top:before, .section.service .service-list-wrapper ol > li a .-line-top:after,
.section.service .service-list-wrapper ol > li a .-line-bottom:before,
.section.service .service-list-wrapper ol > li a .-line-bottom:after {
  border-radius: 62.4375rem;
  content: "";
  display: block;
  overflow: hidden;
}
@media print, screen and (min-width: 768px) {
  .section.service .service-list-wrapper ol > li a .-line-top:before, .section.service .service-list-wrapper ol > li a .-line-top:after,
  .section.service .service-list-wrapper ol > li a .-line-bottom:before,
  .section.service .service-list-wrapper ol > li a .-line-bottom:after {
    -webkit-transition: width 0.2s ease-out;
    transition: width 0.2s ease-out;
  }
}
.section.service .service-list-wrapper ol > li a .-line-top:before,
.section.service .service-list-wrapper ol > li a .-line-bottom:before {
  background-color: #9FE1CA;
}
@media print, screen and (min-width: 768px) {
  .section.service .service-list-wrapper ol > li a .-line-top:before,
  .section.service .service-list-wrapper ol > li a .-line-bottom:before {
    width: calc(100% - 4.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .section.service .service-list-wrapper ol > li a .-line-top:before,
  .section.service .service-list-wrapper ol > li a .-line-bottom:before {
    width: calc(100% - 2.25rem);
  }
}
.section.service .service-list-wrapper ol > li a .-line-top:after,
.section.service .service-list-wrapper ol > li a .-line-bottom:after {
  background-color: #058D84;
}
@media print, screen and (min-width: 768px) {
  .section.service .service-list-wrapper ol > li a .-line-top:after,
  .section.service .service-list-wrapper ol > li a .-line-bottom:after {
    width: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .section.service .service-list-wrapper ol > li a .-line-top:after,
  .section.service .service-list-wrapper ol > li a .-line-bottom:after {
    width: 1.875rem;
  }
}
.section.service .service-list-wrapper ol > li a .-line-top {
  top: 0;
}
.section.service .service-list-wrapper ol > li a .-line-bottom {
  bottom: 0;
}
.section.service .service-list-wrapper ol > li a:after {
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2213.276%22%20height%3D%229.299%22%20viewBox%3D%220%200%2013.276%209.299%22%3E%3Cpath%20d%3D%22M4.65%2C0%2C0%2C13.276H9.3Z%22%20transform%3D%22translate(13.276)%20rotate(90)%22%20fill%3D%22%23058d84%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;
  content: "";
  display: block;
}
@media print, screen and (min-width: 768px) {
  .section.service .service-list-wrapper ol > li a:after {
    height: 0.5625rem;
    margin-left: 1.625rem;
    -webkit-transition: -webkit-transform 0.2s ease-out;
    transition: -webkit-transform 0.2s ease-out;
    transition: transform 0.2s ease-out;
    transition: transform 0.2s ease-out, -webkit-transform 0.2s ease-out;
    width: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .section.service .service-list-wrapper ol > li a:after {
    height: 0.4375rem;
    margin-left: 0.375rem;
    width: 1.875rem;
  }
}
@media print, screen and (min-width: 768px) {
  .section.service .service-list-wrapper ol > li a {
    padding: 2.0625rem 0 2.0625rem 1.75rem;
  }
  .section.service .service-list-wrapper ol > li a.-hover {
    z-index: 1;
  }
  .section.service .service-list-wrapper ol > li a.-hover .-line-top:before,
  .section.service .service-list-wrapper ol > li a.-hover .-line-bottom:before {
    width: 3rem;
  }
  .section.service .service-list-wrapper ol > li a.-hover .-line-top:after,
  .section.service .service-list-wrapper ol > li a.-hover .-line-bottom:after {
    width: calc(100% - 4.25rem);
  }
  .section.service .service-list-wrapper ol > li a.-hover:after {
    -webkit-transform: translateX(0.25rem);
            transform: translateX(0.25rem);
  }
}
@media only screen and (max-width: 767px) {
  .section.service .service-list-wrapper ol > li a {
    padding: 1.1875rem 0 1.1875rem 1.75rem;
  }
}
.section.service .service-list-wrapper ol > li:nth-of-type(-n+10) a:before {
  content: "0" counter(num);
}
.section.service .service-list-wrapper ol > li:nth-of-type(n+10) a:before {
  content: counter(num);
}
@media print, screen and (min-width: 768px) {
  .section.service .service-link {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2/3;
  }
}
@media only screen and (max-width: 767px) {
  .section.service .service-link {
    margin-top: 1.875rem;
  }
  .section.service .service-link .btn {
    margin: 0 auto;
    max-width: 20.75rem;
  }
}

.section.works {
  background: #FFF center/cover no-repeat;
}
@media print, screen and (min-width: 768px) {
  .section.works {
    background-image: url(/img/index/bg-works_pc.svg);
  }
}
@media only screen and (max-width: 767px) {
  .section.works {
    background-image: url(/img/index/bg-works_sp.svg);
  }
}
@media print, screen and (min-width: 768px) {
  .section.works .section-inn {
    display: -ms-grid;
    display: grid;
    gap: 2.5rem;
    -ms-grid-columns: 1fr 2.5rem 32%;
    grid-template-columns: 1fr 32%;
  }
}
@media print, screen and (min-width: 768px) {
  .section.works .works-head {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
@media only screen and (max-width: 767px) {
  .section.works .works-head {
    margin-bottom: 1.875rem;
  }
}
@media print, screen and (min-width: 768px) {
  .section.works .works-head p {
    font-size: 1.125rem;
    line-height: 1.6666666667;
  }
}
@media only screen and (max-width: 767px) {
  .section.works .works-head p {
    font-size: 0.9375rem;
    line-height: 1.6666666667;
  }
}
@media print, screen and (min-width: 768px) {
  .section.works .works-list-wrapper {
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-column: 1/3;
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2/3;
  }
}
@media print, screen and (min-width: 768px) {
  .section.works .works-link {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2/3;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
  }
}
@media only screen and (max-width: 767px) {
  .section.works .works-link {
    margin-top: 1.875rem;
  }
}
@media print, screen and (min-width: 768px) {
  .section.works .works-link .btn {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .section.works .works-link .btn {
    margin: 0 auto;
    max-width: 20.75rem;
  }
}

.section.latest {
  background: #FFF center/cover no-repeat;
}
@media print, screen and (min-width: 768px) {
  .section.latest {
    background-image: url(/img/index/bg-latest_pc.svg);
  }
}
@media only screen and (max-width: 767px) {
  .section.latest .latest-main {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 1.875rem;
  }
}
.section.latest .latest-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media print, screen and (min-width: 768px) {
  .section.latest .latest-head {
    gap: min(0.8vw, 0.5rem) min(4vw, 2.5rem);
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
@media only screen and (max-width: 767px) {
  .section.latest .latest-head {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    max-width: 20.75rem;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    row-gap: 0.625rem;
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .section.latest .latest-head li {
    width: 48.7951807229%;
  }
  .section.latest .latest-head li:nth-of-type(3n) {
    width: 100%;
  }
}
@media print, screen and (min-width: 768px) {
  .section.latest .latest-head .btn {
    font-size: min(2vw, 1.25rem);
    padding: min(2.5vw, 1.5625rem) 0;
  }
  .section.latest .latest-head .btn > em, .section.latest .latest-head .btn > span {
    padding-left: min(6.4vw, 4rem);
    padding-right: min(6.4vw, 4rem);
  }
  .section.latest .latest-head .btn > em:after, .section.latest .latest-head .btn > span:after {
    height: min(0.7vw, 0.4375rem);
    right: min(2.2vw, 1.375rem);
    width: min(1vw, 0.625rem);
  }
}
@media print, screen and (min-width: 768px) {
  .section.latest .-latest-list {
    margin-top: 2.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .section.latest .-latest-list {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    max-width: 100vw;
    width: 100%;
  }
}
@media print, screen and (min-width: 768px) {
  .section.latest .-latest-list .grid-list-item-inn {
    padding-bottom: 3.25rem;
  }
}
@media only screen and (max-width: 767px) {
  .section.latest .-latest-list .grid-list-item-inn {
    padding-bottom: 4.8125rem;
  }
}
@media print, screen and (min-width: 768px) {
  .section.latest .-latest-list .latest-list-detail {
    row-gap: 1.4375rem;
  }
}
@media only screen and (max-width: 767px) {
  .section.latest .-latest-list .latest-list-detail {
    row-gap: 1.375rem;
  }
}
.section.latest .-latest-list .latest-list-detail time {
  color: #4B4B4B;
  font-weight: 400;
}

.section.recruit {
  position: relative;
}
@media print, screen and (min-width: 768px) {
  .section.recruit {
    display: -ms-grid;
    display: grid;
    place-items: center;
    min-height: 547px;
    padding-bottom: 3.75rem;
    padding-top: 5.3125rem;
  }
}
@media only screen and (max-width: 767px) {
  .section.recruit {
    padding-bottom: 2.3125rem;
    padding-top: 13rem;
  }
}
.section.recruit .recruit-photo {
  background: center/100% 100% no-repeat;
  height: 100%;
  left: 0;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
}
.section.recruit .recruit-photo picture {
  height: 100%;
  mix-blend-mode: multiply;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .section.recruit .recruit-photo picture {
    width: 100%;
  }
}
.section.recruit .recruit-photo img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.section.recruit .section-inn {
  position: relative;
}
@media only screen and (max-width: 767px) {
  .section.recruit .index-h2 {
    margin-bottom: 1.5rem;
  }
}
.section.recruit .index-h2 span.-ja {
  color: #FFF;
}
.section.recruit .recruit-lead {
  color: #FFF;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .section.recruit .recruit-lead {
    font-size: 0.9375rem;
    line-height: 1.8;
    padding: 0 0.40625rem;
  }
}
@media print, screen and (min-width: 768px) {
  .section.recruit .recruit-btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0.5rem 2.25rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 2.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .section.recruit .recruit-btn {
    margin: 3.875rem auto 0;
    max-width: 20.75rem;
  }
}
@media only screen and (max-width: 767px) {
  .section.recruit .recruit-btn > li + li {
    margin-top: 0.75rem;
  }
}
.section.recruit .recruit-btn .btn {
  color: #FFF;
}
.section.recruit .recruit-btn .btn:before {
  background-color: #FFF;
}
.section.recruit .recruit-btn .btn:after {
  border-color: #FFF;
}
@media print, screen and (min-width: 768px) {
  .section.recruit .recruit-btn .btn:after {
    border-width: 0.1875rem;
  }
}
.section.recruit .recruit-btn .btn:not([target=_blank]) > em:after, .section.recruit .recruit-btn .btn:not([target=_blank]) > span:after {
  background-color: #FFF;
}
.section.recruit .recruit-btn .btn[target=_blank] > em:after, .section.recruit .recruit-btn .btn[target=_blank] > span:after {
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2215%22%20height%3D%2215%22%20viewBox%3D%220%200%2015%2015%22%3E%3Cdefs%3E%3CclipPath%20id%3D%22a%22%3E%3Crect%20width%3D%2215%22%20height%3D%2215%22%20transform%3D%22translate(0%200.33)%22%20fill%3D%22%23fff%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3Cg%20transform%3D%22translate(-0.038%20-13.931)%22%3E%3Cg%20transform%3D%22translate(0.038%2013.601)%22%20clip-path%3D%22url(%23a)%22%3E%3Cpath%20d%3D%22M13.124%2C7.969v5.156H1.875V1.876H7.031A.469.469%2C0%2C0%2C0%2C7.5%2C1.407V.47A.469.469%2C0%2C0%2C0%2C7.031%2C0H1.5A1.5%2C1.5%2C0%2C0%2C0%2C0%2C1.5v12A1.5%2C1.5%2C0%2C0%2C0%2C1.5%2C15h12A1.5%2C1.5%2C0%2C0%2C0%2C15%2C13.5V7.969A.469.469%2C0%2C0%2C0%2C14.53%2C7.5h-.937a.469.469%2C0%2C0%2C0-.469.469%22%20transform%3D%22translate(0.001%200.33)%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20d%3D%22M15.3.937V4.49a.47.47%2C0%2C0%2C1-.8.333l-1.35-1.35L12.8%2C3.82v0L10.989%2C5.634%2C6.3%2C10.326a.467.467%2C0%2C0%2C1-.661%2C0l-.666-.661a.472.472%2C0%2C0%2C1%2C0-.666L7.46%2C6.515l4.368-4.368L10.478.8a.466.466%2C0%2C0%2C1%2C.328-.8h3.558A.934.934%2C0%2C0%2C1%2C15.3.937%22%20transform%3D%22translate(-0.302%200.33)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E") center/contain no-repeat;
  clip-path: none;
}
@media print, screen and (min-width: 768px) {
  .section.recruit .recruit-btn .btn[target=_blank] > em:after, .section.recruit .recruit-btn .btn[target=_blank] > span:after {
    height: 0.9375rem;
    width: 0.9375rem;
  }
}
@media only screen and (max-width: 767px) {
  .section.recruit .recruit-btn .btn[target=_blank] > em:after, .section.recruit .recruit-btn .btn[target=_blank] > span:after {
    height: 0.75rem;
    width: 0.75rem;
  }
}
@media print, screen and (min-width: 768px) {
  .section.recruit .recruit-btn .btn {
    width: 20rem;
  }
  .section.recruit .recruit-btn .btn:hover {
    color: #3A9EA3;
  }
  .section.recruit .recruit-btn .btn:hover:not([target=_blank]) > em:after, .section.recruit .recruit-btn .btn:hover:not([target=_blank]) > span:after {
    background-color: #3A9EA3;
  }
  .section.recruit .recruit-btn .btn:hover[target=_blank] > em:after, .section.recruit .recruit-btn .btn:hover[target=_blank] > span:after {
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2215%22%20height%3D%2215%22%20viewBox%3D%220%200%2015%2015%22%3E%3Cdefs%3E%3CclipPath%20id%3D%22a%22%3E%3Crect%20width%3D%2215%22%20height%3D%2215%22%20transform%3D%22translate(0%200.33)%22%20fill%3D%22%23058d84%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3Cg%20transform%3D%22translate(-0.038%20-13.931)%22%3E%3Cg%20transform%3D%22translate(0.038%2013.601)%22%20clip-path%3D%22url(%23a)%22%3E%3Cpath%20d%3D%22M13.124%2C7.969v5.156H1.875V1.876H7.031A.469.469%2C0%2C0%2C0%2C7.5%2C1.407V.47A.469.469%2C0%2C0%2C0%2C7.031%2C0H1.5A1.5%2C1.5%2C0%2C0%2C0%2C0%2C1.5v12A1.5%2C1.5%2C0%2C0%2C0%2C1.5%2C15h12A1.5%2C1.5%2C0%2C0%2C0%2C15%2C13.5V7.969A.469.469%2C0%2C0%2C0%2C14.53%2C7.5h-.937a.469.469%2C0%2C0%2C0-.469.469%22%20transform%3D%22translate(0.001%200.33)%22%20fill%3D%22%23058d84%22%2F%3E%3Cpath%20d%3D%22M15.3.937V4.49a.47.47%2C0%2C0%2C1-.8.333l-1.35-1.35L12.8%2C3.82v0L10.989%2C5.634%2C6.3%2C10.326a.467.467%2C0%2C0%2C1-.661%2C0l-.666-.661a.472.472%2C0%2C0%2C1%2C0-.666L7.46%2C6.515l4.368-4.368L10.478.8a.466.466%2C0%2C0%2C1%2C.328-.8h3.558A.934.934%2C0%2C0%2C1%2C15.3.937%22%20transform%3D%22translate(-0.302%200.33)%22%20fill%3D%22%23058d84%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E") center/contain no-repeat;
  }
}
/*# sourceMappingURL=index.css.map */