body .l-header,
body .l-main,
body .l-footer,
body .fixed__spmenu,
body .fixed__right-menu {
  opacity: 1;
  visibility: visible;
  -webkit-transition: 2.5s opacity;
  transition: 2.5s opacity;
}
body .fixed__left-menu {
  -webkit-transition: 2.5s opacity, 0.3s -webkit-transform;
  transition: 2.5s opacity, 0.3s -webkit-transform;
  transition: 0.3s transform, 2.5s opacity;
  transition: 0.3s transform, 2.5s opacity, 0.3s -webkit-transform;
}
body.is-loading {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
}
body.is-loading .l-header,
body.is-loading .l-main,
body.is-loading .l-footer,
body.is-loading .fixed__spmenu,
body.is-loading .fixed__right-menu {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 2.5s opacity;
  transition: 2.5s opacity;
}
body.is-loading .fixed__left-menu {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 2.5s opacity, 0.3s -webkit-transform;
  transition: 2.5s opacity, 0.3s -webkit-transform;
  transition: 0.3s transform, 2.5s opacity;
  transition: 0.3s transform, 2.5s opacity, 0.3s -webkit-transform;
}

.loading {
  position: fixed;
  background-color: rgba(179, 219, 200, 0.2);
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  z-index: 10000;
}
.loading.is-show {
  opacity: 1;
  visibility: visible;
  -webkit-transition: 2.5s opacity;
  transition: 2.5s opacity;
}
.loading .l-content-inner {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.loading__image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 0.8rem;
}
.loading__image .sun {
  animation: floating 0.8s ease-in-out infinite alternate-reverse;
}
@-webkit-keyframes floating {
  0% {
    -webkit-transform: translateY(-10%);
            transform: translateY(-10%);
  }
  100% {
    -webkit-transform: translateY(10%);
            transform: translateY(10%);
  }
}
@keyframes floating {
  0% {
    -webkit-transform: translateY(-10%);
            transform: translateY(-10%);
  }
  100% {
    -webkit-transform: translateY(10%);
            transform: translateY(10%);
  }
}

.l-main {
  background-image: url(../images/common/bg.jpg);
  background-size: 100%;
}
@media screen and (max-width: 767px) {
  .l-main {
    background-image: url(../images/common/bg-sp.jpg);
  }
}
.l-main picture {
  display: block;
}

