@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap");
html {
  font-size: 100%;
}
@media (max-width: 1160px) {
  html {
    font-size: 1.3793103448vw;
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: 100%;
  }
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}

body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #505050;
  background: #fff;
}
section {
  position: relative;
  z-index: 10000000;
}

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

img {
  /* PCの右クリック禁止 */
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  img {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-touch-callout: none;
    -moz-user-select: none;
    -ms-user-select: none;
        user-select: none;
  }
}

.js-fadeHead {
  opacity: 0;
  -webkit-transition: all 1.3s ease-in-out;
  transition: all 1.3s ease-in-out;
}

.js-fadein {
  opacity: 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  -webkit-transition: all 1.8s;
  transition: all 1.8s;
}

.grecaptcha-badge {
  visibility: hidden;
}

/*****************************
* 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%;
  margin-right: auto;
  margin-left: auto;
  max-width: 1160px;
  padding-right: 1.875rem;
  padding-left: 1.875rem;
}
@media screen and (max-width: 767px) {
  .l-inner {
    padding-right: 2.25rem;
    padding-left: 2.25rem;
  }
}

.c-btn01 {
  height: 7.5rem;
  padding-right: 2.5rem;
  padding-left: 3.125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 0.875rem;
  line-height: 1.1875;
  letter-spacing: 0.1em;
  background: #fff;
  border-radius: 10px;
  position: relative;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .c-btn01 {
    height: 5rem;
    padding-right: 1.875rem;
    padding-left: 1.875rem;
    font-size: 0.8125rem;
  }
}

.c-btn01::after {
  content: "";
  width: 1.5rem;
  height: auto;
  background: transparent url(../images/common/btn_right.svg) no-repeat center center/100%;
  aspect-ratio: 24/32;
  position: absolute;
  top: 50%;
  right: 2.5rem;
  transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .c-btn01::after {
    width: 1rem;
    right: 1.5rem;
  }
}

.c-btn01:hover::after {
  right: 1.875rem;
}
@media screen and (max-width: 767px) {
  .c-btn01:hover::after {
    right: 2.5rem;
  }
}

.c-btn02 {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 1.875rem;
  padding-right: 2.625rem;
  font-size: max(10px, 0.875rem);
  line-height: 1.2142857143;
  letter-spacing: 0.1em;
  position: relative;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .c-btn02 {
    height: 1.1875rem;
    padding-right: 1.6875rem;
    font-size: 0.8125rem;
    line-height: 1.2;
  }
}

.c-btn02::after {
  content: "";
  width: 1.375rem;
  height: 1.875rem;
  background: transparent url(../images/common/btn_right.svg) no-repeat center center/100%;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .c-btn02::after {
    width: 0.875rem;
    height: 1.1875rem;
  }
}

.c-btn02:hover::after {
  right: -0.625rem;
}
@media screen and (max-width: 767px) {
  .c-btn02:hover::after {
    right: 0;
  }
}

.c-category {
  font-size: max(10px, 0.75rem);
  line-height: 1.1666666667;
  letter-spacing: 0.1em;
  color: #868686;
}
@media screen and (max-width: 767px) {
  .c-category {
    font-size: 0.8125rem;
  }
}

.c-pagetop {
  display: block;
  width: 17.5rem;
  position: fixed;
  top: 5.25rem;
  right: 0;
  z-index: 10000001;
}
@media screen and (max-width: 767px) {
  .c-pagetop {
    width: 33.0788804071%;
    min-width: auto;
    position: absolute;
    top: 6.25rem;
    display: none;
  }
}

body.has-mv .c-pagetop {
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  body.has-mv .c-pagetop {
    opacity: 1;
  }
}

body.has-mv.is-mv-passed .c-pagetop {
  opacity: 1;
}

.c-pagetop:hover {
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .c-pagetop:hover {
    opacity: 1;
  }
}

.c-pagetop img {
  width: 100%;
  height: auto;
  aspect-ratio: 280/104;
}

.c-title01 {
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-title01 {
    text-align: center;
  }
}

.c-title01__main {
  display: inline-block;
  font-size: max(10px, 1rem);
  line-height: 1.1875;
  letter-spacing: 0.1em;
  font-weight: 500;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-title01__main {
    font-size: 1rem;
  }
}

.c-title01__main::before {
  content: "";
  width: 3.375rem;
  height: auto;
  background: transparent url(../images/common/icon_title.svg) no-repeat center center/100%;
  aspect-ratio: 54/54;
  position: absolute;
  top: 50%;
  left: -4.5rem;
  transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
}
@media screen and (max-width: 767px) {
  .c-title01__main::before {
    width: 2.36125rem;
    top: 50%;
    left: calc(50% - 4.875rem);
    left: -3.25rem;
  }
}

.p-achievement {
  padding-top: 9.125rem;
  padding-bottom: 17.125rem;
}
@media screen and (max-width: 767px) {
  .p-achievement {
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
  }
}

@media screen and (max-width: 767px) {
  .p-achievement__title {
    margin-left: 1.875rem;
  }
}

.p-achievement__list {
  max-width: 56.25rem;
  margin-inline: auto;
  margin-top: 4.875rem;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  row-gap: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-achievement__list {
    width: auto;
    row-gap: 1.5rem;
  }
}

.p-achievement__item {
  width: 100%;
  font-size: max(10px, 0.875rem);
  line-height: 2.1428571429;
  letter-spacing: 0.1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 0.9375rem;
     -moz-column-gap: 0.9375rem;
          column-gap: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .p-achievement__item {
    font-size: 0.8125rem;
    line-height: 2;
  }
}

.p-article h2 {
  margin-bottom: 3.75rem;
  font-size: 1.375rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .p-article h2 {
    margin-bottom: 2.8125rem;
    font-size: 1.1875rem;
  }
}

.p-article h3 {
  margin-bottom: 3.125rem;
  font-size: 1.1875rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .p-article h3 {
    margin-bottom: 2.5rem;
    font-size: 1.0625rem;
  }
}

.p-article p {
  margin-bottom: 3.125rem;
  font-size: max(10px, 0.875rem);
  line-height: 2.1428571429;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-article p {
    margin-bottom: 2.5rem;
    font-size: 0.8125rem;
    line-height: 2;
  }
}

.p-article img {
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
}

.p-blog-single {
  padding-top: 6.125rem;
  padding-bottom: 13.25rem;
}
@media screen and (max-width: 767px) {
  .p-blog-single {
    padding-top: 8.125rem;
    padding-bottom: 7.5rem;
  }
}

@media screen and (max-width: 767px) {
  .p-blog-single__title {
    margin-left: 1.875rem;
  }
}

.p-blog-single__wrap {
  max-width: 56.25rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-blog-single__wrap {
    width: auto;
  }
}

.p-blog-single__date {
  font-size: max(10px, 0.875rem);
  color: #868686;
  line-height: 1;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-blog-single__date {
    font-size: 0.875rem;
  }
}

.p-blog-single__maintitle {
  margin-top: 1.25rem;
  font-size: 1.125rem;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .p-blog-single__maintitle {
    font-size: 1rem;
  }
}

.p-blog-single__thumbnail {
  margin-top: 2.8125rem;
}

.p-blog-single__thumbnail img {
  width: 100%;
  height: auto;
  aspect-ratio: 900/560;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
}

.p-blog-single__middle {
  margin-top: 4.6875rem;
  padding-bottom: 2.1875rem;
}
@media screen and (max-width: 767px) {
  .p-blog-single__middle {
    margin-top: 3.125rem;
    padding-bottom: 0.9375rem;
  }
}

.p-blog-single__body {
  padding-top: 3.125rem;
  border-top: 1px solid #D3D1CF;
}

.p-blog-single__area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}

.p-blog-single__arrow {
  height: 1.875rem;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-blog-single__arrow {
    height: 1.5rem;
  }
}

.p-blog-single__arrow--prev,
.p-blog-single__arrow--next {
  font-size: max(10px, 0.875rem);
  line-height: 1;
  line-height: 1.2142857143;
  letter-spacing: 0.1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-blog-single__arrow--next {
  padding-left: 2.9375rem;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-blog-single__arrow--next {
    padding-left: 1.5rem;
  }
}

.p-blog-single__arrow--next::before {
  content: "";
  width: 1.375rem;
  height: 1.875rem;
  background: transparent url(../images/common/btn_left.svg) no-repeat center center/100%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-blog-single__arrow--next::before {
    width: 1rem;
    height: 1.5rem;
  }
}

.p-blog-single__arrow--next:hover::before {
  left: -0.625rem;
}
@media screen and (max-width: 767px) {
  .p-blog-single__arrow--next:hover::before {
    left: 0;
  }
}

.p-blog-single__back {
  font-size: max(10px, 0.875rem);
  text-align: center;
  line-height: 2.1428571429;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-blog-single__back {
    font-size: 0.875rem;
  }
}

.p-blog-single__arrow--prev {
  padding-right: 2.9375rem;
  position: absolute;
  top: 0;
  right: 0;
}
@media screen and (max-width: 767px) {
  .p-blog-single__arrow--prev {
    padding-right: 1.5rem;
  }
}

.p-blog-single__arrow--prev::before {
  content: "";
  width: 1.375rem;
  height: 1.875rem;
  background: transparent url(../images/common/btn_right.svg) no-repeat center center/100%;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-blog-single__arrow--prev::before {
    width: 1rem;
    height: 1.5rem;
  }
}

.p-blog-single__arrow--prev:hover::before {
  right: -0.625rem;
}
@media screen and (max-width: 767px) {
  .p-blog-single__arrow--prev:hover::before {
    right: 0;
  }
}

.p-blog {
  padding-top: 6.125rem;
  padding-bottom: 15.375rem;
}
@media screen and (max-width: 767px) {
  .p-blog {
    padding-top: 8.125rem;
    padding-bottom: 7.5rem;
  }
}

@media screen and (max-width: 767px) {
  .p-blog__title {
    margin-left: 1.875rem;
  }
}

.p-blog__cateList {
  margin-top: 3.4375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: 1.75rem;
     -moz-column-gap: 1.75rem;
          column-gap: 1.75rem;
  row-gap: 0.9375rem;
}

.p-blog__cateItem {
  font-size: max(10px, 0.875rem);
  line-height: 1.2142857143;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-blog__cateItem {
    font-size: 0.875rem;
  }
}

.p-blog__link {
  margin-top: 6.25rem;
  padding-top: 3.125rem;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  row-gap: 3.125rem;
  border-top: 1px solid #D3D1CF;
}
@media screen and (max-width: 767px) {
  .p-blog__link {
    margin-top: 3.75rem;
    padding-top: 1.5625rem;
    row-gap: 1.5625rem;
  }
}

.p-blog__cateItem.active {
  color: #D3D1CF;
}

.p-blog__item {
  padding-bottom: 3.125rem;
  border-bottom: 1px solid #D3D1CF;
}
@media screen and (max-width: 767px) {
  .p-blog__item {
    width: 100%;
    padding-bottom: 1.5625rem;
  }
}

.p-blog__pagenation {
  margin-top: 4.75rem;
}

.p-card01__img {
  border-radius: 10px;
}

.p-card01__img img {
  width: 100%;
  height: auto;
  aspect-ratio: 520/330;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .p-card01__img img {
    aspect-ratio: 320/200;
  }
}

.p-card01__title {
  margin-top: 1.25rem;
  font-size: max(10px, 0.875rem);
  line-height: 1.4285714286;
  letter-spacing: 0.1em;
  font-weight: 400;
}

.p-card01__body {
  margin-top: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.625rem;
}

.p-card02 {
  display: grid;
  grid-template-columns: 39.0909090909% 60.9090909091%;
  border-radius: 10px;
  background: #fff;
  position: relative;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-card02 {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    border-radius: 5px;
  }
}

.p-card02::after {
  content: "";
  width: 1.375rem;
  height: 1.875rem;
  background: transparent url(../images/common/btn_right.svg) no-repeat center center/100%;
  position: absolute;
  top: 50%;
  right: 2.5rem;
  transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-card02::after {
    width: 0.875rem;
    height: 1.1875rem;
    top: auto;
    bottom: 0.875rem;
    right: 1.5625rem;
  }
}

.p-card02:hover::after {
  right: 1.875rem;
}

.p-card02__img img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px 0 0 10px;
}
@media screen and (max-width: 767px) {
  .p-card02__img img {
    height: 8.625rem;
    border-radius: 5px 5px 0 0;
  }
}

.p-card02__body {
  padding-top: 2.375rem;
  padding-right: 5.9375rem;
  padding-left: 2.4375rem;
  padding-bottom: 2.1875rem;
}
@media screen and (max-width: 767px) {
  .p-card02__body {
    padding-top: 0.8125rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-bottom: 3.25rem;
    border-radius: 0 0 5px 5px;
  }
}

.p-card02__title {
  font-size: 1rem;
  line-height: 2.1875;
  letter-spacing: 0.1em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-card02__title {
    font-size: 0.9375rem;
    line-height: 2.5;
  }
}

.p-card02__text {
  margin-top: 0.5rem;
  font-size: 0.875rem;
  line-height: 2.1428571429;
  letter-spacing: 0.125em;
}
@media screen and (max-width: 767px) {
  .p-card02__text {
    margin-top: 0;
    font-size: 0.8125rem;
    line-height: 2;
  }
}

.p-card03__img img {
  height: auto;
  aspect-ratio: 340/220;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
}

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

.p-card03__date {
  display: block;
  margin-top: 0.125rem;
  font-size: max(10px, 0.75rem);
  color: #868686;
  line-height: 1;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-card03__date {
    font-size: 0.8125rem;
    line-height: normal;
  }
}

.p-card03__title {
  font-size: max(10px, 0.875rem);
  line-height: 1.4285714286;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-card03__title {
    font-size: 0.9375rem;
  }
}

.p-contact {
  padding-top: 8.125rem;
  padding-bottom: 12.5rem;
}
@media screen and (max-width: 767px) {
  .p-contact {
    padding-top: 8.125rem;
    padding-bottom: 7.5rem;
  }
}

.p-contact--thanks {
  padding-bottom: 3.75rem;
  background: #F7F6F4;
}

.p-contact__inner {
  width: 57.2916666667%;
  max-width: 68.75rem;
}
@media screen and (max-width: 767px) {
  .p-contact__inner {
    width: auto;
  }
}

@media screen and (max-width: 767px) {
  .p-contact__title {
    margin-left: 1.875rem;
  }
}

.p-contact__head {
  width: 81.8181818182%;
  margin-left: 9.0909090909%;
  margin-top: 4.6875rem;
  padding-bottom: 5.125rem;
  border-bottom: 1px solid #D3D1CF;
}
@media screen and (max-width: 767px) {
  .p-contact__head {
    width: auto;
    margin-left: 0;
    margin-top: 2.8125rem;
    padding-bottom: 3.125rem;
  }
}

.p-contact--thanks .p-contact__head {
  border-bottom: none;
}

.p-contact__thanks {
  margin-bottom: 7.5rem;
  font-size: 1.25rem;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-contact__thanks {
    margin-bottom: 3.125rem;
    font-size: 1.125rem;
  }
}

.p-contact__read {
  font-size: max(10px, 0.875rem);
  line-height: 2.1428571429;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-contact__read {
    font-size: 0.8125rem;
    line-height: 2;
  }
}

.p-contact__btn {
  margin-top: 2.8125rem;
}

.p-contact--thanks .p-contact__btn {
  margin-top: 4.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .p-contact--thanks .p-contact__btn {
    margin-top: 2.8125rem;
  }
}

.p-contact__btn a {
  font-family: "Zen Kaku Gothic New", sans-serif;
}

.p-contact__body {
  width: 81.8181818182%;
  margin-left: 9.0909090909%;
  margin-top: 4.5rem;
}
@media screen and (max-width: 767px) {
  .p-contact__body {
    width: auto;
    margin-left: 0;
    margin-top: 2.8125rem;
  }
}

.p-contact__guide {
  font-size: max(10px, 0.875rem);
  line-height: 2.1428571429;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-contact__guide {
    font-size: 0.875rem;
  }
}

.p-creator {
  padding-top: 10.625rem;
  padding-bottom: 12.5rem;
  background: #F7F6F4;
}
@media screen and (max-width: 767px) {
  .p-creator {
    padding-top: 6.25rem;
    padding-bottom: 7.5rem;
  }
}

.p-creator__inner {
  width: 57.2916666667%;
  max-width: 68.75rem;
}
@media screen and (max-width: 767px) {
  .p-creator__inner {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .p-creator__title {
    margin-left: 1.875rem;
  }
}

.p-creator__wrap {
  width: 81.8181818182%;
  margin-top: 5.125rem;
  margin-left: 9.0909090909%;
  padding: 3.75rem 4.75rem 3.8125rem;
  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;
  background: #fff;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .p-creator__wrap {
    width: auto;
    margin-top: 3.75rem;
    margin-left: 0;
    padding: 1.25rem 1.5rem 1.25rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.p-creator__head {
  width: 20.0534759358%;
}
@media screen and (max-width: 767px) {
  .p-creator__head {
    width: auto;
    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;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

@media screen and (max-width: 767px) {
  .p-creator__img {
    width: 41.2371134021%;
  }
}

.p-creator__img img {
  width: 100%;
  height: auto;
  aspect-ratio: 150/150;
  border-radius: 50%;
}

.p-creator__name {
  margin-top: 1.875rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-creator__name {
    width: auto;
  }
}

.p-creator__name--ja {
  font-size: max(10px, 1rem);
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-creator__name--ja {
    font-size: 0.9375rem;
  }
}

.p-creator__name--en {
  margin-top: 0.75rem;
  font-size: max(10px, 0.75rem);
  color: #D3D1CF;
  line-height: 1;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-creator__name--en {
    font-size: 0.8125rem;
  }
}

.p-creator__body {
  width: 70.5882352941%;
}
@media screen and (max-width: 767px) {
  .p-creator__body {
    width: auto;
    margin-top: 1.875rem;
  }
}

.p-creator__text {
  font-size: max(10px, 0.875rem);
  line-height: 2.1428571429;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-creator__text {
    font-size: 0.8125rem;
  }
}

.p-cta {
  background: #F7F6F4;
  margin-inline: 1.875rem;
  border-radius: 1.25rem 1.25rem 0 0;
}
@media screen and (max-width: 767px) {
  .p-cta {
    margin-inline: 1.25rem;
    border-radius: 0.625rem 0.625rem 0 0;
  }
}

.p-cta__inner {
  padding-top: 10.625rem;
  padding-bottom: 6.875rem;
  text-align: center;
  position: relative;
  z-index: 10000000;
}
@media screen and (max-width: 767px) {
  .p-cta__inner {
    padding-top: 5.375rem;
    padding-bottom: 3.375rem;
  }
}

.p-cta__read {
  display: inline-block;
  padding: 0 0.4375rem;
  font-size: 0.875rem;
  text-align: center;
  letter-spacing: 0.1em;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-cta__read {
    font-size: 0.9375rem;
  }
}

.p-cta__read::before {
  content: "";
  width: 1px;
  height: 0.8125rem;
  background: #505050;
  position: absolute;
  top: 43%;
  left: 0;
  transform: rotate(-27deg) translate(0, -50%);
  -webkit-transform: rotate(-27deg) translate(0, -50%);
}
@media screen and (max-width: 767px) {
  .p-cta__read::before {
    height: 0.9375rem;
    top: 45%;
  }
}

.p-cta__read::after {
  content: "";
  width: 1px;
  height: 0.8125rem;
  background: #505050;
  position: absolute;
  top: 43%;
  right: 0;
  transform: rotate(27deg) translate(0, -50%);
  -webkit-transform: rotate(27deg) translate(0, -50%);
}
@media screen and (max-width: 767px) {
  .p-cta__read::after {
    height: 0.9375rem;
    top: 45%;
  }
}

.p-cta__btn {
  width: 31.25rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-cta__btn {
    width: 90%;
  }
}

.p-cta__btn .c-btn01 {
  font-size: 1rem;
}

.p-flow-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 3.125rem;
     -moz-column-gap: 3.125rem;
          column-gap: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-flow-card {
    -webkit-column-gap: 1.25rem;
       -moz-column-gap: 1.25rem;
            column-gap: 1.25rem;
  }
}

.p-flow-card__head {
  width: 5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-flow-card__head {
    width: 3.75rem;
  }
}

.p-flow-card__number {
  width: 100%;
  height: 5rem;
  font-size: 1.5625rem;
  text-align: center;
  color: #fff;
  line-height: 1.2;
  letter-spacing: 0.1em;
  font-weight: 500;
  background: #DEDCDA;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-item-align: center;
      align-self: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 767px) {
  .p-flow-card__number {
    height: 3.75rem;
    font-size: 1.25rem;
  }
}

.p-flow-card__body {
  width: calc(100% - 8.125rem);
  padding-bottom: 5.75rem;
  background: transparent url(../images/common/arrow_flow.png) no-repeat center bottom;
  background-size: 100%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-flow-card__body {
    width: calc(100% - 5rem);
    padding-bottom: 2.1875rem;
  }
}

.p-flow__item:last-child .p-flow-card__body {
  background: none;
}

.p-flow-card__title {
  margin-top: 1.5625rem;
  font-size: max(10px, 1rem);
  line-height: 1.875;
  letter-spacing: 0.1em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-flow-card__title {
    margin-top: 0.9375rem;
    font-size: 0.9375rem;
  }
}

.p-flow-card__text {
  margin-top: 1.875rem;
  font-size: max(10px, 0.875rem);
  line-height: 2.1428571429;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-flow-card__text {
    margin-top: 1.25rem;
    font-size: 0.8125rem;
    line-height: 2;
  }
}

.p-flow {
  padding-top: 3.625rem;
  padding-bottom: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-flow {
    padding-top: 2.5rem;
    padding-bottom: 5rem;
  }
}

.p-flow__inner {
  width: 46.875%;
  max-width: 56.25rem;
  margin-left: 26.5625%;
}
@media screen and (max-width: 767px) {
  .p-flow__inner {
    width: auto;
    margin-left: 0;
  }
}

.p-flow__title {
  font-size: 1.125rem;
  line-height: 1.9444444444;
  letter-spacing: 0.1em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-flow__title {
    font-size: 1rem;
    line-height: 2;
  }
}

.p-flow__list {
  margin-top: 4.6875rem;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  row-gap: 1.5625rem;
}

.p-flow__item {
  position: relative;
}

.p-flow__item:not(:last-child):after {
  content: "";
  width: 1px;
  height: 60.1503759398%;
  background: #D3D1CF;
  position: absolute;
  bottom: 0;
  left: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-flow__item:not(:last-child):after {
    height: 73%;
    left: 1.875rem;
  }
}

.p-footer {
  padding-top: 16.75rem;
  background: #F7F6F4 url(../images/common/bg_bottom_pc.png) no-repeat center top/cover;
  border-right: 1.875rem solid #fff;
  border-left: 1.875rem solid #fff;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-footer {
    padding-top: 7rem;
    border-right: 1.25rem solid #fff;
    border-left: 1.25rem solid #fff;
  }
}

@media screen and (max-width: 767px) {
  .p-footer::before {
    content: "";
    width: 100%;
    height: auto;
    aspect-ratio: 786/144;
    background: #F7F6F4 url(../images/common/bg_bottom_sp.png) no-repeat center top/100%;
    background: transparent url(../images/common/bg_bottom_sp.png) no-repeat center top/100%;
    position: absolute;
    top: 2px;
    left: 0;
    z-index: 1;
  }
}

.p-footer::after {
  content: "";
  width: 8.75rem;
  height: auto;
  background: transparent url(../images/common/foot_footprints.svg) no-repeat center center/100%;
  aspect-ratio: 140/188;
  position: absolute;
  bottom: 2.3125rem;
  right: 10.2552083333%;
  z-index: 10000000;
}
@media screen and (max-width: 767px) {
  .p-footer::after {
    width: 5rem;
    bottom: 1.0625rem;
    right: 4.9375rem;
  }
}

.p-footer__inner {
  padding-bottom: 4.375rem;
  position: relative;
  z-index: 10000000;
}
@media screen and (max-width: 767px) {
  .p-footer__inner {
    padding-bottom: 2.5rem;
    background: #fff;
  }
}

.p-footer__copy {
  font-size: 12px;
  text-align: center;
  line-height: 1;
  letter-spacing: 0.1em;
  font-family: "Zen Kaku Gothic New", sans-serif;
  z-index: 10000002;
}
@media screen and (max-width: 767px) {
  .p-footer__copy {
    padding-inline: 1.0625rem;
    font-size: 11px;
    text-align: left;
  }
}

.p-form__wrap {
  padding-bottom: 4.6875rem;
  border-bottom: 1px solid #D3D1CF;
}
@media screen and (max-width: 767px) {
  .p-form__wrap {
    padding-bottom: 3.125rem;
  }
}

.p-form__list {
  width: 88.8888888889%;
  margin-inline: auto;
  margin-top: 2.9375rem;
}
@media screen and (max-width: 767px) {
  .p-form__list {
    width: auto;
    margin-top: 1.5625rem;
  }
}

.p-form__item:nth-child(n+2) {
  margin-top: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-form__item:nth-child(n+2) {
    margin-top: 1.875rem;
  }
}

.p-form__item dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-form__item dl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.p-form__head {
  width: 11.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .p-form__head {
    width: auto;
  }
}

.p-form__head__title {
  width: 100%;
  margin-top: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-form__head__title {
    margin-top: 0;
  }
}

.p-form__head__title p {
  font-size: max(10px, 0.875rem);
  line-height: 2.1428571429;
  letter-spacing: 0.1em;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-form__head__title p {
    font-size: 0.875rem;
  }
}

.p-form__head__title.required p::after {
  content: "*";
  font-size: max(10px, 0.875rem);
  line-height: 2.1428571429;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-form__head__title.required p::after {
    font-size: 0.875rem;
  }
}

.p-form__body {
  width: calc(100% - 12.5rem);
  margin-left: 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .p-form__body {
    width: 100%;
    margin-top: 0.3125rem;
    margin-left: 0;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.p-form__body .mw_wp_form .error {
  margin-top: 0.3125rem;
}

/******************* form base *******************/
.p-form .wpcf7-form-control-wrap {
  width: 100%;
}

