@charset "UTF-8";
html {
  font-size: 100%;
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  html {
    font-size: 1.3008130081vw;
  }
}
@media (min-width: 1230px) {
  html {
    font-size: 100%;
  }
}

body {
  font-family: "Noto Sans JP, sans-serif";
  color: #565956;
  background: #fff;
  z-index: -999;
}

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

/*****************************
* 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,
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;
}

/* 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;
  }
}
.l-inner {
  width: 100%;
  padding-right: 0.75rem;
  padding-left: 0.75rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .l-inner {
    max-width: 1230px;
    padding-right: 1.5625rem;
    padding-left: 1.5625rem;
  }
}

.c-common-button {
  display: inline-block;
  padding: 0.9375rem 3.25rem 0.9375rem 1.75rem;
  color: #fff;
  background-color: #669988;
  text-align: center;
  border-radius: 1rem;
  position: relative;
  font-size: 1.125rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .c-common-button {
    font-size: 1.5rem;
    padding: 1.75rem 3.75rem 1.75rem 2.25rem;
  }
}

.c-common-button::hover {
  cursor: pointer;
}

.c-common-button::after {
  position: absolute;
  content: url(../images/akar-icons_arrow-right.png);
  width: 1.5rem;
  max-width: 100%;
  height: 1.5rem;
  top: 46%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 10%;
  z-index: 100;
  color: inherit;
}
@media screen and (min-width: 768px) {
  .c-common-button::after {
    width: 1.125rem;
    height: 1.125rem;
    top: 44%;
    right: 13%;
  }
}

.c-faq-button {
  display: inline-block;
  padding: 0.625rem 2.125rem;
  color: #fff;
  background-color: #669988;
  text-align: center;
  border-radius: 2rem;
  position: relative;
  font-size: 1rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .c-faq-button {
    padding: 1.25rem 5.25rem;
    font-size: 1.25rem;
  }
}

.c-faq-button::after {
  position: absolute;
  content: url(../images/bx_bxs-right-arrow.png);
  max-width: 100%;
  width: 0.625rem;
  height: 0.625rem;
  top: 41%;
  -webkit-transform: translatey(-50%);
          transform: translatey(-50%);
  right: 0.75rem;
  z-index: 100;
  color: inherit;
}
@media screen and (min-width: 768px) {
  .c-faq-button::after {
    width: 1.125rem;
    height: 1.125rem;
    top: 44%;
    right: 3.3125rem;
  }
}

.c-item-heading {
  background: #998866;
  color: #fff;
  text-align: center;
  padding-top: 0.3125rem;
  padding-bottom: 0.3125rem;
}

.c-section-header--en-title {
  text-transform: uppercase;
}

.c-section-header--ja-title {
  position: relative;
  display: inline-block;
}

.c-section-header--ja-title::after {
  position: absolute;
  content: "";
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  bottom: -0.4375rem;
  width: 5rem;
  max-width: 100%;
  border-bottom: 1px solid #565956;
}

.p-appeal-first {
  padding-top: 2rem;
  padding-bottom: 2rem;
  background: #F2F4F1;
}
@media screen and (min-width: 768px) {
  .p-appeal-first {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}

.p-appeal-first__inner {
  position: relative;
}

.p-appeal-first__outer:nth-child(1) {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  font-family: "futura-pt, sans-serif";
  font-size: 2rem;
  font-weight: 700;
  opacity: 0.08;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}

@media screen and (min-width: 768px) {
  .p-appeal-first__outer p:nth-child(1) .p-appeal-first__span-former {
    font-size: 3.5rem;
  }
}

.p-appeal-first__outer p:nth-child(1) .p-appeal-first__span-latter {
  font-size: 2rem;
}
@media screen and (min-width: 768px) {
  .p-appeal-first__outer p:nth-child(1) .p-appeal-first__span-latter {
    font-size: 4.5rem;
  }
}

.p-appeal-first__outer:nth-child(2) {
  font-family: "futura-pt, sans-serif";
  position: absolute;
  content: "";
  top: 0;
  right: 0;
  font-family: "futura-pt, sans-serif";
  font-weight: 700;
  font-size: 2rem;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  opacity: 0.08;
}

@media screen and (min-width: 768px) {
  .p-appeal-first__outer p:nth-child(2) .p-appeal-first__span-former {
    font-size: 3.5rem;
  }
}

@media screen and (min-width: 768px) {
  .p-appeal-first__outer p:nth-child(2) .p-appeal-first__span-latter {
    font-size: 4.5rem;
  }
}

.p-appeal-first__span-former {
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .p-appeal-first__span-former {
    font-size: 3.5rem;
  }
}

@media screen and (min-width: 768px) {
  .p-appeal-first__span-latter {
    font-size: 4.5rem;
  }
}

.p-appeal-first__content {
  background: #fff;
  width: 76.5333333333vw;
  max-width: 48.125rem;
  margin: 0 auto;
  padding: 2.1875rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-appeal-first__content {
    padding: 3.125rem 2.1875rem 2.625rem;
  }
}

.p-appeal-first__text {
  font-size: 0;
  font-weight: 700;
  letter-spacing: 0.03em;
}
@media screen and (min-width: 768px) {
  .p-appeal-first__text {
    line-height: 1.7142857143;
  }
}

.p-appeal-first__text span {
  font-size: 1.25rem;
  font-family: "futura-pt, sans-serif";
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-appeal-first__text span {
    font-size: 1.75rem;
  }
}

.p-appeal-first__text span:nth-child(5) {
  font-size: 2.5rem;
  font-family: "futura-pt, sans-serif";
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-appeal-first__text span:nth-child(5) {
    font-size: 3.125rem;
  }
}

.p-appeal-first__points {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.75rem;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-appeal-first__points {
    margin-top: 1.875rem;
  }
}

.p-appeal-first__point {
  background: #565956;
  border-radius: 1rem;
  color: #fff;
  display: inline-block;
  font-size: 0.875rem;
}

.p-appeal-first__point--1,
.p-appeal-first__point--2 {
  padding: 0.5rem 0.8125rem;
}

.p-appeal-first__point--3 {
  padding: 0.625rem 2.25rem;
}

.p-appeal-first__evocation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 13rem;
  height: auto;
  margin: 2rem auto 0;
}
@media screen and (min-width: 768px) {
  .p-appeal-first__evocation {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: auto;
    width: initial;
    gap: 0 1.1875rem;
  }
}

.p-appeal-first__button {
  margin-top: 0.75rem;
}
@media screen and (min-width: 768px) {
  .p-appeal-first__button {
    margin-top: 0;
    margin-top: initial;
  }
}

.p-appeal-first__point--1 {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
@media screen and (min-width: 768px) {
  .p-appeal-first__point--1 {
    padding-top: 0.625rem;
  }
}

.p-appeal-first__point--2 {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
@media screen and (min-width: 768px) {
  .p-appeal-first__point--2 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    padding-top: 0.625rem;
  }
}

.p-appeal-first__point--3 {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}
@media screen and (min-width: 768px) {
  .p-appeal-first__point--3 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}

.p-faq {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
@media screen and (min-width: 768px) {
  .p-faq {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}

.p-faq__header {
  position: relative;
}

.p-faq__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-faq__items {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0 1.25rem;
  }
}

.p-faq__items--margin {
  margin-top: 1.75rem;
}
@media screen and (min-width: 768px) {
  .p-faq__items--margin {
    margin-top: 3.625rem;
  }
}

.p-faq__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: #fff;
  padding-top: 1.5625rem;
  padding-bottom: 1.5625rem;
  border-bottom: 1px solid #565956;
}
@media screen and (min-width: 768px) {
  .p-faq__item {
    width: calc(50% - 1.25rem);
  }
}

.p-faq__item-Question:before {
  position: absolute;
  content: "Q";
  border-radius: 50%;
  color: #998866;
  display: inline-block;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 1.5rem;
          flex: 0 0 1.5rem;
  height: 1.5rem;
  line-height: 1;
  text-align: center;
  font-weight: 600;
  padding-top: 0.1875rem;
}

.p-faq__item-left {
  width: 1.5rem;
  height: 1.5rem;
  margin-left: 1.6875rem;
}

.p-faq__item-right {
  margin-left: 1.6875rem;
}

.p-faq__item-Question-txt {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 100%;
          flex: 0 1 100%;
  line-height: 1.5;
  margin-left: 2.5em;
  position: relative;
  font-weight: 700;
  padding-right: 1.4375rem;
}

.p-faq__item-Question-txt:before {
  position: absolute;
  content: "";
  background: #998866;
  display: block;
  height: 0.1875rem;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  width: 0.9375rem;
  letter-spacing: normal;
}

.p-faq__item-Question-txt:after {
  background: #998866;
  content: "";
  display: block;
  height: 0.1875rem;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  width: 0.9375rem;
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
}

.p-faq__item-Answer {
  display: none;
  position: relative;
}

.p-faq__item-Answer::before {
  position: absolute;
  content: "A";
  border-radius: 50%;
  color: #998866;
  display: inline-block;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 1.5rem;
          flex: 0 0 1.5rem;
  height: 1.5rem;
  line-height: 1;
  text-align: center;
  font-weight: 600;
  padding-top: 1.125rem;
}

.p-faq__item-Answer-txt {
  border-radius: 0.25rem;
  line-height: 1.5;
  padding: 0.875rem 1.4375rem 0.875rem 2.4375rem;
}

.p-faq__item.js-add-active .p-faq__item-Question-txt:after {
  -webkit-transform: translateY(-50%) rotate(0);
          transform: translateY(-50%) rotate(0);
}

.p-faq__button {
  text-align: center;
  margin-top: 1.75rem;
}
@media screen and (min-width: 768px) {
  .p-faq__button {
    margin-top: 3.625rem;
  }
}

.p-features {
  padding-top: 2rem;
  padding-bottom: 2rem;
  height: auto;
  background-image: url(../images/img_background_features.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
@media screen and (min-width: 768px) {
  .p-features {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}

.p-features__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem 0;
}
@media screen and (min-width: 768px) {
  .p-features__items {
    gap: 2.0625rem 0;
  }
}

.p-features__items--margin {
  margin-top: 1.75rem;
}
@media screen and (min-width: 768px) {
  .p-features__items--margin {
    margin-top: 3.625rem;
  }
}

.p-features__item {
  display: grid;
  grid-template-rows: auto auto auto auto;
  grid-template-columns: 1fr;
  border-radius: 2rem;
  padding: 1.875rem 2rem;
  -webkit-box-shadow: 0 4px 4px rgba(51, 51, 51, .25);
          box-shadow: 0 4px 4px rgba(51, 51, 51, .25);
  background: #fff;
  gap: 0.75rem 0;
}
@media screen and (min-width: 768px) {
  .p-features__item {
    grid-template-rows: auto -webkit-min-content auto;
    grid-template-rows: auto min-content auto;
    grid-template-columns: 1fr 1fr;
    padding: 2.625rem 6rem 2rem 6.4375rem;
    gap: 0.75rem 5.3125rem;
    border-radius: 4rem;
  }
}

.p-features__heading {
  background: #998866;
  color: #fff;
  display: inline-block;
  text-align: center;
  padding-top: 0.3125rem;
  padding-bottom: 0.3125rem;
  padding-left: 1.4375rem;
  padding-right: 1.4375rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .p-features__heading {
    grid-row: 1;
    grid-column: 2;
  }
}

@media screen and (min-width: 768px) {
  .p-features__heading--reverse {
    grid-row: 1;
    grid-column: 1;
  }
}

.p-features__title {
  font-size: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-features__title {
    font-weight: 700;
    grid-column: 2;
  }
}

.p-features__title--reverse {
  font-size: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-features__title--reverse {
    font-weight: 700;
    grid-column: 1;
  }
}

.p-features__title span {
  font-size: 1.5rem;
  color: #998866;
}
@media screen and (min-width: 768px) {
  .p-features__title span {
    font-weight: 700;
  }
}

@media screen and (min-width: 768px) {
  .p-features__image {
    grid-column: 1;
    margin-top: -4.6875rem;
  }
}

@media screen and (min-width: 768px) {
  .p-features__image--1 {
    padding-top: -6.625rem;
  }
}

@media screen and (min-width: 768px) {
  .p-features__image--reverse {
    grid-column: 2;
    margin-top: -2.8125rem;
  }
}

@media screen and (min-width: 768px) {
  .p-features__text {
    grid-column: 2;
  }
}

@media screen and (min-width: 768px) {
  .p-features__text--reverse {
    grid-column: 1;
    margin-top: -10.625rem;
  }
}

.p-footer {
  background: #565956;
  color: #fff;
}

.p-footer__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.p-footer__item {
  width: calc(50% - 1.6875rem);
}
@media screen and (min-width: 768px) {
  .p-footer__item {
    width: auto;
    width: initial;
  }
}

.p-footer__header {
  text-transform: uppercase;
  font-size: 1.125rem;
  position: relative;
  margin-top: 1.875rem;
}

.p-footer__header:after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  width: 4.5rem;
  border-bottom: 1px solid #fff;
}

.p-footer__nav {
  margin-top: 2.5rem;
  font-size: 0.875rem;
}

.p-footer__sns {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-footer__sns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
    gap: 0 1.125rem;
  }
}

.p-footer__attention {
  font-size: 0.6875rem;
  font-weight: 700;
  margin-top: 0.8125rem;
}

.p-footer-copy {
  font-size: 0.6875rem;
  font-weight: 500;
  margin-top: 2.25rem;
}

.p-header {
  height: 5.3125rem;
  position: fixed;
  left: 0;
  right: 0;
  width: 100%;
  background: #fff;
  z-index: 4970;
}
@media screen and (min-width: 768px) {
  .p-header {
    height: 4.625rem;
  }
}

.p-header__container {
  width: 100%;
  display: grid;
  height: inherit;
  grid-template-columns: auto auto auto;
  grid-template-rows: 3.5625rem 1.75rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .p-header__container {
    grid-template-columns: auto auto;
    grid-template-rows: 4.625rem;
  }
}

.p-header__logo {
  width: 5.8125rem;
  height: auto;
  grid-row: 1;
  grid-column: 2;
  justify-self: center;
  margin-left: 4.5rem;
  z-index: 8000;
}
@media screen and (min-width: 768px) {
  .p-header__logo {
    grid-row: 1;
    grid-column: 1;
    width: 7.0625rem;
    margin-left: 0;
    margin-left: initial;
    justify-self: start;
  }
}

.p-header__drawer-icon {
  grid-row: 1;
  grid-column: 1;
  position: absolute;
  top: 20px;
  z-index: 99999;
  display: block;
  -webkit-transition: -webkit-transform 0.5s ease 0s;
  transition: -webkit-transform 0.5s ease 0s;
  transition: transform 0.5s ease 0s;
  transition: transform 0.5s ease 0s, -webkit-transform 0.5s ease 0s;
}
@media screen and (min-width: 768px) {
  .p-header__drawer-icon {
    display: none;
  }
}
.p-header__drawer-icon.is-active {
  -webkit-transition: -webkit-transform 0.5s ease 0s;
  transition: -webkit-transform 0.5s ease 0s;
  transition: transform 0.5s ease 0s;
  transition: transform 0.5s ease 0s, -webkit-transform 0.5s ease 0s;
}
.p-header__drawer-icon.is-active .c-drawer-icon__bar1 {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  top: 0.5rem;
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
.p-header__drawer-icon.is-active .c-drawer-icon__bar2 {
  display: none;
}
.p-header__drawer-icon.is-active .c-drawer-icon__bar3 {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  top: 0.5rem;
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}

.c-drawer-icon__bars {
  width: 1.375rem;
  height: 1.25rem;
  display: block;
  position: relative;
}

.c-drawer-icon__bar1,
.c-drawer-icon__bar2,
.c-drawer-icon__bar3 {
  position: absolute;
  width: 1rem;
  height: 0.125rem;
  background: #565956;
  top: 0;
  left: 0;
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}

.c-drawer-icon__bar1 {
  top: 0;
}

.c-drawer-icon__bar2 {
  top: 0.3125rem;
}

.c-drawer-icon__bar3 {
  top: 0.6875rem;
}

.p-drawer-content {
  width: 100%;
  height: 100%;
  position: fixed;
  right: 0;
  top: 0;
  left: 0;
  background: #fff;
  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, .16);
          box-shadow: 0 0 3px rgba(0, 0, 0, .16);
  z-index: 4980;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: -webkit-transform 0.5s ease 0s;
  transition: -webkit-transform 0.5s ease 0s;
  transition: transform 0.5s ease 0s;
  transition: transform 0.5s ease 0s, -webkit-transform 0.5s ease 0s;
}

.p-drawer-content.is-active {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.p-drawer-content__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100vh;
  width: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25rem 0;
  font-size: 1.25rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-drawer-content__items {
    display: none;
  }
}

.p-drawer-content__item a {
  display: block;
  color: #707070;
  text-decoration: none;
  padding: 18px 20px;
}
.p-drawer-content__item a::after {
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 8px;
  height: 11px;
  background: url(../img/arrow-b@2x.png) no-repeat center center/contain;
}

.p-drawer-background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .8);
  z-index: 298;
  display: none;
}
.p-drawer-background.is-active {
  display: block;
}

.p-header__right {
  grid-row: 1;
  grid-column: 3;
  justify-self: right;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 1.6875rem;
}
@media screen and (min-width: 768px) {
  .p-header__right {
    grid-row: 1;
    grid-column: 3;
  }
}

.p-header__right:last-child {
  margin-left: 1.6875rem;
}

.p-header__nav-bottom {
  position: relative;
}

.p-header__nav-bottom--1::after,
.p-header__nav-bottom--2::after {
  position: absolute;
  content: url(../images/pepicons_triangle-down-filled.png);
  top: 3%;
  right: -1.125rem;
  display: block;
  width: 1rem;
  height: 1rem;
}

@media screen and (min-width: 768px) {
  .p-header__right-link--2 {
    border: 1px solid #565956;
    border-radius: 32px;
    padding: 0.25rem 1.375rem;
    font-size: 0.875rem;
    font-weight: 700;
  }
}

.p-header__right-link--2:hover {
  cursor: pointer;
  background: #565956;
  color: #fff;
}

.p-header__nav {
  grid-row: 2;
  grid-column: span 3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0 1.75rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #F2F4F1;
  margin: 0 calc(50% - 50vw);
  padding-top: 1px;
  height: 1.75rem;
}
@media screen and (min-width: 768px) {
  .p-header__nav {
    grid-row: 1;
    grid-column: 2;
    justify-self: end;
    margin: 0;
    margin: initial;
    background: transparent none repeat 0 0 / auto auto padding-box border-box scroll;
    background: initial;
    gap: 0 2.9375rem;
  }
}

.p-header__nav-bottom--3 {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-header__nav-bottom--3 {
    display: block;
  }
}

.p-howtouse {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
@media screen and (min-width: 768px) {
  .p-howtouse {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}

.p-howtouse__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem 0;
  margin-top: 1.75rem;
}
@media screen and (min-width: 768px) {
  .p-howtouse__items {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0 2.125rem;
    margin-top: 3.625rem;
  }
}

.p-howtouse__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 0 0.9375rem;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
@media screen and (min-width: 768px) {
  .p-howtouse__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: calc(25% - 6.375rem);
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
}

.p-howtouse__image {
  aspect-ratio: 160/160;
  width: calc(50% - 0.9375rem);
}
@media screen and (min-width: 768px) {
  .p-howtouse__image {
    aspect-ratio: 268/268;
    width: auto;
    width: initial;
  }
}

.p-howtouse__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-howtouse__body {
  width: calc(50% - 0.9375rem);
}
@media screen and (min-width: 768px) {
  .p-howtouse__body {
    width: auto;
    width: initial;
  }
}

@media screen and (min-width: 768px) {
  .p-howtouse__heading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 1.625rem;
  }
}

.p-howtouse__number {
  color: #669988;
  font-size: 1.5rem;
  font-weight: 700;
  font-family: "futura-pt, sans-serif";
}

.p-howtouse__title {
  font-size: 1.125rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-howtouse__title {
    font-size: 1.25rem;
    margin-left: 3.4375rem;
  }
}

.p-howtouse__text {
  font-size: 0.875rem;
}
@media screen and (min-width: 768px) {
  .p-howtouse__text {
    margin-top: 0.875rem;
  }
}

.p-mv {
  height: auto;
  background-image: url(../images/img_main_visual_sp.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
@media screen and (min-width: 768px) {
  .p-mv {
    background-image: url(../images/img_main_visual_pc.jpg);
  }
}

.p-mv__heading {
  padding-top: 8.375rem;
  padding-bottom: 13.3125rem;
}

.p-mv__heading span {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(10%, transparent), color-stop(10%, #fff));
  background: linear-gradient(transparent 10%, #fff 10%);
  padding-left: 0.875rem;
  padding-right: 0.375rem;
}
@media screen and (min-width: 768px) {
  .p-mv__heading span {
    padding-left: 1.25rem;
  }
}

.p-mv__heading span:nth-child(1),
.p-mv__heading span:nth-child(2) {
  padding-top: 0.3125rem;
  line-height: 1.8;
}

.p-mv__heading span:nth-child(1) {
  font-size: 1.5rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-mv__heading span:nth-child(1) {
    font-size: 2.5rem;
  }
}

.p-mv__heading span:nth-child(2) {
  font-size: 1.5rem;
  font-weight: 700;
  margin-top: 0.6875rem;
}
@media screen and (min-width: 768px) {
  .p-mv__heading span:nth-child(2) {
    font-size: 2.5rem;
  }
}

.p-mv__heading span:nth-child(3) {
  font-size: 1rem;
  padding-top: 0.125rem;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .p-mv__heading span:nth-child(3) {
    font-size: 1.5rem;
  }
}

.p-realization-former__container {
  padding-top: 2rem;
  padding-bottom: 2rem;
  width: 100%;
  max-width: 67.5rem;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .p-realization-former__container {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}

.p-realization-former__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.5rem 0.625rem;
  max-width: 67.5rem;
}
@media screen and (min-width: 768px) {
  .p-realization-former__items {
    gap: 1.875rem 3.75rem;
  }
}

.p-realization-former__items--margin {
  margin-top: 1.75rem;
}
@media screen and (min-width: 768px) {
  .p-realization-former__items--margin {
    margin-top: 3.625rem;
  }
}

.p-realization-former__item {
  width: 29.8666666667vw;
}
@media screen and (min-width: 768px) {
  .p-realization-former__item {
    width: 11.6666666667vw;
  }
}

.p-realization-former__item--2 {
  width: 41.8666666667vw;
}
@media screen and (min-width: 768px) {
  .p-realization-former__item--2 {
    width: 11.6666666667vw;
  }
}

.p-realization-former__item-image {
  aspect-ratio: 112/112;
}

.p-realization-former__item-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-realization-former__item-image--2 {
  width: 29.8666666667vw;
}
@media screen and (min-width: 768px) {
  .p-realization-former__item-image--2 {
    width: 100%;
  }
}

.p-realization-former__item-image--2 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  padding-left: 2.625rem;
}
@media screen and (min-width: 768px) {
  .p-realization-former__item-image--2 img {
    padding-left: 0;
    padding-left: initial;
  }
}

.p-realization-latter {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-realization-latter {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.p-realization-latter__intro {
  margin-top: -3.4375rem;
}
@media screen and (min-width: 768px) {
  .p-realization-latter__intro {
    margin-top: -2rem;
    text-align: center;
  }
}

@media screen and (min-width: 768px) {
  .p-realization-latter__intro picture img {
    display: block;
    margin: auto;
  }
}

.p-realization-latter__container {
  padding-top: 6.25rem;
}
@media screen and (min-width: 768px) {
  .p-realization-latter__container {
    padding-top: 9.375rem;
  }
}

.p-realization-latter__scene-unit {
  position: relative;
}

.p-realization-latter__scene-unit::before {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  background: #F2F4F1;
  margin: 0 calc(50% - 50vw);
  z-index: -500;
  top: 3.125rem;
  height: 71.4375rem;
}
@media screen and (min-width: 768px) {
  .p-realization-latter__scene-unit::before {
    top: 13.25rem;
    height: 84.875rem;
  }
}

.p-realization-latter__scene-body {
  margin-top: 2.75rem;
}
@media screen and (min-width: 768px) {
  .p-realization-latter__scene-body {
    margin-top: 5.625rem;
  }
}

.p-realization-latter__scene-image {
  position: relative;
  width: 87.2vw;
  display: block;
}
@media screen and (min-width: 768px) {
  .p-realization-latter__scene-image {
    width: 81.9444444444vw;
    max-width: 73.75rem;
    margin: 0 auto;
  }
}

.p-realization-latter__scene-image span {
  position: absolute;
  content: "";
  text-transform: uppercase;
  color: #565956;
  font-weight: 700;
  font-size: 1.5rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-realization-latter__scene-image span {
    font-size: 3rem;
    left: 2.3125rem;
  }
}

.p-realization-latter__description {
  display: grid;
  grid-template-columns: 1;
  grid-template-rows: 5;
  -webkit-box-shadow: 0 4px 4px rgba(51, 51, 51, .16);
          box-shadow: 0 4px 4px rgba(51, 51, 51, .16);
}
@media screen and (min-width: 768px) {
  .p-realization-latter__description {
    grid-template-columns: 3;
    grid-template-rows: 3;
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-box-shadow: initial;
            box-shadow: initial;
  }
}

/*=======================================================
# scene 1
====================================================== */
.p-realization-latter__description--1 {
  display: grid;
  grid-template-columns: 1;
  grid-template-rows: 5;
  padding: 1.5rem 1.875rem;
  margin-top: 1.25rem;
  position: relative;
  background: #fff;
}
@media screen and (min-width: 768px) {
  .p-realization-latter__description--1 {
    padding: 4.6875rem 1.875rem 5rem;
    grid-template-columns: 3;
    grid-template-rows: 3;
    margin-top: 3.625rem;
    padding-right: 0;
    padding-right: initial;
    padding-top: 0;
    padding-top: initial;
    padding-left: 0;
    padding-left: initial;
    background: transparent none repeat 0 0 / auto auto padding-box border-box scroll;
    background: initial;
  }
}