.p-mv {
  position: relative;
  padding-bottom: 8rem;
}
@media screen and (max-width: 767px) {
  .p-mv {
    padding-bottom: 0;
  }
}
.p-mv__movie {
  border-radius: 10rem 0 0 10rem;
  overflow: hidden;
  position: relative;
  margin: 0 0 0 auto;
  width: 74.7916666667%;
}
@media screen and (max-width: 767px) {
  .p-mv__movie {
    border-radius: 7.6923076923vw 0 0 7.6923076923vw;
    width: 88.4615384615vw;
  }
}
.p-mv__movie .movie {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.p-mv__movie .movie iframe,
.p-mv__movie .movie video {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
.p-mv__content {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-mv__content {
    position: relative;
    width: auto;
    height: auto;
    margin-top: -6.4102564103vw;
  }
}
.p-mv__content .l-content-inner {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .p-mv__content .l-content-inner {
    height: auto;
    display: block;
  }
}
.p-mv__image {
  width: 64.5rem;
  height: 42.4rem;
  background-image: url(../images/top/img_mv.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  padding: 9.4rem 0 0 6rem;
}
@media screen and (max-width: 767px) {
  .p-mv__image {
    width: 79.2307692308vw;
    height: 52.3076923077vw;
  }
}
.p-mv__image .dmy {
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-mv__image {
    padding: 9rem 0 0 5rem;
  }
}
.p-mv__image .title01 {
  font-size: 4.3rem;
  font-weight: bold;
  line-height: 1.55;
  letter-spacing: 0.07em;
}
@media screen and (max-width: 767px) {
  .p-mv__image .title01 {
    font-size: 5.8974358974vw;
    line-height: 1.45;
  }
}
.p-mv__image .title02 {
  font-size: 3.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-top: 0.9rem;
}
@media screen and (max-width: 767px) {
  .p-mv__image .title02 {
    font-size: 4.358974359vw;
    margin-top: 1rem;
  }
}
.p-mv__image .js-mvttl {
  display: block;
}
.p-mv__image .char {
  display: inline-block;
  position: relative;
  opacity: 0;
  -webkit-transform: translateY(1rem);
          transform: translateY(1rem);
  overflow: hidden;
  position: relative;
  color: rgba(0, 0, 0, 0.2);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-transition-duration: 0.8s;
          transition-duration: 0.8s;
  font-weight: 500;
}
.p-mv__image .char::after {
  display: block;
  position: absolute;
  -webkit-transform: translateY(105%);
          transform: translateY(105%);
  -webkit-transition-delay: inherit;
          transition-delay: inherit;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-duration: 0.8s;
          transition-duration: 0.8s;
  will-change: transform;
  content: attr(data-char);
  top: 0;
  left: 0;
  color: #000000;
  font-weight: bold;
}

body:not(.is-loading) .char {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
body:not(.is-loading) .char.is-show::after {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.p-service {
  padding-top: 3rem;
  padding-bottom: 3rem;
  background-image: url(../images/top/bg-top.jpg), url(../images/top/bg-btm.jpg);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: top center, bottom center;
  background-color: #ffffff;
  background-image: url(../images/top/bg-btm.jpg);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: bottom center;
}
@media screen and (max-width: 767px) {
  .p-service {
    padding-top: 3rem;
    padding-bottom: 3rem;
    background-image: url(../images/top/bg-top-sp.jpg), url(../images/top/bg-btm-sp.jpg);
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: top center, bottom center;
    background-color: #ffffff;
    padding-top: 6.4102564103vw;
    background-image: url(../images/top/bg-btm-sp.jpg);
    background-position: bottom -1px center;
    padding-bottom: 19.2307692308vw;
  }
}
.p-service__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .p-service__top {
    display: block;
  }
}
.p-service__top .img01 {
  width: 65rem;
}
@media screen and (max-width: 767px) {
  .p-service__top .img01 {
    width: 100%;
  }
}
.p-service__top .cnt {
  width: 50.1rem;
}
@media screen and (max-width: 767px) {
  .p-service__top .cnt {
    width: 100%;
    margin-top: 4.1025641026vw;
    padding: 0 4.1025641026vw;
  }
}
.p-service .c-secttl {
  width: 43.7rem;
  height: 18.5rem;
  background-image: url(../images/top/frame_service-title.svg);
  padding-top: 6.5rem;
  padding-left: 10.2rem;
  margin-left: -10.2rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .p-service .c-secttl {
    width: 64.1025641026vw;
    height: 26.4102564103vw;
    padding-top: 9.4871794872vw;
    padding-left: 14.1025641026vw;
    margin-left: 0;
    margin-bottom: 5.1282051282vw;
  }
}
.p-service .img02 {
  width: 52.8rem;
  margin-left: 12.2rem;
}
@media screen and (max-width: 767px) {
  .p-service .img02 {
    width: 78.4615384615vw;
    margin: 8.4615384615vw 0 0 0;
  }
}

.p-nayami {
  position: relative;
  margin-top: 1.5em;
  padding-top: 8rem;
  padding-bottom: 7rem;
}
@media screen and (max-width: 767px) {
  .p-nayami {
    background-image: url(../images/top/bg_namami_sp.png);
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 14.1025641026vw;
    padding-bottom: 14.1025641026vw;
    margin-top: 16.6666666667vw;
  }
}
.p-nayami::before {
  content: "";
  display: block;
  width: 160.8rem;
  max-width: 100%;
  height: 100%;
  border-radius: 0 12rem 12rem 0;
  position: absolute;
  left: 0;
  top: 0;
  background-image: url(../images/top/bg_namami.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .p-nayami::before {
    content: none;
  }
}
.p-nayami .l-content-inner {
  position: relative;
}
.p-nayami__image {
  width: 32.3rem;
  position: absolute;
  top: -27.3rem;
  right: 17.8rem;
}
@media screen and (max-width: 767px) {
  .p-nayami__image {
    width: 47.9487179487vw;
    top: -42.5641025641vw;
    right: 5.1282051282vw;
  }
}
.p-nayami__title {
  text-align: center;
  font-weight: bold;
  font-size: 4.1rem;
  letter-spacing: 0.11em;
  text-shadow: 0 0 5px #ffffff, 0 0 5px #ffffff, 0 0 5px #ffffff, 0 0 5px #ffffff, 0 0 5px #ffffff, 0 0 5px #ffffff, 0 0 5px #ffffff, 0 0 5px #ffffff, 0 0 5px #ffffff, 0 0 5px #ffffff, 0 0 5px #ffffff, 0 0 5px #ffffff, 0 0 5px #ffffff, 0 0 5px #ffffff, 0 0 5px #ffffff, 0 0 5px #ffffff;
  margin-bottom: 1.2rem;
}
@media screen and (max-width: 767px) {
  .p-nayami__title {
    font-size: 6.1538461538vw;
    margin-bottom: 5.1282051282vw;
  }
}
.p-nayami__title span {
  border-bottom: 0.3rem solid #000000;
  padding: 0 0.3em 0.8rem;
}
@media screen and (max-width: 767px) {
  .p-nayami__title span {
    border-bottom-width: 0.7692307692vw;
    padding: 0 10.2564102564vw 2.3076923077vw;
  }
}
.p-nayami__text {
  text-align: center;
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.11em;
  text-shadow: 0 0 5px #ffffff, 0 0 5px #ffffff, 0 0 5px #ffffff, 0 0 5px #ffffff, 0 0 5px #ffffff, 0 0 5px #ffffff, 0 0 5px #ffffff, 0 0 5px #ffffff, 0 0 5px #ffffff, 0 0 5px #ffffff, 0 0 5px #ffffff, 0 0 5px #ffffff, 0 0 5px #ffffff, 0 0 5px #ffffff, 0 0 5px #ffffff, 0 0 5px #ffffff;
}
@media screen and (max-width: 767px) {
  .p-nayami__text {
    font-size: 4.6153846154vw;
    line-height: 1.2222222222;
    text-align: left;
  }
  .p-nayami__text-outer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.p-nayami__btnlist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 3.5rem 3rem;
  width: 97rem;
  margin: 7rem auto auto;
}
@media screen and (max-width: 767px) {
  .p-nayami__btnlist {
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 5.1282051282vw 6.4102564103vw;
    margin-top: 8.9743589744vw;
  }
}
.p-nayami__btnlist .btn {
  width: 17rem;
  height: 17rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-nayami__btnlist .btn {
    width: 25.1282051282vw;
    height: 25.1282051282vw;
  }
  .p-nayami__btnlist .btn:nth-of-type(4) {
    margin-left: 12.8205128205vw;
  }
  .p-nayami__btnlist .btn:nth-of-type(5) {
    margin-right: 12.8205128205vw;
  }
}
.p-nayami__btnlist .btn::before, .p-nayami__btnlist .btn::after {
  content: "";
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border-radius: 50%;
  background: #38A882;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}
.p-nayami__btnlist .btn::before {
  -webkit-animation: btn-anime 2.5s ease-out infinite;
          animation: btn-anime 2.5s ease-out infinite;
}
.p-nayami__btnlist .btn::after {
  -webkit-animation: btn-anime 2.5s ease-out 1s infinite;
          animation: btn-anime 2.5s ease-out 1s infinite;
}
.p-nayami__btnlist .btn-inn {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
  color: #ffffff;
  background-color: #38A882;
  border-radius: 50%;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  z-index: 1;
  padding-top: 2rem;
}
@media print, screen and (min-width: 768px) {
  .p-nayami__btnlist .btn-inn:hover {
    opacity: 1;
  }
}
@-webkit-keyframes btn-anime {
  0% {
    -webkit-transform: scale(0.95);
            transform: scale(0.95);
    opacity: 1;
  }
  90% {
    opacity: 0.1;
  }
  to {
    -webkit-transform: scale(1.15, 1.15);
            transform: scale(1.15, 1.15);
    opacity: 0;
  }
}
@keyframes btn-anime {
  0% {
    -webkit-transform: scale(0.95);
            transform: scale(0.95);
    opacity: 1;
  }
  90% {
    opacity: 0.1;
  }
  to {
    -webkit-transform: scale(1.15, 1.15);
            transform: scale(1.15, 1.15);
    opacity: 0;
  }
}
.p-nayami__btnlist .btn.-orange::before, .p-nayami__btnlist .btn.-orange::after {
  background-color: #F17B00;
}
.p-nayami__btnlist .btn.-orange .btn-inn {
  background-color: #F17B00;
}
.p-nayami__btnlist .btn.-green2::before, .p-nayami__btnlist .btn.-green2::after {
  background-color: #4B673E;
}
.p-nayami__btnlist .btn.-green2 .btn-inn {
  background-color: #4B673E;
}
.p-nayami__btnlist .btn .icn {
  width: 9.9rem;
  height: 6.5rem;
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .p-nayami__btnlist .btn .icn {
    width: 12.8205128205vw;
    height: 8.2051282051vw;
  }
}
.p-nayami__btnlist .btn .icn img {
  display: block;
  margin: auto;
  max-width: 100%;
  max-height: 100%;
}
.p-nayami__btnlist .btn .text {
  text-align: center;
  font-weight: bold;
  font-size: 2.2rem;
  margin-top: 0.7rem;
}
@media screen and (max-width: 767px) {
  .p-nayami__btnlist .btn .text {
    font-size: 2.8205128205vw;
    margin-top: 1.0256410256vw;
  }
}
.p-nayami__btnlist .btn .arrow {
  width: 1.9rem;
  margin: 0.5rem auto auto;
}
@media screen and (max-width: 767px) {
  .p-nayami__btnlist .btn .arrow {
    width: 3.3333333333vw;
    margin-top: 0.7692307692vw;
  }
}
@media print, screen and (min-width: 768px) {
  @-webkit-keyframes btn-hover {
    50% {
      -webkit-transform: scale(0.9);
              transform: scale(0.9);
    }
    100% {
      opacity: 0;
    }
  }
  @keyframes btn-hover {
    50% {
      -webkit-transform: scale(0.9);
              transform: scale(0.9);
    }
    100% {
      opacity: 0;
    }
  }
  .p-nayami__btnlist .btn:hover::before {
    -webkit-animation: btn-hover 0.5s ease forwards;
            animation: btn-hover 0.5s ease forwards;
  }
  .p-nayami__btnlist .btn:hover::after {
    -webkit-animation: btn-hover 0.5s ease forwards;
            animation: btn-hover 0.5s ease forwards;
  }
}
.p-nayami__btnlist .btn {
  opacity: 0;
}
@-webkit-keyframes btn-show {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes btn-show {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.p-nayami__btnlist.js-animeOn .btn {
  -webkit-animation: btn-show 0.5s ease forwards;
          animation: btn-show 0.5s ease forwards;
}
.p-nayami__btnlist.js-animeOn .btn:nth-of-type(5n+2) {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
.p-nayami__btnlist.js-animeOn .btn:nth-of-type(5n+3) {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}
.p-nayami__btnlist.js-animeOn .btn:nth-of-type(5n+4) {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}
.p-nayami__btnlist.js-animeOn .btn:nth-of-type(5n) {
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}

.p-about {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .p-about {
    padding-top: 14.1025641026vw;
    padding-bottom: 0;
  }
}
.p-about__content {
  position: relative;
  padding-top: 8.3rem;
  padding-right: 3.4rem;
  padding-bottom: 14.8rem;
}
@media screen and (max-width: 767px) {
  .p-about__content {
    background-color: #ffffff;
    border-radius: 7.6923076923vw;
    padding: 7.6923076923vw 5.1282051282vw 85.8974358974vw;
  }
}
.p-about__content::before {
  content: "";
  display: block;
  width: 117.4rem;
  height: 100%;
  border-radius: 5rem;
  background-color: #ffffff;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .p-about__content::before {
    content: none;
  }
}
.p-about__content .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-about__content .inner {
    display: block;
  }
}
.p-about__content .img {
  width: 65.7rem;
  position: relative;
  margin-top: 6rem;
}
@media screen and (max-width: 767px) {
  .p-about__content .img {
    width: 100%;
    margin-top: 0;
  }
}
.p-about__content .cnt {
  width: 51.5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-about__content .cnt {
    width: 100%;
    margin-top: 6.4102564103vw;
  }
}
.p-about .c-secttl {
  background-image: url(../images/top/frame_about-title.svg);
  width: 51.5rem;
  height: 19.5rem;
  padding-top: 8.3rem;
  padding-left: 10.1rem;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .p-about .c-secttl {
    width: 67.4358974359vw;
    height: 24.8717948718vw;
    padding-top: 10.2564102564vw;
    padding-left: 10.2564102564vw;
    margin-bottom: 6.6666666667vw;
  }
}
.p-about .m-text {
  padding-right: 7.2rem;
}
@media screen and (max-width: 767px) {
  .p-about .m-text {
    padding-right: 0;
  }
}
.p-about .c-btn {
  margin-top: 11.6rem;
  margin-left: 17rem;
}
@media screen and (max-width: 767px) {
  .p-about .c-btn {
    margin: 10.2564102564vw auto auto;
  }
}
.p-about__image {
  position: absolute;
  right: 8rem;
  bottom: 0;
}
@media screen and (max-width: 767px) {
  .p-about__image {
    right: -2.0512820513vw;
  }
}
.p-about__image .bln {
  width: 21.8rem;
  position: absolute;
  top: 5rem;
  left: 6.8rem;
  -webkit-animation: bln-size 1.5s ease-in-out infinite;
          animation: bln-size 1.5s ease-in-out infinite;
  -webkit-transform-origin: right bottom;
          transform-origin: right bottom;
}
@media screen and (max-width: 767px) {
  .p-about__image .bln {
    width: 39.2307692308vw;
    top: 8.7179487179vw;
    left: 4.358974359vw;
  }
}
@-webkit-keyframes bln-size {
  0% {
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
  }
  50% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
  }
}
@keyframes bln-size {
  0% {
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
  }
  50% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
  }
}
.p-about__image .img2 {
  width: 56.4rem;
}
@media screen and (max-width: 767px) {
  .p-about__image .img2 {
    width: 94.8717948718vw;
    max-width: none;
  }
}

.p-hato {
  padding-top: 3rem;
  padding-bottom: 3rem;
  background-image: url(../images/top/bg-top.jpg), url(../images/top/bg-btm.jpg);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: top center, bottom center;
  background-color: #ffffff;
  padding-bottom: 19.5rem;
}
@media screen and (max-width: 767px) {
  .p-hato {
    padding-top: 3rem;
    padding-bottom: 3rem;
    background-image: url(../images/top/bg-top-sp.jpg), url(../images/top/bg-btm-sp.jpg);
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: top center, bottom center;
    background-color: #ffffff;
    background-position: top -5.1282051282vw center, bottom center;
    margin-bottom: 0;
    padding-top: 8.9743589744vw;
    padding-bottom: 14.1025641026vw;
  }
}
.p-hato__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-hato__content {
    display: block;
  }
}
.p-hato__content .img {
  width: 55.4rem;
  position: relative;
  left: 2.2rem;
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-hato__content .img {
    width: 76.9230769231vw;
    margin: 0 0 0 auto;
  }
}
.p-hato__content .cnt {
  width: 66.7rem;
}
@media screen and (max-width: 767px) {
  .p-hato__content .cnt {
    width: 100%;
    padding: 0 5.1282051282vw;
    margin-top: 7.6923076923vw;
  }
}
.p-hato__content .img02 {
  width: 60.5rem;
  margin: 10.3rem 0 auto auto;
}
@media screen and (max-width: 767px) {
  .p-hato__content .img02 {
    width: 100%;
    margin-top: 10.2564102564vw;
  }
}
.p-hato .c-secttl {
  background-image: url(../images/top/frame_hato-title.svg);
  width: 54.2rem;
  height: 19.3rem;
  padding-left: 10.2rem;
  margin-left: -10.2rem;
  padding-top: 6.1rem;
  margin-bottom: 4.5rem;
}
@media screen and (max-width: 767px) {
  .p-hato .c-secttl {
    width: 69.2307692308vw;
    height: 24.6153846154vw;
    padding-top: 7.6923076923vw;
    padding-left: 7.6923076923vw;
    margin-left: 0;
    margin-bottom: 7.6923076923vw;
  }
}
.p-hato__bnr {
  width: 80.3rem;
  margin: 6.5rem auto auto;
}
@media screen and (max-width: 767px) {
  .p-hato__bnr {
    width: 100%;
    margin-top: 10.2564102564vw;
  }
}
.p-hato__bnr-link {
  display: block;
}

.p-recruit {
  padding-top: 6.5rem;
  padding-bottom: 11rem;
}
@media screen and (max-width: 767px) {
  .p-recruit {
    padding-top: 29.4871794872vw;
    padding-bottom: 12.8205128205vw;
  }
}
.p-recruit__content {
  width: 117.4rem;
  margin: auto auto auto;
  background-color: #ffffff;
  border-radius: 5rem;
  padding: 4rem 5rem 5rem;
}
@media screen and (max-width: 767px) {
  .p-recruit__content {
    width: 100%;
    border-radius: 7.6923076923vw;
    padding: 0 2.5641025641vw 12.8205128205vw;
  }
}
.p-recruit__content .top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-recruit__content .top {
    display: block;
  }
}
.p-recruit__content .top .right {
  width: 63.2rem;
  margin-left: 9rem;
}
@media screen and (max-width: 767px) {
  .p-recruit__content .top .right {
    width: 100%;
    margin-left: 0;
    padding: 0 2.5641025641vw;
  }
}
.p-recruit__title {
  margin-top: -7.7rem;
  width: 20.9rem;
  height: 20.9rem;
  border-radius: 50%;
  background-color: #ffffff;
  border: 0.2rem dashed #38A882;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-recruit__title {
    width: 36.9230769231vw;
    height: 36.9230769231vw;
    border-width: 0.5128205128vw;
    position: relative;
    top: -16.6666666667vw;
    margin-bottom: -16.6666666667vw;
  }
}
.p-recruit__title .icn {
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .p-recruit__title .icn {
    width: 14.6153846154vw;
    margin: 0 0 0;
  }
}
@media print, screen and (min-width: 768px) {
  .p-recruit__title .c-secttl__en {
    font-size: 1.8rem;
  }
}
.p-recruit__subttl {
  color: #38A882;
  font-weight: bold;
  line-height: 1.3666666667;
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-recruit__subttl {
    margin-bottom: 6.4102564103vw;
    padding: 0 2.5641025641vw;
    line-height: 1.2;
  }
}
.p-recruit .img01 {
  width: 88rem;
  margin: 5rem auto 4.7rem;
}
@media screen and (max-width: 767px) {
  .p-recruit .img01 {
    width: 100%;
    margin: 6.4102564103vw 0 5.1282051282vw;
  }
}
.p-recruit .btm {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 11.5rem;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .p-recruit .btm {
    display: block;
    padding: 0 2.5641025641vw;
    margin-top: 11.5384615385vw;
  }
}
.p-recruit .img02 {
  width: 46.5rem;
}
@media screen and (max-width: 767px) {
  .p-recruit .img02 {
    width: 62.0512820513vw;
    margin-top: 8.9743589744vw;
  }
}

.p-news {
  padding-top: 3rem;
  padding-bottom: 3rem;
  background-image: url(../images/top/bg-top.jpg), url(../images/top/bg-btm.jpg);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: top center, bottom center;
  background-color: #ffffff;
  padding-bottom: 10rem;
  background-image: url(../images/top/bg-top.jpg);
  background-position: top center;
}
@media screen and (max-width: 767px) {
  .p-news {
    padding-top: 3rem;
    padding-bottom: 3rem;
    background-image: url(../images/top/bg-top-sp.jpg), url(../images/top/bg-btm-sp.jpg);
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: top center, bottom center;
    background-color: #ffffff;
    padding-top: 22.0512820513vw;
    margin-top: -10.2564102564vw;
    background-image: url(../images/top/bg-top-sp.jpg);
    background-position: top center;
    padding-bottom: 15.3846153846vw;
  }
}
@media screen and (max-width: 767px) {
  .p-news .l-content-inner {
    padding: 0 10.2564102564vw;
  }
}
.p-news .c-secttl {
  width: 43.7rem;
  height: 18.5rem;
  background-image: url(../images/top/frame_news-title.svg);
  padding-top: 6.5rem;
  padding-left: 10.2rem;
  margin-left: -10.2rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .p-news .c-secttl {
    width: 62.8205128205vw;
    height: 26.4102564103vw;
    padding-top: 9.4871794872vw;
    padding-left: 11.5384615385vw;
    margin-left: 0;
    margin-bottom: 5.1282051282vw;
  }
}
.p-news .article_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4.3rem;
  max-width: 117.4rem;
  margin: 0 auto 6.4rem;
}
@media screen and (max-width: 767px) {
  .p-news .article_area {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 7.1794871795vw;
    margin: 0 auto 8.7179487179vw;
  }
}
.p-news .article_area .articles {
  width: calc((100% - 8.6rem) / 3);
}
@media screen and (max-width: 767px) {
  .p-news .article_area .articles {
    width: 100%;
  }
}
.p-news .article_area .articles a {
  display: block;
}
.p-news .article_area .articles figure {
  width: 100%;
  aspect-ratio: 1/0.750632243;
  margin-bottom: 1.3rem;
  border-radius: 2rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-news .article_area .articles figure {
    margin-bottom: 2.8205128205vw;
    border-radius: 5.1282051282vw;
  }
}
.p-news .article_area .articles figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-news .article_area .articles .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  .p-news .article_area .articles .flex {
    gap: 2.0512820513vw;
  }
}
.p-news .article_area .articles .flex .date {
  font-size: 1.3rem;
  color: #35B595;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-news .article_area .articles .flex .date {
    font-size: 3.0769230769vw;
  }
}
.p-news .article_area .articles .flex .cat {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 1.9rem;
  padding: 0 1rem;
  font-size: 0.9rem;
  color: #fff;
  font-weight: 700;
  background: #35B595;
  border-radius: 1rem;
}
@media screen and (max-width: 767px) {
  .p-news .article_area .articles .flex .cat {
    height: 4.358974359vw;
    padding: 0 2.0512820513vw;
    font-size: 2.3076923077vw;
    border-radius: 2.5641025641vw;
  }
}
.p-news .article_area .articles .article_title {
  margin-top: 1.2rem;
  font-size: 1.7rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-news .article_area .articles .article_title {
    margin-top: 1.2820512821vw;
    font-size: 3.5897435897vw;
  }
}
.p-news .c-btn {
  margin: 0 auto;
}