@charset "UTF-8";
html {
  font-size: 100%;
}
@media (max-width: 1150px) {
  html {
    font-size: 1.3913043478vw;
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: 100%;
  }
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}

body {
  font-family: "Noto Sans JP", sans-serif;
  color: #4D4D4D;
  font-weight: 500;
}

a,
button {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
a:hover,
button:hover {
  opacity: 0.7;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  a:hover,
  button:hover {
    opacity: 1;
  }
}

/*****************************
* A Modern CSS Reset (https://github.com/hankchizljaw/modern-css-reset)
* 上記に、ul要素,ol要素,a要素への記述追加
*****************************/
/* Box sizing rules */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
h5,
p,
figure,
blockquote,
dl,
dd,
ul,
li {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul,
ol {
  list-style: none;
  padding: 0;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

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

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

button {
  border: none;
  padding: 0;
  background-color: transparent;
  background-color: initial;
  color: inherit;
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    -webkit-animation-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
    -webkit-transition-duration: 0.01ms !important;
            transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
@media screen and (max-width: 767px) {
  .l-about {
    margin-top: 4.8125rem;
  }
}

.l-circle {
  margin-top: -5.625rem;
}
@media screen and (max-width: 767px) {
  .l-circle {
    margin-top: 0;
  }
}

.l-inner {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  max-width: 1150px;
  padding-right: 1.5625rem;
  padding-left: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .l-inner {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
  }
}

.l-section {
  padding-top: 3.125rem;
  padding-bottom: 3.125rem;
}
@media screen and (max-width: 767px) {
  .l-section {
    padding-top: 1.875rem;
    padding-bottom: 1.875rem;
  }
}

.l-section > *:first-child {
  margin-top: 0;
}

.l-section > *:last-child {
  margin-bottom: 0;
}

.l-system {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .l-system {
    margin-top: 4.375rem;
  }
}

.c-acd {
  max-width: 56.25rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 5rem;
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .c-acd {
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
  }
}

.c-acd__item {
  border-bottom: 0.125rem solid #34B489;
}

.c-acd__head {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 1.375rem 0;
  text-align: left;
}

.c-acd__head::before {
  content: "Q";
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 30px;
  height: 30px;
  font-size: 1.25rem;
  line-height: 1;
  font-family: "Roboto", sans-serif;
  letter-spacing: 0.02em;
  background-color: #34B489;
  border-radius: 50%;
  color: #fff;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.c-acd__title {
  font-size: 0.9375rem;
  font-weight: bold;
  line-height: 2.2;
  letter-spacing: 0.02em;
  margin-left: 0.625rem;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
@media screen and (max-width: 767px) {
  .c-acd__title {
    font-size: 0.875rem;
  }
}

.c-acd__icon {
  width: 1rem;
  height: 1rem;
  margin-top: 0.5rem;
  margin-left: 1.5rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .c-acd__icon {
    margin-left: 0.75rem;
  }
}

.c-acd__icon::before {
  content: "";
  display: inline-block;
  width: 0.125rem;
  height: 1rem;
  background-color: #34B489;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.c-acd__icon::after {
  content: "";
  display: inline-block;
  width: 1rem;
  height: 0.125rem;
  background-color: #34B489;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.c-acd__head.is-open .c-acd__icon::before {
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
          transform: translate(-50%, -50%) rotate(90deg);
  opacity: 0;
}

.c-acd__body {
  display: none;
  padding: 0 2.5rem 1.25rem;
}
@media screen and (max-width: 767px) {
  .c-acd__body {
    padding: 0 0 1.25rem;
  }
}

.c-acd__text {
  font-size: 0.8125rem;
  line-height: 2;
  letter-spacing: 0.02em;
  background-color: #F5F5F5;
  padding: 1.25rem;
  border-radius: 0.3125rem;
}

.c-bread {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.1875rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .c-bread {
    gap: 0.875rem;
  }
}

.c-bread__item {
  font-size: 0.75rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
  color: #999;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .c-bread__item {
    font-size: 0.625rem;
  }
}
.c-bread__item:not(:nth-last-child(1)) {
  color: #4D4D4D;
}
.c-bread__item:not(:nth-last-child(1)):after {
  content: "";
  display: inline-block;
  width: 0.3125rem;
  height: 0.625rem;
  background-image: url(../images/icon-arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  right: -0.9375rem;
  -webkit-transform: translate(100%, -50%);
          transform: translate(100%, -50%);
}
@media screen and (max-width: 767px) {
  .c-bread__item:not(:nth-last-child(1)):after {
    width: 0.25rem;
    height: 0.5rem;
    right: -0.25rem;
  }
}

.c-btn {
  display: inline-block;
  min-width: 17.5rem;
  background: #34B489;
  border-radius: 4.375rem;
  padding: 0.75rem 1.875rem;
  font-size: 1rem;
  line-height: 1.4444444444;
  letter-spacing: 0.04em;
  font-weight: 700;
  color: #fff;
  text-align: center;
  position: relative;
}
.c-btn:after {
  content: "";
  display: inline-block;
  width: 0.4375rem;
  height: 0.875rem;
  -webkit-mask-image: url(../images/icon-arrow.svg);
          mask-image: url(../images/icon-arrow.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #fff;
  position: absolute;
  top: 50%;
  right: 1.875rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.c-btn2 {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.625rem;
  min-width: 21.25rem;
  padding: 1.0625rem 1.875rem;
  background-color: #34B489;
  border-radius: 6.5625rem;
  font-size: 1.125rem;
  line-height: 1.4444444444;
  letter-spacing: 0.04em;
  font-weight: 700;
  color: #fff;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-btn2 {
    min-width: 18.4375rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }
}
.c-btn2:before {
  content: "";
  display: block;
  width: 1.5625rem;
  height: 1.125rem;
  -webkit-mask-image: url(../images/icon-mail.svg);
          mask-image: url(../images/icon-mail.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #fff;
}

.c-card-gray {
  max-width: 56.25rem;
  margin: 0 auto;
  padding: 1.25rem;
  background-color: #F5F5F5;
  border-radius: 0.3125rem;
  margin-top: 3.75rem;
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 767px) {
  .c-card-gray {
    max-width: none;
    max-width: initial;
    margin-top: 1.875rem;
    margin-bottom: 0.625rem;
  }
}

.c-card-gray__title {
  font-size: 0.9375rem;
  letter-spacing: 0.02em;
  line-height: 2.2;
  font-weight: 700;
  padding-bottom: 0.625rem;
  border-bottom: 1px solid #E6E6E6;
  border-radius: 0.03125rem;
}

.p-card-gray__text {
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: 0.02em;
  margin-top: 0.9375rem;
}

.c-card1 {
  margin-top: 3.75rem;
  margin-bottom: 3.75rem;
}
@media screen and (max-width: 767px) {
  .c-card1 {
    margin-top: 1.875rem;
    margin-bottom: 1.875rem;
  }
}

.c-card1__img {
  width: 31.25rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .c-card1__img {
    width: 100%;
  }
}
.c-card1__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 500/333;
  border-radius: 0.3125rem;
}

.c-card1__caption {
  margin-top: 0.9375rem;
  font-size: 0.8125rem;
  letter-spacing: 0.02em;
  line-height: 1.6;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .c-card1__caption {
    margin-top: 0.625rem;
  }
}

.c-card1__comments {
  margin-top: 0.3125rem;
  font-size: 0.8125rem;
  letter-spacing: 0.02em;
  line-height: 1.6;
  font-weight: 500;
  color: #a4a4a4;
  position: relative;
}
.c-card1__comments:before {
  content: "※";
  display: inline-block;
}

.c-card2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.5rem;
  max-width: 65rem;
  margin: 3.75rem auto;
}
@media screen and (max-width: 767px) {
  .c-card2 {
    grid-template-columns: repeat(1, 1fr);
    gap: 1.25rem;
    max-width: none;
    max-width: initial;
    margin-top: 1.875rem;
    margin-bottom: 1.875rem;
  }
}

.c-card2__img {
  width: 31.25rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .c-card2__img {
    width: 100%;
  }
}
.c-card2__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 500/333;
  border-radius: 0.3125rem;
}

.c-card2__caption {
  margin-top: 0.9375rem;
  font-size: 0.8125rem;
  letter-spacing: 0.02em;
  line-height: 1.6;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .c-card2__caption {
    margin-top: 0.625rem;
  }
}

.c-card2__comments {
  margin-top: 0.3125rem;
  font-size: 0.8125rem;
  letter-spacing: 0.02em;
  line-height: 1.6;
  font-weight: 500;
  color: #a4a4a4;
  position: relative;
}
.c-card2__comments:before {
  content: "※";
  display: inline-block;
}

.c-card3 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.3125rem;
  max-width: 63.8125rem;
  margin: 3.75rem auto;
}
@media screen and (max-width: 767px) {
  .c-card3 {
    grid-template-columns: repeat(1, 1fr);
    margin-top: 1.875rem;
    margin-bottom: 1.875rem;
  }
}

.c-card3__img img {
  border-radius: 0.3125rem;
}

.c-company {
  margin-top: 5rem;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 767px) {
  .c-company {
    margin-top: 2.5rem;
    margin-bottom: 1.25rem;
  }
}

.c-company__item {
  padding: 1.25rem 0 1.6875rem;
  border-bottom: 2px solid #34B489;
}

.c-company__title {
  font-weight: bold;
  font-size: 1.25rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .c-company__title {
    font-size: 1rem;
  }
}

.c-company__content {
  margin-top: 0.9375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .c-company__content {
    display: block;
  }
}

.c-company__logo {
  width: 15.9375rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  /* ここから1121追加 */
  display: flex;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .c-company__logo {
    width: 100%;
  }
}
/* ここまで1121追加 */

.c-company__logo img {
  width: 100%;
  height: auto;
}

.c-company__body {
  margin-left: 2.5rem;
}
@media screen and (max-width: 767px) {
  .c-company__body {
    margin-left: 0;
    margin-top: 0.625rem;
  }
}

.c-company__adress,
.c-company__tel {
  font-size: 15px;
  line-height: 2.2;
  letter-spacing: 0.02em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .c-company__adress,
  .c-company__tel {
    font-size: 14px;
  }
}

.c-company__tel::before {
  content: "";
  display: inline-block;
  width: 0.9375rem;
  height: 0.9375rem;
  margin-right: 0.375rem;
  background: url(../images/icon_tel.png) no-repeat center center/contain;
}

.c-company__info {
  font-size: 0.8125rem;
  line-height: 2;
  letter-spacing: 0.02em;
  margin-top: 10px;
}

.c-hamburger {
  display: none;
}
@media screen and (max-width: 767px) {
  .c-hamburger {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 0.4375rem;
    width: 1.875rem;
    height: 1.875rem;
  }
}

.c-hamburger span {
  display: block;
  width: 100%;
  height: 0.125rem;
  border-radius: 0.5px;
  background-color: #34B489;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.c-hamburger.is-active span:nth-child(1) {
  -webkit-transform: translateY(0.5625rem) rotate(45deg);
          transform: translateY(0.5625rem) rotate(45deg);
}
.c-hamburger.is-active span:nth-child(2) {
  opacity: 0;
}
.c-hamburger.is-active span:nth-child(3) {
  -webkit-transform: translateY(-0.5625rem) rotate(-45deg);
          transform: translateY(-0.5625rem) rotate(-45deg);
}

.c-head {
  background-color: #EBF7F3;
  padding-top: 1.25rem;
  padding-bottom: 5.9375rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-head {
    padding-bottom: 4.0625rem;
  }
}
.c-head:before {
  content: "";
  display: block;
  width: 38.3333333333vw;
  height: 100%;
  background-image: url(../images/bg-circle-head.png);
  background-size: cover;
  position: absolute;
  top: 0;
  right: 0;
}
@media screen and (max-width: 767px) {
  .c-head:before {
    width: 17.8125rem;
  }
}

.c-head__title {
  font-size: 2.375rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
  color: #34B489;
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  margin-top: 3.4375rem;
}
@media screen and (max-width: 767px) {
  .c-head__title {
    font-size: 1.25rem;
    margin-top: 1.875rem;
  }
}
.c-head__title:before {
  content: "";
  display: inline-block;
  width: 9.375vw;
  height: 0.25rem;
  background-color: #34B489;
  position: absolute;
  top: 50%;
  left: -2.4305555556vw;
  -webkit-transform: translate(-100%, -50%);
          transform: translate(-100%, -50%);
}
@media screen and (max-width: 767px) {
  .c-head__title:before {
    width: 6.25rem;
  }
}

.c-image-lg {
  margin-top: 5rem;
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .c-image-lg {
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .c-image-lg {
    margin-bottom: 2.5rem;
  }
}

.c-image-lg__img {
  width: 100%;
  margin: 0 auto;
}
.c-image-lg__img img {
  width: 100%;
  border-radius: 0.3125rem;
}

.c-image-md {
  margin-top: 3.75rem;
  margin-bottom: 3.75rem;
}
@media screen and (max-width: 767px) {
  .c-image-md {
    margin-top: 1.875rem;
    margin-bottom: 1.875rem;
  }
}

.c-image-md__img {
  width: 43.75rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .c-image-md__img {
    max-width: 43.75rem;
    width: 100%;
  }
}
.c-image-md__img img {
  border-radius: 0.3125rem;
}

.c-image {
  margin-top: 3.75rem;
  margin-bottom: 3.75rem;
  max-width: 35.9375rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .c-image {
    margin-top: 1.875rem;
    margin-bottom: 1.875rem;
  }
}

@media screen and (max-width: 767px) {
  .c-image__img {
    width: 100%;
  }
}
.c-image__img img {
  border-radius: 0.3125rem;
}

.c-link {
  color: #34B489;
  text-decoration: underline;
}

.c-list {
  list-style: disc;
  padding-left: 1.5em;
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 767px) {
  .c-list {
    margin-top: 0.625rem;
    margin-bottom: 0.625rem;
  }
}

.c-list__item::marker {
  color: #34B489;
}

.c-list__item {
  font-size: 0.9375rem;
  line-height: 1;
  letter-spacing: 0.02em;
  font-weight: 500;
}
.c-list__item:nth-child(n+2) {
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .c-list__item:nth-child(n+2) {
    margin-top: 0.625rem;
  }
}

.c-place {
  margin-top: 3.75rem;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 767px) {
  .c-place {
    margin-top: 1.875rem;
    margin-bottom: 1.25rem;
  }
}

.c-place__mainItem {
  padding: 1.25rem 0 1.375rem;
  border-bottom: 2px solid #34B489;
}

.c-place__mainTitle {
  font-weight: bold;
  font-size: 1.25rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .c-place__mainTitle {
    font-size: 1rem;
  }
}

.c-place__mainTitle::before {
  content: "";
  display: inline-block;
  width: 1.25rem;
  height: 1.875rem;
  background: url(../images/icon_place.png) no-repeat center center/contain;
  margin-right: 0.5625rem;
}
@media screen and (max-width: 767px) {
  .c-place__mainTitle::before {
    width: 1rem;
    height: 1.5rem;
    margin-right: 0.375rem;
  }
}

.c-place__subList {
  margin-top: 0.9375rem;
  padding-left: 1.875rem;
}
@media screen and (max-width: 767px) {
  .c-place__subList {
    padding-left: 1.25rem;
  }
}

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

.c-place__subItem:nth-child(n+2) {
  margin-top: 0.3125rem;
}
@media screen and (max-width: 767px) {
  .c-place__subItem:nth-child(n+2) {
    margin-top: 0.625rem;
  }
}

.c-place__subTitle {
  width: 21.875rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: 0.9375rem;
  line-height: 2.2;
  font-weight: bold;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .c-place__subTitle {
    font-size: 14px;
    width: 100%;
  }
}

.c-place__subText {
  margin-left: 2.5rem;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-size: 0.9375rem;
  line-height: 2.2;
  font-weight: 500;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .c-place__subText {
    font-size: 14px;
    margin-left: 0;
    font-weight: 400;
  }
}

.c-section-title {
  font-size: 1.625rem;
  line-height: 1.4;
  letter-spacing: 0.02em;
  position: relative;
  margin-left: 2.875rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  .c-section-title {
    font-size: 1.25rem;
    margin-left: 2rem;
  }
}
.c-section-title:before {
  content: "";
  display: inline-block;
  width: 1.875rem;
  height: 1.875rem;
  background-image: url(../images/icon-circle.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 0.1875rem;
  left: -1rem;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .c-section-title:before {
    width: 1.5rem;
    height: 1.5rem;
    left: -0.5rem;
    top: 0.125rem;
  }
}

.c-sitemap {
  font-size: 0.9375rem;
  line-height: 2.2;
  letter-spacing: 0.02em;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.75rem;
  margin-top: 5rem;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 767px) {
  .c-sitemap {
    grid-template-columns: repeat(1, 1fr);
    gap: 0;
    margin-top: 2.5rem;
    margin-bottom: 1.25rem;
  }
}

.c-sitemap__mainItem {
  border-bottom: 2px solid #F5F5F5;
}

.c-sitemap__mainLink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 1.25rem 0;
  -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) {
  .c-sitemap__mainLink {
    padding: 0.9375rem;
  }
}

.c-sitemap__mainLink::after {
  content: "";
  display: inline-block;
  width: 0.9375rem;
  height: 0.625rem;
  margin-left: 0.625rem;
  background: url(../images/icon_arrow.png) no-repeat center center/contain;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .c-sitemap__mainLink::after {
    font-size: 0.875rem;
  }
}

.c-sitemap__subList {
  padding-left: 1.875rem;
  padding-bottom: 1.375rem;
}
@media screen and (max-width: 767px) {
  .c-sitemap__subList {
    padding-left: 1.25rem;
  }
}

.c-sitemap__subItem:nth-child(n+2) {
  margin-top: 0.3125rem;
}

.c-sitemap__subLink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.c-sitemap__subLink::before {
  content: "";
  display: inline-block;
  width: 0.625rem;
  height: 1px;
  margin-right: 0.625rem;
  background-color: #34B489;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-top: 1rem;
}

.c-table {
  margin-top: 2.5rem;
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .c-table {
    margin-top: 1.25rem;
    margin-bottom: 2.5rem;
  }
}

.c-table__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 1.25rem 0;
  border-bottom: 2px solid #F5F5F5;
}
@media screen and (max-width: 767px) {
  .c-table__item {
    display: block;
  }
}

.c-table__title {
  width: 8.125rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-weight: bold;
  font-size: 0.9375rem;
  line-height: 2.2;
  letter-spacing: 0.02em;
}

.c-table__text {
  margin-left: 1.25rem;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-size: 0.9375rem;
  line-height: 2.2;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .c-table__text {
    margin-left: 0;
    margin-top: 0.3125rem;
  }
}

.c-text-num {
  list-style-type: decimal;
  padding-left: 1.5em;
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 767px) {
  .c-text-num {
    margin-top: 0.625rem;
    margin-bottom: 0.625rem;
  }
}

.c-text-num__item {
  font-size: 0.9375rem;
  line-height: 2.2;
  letter-spacing: 0.02em;
  font-weight: 500;
}

.c-text {
  font-size: 0.9375rem;
  line-height: 2.2;
  letter-spacing: 0.02em;
  font-weight: 500;
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 767px) {
  .c-text {
    margin-top: 0.625rem;
    margin-bottom: 1.25rem;
  }
}

.c-text.c-text--green {
  color: #34B489;
}

.c-title1 {
  font-size: 1.625rem;
  line-height: 1;
  letter-spacing: 0.02em;
  position: relative;
  margin-left: 2.875rem;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 767px) {
  .c-title1 {
    font-size: 1.25rem;
    margin-left: 2rem;
    margin-bottom: 1.25rem;
  }
}
.c-title1:before {
  content: "";
  display: inline-block;
  width: 1.875rem;
  height: 1.875rem;
  background-image: url(../images/icon-circle.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  left: -1rem;
  -webkit-transform: translate(-100%, -50%);
          transform: translate(-100%, -50%);
}
@media screen and (max-width: 767px) {
  .c-title1:before {
    width: 1.5rem;
    height: 1.5rem;
    left: -0.5rem;
  }
}

.c-title2 {
  font-size: 1.375rem;
  line-height: 1;
  letter-spacing: 0.02em;
  font-weight: 700;
  margin-left: 1.1875rem;
  position: relative;
  margin-top: 3.75rem;
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 767px) {
  .c-title2 {
    font-size: 1.125rem;
    margin-left: 0.75rem;
    margin-top: 1.875rem;
    margin-bottom: 0.625rem;
  }
}
.c-title2:before {
  content: "";
  display: inline-block;
  width: 0.25rem;
  height: 1em;
  background-color: #34B489;
  position: absolute;
  top: 50%;
  left: -0.9375rem;
  -webkit-transform: translate(-100%, -50%);
          transform: translate(-100%, -50%);
}
@media screen and (max-width: 767px) {
  .c-title2:before {
    left: -0.5rem;
  }
}

.c-title3 {
  font-size: 1.25rem;
  line-height: 1;
  letter-spacing: 0.02em;
  font-weight: 700;
  padding-bottom: 0.625rem;
  border-bottom: 2px solid #34B489;
  margin-top: 3.75rem;
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 767px) {
  .c-title3 {
    font-size: 1rem;
    margin-top: 1.875rem;
    margin-bottom: 0.625rem;
  }
}

.c-title4 {
  font-size: 1.25rem;
  letter-spacing: 0.02em;
  line-height: 1;
  font-weight: 700;
  margin-top: 3.75rem;
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 767px) {
  .c-title4 {
    font-size: 1rem;
    margin-top: 1.875rem;
    margin-bottom: 0.625rem;
  }
}

.p-about {
  padding-top: 3.4375rem;
  padding-bottom: 8.0625rem;
  background-color: #F5F5F5;
  position: relative;
  overflow: hidden;
  padding-left: 0.9375rem;
  padding-right: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .p-about {
    padding-top: 3.375rem;
    padding-bottom: 5.0625rem;
    padding-left: 0;
    padding-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-about:before {
    content: "";
    display: block;
    width: 31.9375rem;
    height: 31.9375rem;
    background-image: url(../images/bg-circle.svg);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    width: 15.6875rem;
    height: 15.6875rem;
    top: -5.6875rem;
    right: -7.875rem;
  }
}
.p-about:after {
  content: "";
  display: block;
  width: 31.9375rem;
  height: 31.9375rem;
  background-image: url(../images/bg-circle.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  bottom: -11.0625rem;
  left: -6.6875rem;
  left: calc(50% - 51.875rem);
}
@media screen and (max-width: 767px) {
  .p-about:after {
    width: 15.6875rem;
    height: 15.6875rem;
    bottom: -3.8125rem;
    left: -7.25rem;
  }
}

.p-about__inner.l-inner {
  max-width: 78.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 9.375rem;
  position: relative;
  z-index: 1;
  padding-left: 5rem;
  padding-right: 0;
}
@media screen and (max-width: 767px) {
  .p-about__inner.l-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
    gap: initial;
  }
}

@media screen and (max-width: 767px) {
  .p-about__body {
    max-width: none;
    max-width: initial;
    display: contents;
  }
}

.p-about__text {
  margin-top: 2.5rem;
  font-size: 0.9375rem;
  line-height: 2.2;
  letter-spacing: 0.02em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-about__text {
    margin-top: 2.0625rem;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
}

.p-about__head.c-title1 {
  margin-top: 0;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .p-about__head.c-title1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}

.p-about__img {
  width: 47.3728813559%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-about__img {
    width: 16rem;
    margin-top: 1.875rem;
    margin-left: auto;
    margin-right: auto;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
.p-about__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 559/400;
  border-radius: 0.3125rem;
}

.p-about__btn {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-about__btn {
    margin-top: 1.875rem;
    width: 100%;
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
}
@media screen and (max-width: 767px) {
  .p-about__btn a {
    width: 100%;
  }
}

.p-drawer__title.p-acd {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.p-acd__list {
  padding-bottom: 1.3125rem;
  display: none;
}

.p-acd__item:nth-child(n+2) {
  padding-top: 0.9375rem;
}

.p-acd__title {
  font-size: 0.875rem;
  line-height: 1.4545454545;
  letter-spacing: 0.065em;
  color: #fff;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  padding-left: 2.0625rem;
}
.p-acd__title:before {
  content: "";
  display: inline-block;
  width: 0.625rem;
  height: 1px;
  border-radius: 1px;
  background-color: #fff;
}

.p-circle {
  position: relative;
  overflow: hidden;
  padding-top: 5.625rem;
}
@media screen and (max-width: 767px) {
  .p-circle {
    padding-top: 0;
    display: contents;
  }
}
.p-circle:before {
  content: "";
  display: block;
  width: 31.9375rem;
  height: 31.9375rem;
  background-image: url(../images/bg-circle.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 48%;
  left: calc(50% + 16.25rem);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-circle:before {
    content: none;
  }
}

.p-contact {
  padding-top: 6.25rem;
  padding-bottom: 8.3333333333vw;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-contact {
    padding-top: 4.375rem;
    padding-bottom: 21.3333333333vw;
  }
}
.p-contact:before {
  content: "";
  display: block;
  width: 100vw;
  height: 7.6388888889vw;
  background-image: url(../images/bg-footer.png);
  background-size: cover;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-contact:before {
    height: 18.6666666667vw;
  }
}

.p-contact__head {
  text-align: center;
}

.p-contact__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.25rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-contact__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.p-contact__item {
  min-width: 33.75rem;
  padding: 2.8125rem 1.875rem 2.3125rem;
  background-color: #EBF7F3;
  border-radius: 0.3125rem;
}
@media screen and (max-width: 767px) {
  .p-contact__item {
    min-width: 0;
    min-width: initial;
    width: 100%;
  }
}

.p-contact__title {
  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: 1rem;
  font-size: 1.5rem;
  line-height: 1;
  letter-spacing: 0.02em;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-contact__title {
    font-size: 1.125rem;
  }
}
.p-contact__title span {
  display: inline-block;
  width: 1.875rem;
}
.p-contact__title span img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  aspect-ratio: 1/1;
}

.p-contact__tel {
  display: block;
  font-size: 3.375rem;
  line-height: 1;
  letter-spacing: 0.04em;
  font-weight: 700;
  text-align: center;
  margin-top: 1.75rem;
}
@media screen and (max-width: 767px) {
  .p-contact__tel {
    font-size: 2.125rem;
    margin-top: 0.875rem;
  }
}

.p-contact__hour {
  display: block;
  font-size: 0.9375rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
  font-weight: 500;
  text-align: center;
  margin-top: 0.75rem;
}

.p-contact__text {
  margin-top: 1.25rem;
  font-size: 0.9375rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-contact__text {
    margin-top: 0.625rem;
  }
}

.p-contact__btn {
  text-align: center;
  margin-top: 1.25rem;
}

.p-drawer {
  display: none;
  height: 100vh;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 998;
  overflow: auto;
  padding-bottom: 12.5rem;
  background-color: #fff;
  margin-top: 3.75rem;
}

.p-drawer__wrap {
  min-height: 23.75rem;
}

.p-drawer__list {
  background-color: #34B489;
}

.p-drawer__item {
  border-bottom: 1px solid #fff;
}

.p-drawer__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-size: 1rem;
  line-height: 1.4285714286;
  letter-spacing: 0.02em;
  color: #fff;
  padding: 1.75rem 1.5625rem 1.4375rem;
}
.p-drawer__title:after {
  content: "";
  display: inline-block;
  width: 0.75rem;
  height: 0.5rem;
  -webkit-mask-image: url(../images/icon-arrow-lg.svg);
          mask-image: url(../images/icon-arrow-lg.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #fff;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}

.p-drawer__contact {
  background-color: #EBF7F3;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.875rem;
  padding: 2.0625rem 1.5625rem 2.1875rem;
  width: 100%;
}

.p-drawer__tel {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.375rem;
  height: inherit;
  font-size: 1rem;
  line-height: 1;
  letter-spacing: 0.04em;
}
.p-drawer__tel:before {
  content: "";
  display: inline-block;
  width: 1rem;
  height: 1rem;
  background-image: url(../images/icon-tel.svg);
  background-size: contain;
  background-repeat: no-repeat;
}

.p-drawer__mail {
  min-width: 9.6875rem;
  padding: 0.5rem 1.25rem 0.5625rem;
  background-color: #34B489;
  color: #fff;
  border-radius: 3.125rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  line-height: 1.4615384615;
  letter-spacing: 0.04em;
}
.p-drawer__mail:before {
  content: "";
  display: inline-block;
  width: 1.25rem;
  height: 0.9375rem;
  -webkit-mask-image: url(../images/icon-mail.svg);
          mask-image: url(../images/icon-mail.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #fff;
}

.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
}

.p-footer__box {
  background-color: #34B489;
  padding-top: 2.8125rem;
  padding-bottom: 2.0625rem;
  position: relative;
}

.p-footer__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-bottom: 1.875rem;
  border-bottom: 1px solid #79C8AD;
}
@media screen and (max-width: 767px) {
  .p-footer__wrap {
    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;
  }
}

.p-footer__logo {
  font-size: 1.875rem;
  line-height: 1;
  letter-spacing: 0.02em;
  color: #fff;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-footer__logo {
    text-align: center;
  }
}

.p-footer__address {
  margin-top: 1.5625rem;
}
.p-footer__address p {
  font-size: 0.875rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
  font-weight: 500;
  color: #fff;
}

.p-footer__list {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-footer__list {
    display: block;
    margin-top: 1.875rem;
  }
}

@media screen and (min-width: 486px) {
  .p-footer__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 1.875rem;
  }
}
@media screen and (max-width: 767px) {
  .p-footer__item:nth-child(n+2) {
    margin-top: 1.5625rem;
  }
}

@media screen and (min-width: 486px) {
  .p-footer__item:nth-child(n+2) {
    margin-top: 0;
  }
}
.p-foooter__contact {
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-foooter__contact {
    margin-top: 0.625rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.9375rem;
  }
}

.p-footer__tel,
.p-footer__mail {
  font-size: 0.875rem;
  line-height: 1;
  letter-spacing: 0.02em;
  font-weight: 500;
  color: #fff;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.375rem;
}
.p-footer__tel:nth-child(n+2),
.p-footer__mail:nth-child(n+2) {
  margin-top: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-footer__tel:nth-child(n+2),
  .p-footer__mail:nth-child(n+2) {
    margin-top: 0;
  }
}

.p-footer__tel:before {
  content: "";
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  -webkit-mask-image: url(../images/icon-tel.svg);
          mask-image: url(../images/icon-tel.svg);
  -webkit-mask-size: cover;
          mask-size: cover;
  background-color: #fff;
}

.p-footer__mail:before {
  content: "";
  display: block;
  width: 0.75rem;
  height: 0.5625rem;
  -webkit-mask-image: url(../images/icon-mail.svg);
          mask-image: url(../images/icon-mail.svg);
  -webkit-mask-size: cover;
          mask-size: cover;
  background-color: #fff;
}

.p-footer__title {
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
  font-weight: 700;
  color: #fff;
}

.p-footer__contents {
  margin-top: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .p-footer__contents {
    margin-top: 0.625rem;
  }
}

.p-footer__content {
  max-width: 14.375rem;
}
.p-footer__content:nth-child(n+2) {
  margin-top: 0.625rem;
}
.p-footer__content a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 0.375rem;
  font-size: 0.875rem;
  line-height: 1.2;
  letter-spacing: 0.02em;
  font-weight: 500;
  color: #fff;
}
.p-footer__content a:before {
  content: "";
  display: block;
  width: 0.25rem;
  height: 0.5rem;
  background-image: url(../images/icon-arrow3.svg);
  background-size: cover;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.p-footer__copy {
  display: block;
  margin-top: 1.875rem;
  font-size: 0.625rem;
  line-height: 1.2;
  letter-spacing: 0.02em;
  color: #fff;
  font-weight: 400;
  text-align: center;
}

@media screen and (max-width: 486px) {
  .p-footer__wrap {
    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;
  }
}
.p-header {
  border-top: 4px solid #34B489;
  position: sticky;
  background-color: #fff;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-header {
    border: none;
    height: 3.75rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
}

.p-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-header__inner {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .p-header__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

.p-header__logo {
  font-size: 1.875rem;
  line-height: 1;
  letter-spacing: 0.02em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-header__logo {
    font-size: 1.25rem;
  }
}

@media screen and (max-width: 767px) {
  .p-header__menuWrap {
    display: none;
  }
}

.p-header__menu {
  margin-top: 0.6875rem;
}

.p-header__navList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  height: 3.125rem;
}

.p-header__navItem {
  height: inherit;
}
.p-header__navItem a {
  height: inherit;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 0.875rem;
}

.p-header__textLink {
  font-size: 0.8125rem;
  line-height: 1;
  letter-spacing: 0.04em;
}

.p-header__tel {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  height: inherit;
  font-size: 1.25rem;
  line-height: 1;
  letter-spacing: 0.04em;
}
.p-header__tel:before {
  content: "";
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  background-image: url(../images/icon-tel.svg);
  background-size: contain;
  background-repeat: no-repeat;
}

.p-header__navBtn {
  margin-left: 0.875rem;
}

.p-header__mail {
  min-width: 9.6875rem;
  padding: 0.5rem 1.25rem 0.5625rem;
  background-color: #34B489;
  color: #fff;
  border-radius: 3.125rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  line-height: 1.4615384615;
  letter-spacing: 0.04em;
}
.p-header__mail:before {
  content: "";
  display: inline-block;
  width: 1.25rem;
  height: 0.9375rem;
  -webkit-mask-image: url(../images/icon-mail.svg);
          mask-image: url(../images/icon-mail.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #fff;
}

.p-header__navItem a:hover {
  color: #34B489;
}

.p-info {
  overflow: hidden;
  padding-top: 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-info {
    padding-top: 4.375rem;
  }
}

.p-info__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-info__inner {
    display: block;
  }
}

.p-info__body {
  max-width: 29.4375rem;
}
@media screen and (max-width: 767px) {
  .p-info__body {
    max-width: none;
    max-width: initial;
  }
}

.p-info__text {
  margin-top: 2.5rem;
  font-size: 0.9375rem;
  line-height: 2.2;
  letter-spacing: 0.02em;
  font-weight: 500;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-info__text {
    font-size: 0.9375rem;
    margin-top: 1.25rem;
  }
}

.p-info__link {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-left: 4.375rem;
}
@media screen and (max-width: 767px) {
  .p-info__link {
    margin-left: 0;
  }
}

.p-info__item {
  border-bottom: 2px solid #34B489;
}
.p-info__item a {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 2.125rem;
  padding-bottom: 2.1875rem;
  padding-left: 1.875rem;
  padding-right: 0.625rem;
}

.p-info__icon {
  display: inline-block;
  width: 2.75rem;
  margin-right: 1.6875rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.p-info__icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  aspect-ratio: 44/50;
}

.p-info__title {
  width: 100%;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-size: 1.125rem;
  line-height: 2.2;
  letter-spacing: 0.02em;
  font-weight: 700;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-info__title {
    font-size: 0.9375rem;
  }
}
.p-info__title:after {
  content: "";
  display: inline-block;
  width: 1.5625rem;
  height: 1rem;
  background-image: url(../images/icon-arrow2.svg);
  background-size: contain;
  background-repeat: no-repeat;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-left: 0.3125rem;
}

.p-main {
  padding-top: 1.875rem;
  padding-bottom: 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-main {
    padding-top: 0.9375rem;
    padding-bottom: 3.125rem;
  }
}

.p-menu-lg {
  height: 3rem;
  margin-top: 0.4375rem;
}

.p-menu-lg__nav {
  height: inherit;
}

.p-menu-lg__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  height: inherit;
}

.p-menu-lg__item {
  height: inherit;
}
.p-menu-lg__item:nth-last-child(1) .p-menu-lg__title {
  padding-right: 0;
}

.p-menu-lg__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.9375rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
  height: inherit;
  padding: 0 1.125rem;
}

.p-menu-lg__item.p-menu-lg__item--mega .p-menu-lg__title {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.5rem;
  position: relative;
}
.p-menu-lg__item.p-menu-lg__item--mega .p-menu-lg__title:after {
  content: "";
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 0.875rem;
  height: 0.4375rem;
  -webkit-mask-image: url(../images/icon-arrow-lg.svg);
          mask-image: url(../images/icon-arrow-lg.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #34B489;
  margin-top: 0.5rem;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.p-menu-lg__title:hover {
  color: #34B489;
}

.p-menu-lg__item.p-menu-lg__item--mega .p-menu-lg__title:hover:after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.p-menu-sub {
  width: 100%;
  position: absolute;
  z-index: 999;
  bottom: 0;
  left: 0;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  background-color: #34B489;
  color: #fff;
  padding-top: 2.5rem;
  padding-bottom: 3.75rem;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.p-menu-lg__item.p-menu-lg__item--mega:hover .p-menu-sub {
  opacity: 1;
  visibility: visible;
}

.p-menu-sub__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 68.75rem;
  margin-left: auto;
  margin-right: auto;
}

.p-menu-sub__title {
  font-size: 1.5rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
  font-weight: 700;
}

.p-menu-sub__contents {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-column-gap: 1.25rem;
     -moz-column-gap: 1.25rem;
          column-gap: 1.25rem;
  row-gap: 3.25rem;
  margin-left: 8.6875rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.p-menu__content {
  border-bottom: 1px solid #fff;
  padding-bottom: 0.625rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 3.125rem;
}

.p-menu__titleSub {
  font-size: 0.9375rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0.9375rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-height: inherit;
}
.p-menu__titleSub:after {
  content: "";
  display: inline-block;
  width: 0.75rem;
  height: 0.5rem;
  -webkit-mask-image: url(../images/icon-arrow2.svg);
          mask-image: url(../images/icon-arrow2.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #fff;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.p-mv {
  position: relative;
  overflow: hidden;
  height: 37.5rem;
}
@media screen and (max-width: 767px) {
  .p-mv {
    height: auto;
    height: initial;
  }
}
.p-mv:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .15);
  position: absolute;
  top: 0;
  left: 0;
}
.p-mv:before {
  content: "";
  display: block;
  width: 71.375rem;
  height: 21.75rem;
  border-radius: 71.375rem;
  opacity: 0.5;
  background: radial-gradient(50% 50% at 50% 50%, rgba(0, 0, 0, .5) 0%, rgba(100, 100, 100, 0) 100%);
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-mv:before {
    width: 19.6875rem;
    height: 6rem;
    border-radius: 19.6875rem;
  }
}

.p-mv__circle {
  position: relative;
  width: 100%;
  height: 100%;
}
.p-mv__circle:before {
  content: "";
  display: block;
  width: 41.4375rem;
  height: 25.3125rem;
  background-image: url(../images/bg-circle-double.png);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  right: 0;
  right: 0;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-mv__circle:before {
    width: 61.6vw;
    width: 14.4375rem;
    height: 37.8666666667vw;
    height: 8.875rem;
  }
}

.p-mv__inner {
  position: relative;
  width: 100%;
  height: 100%;
}

.p-mv__img {
  height: 100%;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.p-mv__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-mv__img img {
    aspect-ratio: 375/404;
  }
}

.p-mv__headWrap {
  position: absolute;
  top: 50%;
  left: 1.5625rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-mv__headWrap {
    left: 0.9375rem;
  }
}

.p-mv__headParts {
  font-size: 4.5rem;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #fff;
  display: inline-block;
  padding-bottom: 1.25rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-mv__headParts {
    font-size: 2.25rem;
    padding-bottom: 0.9375rem;
  }
}
.p-mv__headParts:after {
  content: "";
  display: block;
  width: 100%;
  height: 0.1875rem;
  background-color: #fff;
  position: absolute;
  left: 0;
  bottom: 0;
}
.p-mv__headParts:nth-child(n+2) {
  margin-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-mv__headParts:nth-child(n+2) {
    margin-top: 1.25rem;
  }
}

.p-mv__headDot {
  font-size: 3.25rem;
  line-height: 1;
  letter-spacing: -0.01em;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-mv__headDot {
    font-size: 1.75rem;
  }
}

.p-mv__headEn {
  font-size: 1.1875rem;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  font-family: "Roboto", sans-serif;
  margin-top: 2.5625rem;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .p-mv__headEn {
    font-size: 0.75rem;
    margin-top: 0.9375rem;
  }
}

.p-news {
  padding-bottom: 2.8125rem;
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(5.9375rem, transparent), color-stop(5.9375rem, #F5F5F5), to(#F5F5F5));
  background: linear-gradient(to bottom, transparent 0%, transparent 5.9375rem, #F5F5F5 5.9375rem, #F5F5F5 100%);
}
@media screen and (max-width: 767px) {
  .p-news {
    background: #fff;
    padding-top: 3.5625rem;
    padding-bottom: 0;
  }
}

.p-news__inner {
  max-width: 81.875rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0.9375rem;
  padding-right: 0.9375rem;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-news__inner {
    max-width: none;
    max-width: initial;
    width: 100%;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
  }
}

.p-news__box {
  width: 100%;
  padding: 5rem;
  border-radius: 0.9375rem;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-top: -5.9375rem;
  -webkit-box-shadow: 0 0 3.75rem rgba(0, 0, 0, .05);
          box-shadow: 0 0 3.75rem rgba(0, 0, 0, .05);
}
@media screen and (max-width: 767px) {
  .p-news__box {
    display: contents;
  }
}

.p-news__head {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  max-width: 9.375rem;
}
@media screen and (max-width: 767px) {
  .p-news__head {
    max-width: none;
    max-width: initial;
  }
}

.p-news__contents {
  margin-left: 4.0625rem;
}
@media screen and (max-width: 767px) {
  .p-news__contents {
    margin-left: 0;
    margin-top: 1.5rem;
  }
}

.p-news__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1.25rem;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  border-top: 1px solid #F5F5F5;
}
@media screen and (max-width: 767px) {
  .p-news__content {
    display: block;
    padding-top: 0.8125rem;
    padding-bottom: 0.8125rem;
  }
}
.p-news__content:nth-last-child(1) {
  border-bottom: 1px solid #F5F5F5;
}

.p-news__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  min-width: 14.625rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-news__meta {
    gap: 0.9375rem;
    min-width: 0;
    min-width: initial;
    -webkit-box-pack: initial;
        -ms-flex-pack: initial;
            justify-content: initial;
  }
}

.p-news__date {
  font-size: 0.9375rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-news__date {
    font-size: 0.6875rem;
  }
}

.p-news__tagWrap {
  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;
  gap: 0.3125rem;
}

.p-news__tag {
  min-width: 5.9375rem;
  padding: 0.5rem 0.3125rem;
  border: 1px solid #34B489;
  border-radius: 0.1875rem;
  color: #34B489;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.02em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-news__tag {
    padding: 0.25rem 0.1875rem;
    min-width: 4.6875rem;
  }
}

.p-news__title {
  font-size: 0.9375rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
  font-weight: 500;
  padding-top: 0.25rem;
}
@media screen and (max-width: 767px) {
  .p-news__title {
    margin-top: 0.8125rem;
    padding-top: 0;
  }
}

.p-news__content.p-news__content--pdf a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-news__content.p-news__content--pdf a {
    display: block;
    padding-top: 0.8125rem;
    padding-bottom: 0.8125rem;
  }
}
.p-news__content.p-news__content--pdf .p-news__title {
  text-decoration: underline;
}
.p-news__content.p-news__content--pdf .p-news__title:after {
  content: "";
  display: inline-block;
  width: 0.75rem;
  height: 0.9375rem;
  background-image: url(../images/icon-pdf.png);
  background-size: contain;
  background-repeat: no-repeat;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.p-news__content.p-news__content--link a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-news__content.p-news__content--link a {
    display: block;
    padding-top: 0.8125rem;
    padding-bottom: 0.8125rem;
  }
}
.p-news__content.p-news__content--link .p-news__title {
  text-decoration: underline;
}

.p-system {
  padding-top: 6.25rem;
  padding-bottom: 7.5rem;
  background-color: #F5F5F5;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-system {
    padding-top: 4.375rem;
    padding-bottom: 5.625rem;
  }
}
.p-system:before {
  content: "";
  display: block;
  width: 31.9375rem;
  height: 31.9375rem;
  background-image: url(../images/bg-circle.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: -11.1875rem;
  left: 50%;
  left: calc(50% + 16.25rem);
}
@media screen and (max-width: 767px) {
  .p-system:before {
    width: 15.6875rem;
    height: 15.6875rem;
    top: -5.6875rem;
    right: -7.875rem;
  }
}
.p-system:after {
  content: "";
  display: block;
  width: 31.9375rem;
  height: 31.9375rem;
  background-image: url(../images/bg-circle.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  bottom: -11.0625rem;
  left: calc(50% - 46.875rem);
}
@media screen and (max-width: 767px) {
  .p-system:after {
    width: 15.6875rem;
    height: 15.6875rem;
    left: initial;
    bottom: -3.8125rem;
    left: -7.25rem;
  }
}

.p-system__inner {
  position: relative;
  z-index: 1;
}

.p-system__headWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 4.375rem;
}
@media screen and (max-width: 767px) {
  .p-system__headWrap {
    display: block;
  }
}

.p-system__head {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.p-system__text {
  font-size: 0.9375rem;
  line-height: 2.2;
  letter-spacing: 0.02em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-system__text {
    margin-top: 0.625rem;
  }
}
@media screen and (max-width: 767px) {
  .p-system__text {
    margin-top: 1.875rem;
  }
}

.p-system__contents {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4.375rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-system__contents {
    grid-template-columns: repeat(1, 1fr);
    justify-items: center;
    gap: 2.5rem;
    margin-top: 1.875rem;
  }
}

.p-system__content a {
  display: inline-block;
}

.p-system__img {
  -webkit-box-shadow: 0 0 3.75rem 0 rgba(0, 0, 0, .05);
          box-shadow: 0 0 3.75rem 0 rgba(0, 0, 0, .05);
  border-radius: 0.3125rem;
}
.p-system__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 322/200;
  border-radius: 0.3125rem;
}

.p-sytem__btn {
  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;
  width: 16.375rem;
  min-height: 4.125rem;
  padding: 0.5rem 0.9375rem;
  text-align: center;
  font-size: 1.125rem;
  line-height: 1.4;
  letter-spacing: 0.02em;
  font-weight: 700;
  color: #fff;
  background-color: #34B489;
  border-radius: 0.3125rem;
  position: relative;
  margin: -1.25rem auto 0;
}
@media screen and (max-width: 767px) {
  .p-sytem__btn {
    font-size: 1rem;
  }
}
.p-sytem__btn:after {
  content: "";
  display: inline-block;
  width: 0.4375rem;
  height: 0.875rem;
  -webkit-mask-image: url(../images/icon-arrow.svg);
          mask-image: url(../images/icon-arrow.svg);
  -webkit-mask-size: cover;
          mask-size: cover;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #fff;
  position: absolute;
  top: 50%;
  right: 0.9375rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .u-desktop {
    display: none;
  }
}

.u-mobile {
  display: none;
}
@media screen and (max-width: 767px) {
  .u-mobile {
    display: block;
  }
}
/*# sourceMappingURL=styles.css.map */