.p-form input,
.p-form textarea,
.p-form select {
  width: 100%;
  height: 3.125rem;
  padding: 0.625rem 1.25rem;
  font-size: max(10px, 0.875rem);
  line-height: 2.1428571429;
  letter-spacing: 0.1em;
  background-color: #fff;
  border: 1px solid #D3D1CF;
  border-radius: 5px;
}
@media screen and (max-width: 767px) {
  .p-form input,
  .p-form textarea,
  .p-form select {
    padding: 0.625rem 0.9375rem;
    font-size: 0.875rem;
  }
}

.p-form ::-webkit-input-placeholder {
  color: #A8A7A5;
}

.p-form ::-moz-placeholder {
  color: #A8A7A5;
}

.p-form ::-ms-input-placeholder {
  color: #A8A7A5;
}

.p-form ::placeholder {
  color: #A8A7A5;
}

.p-form input[type=checkbox] {
  width: 1rem;
  height: 1rem;
  padding: 0;
  margin-right: 0.625rem;
  border-radius: 0.125rem;
  border: 1px solid #D3D1CF;
  vertical-align: middle;
}

.p-form input[type=checkbox] {
  display: none;
}

.p-form input[type=checkbox] + span {
  padding-left: 1.875rem;
  display: inline-block;
  font-size: 0.875rem;
  line-height: 1.9166666667;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-form input[type=checkbox] + span {
    font-size: 0.75rem;
  }
}