@media screen and (min-width: 768px) {
  .p-realization-latter__description--1::before {
    position: absolute;
    content: "";
    top: 0;
    left: -1.5625rem;
    background: #fff;
    width: 49.3055555556vw;
    max-width: 44.375rem;
    height: 40.2777777778vw;
    max-height: 36.25rem;
    z-index: -1;
    -webkit-box-shadow: 0 4px 4px rgba(51, 51, 51, .16);
            box-shadow: 0 4px 4px rgba(51, 51, 51, .16);
    overflow-x: hidden;
  }
}

.p-realization-latter__title--1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .p-realization-latter__title--1 {
    grid-row: 1;
    grid-column: 1;
    margin-top: 4.875rem;
  }
}

.p-realization-latter__title-phrase {
  font-size: 1.25rem;
  font-weight: 700;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
@media screen and (min-width: 768px) {
  .p-realization-latter__title-phrase {
    font-size: 1.5rem;
    font-weight: 700;
    box-decoration-break: initial;
    -webkit-box-decoration-break: initial;
  }
}

.p-realization-latter__title-phrase span {
  font-size: 1.125rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
  background: #998866;
  display: block;
  padding-top: 0.3125rem;
  padding-bottom: 0.3125rem;
  padding-left: 0.3125rem;
}
@media screen and (min-width: 768px) {
  .p-realization-latter__title-phrase span {
    font-size: 1.5rem;
    display: inline;
    padding-top: 0.3125rem;
    padding-bottom: 0.3125rem;
    padding-left: 0;
    padding-left: initial;
  }
}

.p-realization-latter__title-phrase span:nth-child(2) {
  margin-left: auto;
  margin-top: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-realization-latter__title-phrase span:nth-child(2) {
    margin-left: 0;
    margin-left: initial;
  }
}

.p-realization-latter__text {
  overflow: hidden;
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-realization-latter__text {
    margin-top: 2.875rem;
  }
}

.p-realization-latter__text-former {
  font-family: "futura-pt, sans-serif";
}
@media screen and (min-width: 768px) {
  .p-realization-latter__text-former {
    font-size: 1.25rem;
  }
}

.p-realization-latter__text-latter {
  margin-top: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-realization-latter__text-latter {
    margin-top: 0.875rem;
  }
}

.p-realization-latter__text span {
  position: relative;
  display: inline-block;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.p-realization-latter__text span:after {
  content: "";
  position: absolute;
  top: 50%;
  width: 100vw;
  height: 0.0625rem;
  background-color: #333;
}

.p-realization-latter__text span:after {
  left: 100%;
  margin-left: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-realization-latter__text span:after {
    margin-left: 1.5625rem;
  }
}

@media screen and (min-width: 768px) {
  .p-realization-latter__text--1-1 {
    grid-row: 2;
    grid-column: 1;
  }
}

@media screen and (min-width: 768px) {
  .p-realization-latter__image--1-1 {
    width: 21.7361111111vw;
    max-width: 19.5625rem;
    grid-row: span 3;
    -ms-flex-item-align: center;
        align-self: center;
    margin-left: 2.5625rem;
  }
}

@media screen and (min-width: 768px) {
  .p-realization-latter__text--1-2 {
    grid-row: 3;
    grid-column: 1;
  }
}

@media screen and (min-width: 768px) {
  .p-realization-latter__image--1-2 {
    grid-row: span 3;
    grid-column: 3;
    margin-top: -4.6875rem;
    display: block;
    width: 22.9861111111vw;
    max-width: 20.6875rem;
    margin-left: 1.875rem;
  }
}

/*=======================================================
# scene 2
====================================================== */
.p-realization-latter__description--2 {
  display: grid;
  grid-template-columns: 1;
  grid-template-rows: 5;
  padding: 1.5rem 1.875rem;
  margin-top: 1.25rem;
  position: relative;
  background: #fff;
}
@media screen and (min-width: 768px) {
  .p-realization-latter__description--2 {
    padding: 4.6875rem 1.875rem 5rem;
    grid-template-columns: 3;
    grid-template-rows: 3;
    margin-top: 3.625rem;
    padding-right: 0;
    padding-right: initial;
    padding-top: 0;
    padding-top: initial;
    padding-left: 0;
    padding-left: initial;
    background: transparent none repeat 0 0 / auto auto padding-box border-box scroll;
    background: initial;
  }
}

@media screen and (min-width: 768px) {
  .p-realization-latter__description--2::before {
    position: absolute;
    content: "";
    top: 0;
    right: -1.5625rem;
    width: 49.3055555556vw;
    max-width: 44.375rem;
    height: 40.2777777778vw;
    max-height: 36.25rem;
    background: #fff;
    z-index: -1;
    -webkit-box-shadow: 0 4px 4px rgba(51, 51, 51, .16);
            box-shadow: 0 4px 4px rgba(51, 51, 51, .16);
    overflow-x: hidden;
  }
}

.p-realization-latter__title--2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .p-realization-latter__title--2 {
    grid-row: 1;
    grid-column: 3;
    margin-top: 4.875rem;
  }
}

@media screen and (min-width: 768px) {
  .p-realization-latter__text--2-1 {
    grid-row: 2;
    grid-column: 3;
  }
}

@media screen and (min-width: 768px) {
  .p-realization-latter__image--2-1 {
    width: 22.9861111111vw;
    max-width: 20.6875rem;
    grid-row: span 3;
    grid-column: 2;
    -ms-flex-item-align: center;
        align-self: center;
    margin-right: 2.5625rem;
  }
}

@media screen and (min-width: 768px) {
  .p-realization-latter__text--2-2 {
    grid-row: 3;
    grid-column: 3;
  }
}

@media screen and (min-width: 768px) {
  .p-realization-latter__image--2-2 {
    grid-row: span 3;
    grid-column: 1;
    margin-top: -4.6875rem;
    display: block;
    width: 21.7361111111vw;
    max-width: 19.5625rem;
    margin-right: 1.875rem;
  }
}

.p-realization-latter__lineup--margin-top {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-realization-latter__lineup--margin-top {
    margin-top: 3.625rem;
  }
}

.p-realization-latter__lineup-container {
  width: 100%;
  max-width: 62.5rem;
  margin: 0 auto;
}

.p-realization-latter__lineup-heading {
  overflow: hidden;
  text-align: center;
  font-size: 1.125rem;
}
@media screen and (min-width: 768px) {
  .p-realization-latter__lineup-heading {
    font-size: 1.25rem;
  }
}

.p-realization-latter__lineup-heading span {
  position: relative;
  display: inline-block;
}

.p-realization-latter__lineup-heading span:before,
.p-realization-latter__lineup-heading span:after {
  content: "";
  position: absolute;
  top: 50%;
  width: 100vw;
  height: 0.0625rem;
  background-color: #333;
}

.p-realization-latter__lineup-heading span:before {
  right: 100%;
  margin-right: 1.2222222222em;
}
@media screen and (min-width: 768px) {
  .p-realization-latter__lineup-heading span:before {
    margin-right: 9.5rem;
  }
}

.p-realization-latter__lineup-heading span:after {
  left: 100%;
  margin-left: 1.2222222222em;
}
@media screen and (min-width: 768px) {
  .p-realization-latter__lineup-heading span:after {
    margin-left: 9.5rem;
  }
}

.p-realization-latter__lineup-heading-en {
  text-transform: uppercase;
  color: #B1B6AF;
  opacity: 0.92;
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  .p-realization-latter__lineup-heading-en {
    font-size: 1.25rem;
  }
}

.p-realization-latter__bottom-cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 1.25rem;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-realization-latter__bottom-cards {
    gap: 3rem;
  }
}