.p-form input[type=checkbox] + span::after,
.p-form input[type=checkbox] + span::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
}

.p-form input[type=checkbox] + span::before {
  width: 1.25rem;
  height: 1.25rem;
  border: 1px solid #fff;
  border-radius: 4px;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.p-form input[type=checkbox] + span::after {
  width: 0.875rem;
  height: 0.875rem;
  border: none;
  background: transparent url(../images/common/icon_checkbox.svg) no-repeat center center/100%;
  border-radius: 50%;
  top: 50%;
  left: 0.1875rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: none;
}

.p-form input[type=checkbox]:checked + span::after {
  display: block;
}

.p-form span.wpcf7-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: 0;
}

.p-form span.wpcf7-list-item:nth-child(n+2) {
  margin-top: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-form span.wpcf7-list-item:nth-child(n+2) {
    margin-top: 0.375rem;
  }
}

.p-form textarea {
  height: 14.375rem;
  padding: 1.25rem 1.875rem;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-form textarea {
    height: 10rem;
    padding: 0.625rem 0.9375rem;
  }
}

.p-form input.form_name,
.p-form input.form_kana {
  width: 18.75rem;
}
@media screen and (max-width: 767px) {
  .p-form input.form_name,
  .p-form input.form_kana {
    width: 100%;
    margin-top: 0.625rem;
  }
}

.p-form input.form_company,
.p-form input.form_tel,
.p-form input.form_mail {
  width: 26.5625rem;
}
@media screen and (max-width: 767px) {
  .p-form input.form_company,
  .p-form input.form_tel,
  .p-form input.form_mail {
    width: 100%;
  }
}

/* 年齢 */
.p-form .p-form__item.form_age .p-form__detail {
  width: 11.5rem;
}
@media screen and (max-width: 767px) {
  .p-form .p-form__item.form_age .p-form__detail {
    width: 17.25rem;
  }
}

.p-form .p-form__item.form_age span.wpcf7-form-control-wrap {
  margin-right: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-form .p-form__item.form_age span.wpcf7-form-control-wrap {
    margin-right: 1.25rem;
  }
}

/* 電話番号 */
.p-form select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: url(../images/contact/arrow_select.svg) 96% 50% no-repeat;
  background-size: auto;
  background-size: 1.25rem;
  font-size: 1rem;
  color: #000;
  line-height: 2;
  letter-spacing: 0.1em;
  cursor: pointer;
}
.p-form select::-webkit-calendar-picker-indicator {
  width: 100%;
  height: 100%;
  opacity: 0;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 0;
  left: 0;
  font-size: 1rem;
  color: #505050;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .p-form select {
    width: 100%;
    line-height: 1;
    background: url(../images/contact/arrow_select.svg) 94% 50% no-repeat;
    background-size: 0.9375rem;
  }
}

@media screen and (max-width: 767px) {
  .p-form select {
    font-size: 0.875rem;
  }
}

.mw_wp_form .error {
  width: 100%;
}

/******************* END./form base *******************/
.p-form__head__text {
  margin-top: 0.3125rem;
  font-size: 0.875rem;
  line-height: 1.8571428571;
  letter-spacing: 0.07em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-form__head__text {
    margin-top: 0.625rem;
    font-size: 1rem;
    line-height: 1.875;
    letter-spacing: 0.08em;
  }
}

.p-form__detail {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .p-form__detail {
    display: block;
  }
}

.p-form__detail:nth-of-type(n+2) {
  margin-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-form__detail:nth-of-type(n+2) {
    margin-top: 1.25rem;
  }
}

.p-form__detail p {
  width: 100%;
  color: #3B4043;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.form-hope__title {
  width: 5rem;
  margin-right: 1.875rem;
  margin-left: 0.3125rem;
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .form-hope__title {
    margin-right: 0.9375rem;
    margin-left: 0;
    font-size: 0.875rem;
  }
}

.p-form__body__text {
  width: 100%;
  margin-top: 0.3125rem;
  font-size: 0.875rem;
  color: #3B4043;
  line-height: 1.9166666667;
}
@media screen and (max-width: 767px) {
  .p-form__body__text {
    font-size: 0.75rem;
  }
}