.p-realization-latter__bottom-text {
  background: #F2F4F1;
  border-radius: 0 0 8px 8px;
  -webkit-box-shadow: 0 4px 4px rgba(51, 51, 51, .16);
          box-shadow: 0 4px 4px rgba(51, 51, 51, .16);
  padding: 0.4375rem 0.75rem 0.8125rem;
  height: 6rem;
  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: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .p-realization-latter__bottom-text {
    padding: 1.4375rem 1.125rem;
    height: 6.4375rem;
  }
}

.p-realization-latter__bottom-text-former {
  font-size: 0.875rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-realization-latter__bottom-text-former {
    font-size: 1.25rem;
  }
}

.p-realization-latter__image--margin-top {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-realization-latter__image--margin-top {
    margin-top: 0;
    margin-top: initial;
  }
}

.p-realization-latter__bottom-text-latter {
  margin-top: auto;
  font-size: 0.875rem;
}
@media screen and (min-width: 768px) {
  .p-realization-latter__bottom-text-latter {
    font-size: 1rem;
  }
}

.p-result {
  position: relative;
  display: block;
  height: 23.4375rem;
  background-image: url(../images/img_background_sp.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  z-index: -2;
}
@media screen and (min-width: 768px) {
  .p-result {
    margin-top: -10.6875rem;
    height: 36.375rem;
    background-image: url(../images/img_background_pc.png);
  }
}

.p-result::before {
  position: absolute;
  content: url(../images/leaf_left_sp.png);
  top: 9%;
  left: calc(50% - 11.25rem);
}
@media screen and (min-width: 768px) {
  .p-result::before {
    content: url(../images/leaf_left_pc.png);
    left: calc(50% - 28.125rem);
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}

.p-result::after {
  position: absolute;
  content: url(../images/leaf_right_sp.png);
  top: 9%;
  right: calc(50% - 11.25rem);
}
@media screen and (min-width: 768px) {
  .p-result::after {
    content: url(../images/leaf_right_pc.png);
    right: calc(50% - 28.125rem);
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}

.p-result__top-message {
  position: absolute;
  font-size: 1rem;
  text-align: center;
  top: 11%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (min-width: 768px) {
  .p-result__top-message {
    font-size: 1.5rem;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}

.p-result__top-message span:nth-child(1),
.p-result__top-message span:nth-child(3) {
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  .p-result__top-message span:nth-child(1),
  .p-result__top-message span:nth-child(3) {
    font-size: 1.5rem;
  }
}

.p-result__top-message span:nth-child(5) {
  font-size: 3rem;
  font-family: "futura-pt, sans-serif";
}
@media screen and (min-width: 768px) {
  .p-result__top-message span:nth-child(5) {
    font-size: 6rem;
  }
}

.p-result__top-message span:nth-child(6) {
  font-size: 1.75rem;
}
@media screen and (min-width: 768px) {
  .p-result__top-message span:nth-child(6) {
    font-size: 4rem;
  }
}

.p-section-header {
  text-align: center;
  font-size: 1.25rem;
}

.p-section-header__en-title {
  font-family: "futura-pt, sans-serif";
  margin-top: 0.9375rem;
}

.p-solution {
  padding-top: 2rem;
  padding-bottom: 5.375rem;
  height: auto;
  background-image: url(../images/img_background_solution.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
}
@media screen and (min-width: 768px) {
  .p-solution {
    padding-top: 5rem;
    padding-bottom: 5.5rem;
  }
}

.p-solution__items {
  display: grid;
  grid-template-rows: 6;
  grid-template-columns: 1;
  gap: 1.25rem 0;
}
@media screen and (min-width: 768px) {
  .p-solution__items {
    grid-template-rows: 5;
    grid-template-columns: 2;
    gap: 1.9375rem 2.75rem;
  }
}

.p-solution__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 1.125rem;
  background: #fff;
  border-radius: 2rem;
  padding: 1.5625rem 1.625rem;
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  .p-solution__item {
    font-size: 1.5rem;
    padding: 1.75rem 3.125rem;
    gap: 0 2.0625rem;
  }
}

@media screen and (min-width: 768px) {
  .p-solution__item:nth-child(1) {
    grid-row: 1;
    grid-column: span 2;
  }
}

@media screen and (min-width: 768px) {
  .p-solution__item:nth-child(2) {
    grid-row: 2;
    grid-column: span 2;
  }
}

@media screen and (min-width: 768px) {
  .p-solution__item:nth-child(3) {
    grid-row: 3;
    grid-column: span 2;
  }
}

@media screen and (min-width: 768px) {
  .p-solution__item:nth-child(4) {
    grid-row: 4;
    grid-column: 1;
  }
}

@media screen and (min-width: 768px) {
  .p-solution__item:nth-child(5) {
    grid-row: 4;
    grid-column: 2;
  }
}

@media screen and (min-width: 768px) {
  .p-solution__item:nth-child(6) {
    grid-row: 5;
    grid-column: span 2;
  }
}

.p-solution__items--margin {
  margin-top: 1.75rem;
}
@media screen and (min-width: 768px) {
  .p-solution__items--margin {
    margin-top: 3.625rem;
  }
}

.p-solution__item-left {
  aspect-ratio: 24/24;
  width: 1.5rem;
  height: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-solution__item-left {
    width: 2rem;
    height: 2rem;
  }
}

.p-solution__item-left img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-test {
  color: red;
  font-size: 1.5625rem;
}
@media screen and (min-width: 768px) {
  .p-test {
    font-size: 3.125rem;
  }
}

.p-voice {
  position: relative;
  padding-top: 10.3125rem;
  padding-bottom: 2rem;
  margin-top: -23.3125rem;
}
@media screen and (min-width: 768px) {
  .p-voice {
    padding-bottom: 5rem;
    margin-top: -18.75rem;
  }
}

.p-voice__container {
  width: 100%;
  max-width: 69rem;
  margin: 0 auto;
  padding: 0.75rem;
}

@media screen and (min-width: 768px) {
  .p-voice__items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.p-voice__items--margin {
  margin-top: 1.75rem;
}
@media screen and (min-width: 768px) {
  .p-voice__items--margin {
    margin-top: 3.625rem;
  }
}

@media screen and (min-width: 768px) {
  .p-voice__item {
    width: 33.333333%;
  }
}

.p-voice__item-body {
  padding: 1rem 2rem;
}
@media screen and (min-width: 768px) {
  .p-voice__item-body {
    padding: 1.5625rem 3rem;
  }
}

.p-voice__item-body span {
  color: #fff;
  font-weight: 700;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(10%, transparent), color-stop(10%, #998866));
  background: linear-gradient(transparent 10%, #998866 10%);
}

.p-voice__item:nth-child(odd) {
  background: #F2F4F1;
}

.p-voice__item-image {
  aspect-ratio: 351/214;
  position: relative;
}

.p-voice__item-image span {
  position: absolute;
  text-transform: uppercase;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
  padding: 0.5rem 1.5rem;
  background: #669988;
  letter-spacing: -0.07em;
}

.p-voice__item-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-voice__item-message-former {
  font-size: 1.125rem;
}
@media screen and (min-width: 768px) {
  .p-voice__item-message-former {
    font-size: 1.25rem;
  }
}

.p-voice__item-message-latter {
  text-align: right;
  font-size: 1.125rem;
  margin-top: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-voice__item-message-latter {
    text-align: left;
    text-align: initial;
    margin-top: 0.5625rem;
    font-size: 1.25rem;
  }
}

.p-voice__item-text {
  padding-top: 1.0625rem;
}

.p-voice__item-text-latter {
  text-align: right;
  padding-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-voice__item-text-latter {
    padding-top: 1.875rem;
  }
}

.u-desktop {
  display: none;
}
@media screen and (min-width: 768px) {
  .u-desktop {
    display: block;
  }
}

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