.p-form__detail_name {
  width: 22.0625rem;
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.005em;
  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: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .p-form__detail_name {
    width: 100%;
    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: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

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

.form-name__title {
  margin-right: auto;
  font-size: 1rem;
  color: #505050;
  line-height: 2;
  letter-spacing: 0.005em;
}
@media screen and (max-width: 767px) {
  .form-name__title {
    font-size: 0.875rem;
  }
}

.p-form__item.form_name .form-name__title {
  margin-right: 2.1875rem;
}

.p-form__item.form_kana .form-name__title {
  margin-right: 1.25rem;
}

.form-btn {
  margin-top: 2.9375rem;
  width: 6.375rem;
  margin-inline: auto;
  height: 1.875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .form-btn {
    width: 5.3125rem;
    margin-top: 1.75rem;
  }
}

.form-btn::after {
  content: "";
  width: 1.375rem;
  height: 1.875rem;
  background: transparent url(../images/common/btn_right.svg) no-repeat center center/100%;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .form-btn::after {
    width: 0.875rem;
    height: 1.25rem;
  }
}

.form-btn:hover::after {
  right: -0.625rem;
}
@media screen and (max-width: 767px) {
  .form-btn:hover::after {
    right: 0;
  }
}

.form-btn p {
  height: 1.875rem;
}

.p-form .form-btn input {
  height: 1.875rem;
  padding: 0;
  padding-right: 2.625rem;
  color: #505050;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  font-size: max(10px, 0.875rem);
  line-height: 1.4285714286;
  letter-spacing: 0.1em;
  cursor: pointer;
  border: none;
}
@media screen and (max-width: 767px) {
  .p-form .form-btn input {
    padding-right: 1.25rem;
    font-size: 0.875rem;
  }
}

.p-form__lasttext {
  margin-top: 4.375rem;
  font-size: max(10px, 0.875rem);
  line-height: 2.1428571429;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-form__lasttext {
    margin-top: 2.5rem;
    font-size: 0.8125rem;
    line-height: 2;
  }
}

.p-form .wpcf7-not-valid-tip {
  margin-bottom: 0.3125rem;
  font-size: 0.875rem;
  color: #FF0000;
  line-height: 1.9166666667;
}
@media screen and (max-width: 767px) {
  .p-form .wpcf7-not-valid-tip {
    font-size: 0.75rem;
  }
}

.p-form .wpcf7 form.invalid .wpcf7-response-output,
.p-form .wpcf7 form.unaccepted .wpcf7-response-output,
.p-form .wpcf7 form.payment-required .wpcf7-response-output,
.p-form .wpcf7 form.sent .wpcf7-response-output {
  margin: 2rem 0 1rem;
  padding: 0;
  font-size: 0.875rem;
  color: #FF0000;
  line-height: 1.9166666667;
  position: relative;
  border: none;
}
@media screen and (max-width: 767px) {
  .p-form .wpcf7 form.invalid .wpcf7-response-output,
  .p-form .wpcf7 form.unaccepted .wpcf7-response-output,
  .p-form .wpcf7 form.payment-required .wpcf7-response-output,
  .p-form .wpcf7 form.sent .wpcf7-response-output {
    font-size: 0.75rem;
  }
}

.p-form__recaptcha {
  margin-top: 3.75rem;
  font-size: 12px;
  color: #A8A7A5;
  text-align: center;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-form__recaptcha {
    margin-top: 2rem;
  }
}

.p-header {
  width: 18.2291666667%;
  height: 100%;
  position: sticky;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000002;
}
@media screen and (max-width: 767px) {
  .p-header {
    width: 100%;
    height: 5.375rem;
    position: fixed;
  }
}

.p-header__inner {
  height: 100%;
  padding-inline: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-header__inner {
    padding-inline: 1.5rem 2rem;
  }
}

.p-header__wrapper {
  height: 100%;
  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 (max-width: 767px) {
  .p-header__wrapper {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.p-header__hamburger {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-header__hamburger {
    width: 2.5rem;
    height: 2.5rem;
    margin-top: -0.4375rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    z-index: 10000005;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}

.p-header__hamburger .line {
  width: 100%;
  height: 1px;
  display: block;
  background-color: #505050;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.p-header__hamburger .line:nth-child(2) {
  margin-top: 0.4375rem;
}

.p-header__hamburger.active .line:nth-child(1) {
  -webkit-transform: translateY(0.25rem) rotate(27deg);
          transform: translateY(0.25rem) rotate(27deg);
}
@media screen and (min-width: 768px) {
  .p-header__hamburger.active .line:nth-child(1) {
    -webkit-transform: translateY(0.25rem) rotate(27deg);
            transform: translateY(0.25rem) rotate(27deg);
  }
}

.p-header__hamburger.active .line:nth-child(2) {
  -webkit-transform: translateY(-0.25rem) rotate(-27deg);
          transform: translateY(-0.25rem) rotate(-27deg);
}
@media screen and (min-width: 768px) {
  .p-header__hamburger.active .line:nth-child(2) {
    -webkit-transform: translateY(-0.25rem) rotate(-27deg);
            transform: translateY(-0.25rem) rotate(-27deg);
  }
}

@media screen and (max-width: 767px) {
  .p-header__nav {
    width: 100%;
    height: 100vh;
    padding-top: 6.25rem;
    padding-bottom: 2.34375rem;
    padding-right: 1.5625rem;
    padding-left: 1.5625rem;
    background: #fff url(../images/common/icon_pagetop.svg) no-repeat right 6.25rem;
    background-size: 33.0788804071%;
    position: fixed;
    top: 0;
    right: -120%;
    -webkit-transition: right 0.5s;
    transition: right 0.5s;
    overflow-y: scroll;
    z-index: 10000002;
  }
}

@media screen and (max-width: 767px) {
  .p-header__nav.active {
    right: 0;
  }
}

.p-header__navList {
  margin-top: 3.5625rem;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  row-gap: 1.625rem;
}
@media screen and (max-width: 767px) {
  .p-header__navList {
    margin-top: 0;
    width: 9.375rem;
    border-top: 1px solid #D3D1CF;
    row-gap: 0;
  }
}

@media screen and (max-width: 767px) {
  .p-header__navItem {
    height: 3.25rem;
    border-bottom: 1px solid #D3D1CF;
  }
}

.p-header__navLink {
  display: inline-block;
  font-size: max(10px, 0.875rem);
  line-height: 1.2142857143;
  letter-spacing: 0.1em;
  font-weight: 500;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-header__navLink {
    height: 100%;
    padding-left: 1.375rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: max(10px, 0.875rem);
  }
}

.p-header__navLink.active::after {
  content: "";
  width: 5px;
  height: 5px;
  background: #505050;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: -0.875rem;
  transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
}
@media screen and (max-width: 767px) {
  .p-header__navLink.active::after {
    display: none;
  }
}

.p-header__logo {
  margin-top: 6.25rem;
  position: absolute;
  bottom: 3.75rem;
  left: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-header__logo {
    width: 8.0625rem;
    margin-top: -0.4375rem;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    position: static;
    z-index: 10000003;
  }
}

.p-list01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 3.125rem;
     -moz-column-gap: 3.125rem;
          column-gap: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-list01 {
    -webkit-column-gap: 1.3125rem;
       -moz-column-gap: 1.3125rem;
            column-gap: 1.3125rem;
  }
}

.p-list01__img {
  width: 29.0909090909%;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .p-list01__img {
    width: 37.3831775701%;
    border-radius: 5px;
  }
}

.p-list01__img img {
  width: 100%;
  height: auto;
  aspect-ratio: 320/200;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-list01__body {
  width: calc(100% - 23.125rem);
}
@media screen and (max-width: 767px) {
  .p-list01__body {
    width: 56.0747663551%;
  }
}

.p-list01__title {
  font-size: max(10px, 0.875rem);
  line-height: 1.4285714286;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-list01__title {
    font-size: 0.875rem;
  }
}

.p-list01__date {
  margin-top: 0.9375rem;
  font-size: max(10px, 0.75rem);
  color: #868686;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-list01__date {
    margin-top: 0.9375rem;
    font-size: 0.8125rem;
  }
}

.p-loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 99999999;
  background-color: #fff;
  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;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 0.3125rem;
  -webkit-animation: fadeOutWrapper 2.7s 2s forwards;
          animation: fadeOutWrapper 2.7s 2s forwards; /* フェードアウトをカウントアップの後に設定 */
}

@-webkit-keyframes fadeOutWrapper {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}

@keyframes fadeOutWrapper {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}
.p-loading__text {
  font-size: 1.125rem;
  text-align: center;
  line-height: 1;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-loading__text {
    font-size: 1rem;
  }
}

.p-mv {
  height: calc(100vh - 3.75rem);
  height: 100svh;
  max-height: 63.75rem;
  min-height: 34.375rem;
  margin: 1.875rem;
  overflow: hidden;
  background: #F7F6F4;
  border-radius: 1.25rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-mv {
    height: calc(100vh - 10rem);
    height: calc(100vh - 1.25rem);
    margin: 5rem 1.25rem 0;
    border-radius: 0.625rem;
  }
}

.p-mv::after {
  content: "";
  width: 100vw;
  height: 16.25rem;
  margin: 0 calc(50% - 50vw);
  background: transparent url(../images/top/mv-wave.png) no-repeat center top/cover;
  position: absolute;
  bottom: -1.875rem;
  left: 50%;
  transform: translate(-50%, 0);
  -webkit-transform: translate(-50%, 0);
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-mv::after {
    height: 9.375rem;
    background: transparent url(../images/top/mv-wave_sp.png) no-repeat center top/cover;
    bottom: 0;
  }
}

.p-mv__inner {
  height: 100%;
  position: relative;
  z-index: 1;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.p-mv__wrap {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
  top: -5.25rem;
}
@media screen and (max-width: 767px) {
  .p-mv__wrap {
    top: -1.625rem;
  }
}

.p-mv__img {
  width: 100%;
  width: min(25rem, (100svh - 20.8125rem) * 400 / 467);
  min-width: 12.5rem;
  margin-inline: auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-mv__img {
    width: 60.6232294618%;
    max-width: 16.5rem;
  }
}

.p-mv__img img {
  width: 100%;
  height: 100%;
  aspect-ratio: 400/467;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-mv__icon {
  width: 40.75%;
  position: absolute;
  bottom: 6%;
  right: -10%;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-mv__icon {
    width: 40.6542056075%;
    bottom: 0.8125rem;
    right: -1.375rem;
  }
}

.p-mv__icon img {
  width: 100%;
  height: 100%;
  aspect-ratio: 163/76;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-mv__read {
  width: 5rem;
  position: absolute;
  top: 42%;
  left: 76.3%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  z-index: 10000000;
}
@media screen and (max-width: 767px) {
  .p-mv__read {
    width: 14.164305949%;
    max-width: 3.3125rem;
    top: 5%;
    left: 82.6%;
    transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
  }
}

.p-mv__read img {
  width: 100%;
  height: auto;
  aspect-ratio: 80/328;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-mv__icon-footprints {
  width: 2.8125rem;
  position: absolute;
  bottom: 3.125rem;
  left: 50%;
  transform: translate(-50%, 0);
  -webkit-transform: translate(-50%, 0);
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-mv__icon-footprints {
    width: 8.4985835694%;
    max-width: 2rem;
    bottom: 3.125rem;
  }
}

.p-mv__icon-footprints img {
  width: 100%;
  height: auto;
  aspect-ratio: 45/33;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-mv__icon-footprints img {
    aspect-ratio: 32/23;
  }
}

.p-page-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: fixed;
  bottom: 3.75rem;
  right: 3.75rem;
  z-index: 10000001;
}
@media screen and (max-width: 767px) {
  .p-page-top {
    bottom: 1.5rem;
    right: 1.4375rem;
  }
}

.p-page-top__img {
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .p-page-top__img {
    width: 3.0625rem;
    margin-inline: auto;
  }
}

.p-page-top__img:hover {
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .p-page-top__img:hover {
    opacity: 1;
  }
}

.p-page-top__img img {
  -o-object-fit: contain;
     object-fit: contain;
}

.p-pagination {
  position: relative;
}

.p-pagination .wp-pagenavi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 2.375rem;
     -moz-column-gap: 2.375rem;
          column-gap: 2.375rem;
}
@media screen and (max-width: 767px) {
  .p-pagination .wp-pagenavi {
    -webkit-column-gap: 1.25rem;
       -moz-column-gap: 1.25rem;
            column-gap: 1.25rem;
  }
}

.p-pagination .current,
.p-pagination .page,
.p-pagination a {
  width: 1.25rem;
  margin: 0;
  padding-top: 0;
  padding-inline: 0;
  padding-bottom: 1.0625rem;
  font-size: max(10px, 0.875rem);
  text-align: center;
  line-height: 1.2142857143;
  letter-spacing: 0.1em;
  border: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .p-pagination .current,
  .p-pagination .page,
  .p-pagination a {
    width: 1rem;
    padding-bottom: 0.375rem;
  }
}

.p-pagination .wp-pagenavi span.current {
  display: inline;
  font-weight: 400;
  border-bottom: 1px solid #505050;
}

.p-pagination .page {
  color: #505050;
  display: inline;
  background: -webkit-gradient(linear, left top, left bottom, from(#505050), to(#505050)) 0 100%/0 1px no-repeat;
  background: linear-gradient(#505050, #505050) 0 100%/0 1px no-repeat;
  background-size: 0 1px;
  -webkit-transition: background 0.2s;
  transition: background 0.2s;
}

.p-pagination .page:hover {
  background: -webkit-gradient(linear, left top, left bottom, from(#505050), to(#505050)) 0 100%/0 1px no-repeat;
  background: linear-gradient(#505050, #505050) 0 100%/0 1px no-repeat;
  background-size: 100% 1px;
}

.p-pagination .previouspostslink,
.p-pagination .nextpostslink {
  width: auto;
  height: 1.875rem;
  padding-bottom: 1.125rem;
  border: none;
  background: transparent;
  position: relative;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-pagination .previouspostslink,
  .p-pagination .nextpostslink {
    padding-bottom: 0.375rem;
  }
}

.p-pagination .previouspostslink {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
  margin-right: 2.375rem;
}
@media screen and (max-width: 767px) {
  .p-pagination .previouspostslink {
    margin-right: 0.625rem;
  }
}

.p-pagination .nextpostslink {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  margin-left: 2.375rem;
}
@media screen and (max-width: 767px) {
  .p-pagination .nextpostslink {
    margin-left: 0.625rem;
  }
}

.p-pagination .wp-pagenavi .smaller {
  display: none;
}

.p-pagination .wp-pagenavi .larger ~ .larger ~ .larger {
  display: none;
}

.p-pagination .previouspostslink img,
.p-pagination .nextpostslink img {
  display: block;
  width: 1.375rem;
  height: 1.875rem;
  -o-object-fit: contain;
     object-fit: contain;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-pagination .previouspostslink img,
  .p-pagination .nextpostslink img {
    width: 0.875rem;
    height: 1.375rem;
  }
}

.p-pagination .previouspostslink:hover img {
  -webkit-transform: translateX(-0.625rem);
          transform: translateX(-0.625rem);
}
@media screen and (max-width: 767px) {
  .p-pagination .previouspostslink:hover img {
    -webkit-transform: translateX(0rem);
            transform: translateX(0rem);
  }
}

.p-pagination .nextpostslink:hover img {
  -webkit-transform: translateX(0.625rem);
          transform: translateX(0.625rem);
}
@media screen and (max-width: 767px) {
  .p-pagination .nextpostslink:hover img {
    -webkit-transform: translateX(0rem);
            transform: translateX(0rem);
  }
}

.p-pagination a img {
  width: 1rem;
  height: 0.5rem;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-pagination a img {
    width: 1rem;
    height: 0.5rem;
  }
}

.p-pagination .wp-pagenavi span.pages {
  width: 3.75rem;
  height: 2.5rem;
  margin-right: 0.5rem;
  font-size: 0.8125rem;
  line-height: 1;
  letter-spacing: 0.05em;
  font-weight: 600;
  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;
}
@media screen and (max-width: 767px) {
  .p-pagination .wp-pagenavi span.pages {
    width: 5rem;
    height: 2.5rem;
    margin-right: 2.34375rem;
    font-size: 0.8125rem;
  }
}

.p-pagination .wp-pagenavi span.extend {
  width: 1.25rem;
  margin: 0;
  padding-top: 0;
  padding-bottom: 0.9375rem;
  font-size: 1rem;
  color: #424242;
  line-height: 1;
  font-weight: 400;
  border: none;
  border-radius: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .p-pagination .wp-pagenavi span.extend {
    width: 1rem;
    font-size: 0.8125rem;
  }
}

.p-qa-card__head {
  padding: 2rem 3.75rem 1.75rem 2.9375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: #fff;
  border-radius: 10px;
  position: relative;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .p-qa-card__head {
    padding: 1.125rem 2.1875rem 0.9375rem 0.9375rem;
  }
}

.p-qa-card__head::after {
  content: "";
  width: 1.25rem;
  height: 0.5625rem;
  background: transparent url(../images/common/arrow.svg) no-repeat center center/100%;
  position: absolute;
  top: 45%;
  right: 2.1875rem;
  transform: rotateX(180deg) translate(0, -50%);
  -webkit-transform: rotateX(180deg) translate(0, -50%);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-qa-card__head::after {
    width: 0.9375rem;
    height: 0.4375rem;
    right: 0.9375rem;
  }
}

.p-qa-card__head.active::after {
  top: 50%;
  transform: rotateX(0deg) translate(0, -50%);
  -webkit-transform: rotateX(0deg) translate(0, -50%);
}

.p-qa-card__q {
  font-size: max(10px, 0.875rem);
  line-height: 2.1428571429;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-qa-card__q {
    font-size: 0.875rem;
  }
}

.p-qa-card__title {
  margin-left: 2.75rem;
  font-size: max(10px, 0.875rem);
  line-height: 2.1428571429;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-qa-card__title {
    margin-left: 1.25rem;
    font-size: 0.875rem;
    line-height: 2;
  }
}

.p-qa-card__body {
  padding: 2rem 3.75rem 1.75rem 2.9375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-qa-card__body {
    padding: 1.125rem 2.1875rem 0.9375rem 0.9375rem;
  }
}

.p-qa-card__a {
  font-size: max(10px, 0.875rem);
  line-height: 2.1428571429;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-qa-card__a {
    font-size: 0.875rem;
  }
}

.p-qa-card__text {
  margin-left: 2.75rem;
  font-size: max(10px, 0.875rem);
  line-height: 2.1428571429;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-qa-card__text {
    margin-left: 1.25rem;
    font-size: 0.8125rem;
    line-height: 2;
  }
}

.p-qa {
  border-right: 1.875rem solid #fff;
  border-left: 1.875rem solid #fff;
  z-index: auto;
}
@media screen and (max-width: 767px) {
  .p-qa {
    border-right: 1.25rem solid #fff;
    border-left: 1.25rem solid #fff;
  }
}

.p-qa__bg {
  background: #F7F6F4;
  padding-top: 10.625rem;
  padding-bottom: 8.125rem;
  border-radius: 1.25rem 1.25rem 0 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-qa__bg {
    padding-top: 7.5rem;
    padding-bottom: 6.25rem;
  }
}

.p-qa__inner {
  width: 57.2916666667%;
  max-width: 68.75rem;
  position: relative;
  z-index: 10000000;
}
@media screen and (max-width: 767px) {
  .p-qa__inner {
    width: auto;
  }
}

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

.p-qa__title .c-title01::before {
  display: none;
}

.p-qa__list {
  margin-top: 4.875rem;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  row-gap: 1rem;
}
@media screen and (max-width: 767px) {
  .p-qa__list {
    margin-top: 3.75rem;
  }
}

.p-service-card__title {
  font-size: 1.125rem;
  line-height: 1.9444444444;
  letter-spacing: 0.1em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-service-card__title {
    font-size: 1.0625rem;
  }
}

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

.p-service-card__img img {
  width: 100%;
  height: auto;
  aspect-ratio: 900/200;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
}

.p-service-card__area {
  margin-top: 1.25rem;
  padding: 1.875rem 3rem;
  background: #F7F6F4;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .p-service-card__area {
    padding: 0.9375rem 1.5rem;
  }
}

.p-service-card__areaText {
  font-size: max(10px, 0.875rem);
  line-height: 2.1428571429;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-service-card__areaText {
    font-size: 0.8125rem;
    line-height: 2;
  }
}

.p-service-card__text {
  margin-top: 2.8125rem;
  font-size: max(10px, 0.875rem);
  line-height: 2.1428571429;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-service-card__text {
    margin-top: 1.5625rem;
    font-size: 0.8125rem;
    line-height: 2;
  }
}

.p-service-card__list {
  margin-top: 2.8125rem;
  border: 1px solid #D3D1CF;
  border-radius: 10px;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .p-service-card__list {
    margin-top: 1.5625rem;
  }
}

.p-service-card__item {
  padding: 1.5625rem 3.0625rem 1.5625rem 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-service-card__item {
    padding: 0.9375rem 0.9375rem 1.125rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.p-service-card__item:nth-child(n+2) {
  border-top: 1px solid #D3D1CF;
}

.p-service-card__term {
  font-size: max(10px, 0.875rem);
  line-height: 2.1428571429;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-service-card__term {
    font-size: 0.875rem;
    line-height: 2;
  }
}

.p-service-card__price {
  font-size: max(10px, 0.875rem);
  text-align: right;
  line-height: 2.1428571429;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-service-card__price {
    margin-top: 0.625rem;
    font-size: 0.8125rem;
    text-align: left;
    line-height: 2;
  }
}

.p-service-card__attention {
  margin-top: 2.5rem;
  font-size: max(10px, 0.875rem);
  line-height: 2.1428571429;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-service-card__attention {
    margin-top: 1.5625rem;
    font-size: 0.8125rem;
    line-height: 2;
  }
}

.p-sub-about {
  padding-top: 6.125rem;
  padding-bottom: 10rem;
}
@media screen and (max-width: 767px) {
  .p-sub-about {
    padding-top: 8.125rem;
  }
}

.p-sub-about__wrap {
  max-width: 56.25rem;
  margin-inline: auto;
  margin-top: 7.75rem;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
}
@media screen and (max-width: 767px) {
  .p-sub-about__wrap {
    margin-top: 2.8125rem;
  }
}

.p-sub-about__box {
  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-sub-about__box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.p-sub-about__read {
  font-size: 2rem;
  line-height: 1.6875;
  letter-spacing: 0.1em;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .p-sub-about__read {
    font-size: 1.5rem;
    line-height: 2;
  }
}

.p-sub-about__text {
  margin-top: 3.25rem;
  font-size: max(10px, 0.875rem);
  line-height: 2.1428571429;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-sub-about__text {
    margin-top: 2.25rem;
    font-size: 0.8125rem;
    line-height: 2;
  }
}

.p-sub-service {
  padding-top: 8.0625rem;
  padding-bottom: 10rem;
}
@media screen and (max-width: 767px) {
  .p-sub-service {
    padding-top: 8.125rem;
    padding-bottom: 5rem;
  }
}

.p-sub-service__inner {
  width: 57.2916666667%;
  max-width: 68.75rem;
}
@media screen and (max-width: 767px) {
  .p-sub-service__inner {
    width: auto;
  }
}

@media screen and (max-width: 767px) {
  .p-sub-service__title {
    margin-left: 1.875rem;
  }
}

.p-sub-service__body {
  width: 81.8181818182%;
  margin-top: 4.875rem;
  margin-left: 9.0909090909%;
}
@media screen and (max-width: 767px) {
  .p-sub-service__body {
    width: auto;
    margin-left: 0;
  }
}

.p-sub-service__read {
  font-size: max(10px, 0.875rem);
  line-height: 2.1428571429;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-sub-service__read {
    font-size: 0.8125rem;
    line-height: 2;
  }
}

.p-sub-service__wrap {
  margin-top: 10.625rem;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  row-gap: 12rem;
}
@media screen and (max-width: 767px) {
  .p-sub-service__wrap {
    margin-top: 2.8125rem;
    row-gap: 5rem;
  }
}

.p-top-blog {
  padding-top: 7rem;
  padding-bottom: 17.5rem;
}
@media screen and (max-width: 767px) {
  .p-top-blog {
    padding-top: 6.25rem;
    padding-bottom: 7.5rem;
  }
}

@media screen and (max-width: 767px) {
  .p-top-blog__title {
    margin-left: 1.875rem;
  }
}

.p-top-blog__wrap {
  margin-top: 5.125rem;
}

.p-top-blog__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-column-gap: 2.5rem;
     -moz-column-gap: 2.5rem;
          column-gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-top-blog__list {
    width: auto;
    padding-top: 1.5625rem;
    grid-template-columns: repeat(1, 1fr);
    row-gap: 1.5625rem;
    border-top: 1px solid #D3D1CF;
  }
}

@media screen and (max-width: 767px) {
  .p-top-blog__item {
    padding-bottom: 1.5625rem;
    border-bottom: 1px solid #D3D1CF;
  }
}

@media screen and (max-width: 767px) {
  .p-top-blog__item .p-card03 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-column-gap: 1.3125rem;
       -moz-column-gap: 1.3125rem;
            column-gap: 1.3125rem;
  }
}

@media screen and (max-width: 767px) {
  .p-top-blog__item .p-card03__img {
    width: 37.3831775701%;
  }
}

@media screen and (max-width: 767px) {
  .p-top-blog__item .p-card03__img img {
    width: 100%;
    aspect-ratio: 320/200;
    border-radius: 5px;
  }
}

@media screen and (max-width: 767px) {
  .p-top-blog__item .p-card03__body {
    width: 56.0747663551%;
    margin-top: 0;
  }
}

@media screen and (max-width: 767px) {
  .p-top-blog__item .p-card03__title {
    font-size: 0.875rem;
  }
}

@media screen and (max-width: 767px) {
  .p-top-blog__item .p-card03__date {
    margin-top: 0.3125rem;
  }
}

.p-top-blog__btn {
  margin-top: 3.625rem;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-top-blog__btn {
    margin-top: 3.125rem;
    text-align: center;
  }
}

.p-top-service {
  padding-top: 10.75rem;
  padding-bottom: 13.75rem;
  background: #F7F6F4;
}
@media screen and (max-width: 767px) {
  .p-top-service {
    padding-top: 6.25rem;
    padding-bottom: 7.5rem;
  }
}

.p-top-service__inner {
  width: 57.2916666667%;
  max-width: 68.75rem;
}
@media screen and (max-width: 767px) {
  .p-top-service__inner {
    width: auto;
  }
}

@media screen and (max-width: 767px) {
  .p-top-service__title {
    margin-left: 1.875rem;
  }
}

.p-top-service__list {
  margin-top: 5.0625rem;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  row-gap: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-top-service__list {
    width: 100%;
    margin-top: 3.125rem;
    row-gap: 2.1875rem;
  }
}

.p-top-service__btns {
  margin-top: 3.125rem;
  display: grid;
  grid-template-columns: repeat(2, 48.1818181818%);
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-top-service__btns {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 1.5625rem;
  }
}

.p-top-service__btn a {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
}

.p-top-works {
  padding-top: 6.75rem;
  padding-bottom: 7.0625rem;
}
@media screen and (max-width: 767px) {
  .p-top-works {
    padding-top: 3.5rem;
    padding-bottom: 4.0625rem;
  }
}

.p-top-works__list {
  margin-top: 4.625rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-column-gap: 3.75rem;
     -moz-column-gap: 3.75rem;
          column-gap: 3.75rem;
  row-gap: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-top-works__list {
    margin-top: 2.75rem;
    grid-template-columns: repeat(1, 1fr);
    row-gap: 4.375rem;
  }
}

.p-top-works__btn {
  margin-top: 3.625rem;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-top-works__btn {
    margin-top: 3.125rem;
    text-align: center;
  }
}

.p-works-single {
  padding-top: 8.0625rem;
  padding-bottom: 15.75rem;
}
@media screen and (max-width: 767px) {
  .p-works-single {
    padding-top: 8.125rem;
    padding-bottom: 7.5rem;
  }
}

.p-works-single__inner {
  max-width: 72.5rem;
}
@media screen and (max-width: 767px) {
  .p-works-single__inner {
    width: auto;
  }
}

@media screen and (max-width: 767px) {
  .p-works-single__title {
    margin-left: 1.875rem;
  }
}

.p-works-single__wrap {
  max-width: 56.25rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-works-single__wrap {
    width: auto;
  }
}

.p-works-single__date {
  font-size: max(10px, 0.875rem);
  line-height: 1;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-works-single__date {
    font-size: 0.875rem;
  }
}

.p-works-single__cateList {
  margin-top: 3.5rem;
  margin-top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.625rem;
}

.p-works-single__cate {
  font-size: max(10px, 0.875rem);
}

.p-works-single__maintitle {
  margin-top: 1.25rem;
  font-size: 1.125rem;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .p-works-single__maintitle {
    font-size: 1rem;
  }
}

.p-works-single__thumbnail {
  margin-top: 2.8125rem;
}

.p-works-single__thumbnail img {
  width: 100%;
  height: auto;
  aspect-ratio: 900/560;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
}

.p-works-single__middle {
  margin-top: 4.6875rem;
  padding-bottom: 4.625rem;
}
@media screen and (max-width: 767px) {
  .p-works-single__middle {
    margin-top: 3.125rem;
    padding-bottom: 1.875rem;
  }
}

.p-works-single__article {
  padding-bottom: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-works-single__article {
    padding-bottom: 2.5rem;
  }
}

.p-works-single__detail {
  padding-top: 5rem;
  border-top: 1px solid #D3D1CF;
}

.p-works-single__list {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  row-gap: 2.8125rem;
}

.p-works-single__term {
  font-size: max(10px, 0.875rem);
  line-height: 1.2142857143;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-works-single__term {
    font-size: 0.875rem;
  }
}

.p-works-single__desc {
  margin-top: 0.8125rem;
  font-size: max(10px, 0.875rem);
  line-height: 2.1428571429;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-works-single__desc {
    font-size: 0.875rem;
  }
}

.p-works-single__body {
  padding-top: 3.125rem;
  border-top: 1px solid #D3D1CF;
}

.p-works-single__area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}

.p-works-single__arrow {
  height: 1.875rem;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-works-single__arrow {
    height: 1.5rem;
  }
}

.p-works-single__arrow--prev,
.p-works-single__arrow--next {
  font-size: max(10px, 0.875rem);
  line-height: 1;
  line-height: 1.2142857143;
  letter-spacing: 0.1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-works-single__arrow--next {
  padding-left: 2.9375rem;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-works-single__arrow--next {
    padding-left: 1.5rem;
  }
}

.p-works-single__arrow--next::before {
  content: "";
  width: 1.375rem;
  height: 1.875rem;
  background: transparent url(../images/common/btn_left.svg) no-repeat center center/100%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-works-single__arrow--next::before {
    width: 1rem;
    height: 1.5rem;
  }
}

.p-works-single__arrow--next:hover::before {
  left: -0.625rem;
}
@media screen and (max-width: 767px) {
  .p-works-single__arrow--next:hover::before {
    left: 0;
  }
}

.p-works-single__back {
  font-size: max(10px, 0.875rem);
  text-align: center;
  line-height: 2.1428571429;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-works-single__back {
    font-size: 0.875rem;
  }
}

.p-works-single__arrow--prev {
  padding-right: 2.9375rem;
  position: absolute;
  top: 0;
  right: 0;
}
@media screen and (max-width: 767px) {
  .p-works-single__arrow--prev {
    padding-right: 1.5rem;
  }
}

.p-works-single__arrow--prev::before {
  content: "";
  width: 1.375rem;
  height: 1.875rem;
  background: transparent url(../images/common/btn_right.svg) no-repeat center center/100%;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-works-single__arrow--prev::before {
    width: 1rem;
    height: 1.5rem;
  }
}

.p-works-single__arrow--prev:hover::before {
  right: -0.625rem;
}
@media screen and (max-width: 767px) {
  .p-works-single__arrow--prev:hover::before {
    right: 0;
  }
}

.p-works {
  padding-top: 6.25rem;
  padding-bottom: 15.75rem;
}
@media screen and (max-width: 767px) {
  .p-works {
    padding-top: 8.125rem;
    padding-bottom: 7.5rem;
  }
}

@media screen and (max-width: 767px) {
  .p-works__title {
    margin-left: 1.875rem;
  }
}

.p-works__cateList {
  margin-top: 3.4375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: 1.75rem;
     -moz-column-gap: 1.75rem;
          column-gap: 1.75rem;
  row-gap: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .p-works__cateList {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.p-works__cateItem {
  font-size: max(10px, 0.875rem);
  line-height: 1.2142857143;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-works__cateItem {
    font-size: 0.8125rem;
  }
}

.p-works__link {
  margin-top: 6.875rem;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  row-gap: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-works__link {
    margin-top: 3.75rem;
    row-gap: 2.1875rem;
  }
}

.p-works__cateItem--active {
  color: #D3D1CF;
}

.p-work__list {
  margin-top: 6.25rem;
  padding-bottom: 7.375rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-column-gap: 3.75rem;
     -moz-column-gap: 3.75rem;
          column-gap: 3.75rem;
  row-gap: 3.125rem;
  border-bottom: 1px solid #D3D1CF;
}
@media screen and (max-width: 767px) {
  .p-work__list {
    margin-top: 3.75rem;
    padding-bottom: 6.25rem;
    grid-template-columns: repeat(1, 1fr);
    row-gap: 4.375rem;
  }
}

.p-works__item {
  padding-bottom: 3.125rem;
  border-bottom: 1px solid #D3D1CF;
}
@media screen and (max-width: 767px) {
  .p-works__item {
    width: 100%;
    padding-bottom: 1.5625rem;
  }
}

.p-works__pagenation {
  margin-top: 5.25rem;
}
@media screen and (max-width: 767px) {
  .p-works__pagenation {
    margin-top: 3.4375rem;
  }
}

.u-hover {
  display: inline;
  background: -webkit-gradient(linear, left top, left bottom, from(#505050), to(#505050)) 0 100%/0 1px no-repeat;
  background: linear-gradient(#505050, #505050) 0 100%/0 1px no-repeat;
  background-size: 0 1px;
  -webkit-transition: background 0.5s;
  transition: background 0.5s;
}

.u-hover:hover,
a:hover .u-hover {
  background: -webkit-gradient(linear, left top, left bottom, from(#505050), to(#505050)) 0 100%/0 1px no-repeat;
  background: linear-gradient(#505050, #505050) 0 100%/0 1px no-repeat;
  background-size: 100% 1px;
}
@media screen and (max-width: 767px) {
  .u-hover:hover,
  a:hover .u-hover {
    background: -webkit-gradient(linear, left top, left bottom, from(#505050), to(#505050)) 0 100%/0 1px no-repeat;
    background: linear-gradient(#505050, #505050) 0 100%/0 1px no-repeat;
  }
}

.u-hoverImg {
  overflow: hidden;
}

.u-hoverImg img {
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

a:hover .u-hoverImg img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  opacity: 1;
}
@media screen and (max-width: 767px) {
  a:hover .u-hoverImg img {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

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

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