@charset "UTF-8";
/*
Theme Name: 
Theme URI: 
Author: COMLAB
*/
/* font
  ========================================================================== */
/*Import font data*/
@font-face {
  font-family: "Noto Sans JP";
  src: url("./fonts/NotoSansJP-Regular.otf") format("opentype"), url("./fonts/NotoSansJP-Regular.woff") format("woff"), url("./fonts/NotoSansJP-Regular.svg") format("svg");
  font-weight: 400;
}
@font-face {
  font-family: "Noto Sans JP";
  src: url("./fonts/NotoSansJP-Medium.otf") format("opentype"), url("./fonts/NotoSansJP-Medium.woff") format("woff"), url("./fonts/NotoSansJP-Medium.svg") format("svg");
  font-weight: 500;
}
@font-face {
  font-family: "Noto Sans JP";
  src: url("./fonts/NotoSansJP-Bold.otf") format("opentype"), url("./fonts/NotoSansJP-Bold.woff") format("woff"), url("./fonts/NotoSansJP-Bold.svg") format("svg");
  font-weight: 700;
}
/*font family settings*/
/* mixin
  ========================================================================== */
/* !このファイルは制作時に書き換えを行わないでください! */
/* base
  ========================================================================== */
body {
  font-size: 16px;
  line-height: 1;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  letter-spacing: 0.4px;
  color: #222;
  font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

img {
  width: auto;
  height: auto;
  max-width: 100%;
}

::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

a {
  text-decoration: none;
  -webkit-transition: opacity 0.25s ease-in-out;
  transition: opacity 0.25s ease-in-out;
  will-change: opacity;
}
a:hover {
  opacity: 0.5;
}

a:focus {
  outline: none;
}

section {
  position: relative;
}

textarea {
  padding: 1em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

input {
  padding-left: 1em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

input::-ms-clear {
  visibility: hidden;
}

input::-ms-reveal {
  visibility: hidden;
}

input:focus,
textarea:focus,
select:focus {
  outline: none;
}

select::-ms-expand {
  display: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  font-size: 16px;
  font-weight: normal;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
}

.slick-slide {
  outline: none;
}

li {
  list-style-type: none;
}

/*Safariでplaceholderの位置がずれるのを修正*/
body.js_isSafari input::-webkit-input-placeholder {
  position: relative;
  top: 0.18em;
}

/*Firefoxでplaceholdertextのopacityが小さくなるのを修正*/
input:-moz-placeholder,
input::-moz-placeholder {
  opacity: 1;
}

/* Android系で出るタップ時の青い枠を出さない */
* {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* フォーカスインジケーターの表示 */
/*
*:focus-visible {
  outline: 2px solid #33568A;
  outline-offset:2px;
}
*/
/* header
   ========================================================================== */
/* block skip */
.c-skip_nav a {
  position: absolute;
  width: 1px;
  height: 1px;
  clip: rect(1px, 1px, 1px, 1px);
}
.c-skip_nav a:focus, .c-skip_nav a a:active {
  display: block;
  width: 15em;
  height: auto;
  top: 5px;
  left: 5px;
  clip: auto;
  z-index: 1000;
  font-size: 1.8rem;
  padding: 5px;
  background-color: #fff;
  border: #ccc solid 1px;
  text-align: center;
}

/* 404(notfound)
   ========================================================================== */
#notfound .l-main {
  padding-top: 150px;
}
@media (max-width: 1240px) {
  #notfound .l-main {
    padding-top: 126px;
  }
}
@media (max-width: 840px) {
  #notfound .l-main {
    padding-top: 103px;
  }
}
@media (max-width: 540px) {
  #notfound .l-main {
    padding-top: 80px;
  }
}

.p-notfound {
  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;
  height: 400px;
}
@media screen and (max-width: 840px) {
  .p-notfound {
    height: 330px;
  }
}

.p-notfound__text {
  padding-top: 3em;
}

.p-notfound__button {
  padding-top: 3em;
}
.p-notfound__button > a {
  text-decoration: underline;
}

/* variable
  ========================================================================== */
/* blur */
/* dec_wave */
/* dec_wave__mini */
/* dec_cloud */
/* common
  ========================================================================== */
body {
  font-family: "Noto Sans JP", Yu Gothic, YuGothic, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1.875;
  font-weight: 400;
  color: #222;
  opacity: 0;
  -webkit-animation: fadeIn 0.5s ease 0.1s 1 forwards;
          animation: fadeIn 0.5s ease 0.1s 1 forwards;
  overflow-x: hidden;
}

/* recaptcha */
body:not(:has(.wpcf7-form)) .grecaptcha-badge {
  visibility: hidden;
}

/* animation */
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* display */
.u-dp__ib {
  display: inline-block;
}

/* list */
.u-list__dot > li:before {
  content: "・";
}
.u-list__ast > li:before {
  content: "※";
}
.u-list__foot > li:before {
  content: "＊";
}
.u-list__circle > li:before {
  content: "●";
}
.u-list__square > li {
  list-style-type: square !important;
}
.u-list__dash > li:before {
  content: "-";
}
.u-list__num {
  counter-reset: ulnNum;
}
.u-list__num > li {
  counter-increment: ulnNum;
}
.u-list__num > li:before {
  content: "(" counter(ulnNum) ")";
}

/* width */
.u-width__full, .u-width__wide, .u-width__mid, .u-width__min {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
@media (max-width: 840px) {
  .u-width__full, .u-width__wide, .u-width__mid, .u-width__min {
    max-width: 92%;
  }
}
.u-width__full {
  max-width: 100%;
  width: 1400px;
}
.u-width__wide {
  width: 1300px;
}
@media (min-width: 841px) {
  .u-width__wide {
    max-width: 92.85%;
  }
}
.u-width__mid {
  width: 1200px;
}
@media (min-width: 841px) {
  .u-width__mid {
    max-width: 85.72%;
  }
}
.u-width__min {
  width: 900px;
}
@media (min-width: 841px) {
  .u-width__min {
    max-width: 85.72%;
  }
}

/* font */
.u-font__min {
  font-family: Yu Mincho, YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
}
.u-font__got {
  font-family: "Noto Sans JP", Yu Gothic, YuGothic, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
}
.u-font__en {
  font-family: "Cinzel", serif !important;
}

/* .p-section_title */
.p-section_title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1em 0.35em;
  position: relative;
  z-index: 10;
}
@media (max-width: 1240px) {
  .p-section_title {
    gap: 1.05em 0.35em;
  }
}
@media (max-width: 840px) {
  .p-section_title {
    gap: 1.1em 0.35em;
  }
}
.p-section_title.__row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.p-section_title__jp {
  text-align: center;
  font-size: 2.5rem;
  letter-spacing: 0.2em;
  line-height: 1;
  font-weight: 700;
}
@media (max-width: 1240px) {
  .p-section_title__jp {
    font-size: 2.25rem;
  }
}
@media (max-width: 840px) {
  .p-section_title__jp {
    font-size: 2.0625rem;
  }
}
@media (max-width: 540px) {
  .p-section_title__jp {
    font-size: 1.875rem;
  }
}

.p-section_title__en {
  font-size: 1.25rem;
  letter-spacing: 0.15em;
  line-height: 1;
  font-weight: 700;
  color: #3f3c3c;
}
@media (max-width: 1240px) {
  .p-section_title__en {
    font-size: 1.1625rem;
  }
}
@media (max-width: 840px) {
  .p-section_title__en {
    font-size: 1.08125rem;
  }
}
@media (max-width: 540px) {
  .p-section_title__en {
    font-size: 1rem;
  }
}

/* .p-common_btn */
.p-common_btn {
  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;
  position: relative;
  height: 80px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 329px;
  border: 1px solid rgb(63, 60, 60);
  border-radius: 40px;
  background: #fff;
  -webkit-transition: border 0.25s, background 0.25s, color 0.25s;
  transition: border 0.25s, background 0.25s, color 0.25s;
}
@media (max-width: 840px) {
  .p-common_btn {
    height: 77px;
  }
}
.p-common_btn:hover {
  border: 1px solid rgba(63, 60, 60, 0);
  background: #3f3c3c;
  color: #fff;
  opacity: 1;
}
.p-common_btn:has(.__yellow) {
  background: #fff;
  color: #222;
}
.p-common_btn.__white {
  border: 1px solid rgb(255, 255, 255);
}
.p-common_btn.__white:hover {
  border: 1px solid rgba(255, 255, 255, 0);
}
.p-common_btn.__white:has(.__yellow):hover {
  border-color: #3f3c3c;
}
.p-common_btn.__yellow {
  border: 1px solid rgb(248, 244, 238);
  background: #f8f4ee;
}
.p-common_btn.__yellow:hover {
  border: 1px solid rgba(248, 244, 238, 0);
  background: #3f3c3c;
}
.p-common_btn.__left {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding-left: calc(2.4em + 40px);
}

.p-common_btn__icon {
  -ms-grid-row: 3;
  -ms-grid-column: 5;
  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;
  width: 40px;
  height: auto;
  aspect-ratio: 1/1;
  grid-area: arrow;
  border-radius: 100%;
  background-color: #3f3c3c;
  position: absolute;
  left: 5.75%;
  top: 0;
  bottom: 0;
  margin: auto 0;
  -webkit-transition: background 0.25s;
  transition: background 0.25s;
  will-change: background;
}

.__form .p-parts_contact__list__box__link > .p-common_btn__icon {
  -ms-grid-row: 2;
  -ms-grid-column: 5;
}

.p-index_works__list .__control > .p-common_btn__icon {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
}
.p-common_btn__icon svg {
  width: 41%;
  fill: #fff;
  -webkit-transition: fill 0.25s, -webkit-transform 0.25s;
  transition: fill 0.25s, -webkit-transform 0.25s;
  transition: fill 0.25s, transform 0.25s;
  transition: fill 0.25s, transform 0.25s, -webkit-transform 0.25s;
}
.p-common_btn:hover .p-common_btn__icon {
  background-color: #9dc8d0;
}
.p-common_btn:hover .p-common_btn__icon svg {
  fill: #3f3c3c;
  -webkit-transform: translateX(20%);
          transform: translateX(20%);
}
.p-common_btn__icon.__lotate {
  rotate: 90deg;
}
.p-common_btn__icon.__yellow {
  background: #f8f4ee;
}
.p-common_btn__icon.__yellow > svg {
  fill: #222;
}

.p-common_btn__text {
  letter-spacing: 0.1em;
}
.p-common_btn__icon.__left .p-common_btn__text {
  padding-left: calc(40px + 11.5%);
}

/* .p-common_breadcrumb */
.p-common_breadcrumb {
  padding-top: 1.65em;
  position: relative;
  z-index: 10;
}
@media (max-width: 1240px) {
  .p-common_breadcrumb {
    padding-top: 1.14em;
    max-width: 90%;
  }
}
@media (max-width: 840px) {
  .p-common_breadcrumb {
    padding-top: 0.62em;
    max-width: 87.9%;
  }
}
@media (max-width: 540px) {
  .p-common_breadcrumb {
    padding-top: 0.1em;
    max-width: 85.8%;
  }
}

.p-common_breadcrumb__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.p-common_breadcrumb__list > li {
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
  font-weight: 400;
}
@media (max-width: 840px) {
  .p-common_breadcrumb__list > li {
    font-size: 0.8125rem;
    letter-spacing: 0.05em;
    line-height: 1.5;
    font-weight: 400;
  }
}
@media (max-width: 540px) {
  .p-common_breadcrumb__list > li {
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    line-height: 1.5;
    font-weight: 400;
  }
}
.p-common_breadcrumb__list > li + li::before {
  content: ">";
  padding: 0 0.5em;
}
@media (max-width: 840px) {
  .p-common_breadcrumb__list > li + li::before {
    padding: 0 0.55em;
  }
}
#single .p-common_breadcrumb__list > li.__post-type {
  display: none;
}
/* .p-common_details */
.p-common_details {
  border-radius: 40px;
  overflow: hidden;
}
@media (max-width: 1240px) {
  .p-common_details {
    border-radius: 45px;
  }
}
@media (max-width: 540px) {
  .p-common_details {
    border-radius: 50px;
  }
}
.p-common_details .__summary,
.p-common_details .__answer {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 2.65em 2% 1fr;
  grid-template-columns: 2.65em 1fr;
  grid-column-gap: 2%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1.425em calc(6.9% + 23px) 1.425em 3.2%;
}
@media (max-width: 1240px) {
  .p-common_details .__summary,
  .p-common_details .__answer {
    -ms-grid-columns: 2.51em 1.5% 1fr;
    grid-template-columns: 2.51em 1fr;
    grid-column-gap: 1.5%;
    padding-right: calc(6.9% + 20px);
  }
}
@media (max-width: 840px) {
  .p-common_details .__summary,
  .p-common_details .__answer {
    -ms-grid-columns: 2.38em 1fr;
    grid-template-columns: 2.38em 1fr;
  }
}
@media (max-width: 540px) {
  .p-common_details .__summary,
  .p-common_details .__answer {
    -ms-grid-columns: 2.25em 1% 1fr;
    grid-template-columns: 2.25em 1fr;
    grid-column-gap: 1%;
    padding-right: calc(6.9% + 18px);
  }
}
.p-common_details .__summary:before,
.p-common_details .__answer:before {
  display: block;
  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;
  font-size: 1.875rem;
  letter-spacing: 0.15em;
  line-height: 1;
  font-weight: 700;
  margin-top: -0.25em;
}
@media (max-width: 1240px) {
  .p-common_details .__summary:before,
  .p-common_details .__answer:before {
    font-size: 1.625rem;
  }
}
@media (max-width: 840px) {
  .p-common_details .__summary:before,
  .p-common_details .__answer:before {
    font-size: 1.4375rem;
  }
}
@media (max-width: 540px) {
  .p-common_details .__summary:before,
  .p-common_details .__answer:before {
    font-size: 1.25rem;
  }
}
.p-common_details .__summary p,
.p-common_details .__answer p {
  max-width: 985px;
}
.p-common_details .__summary {
  list-style: none;
  cursor: pointer;
  background: #3f3c3c;
  color: #fff;
  position: relative;
  font-weight: 700;
  line-height: 1.5;
  -webkit-transition: margin 0.25s, opacity 0.25s, background 0.25s;
  transition: margin 0.25s, opacity 0.25s, background 0.25s;
  padding-top: 1.65em;
  padding-bottom: 1.55em;
}
.p-common_details .__summary:before {
  content: "Q.";
}
.p-common_details .__summary:after {
  content: "";
  display: block;
  width: 23px;
  height: auto;
  aspect-ratio: 53/30;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 3.4%;
  margin: auto 0;
  background: url(./img/common/icon-common_faq__arrow.svg) no-repeat center/contain;
  -webkit-transition: rotate 0.25s;
  transition: rotate 0.25s;
}
@media (max-width: 1240px) {
  .p-common_details .__summary:after {
    width: 20px;
    right: 3.65%;
  }
}
@media (max-width: 540px) {
  .p-common_details .__summary:after {
    width: 18px;
    right: 3.9%;
  }
}
.p-common_details .__summary:hover {
  background: #9dc8d0;
}
.p-common_details[open] .__summary:after {
  rotate: -180deg;
}
.p-common_details .__answer {
  background: #cee3e7;
}
@media (max-width: 840px) {
  .p-common_details .__answer {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
}
.p-common_details .__answer:before {
  content: "A.";
}
@media (max-width: 840px) {
  .p-common_details .__answer:before {
    margin-top: 0.3em;
  }
}
/* .p-common_consbtn */
.p-common_consbtn {
  font-size: 1.125rem;
  letter-spacing: 0.15em;
  line-height: 1;
  font-weight: 700;
  color: #fff;
  border: 5px solid #3db4cb;
  background: #3db4cb;
  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;
  border-radius: 100px;
  width: 280px;
  height: 80px;
  -webkit-transition: background 0.25s, color 0.25s;
  transition: background 0.25s, color 0.25s;
}
.p-common_consbtn:hover {
  background: #fff;
  color: #3db4cb;
  opacity: 1;
}
@media (max-width: 840px) {
  .p-common_consbtn {
    width: 250px;
    height: 65px;
    font-size: 1.0625rem;
    letter-spacing: 0.15em;
    line-height: 1;
    font-weight: 700;
  }
}
@media (max-width: 540px) {
  .p-common_consbtn {
    width: 220px;
    height: 50px;
    font-size: 1rem;
    letter-spacing: 0.15em;
    line-height: 1;
    font-weight: 700;
  }
}

/* .p-common_anchor */
.p-common_anchor {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.25em 1.6666666667%;
}
.p-common_anchor:not(:has(.p-common_anchor__box:nth-of-type(4))) {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 1240px) {
  .p-common_anchor {
    gap: 1.25em 2.5%;
  }
}
@media (max-width: 720px) {
  .p-common_anchor {
    gap: 0.62em 2.86%;
  }
}

.p-common_anchor__box {
  height: 60px;
  width: 23.75%;
}
@media (max-width: 1240px) {
  .p-common_anchor__box {
    height: 58px;
    width: 31.6666666667%;
  }
}
@media (max-width: 840px) {
  .p-common_anchor__box {
    height: 56px;
  }
}
@media (max-width: 720px) {
  .p-common_anchor__box {
    width: 48.57%;
  }
}
@media (max-width: 540px) {
  .p-common_anchor__box {
    height: 54px;
  }
}
.p-common_anchor__box .__link {
  background: #f8f4ee;
  border: 1px solid #f8f4ee;
  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;
  position: relative;
  padding: 0 calc(7% + 30px);
  border-radius: 30px;
  -webkit-transition: border 0.25s, background 0.25s, color 0.25s;
  transition: border 0.25s, background 0.25s, color 0.25s;
}
@media (max-width: 840px) {
  .p-common_anchor__box .__link {
    padding-left: calc(13.7% + 30px);
    padding-right: 0;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
@media (max-width: 540px) {
  .p-common_anchor__box .__link {
    padding-left: calc(17% + 30px);
  }
}
.p-common_anchor__box .__link .__link__icon {
  -ms-grid-row: 3;
  -ms-grid-column: 5;
  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;
  width: 30px;
  height: auto;
  aspect-ratio: 1/1;
  grid-area: arrow;
  border-radius: 100%;
  background-color: #3f3c3c;
  position: absolute;
  left: 7%;
  top: 0;
  bottom: 0;
  margin: auto 0;
  -webkit-transition: background 0.25s;
  transition: background 0.25s;
  will-change: background;
}
.p-common_anchor__box .__link .__link__icon svg {
  width: 41%;
  fill: #fff;
  rotate: 90deg;
  -webkit-transition: fill 0.25s, -webkit-transform 0.25s;
  transition: fill 0.25s, -webkit-transform 0.25s;
  transition: fill 0.25s, transform 0.25s;
  transition: fill 0.25s, transform 0.25s, -webkit-transform 0.25s;
}
.p-common_anchor__box .__link:hover {
  background: #fff;
  border-color: #3f3c3c;
  opacity: 1;
  -webkit-transition: background 0.25s;
  transition: background 0.25s;
  will-change: background;
}
.p-common_anchor__box .__link:hover .__link__icon {
  background-color: #9dc8d0;
}
.p-common_anchor__box .__link:hover .__link__icon svg {
  fill: #3f3c3c;
  -webkit-transform: translateX(20%);
          transform: translateX(20%);
}
.p-common_anchor__box .__link .__link__text {
  text-align: center;
  font-size: 1rem;
  letter-spacing: 0.1em;
  line-height: 1.5;
  font-weight: 500;
}
@media (max-width: 840px) {
  .p-common_anchor__box .__link .__link__text {
    text-align: left;
    font-size: 0.875rem;
    letter-spacing: 0.1em;
    line-height: 1.4285714286;
    font-weight: 500;
  }
}
@media (max-width: 840px) {
  .p-common_anchor__box .__link .__link__text[data-length=more] {
    font-size: 0.83125rem;
    letter-spacing: 0.1em;
    line-height: 1.4511278195;
    font-weight: 500;
  }
}
@media (max-width: 540px) {
  .p-common_anchor__box .__link .__link__text[data-length=more] {
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    line-height: 1.4166666667;
    font-weight: 500;
  }
}
.p-common_anchor__box .__link:has(.u-dp__ib) {
  padding-right: calc(2% + 7px);
}
@media (max-width: 840px) {
  .p-common_anchor__box .__link:has(.u-dp__ib) {
    padding-left: calc(10% + 30px);
    padding-right: 0;
  }
}
@media (max-width: 540px) {
  .p-common_anchor__box .__link:has(.u-dp__ib) {
    padding-left: calc(13% + 30px);
  }
}
.p-common_anchor__box .__link:has(.u-dp__ib) .__link__text {
  font-size: 0.875rem;
  letter-spacing: 0em;
  line-height: 1.2857142857;
  font-weight: 500;
}
@media (max-width: 1240px) {
  .p-common_anchor__box .__link:has(.u-dp__ib) .__link__text {
    font-size: 0.8125rem;
    letter-spacing: 0em;
    line-height: 1.3076923077;
    font-weight: 500;
  }
}
@media (max-width: 840px) {
  .p-common_anchor__box .__link:has(.u-dp__ib) .__link__text {
    font-size: 0.75rem;
    letter-spacing: 0em;
    line-height: 1.3333333333;
    font-weight: 500;
  }
}

/* .p-common_table */
.p-common_table {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 30% 1fr;
  grid-template-columns: 30% 1fr;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
@media (max-width: 840px) {
  .p-common_table {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.p-common_table__dt,
.p-common_table__dd {
  font-weight: 400;
}
@media (min-width: 841px) {
  .p-common_table__dt,
  .p-common_table__dd {
    border-top: 1px solid #9dc8d0;
    padding: 0.782em 1.15em;
  }
  .p-common_table__dt:last-of-type,
  .p-common_table__dd:last-of-type {
    border-bottom: 1px solid #9dc8d0;
  }
}

.p-common_table__dt {
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #4798a7;
}
@media (max-width: 840px) {
  .p-common_table__dt {
    padding-top: 0.65em;
  }
  .p-common_table__dt:first-of-type {
    border-top: 1px solid #9dc8d0;
  }
}

@media (max-width: 840px) {
  .p-common_table__dd {
    padding: 0.3em 0 0.925em;
    border-bottom: 1px solid #9dc8d0;
  }
}
.p-common_table__dd p {
  line-height: 1.75;
}
@media (max-width: 1240px) {
  .p-common_table__dd p {
    font-size: 0.9375rem;
    letter-spacing: 0em;
    line-height: 1.8666666667;
    font-weight: 400;
  }
}
@media (max-width: 840px) {
  .p-common_table__dd p {
    font-size: 0.875rem;
    letter-spacing: 0em;
    line-height: 2;
    font-weight: 400;
  }
}
.p-common_table__dd p + p {
  margin-top: 1lh;
}
.p-common_table__dd p a {
  display: block;
  text-decoration: underline;
  padding-bottom: 0.35em;
}

/* parts
  ========================================================================== */
/* .p-parts_hero */
.p-parts_hero {
  background: #eee;
  height: 18.7em;
  position: relative;
  margin-bottom: 100px;
}
@media (max-width: 1240px) {
  .p-parts_hero {
    height: 18em;
  }
}
@media (max-width: 840px) {
  .p-parts_hero {
    height: 17.3em;
  }
}
@media (max-width: 540px) {
  .p-parts_hero {
    height: 16.6em;
  }
}
.p-parts_hero .__before {
  position: absolute;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  height: auto;
  z-index: 1;
  aspect-ratio: 284.8/234.6;
  width: 276px;
  top: 0;
  right: 0;
  -webkit-transform: translate(3%, -4%);
          transform: translate(3%, -4%);
  z-index: 3;
}
@media (max-width: 1240px) {
  .p-parts_hero .__before {
    width: 234px;
    -webkit-transform: translate(3.7%, -4.3%);
            transform: translate(3.7%, -4.3%);
  }
}
@media (max-width: 840px) {
  .p-parts_hero .__before {
    width: 192px;
    -webkit-transform: translate(4.3%, -4.6%);
            transform: translate(4.3%, -4.6%);
  }
}
@media (max-width: 540px) {
  .p-parts_hero .__before {
    width: 151px;
    -webkit-transform: translate(5%, -5%);
            transform: translate(5%, -5%);
  }
}
.p-parts_hero .__before svg {
  fill: #f8f5e1;
}
.p-parts_hero:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 350px;
  height: auto;
  aspect-ratio: 60/29;
  background: url(./img/index/dec-index_kv.svg) no-repeat center/contain;
  z-index: 1;
}
@media (max-width: 1240px) {
  .p-parts_hero:before {
    width: 304px;
  }
}
@media (max-width: 840px) {
  .p-parts_hero:before {
    width: 258px;
  }
}
@media (max-width: 540px) {
  .p-parts_hero:before {
    width: 213px;
  }
}
.p-parts_hero:after {
  content: "";
  display: block;
  position: absolute;
  background-size: 1400px 100%;
  background-position: center bottom;
  background-repeat: repeat-x;
  width: 100%;
  height: 100px;
  top: 0;
  left: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  pointer-events: none;
  background-image: url("./img/common/dec-wave_gr.svg");
}
@media (max-width: 1240px) {
  .p-parts_hero:after {
    background-size: 1058px 100%;
    height: 75px;
  }
}
@media (max-width: 840px) {
  .p-parts_hero:after {
    background-size: 716px 100%;
    height: 50px;
  }
}
@media (max-width: 540px) {
  .p-parts_hero:after {
    background-size: 375px 100%;
    height: 25px;
  }
}
.p-parts_hero:after {
  top: auto;
  bottom: 0;
  -webkit-transform: scale(-1, -1) translateY(-100%);
          transform: scale(-1, -1) translateY(-100%);
  z-index: 2;
}

.p-parts_hero__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  position: relative;
  height: 100%;
}

.p-parts_hero__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.125em 0;
  height: 6.4em;
}
@media (max-width: 1240px) {
  .p-parts_hero__text {
    padding-bottom: 1em;
  }
}
@media (max-width: 840px) {
  .p-parts_hero__text {
    padding-bottom: 1.9em;
  }
}
@media (max-width: 540px) {
  .p-parts_hero__text {
    padding-bottom: 2.9em;
  }
}
.p-parts_hero__text .__jp {
  font-size: 2.5rem;
  letter-spacing: 0.2em;
  line-height: 1;
  font-weight: 700;
}
@media (max-width: 1240px) {
  .p-parts_hero__text .__jp {
    font-size: 2.25rem;
    letter-spacing: 0.2em;
    line-height: 1;
    font-weight: 700;
  }
}
@media (max-width: 840px) {
  .p-parts_hero__text .__jp {
    font-size: 2.0625rem;
    letter-spacing: 0.2em;
    line-height: 1;
    font-weight: 700;
  }
}
@media (max-width: 540px) {
  .p-parts_hero__text .__jp {
    font-size: 1.875rem;
    letter-spacing: 0.2em;
    line-height: 1;
    font-weight: 700;
  }
}
.p-parts_hero__text .__en {
  font-size: 1.25rem;
  letter-spacing: 0.15em;
  line-height: 1;
  font-weight: 700;
  color: #3f3c3c;
}
@media (max-width: 1240px) {
  .p-parts_hero__text .__en {
    font-size: 1.1625rem;
    letter-spacing: 0.15em;
    line-height: 1;
    font-weight: 700;
  }
}
@media (max-width: 840px) {
  .p-parts_hero__text .__en {
    font-size: 1.08125rem;
    letter-spacing: 0.15em;
    line-height: 1;
    font-weight: 700;
  }
}
@media (max-width: 540px) {
  .p-parts_hero__text .__en {
    font-size: 1rem;
    letter-spacing: 0.15em;
    line-height: 1;
    font-weight: 700;
  }
}

.p-parts_hero__pic {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 10;
  -webkit-transform: translateY(50.4%);
          transform: translateY(50.4%);
}
@media (max-width: 1240px) {
  .p-parts_hero__pic {
    zoom: 0.87;
    right: 1.42%;
    -webkit-transform: translateY(53.73%);
            transform: translateY(53.73%);
  }
}
@media (max-width: 840px) {
  .p-parts_hero__pic {
    zoom: 0.74;
    right: 2.84%;
    -webkit-transform: translateY(57.06%);
            transform: translateY(57.06%);
  }
}
@media (max-width: 540px) {
  .p-parts_hero__pic {
    zoom: 0.615;
    right: 4.25%;
    -webkit-transform: translateY(60.4%);
            transform: translateY(60.4%);
  }
}
.p-parts_hero__pic img {
  width: revert-layer;
}

/* .p-parts_contact */
.p-parts_contact {
  margin-top: 12.3em;
}
@media (max-width: 1240px) {
  body:not(#index) .p-parts_contact {
    margin-top: 10.2em;
  }
}
@media (max-width: 840px) {
  body:not(#index) .p-parts_contact {
    margin-top: 8.2em;
  }
}
@media (max-width: 540px) {
  body:not(#index) .p-parts_contact {
    margin-top: 6.2em;
  }
}

.p-parts_contact__head {
  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;
  position: relative;
}
.p-parts_contact__head .js-gsap__fade {
  z-index: 10;
}
.p-parts_contact__head .__before {
  position: absolute;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  height: auto;
  z-index: 1;
  aspect-ratio: 323.5/276.2;
  width: 371px;
  top: 0;
  left: 0;
  -webkit-transform: translate(-2%, -44.5%);
          transform: translate(-2%, -44.5%);
}
@media (max-width: 1240px) {
  .p-parts_contact__head .__before {
    width: 322px;
    -webkit-transform: translate(-17.7%, -49.7%);
            transform: translate(-17.7%, -49.7%);
  }
}
@media (max-width: 840px) {
  .p-parts_contact__head .__before {
    width: 274px;
    -webkit-transform: translate(-33.34%, -54.8%);
            transform: translate(-33.34%, -54.8%);
  }
}
@media (max-width: 540px) {
  .p-parts_contact__head .__before {
    width: 226px;
    -webkit-transform: translate(-49%, -60%);
            transform: translate(-49%, -60%);
  }
}
.p-parts_contact__head .__before svg {
  fill: #eee;
  rotate: 92deg;
}
.p-parts_contact__head .__after {
  position: absolute;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  height: auto;
  z-index: 1;
  aspect-ratio: 253.5/259.1;
  width: 318px;
  right: 0;
  bottom: 0;
  -webkit-transform: translate(-1.5%, -21%);
          transform: translate(-1.5%, -21%);
}
@media (max-width: 1240px) {
  .p-parts_contact__head .__after {
    width: 276px;
    -webkit-transform: translate(35.2%, -21%);
            transform: translate(35.2%, -21%);
  }
}
@media (max-width: 840px) {
  .p-parts_contact__head .__after {
    width: 234px;
    -webkit-transform: translate(71.8%, -21%);
            transform: translate(71.8%, -21%);
  }
}
@media (max-width: 540px) {
  .p-parts_contact__head .__after {
    width: 193px;
    -webkit-transform: translate(108.5%, -21%);
            transform: translate(108.5%, -21%);
  }
}
.p-parts_contact__head .__after svg {
  fill: #dff1f5;
  rotate: -72deg;
}

.p-parts_contact__text,
.p-parts_contact__img {
  position: relative;
  z-index: 10;
}

.p-parts_contact__text {
  text-align: center;
  margin-top: 2.5em;
}
@media (max-width: 1240px) {
  .p-parts_contact__text {
    margin-top: 1.9em;
  }
}
@media (max-width: 840px) {
  .p-parts_contact__text {
    margin-top: 1.3em;
  }
}
@media (max-width: 560px) {
  .p-parts_contact__text {
    text-align: left;
    padding: 0 4.2%;
  }
}
@media (max-width: 540px) {
  .p-parts_contact__text {
    margin-top: 0.7em;
  }
}

.p-parts_contact__img {
  margin-top: 2.7em;
  display: block;
}
.p-parts_contact__img img {
  width: 563px;
}

.p-parts_contact__list {
  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;
  position: relative;
  z-index: 10;
}
@media (max-width: 940px) {
  .p-parts_contact__list {
    -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;
  }
}

.p-parts_contact__list__box {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  height: 196px;
}
@media (max-width: 1240px) {
  .p-parts_contact__list__box {
    height: 181px;
  }
}
@media (max-width: 940px) {
  .p-parts_contact__list__box {
    width: 100%;
    height: 167px;
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
  }
}
@media (max-width: 540px) {
  .p-parts_contact__list__box {
    height: 153px;
  }
}

.p-parts_contact__list__box__link {
  display: -ms-grid;
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  justify-items: center;
  -ms-grid-columns: 1fr (auto)[2] 1fr;
  grid-template-columns: 1fr repeat(2, auto) 1fr;
  height: 100%;
  -webkit-transition: background 0.25s, border 0.25s, color 0.25s;
  transition: background 0.25s, border 0.25s, color 0.25s;
}
@media (max-width: 940px) {
  .p-parts_contact__list__box__link {
    -ms-grid-columns: 1fr 376px auto 1fr;
    grid-template-columns: 1fr 376px auto 1fr;
  }
}
@media (max-width: 540px) {
  .p-parts_contact__list__box__link {
    -ms-grid-columns: 1fr 306px auto 1fr;
    grid-template-columns: 1fr 306px auto 1fr;
  }
}
.p-parts_contact__list__box__link .__main {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
  grid-area: main;
}
@media (max-width: 940px) {
  .p-parts_contact__list__box__link .__main {
    padding-left: 15%;
  }
}
.p-parts_contact__list__box__link .__arrow {
  -ms-grid-row: 3;
  -ms-grid-column: 5;
  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;
  width: 40px;
  height: auto;
  aspect-ratio: 1/1;
  grid-area: arrow;
  border-radius: 100%;
}
@media (max-width: 1240px) {
  .p-parts_contact__list__box__link .__arrow {
    width: 36px;
  }
}
@media (max-width: 840px) {
  .p-parts_contact__list__box__link .__arrow {
    width: 33px;
  }
}
@media (max-width: 540px) {
  .p-parts_contact__list__box__link .__arrow {
    width: 30px;
  }
}
.p-parts_contact__list__box__link .__arrow svg {
  width: 41%;
}
.__tel .p-parts_contact__list__box__link {
  background: #cee3e7;
  -ms-grid-rows: 1fr (auto)[3] 1fr;
  grid-template-rows: 1fr repeat(3, auto) 1fr;
      grid-template-areas: ". . . ." ". sub . ." ". main arrow ." ". time . ." ". . . .";
  grid-column-gap: 3.5%;
  border: 3px solid #cee3e7;
}
@media (max-width: 940px) {
  .__tel .p-parts_contact__list__box__link {
    grid-column-gap: 3%;
  }
}
.__tel .p-parts_contact__list__box__link .__sub {
  -ms-grid-row: 2;
  -ms-grid-column: 3;
  grid-area: sub;
  font-size: 1.125rem;
  letter-spacing: 0.1em;
  line-height: 1;
  font-weight: 700;
}
@media (max-width: 1240px) {
  .__tel .p-parts_contact__list__box__link .__sub {
    font-size: 1.0625rem;
  }
}
@media (max-width: 940px) {
  .__tel .p-parts_contact__list__box__link .__sub {
    padding-left: 14%;
    white-space: nowrap;
  }
}
@media (max-width: 540px) {
  .__tel .p-parts_contact__list__box__link .__sub {
    font-size: 1rem;
  }
}
.__tel .p-parts_contact__list__box__link .__main {
  font-size: 2.625rem;
  letter-spacing: 0.07em;
  line-height: 1;
  font-weight: 700;
  padding: 0.425em 0 0.55em;
  white-space: nowrap;
}
@media (max-width: 1240px) {
  .__tel .p-parts_contact__list__box__link .__main {
    font-size: 2.375rem;
    letter-spacing: 0.062em;
  }
}
@media (max-width: 840px) {
  .__tel .p-parts_contact__list__box__link .__main {
    font-size: 2.1875rem;
    letter-spacing: 0.056em;
  }
}
@media (max-width: 540px) {
  .__tel .p-parts_contact__list__box__link .__main {
    font-size: 2rem;
    letter-spacing: 0.05em;
  }
}
.__tel .p-parts_contact__list__box__link .__time {
  -ms-grid-row: 4;
  -ms-grid-column: 3;
  grid-area: time;
  font-size: 1rem;
  letter-spacing: 0.06em;
  line-height: 1;
  font-weight: 400;
  margin-top: 0.15em;
}
@media (max-width: 1240px) {
  .__tel .p-parts_contact__list__box__link .__time {
    font-size: 0.9375rem;
  }
}
@media (max-width: 940px) {
  .__tel .p-parts_contact__list__box__link .__time {
    padding-left: 14%;
  }
}
@media (max-width: 540px) {
  .__tel .p-parts_contact__list__box__link .__time {
    font-size: 0.875rem;
  }
}
.__tel .p-parts_contact__list__box__link .__arrow {
  background-color: #3f3c3c;
  -webkit-transition: background 0.25s;
  transition: background 0.25s;
  will-change: background;
}
.__tel .p-parts_contact__list__box__link .__arrow svg {
  fill: #fff;
  -webkit-transition: fill 0.25s;
  transition: fill 0.25s;
}
.__form .p-parts_contact__list__box__link {
  background: #3f3c3c;
  color: #fff;
  -ms-grid-rows: 1fr auto 1fr;
  grid-template-rows: 1fr auto 1fr;
      grid-template-areas: ". . . ." ". main arrow ." ". . . .";
  grid-column-gap: 2.9%;
  border: 3px solid #3f3c3c;
}
.__form .p-parts_contact__list__box__link .__main {
  font-size: 2.125rem;
  letter-spacing: 0.2em;
  line-height: 1;
  font-weight: 700;
}
@media (max-width: 1240px) {
  .__form .p-parts_contact__list__box__link .__main {
    font-size: 1.875rem;
  }
}
@media (max-width: 840px) {
  .__form .p-parts_contact__list__box__link .__main {
    font-size: 1.6875rem;
  }
}
@media (max-width: 540px) {
  .__form .p-parts_contact__list__box__link .__main {
    font-size: 1.5rem;
  }
}
.__form .p-parts_contact__list__box__link .__arrow {
  background-color: #9dc8d0;
  -webkit-transition: background 0.25s;
  transition: background 0.25s;
  will-change: background;
}
.__form .p-parts_contact__list__box__link .__arrow svg {
  fill: #3f3c3c;
  -webkit-transition: fill 0.25s;
  transition: fill 0.25s;
}
.__form .p-parts_contact__list__box__link:hover {
  color: #3f3c3c;
}
.__form .p-parts_contact__list__box__link:hover .__arrow {
  background-color: #3f3c3c;
}
.__form .p-parts_contact__list__box__link:hover .__arrow svg {
  fill: #fff;
}
.__tel .p-parts_contact__list__box__link:hover, .__form .p-parts_contact__list__box__link:hover {
  background: #fff;
  opacity: 1;
  border: 3px solid #3f3c3c;
}

/* header
  ========================================================================== */
/* .l-header */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
}

.p-header__wrapper {
  height: 150px;
  width: 100%;
  position: relative;
  z-index: 500;
  background: rgba(255, 255, 255, 0);
  -webkit-transition: background 0.25s;
  transition: background 0.25s;
  will-change: background;
  backdrop-filter: blur(0);
  -webkit-transition: -webkit-filter 0.5s;
  transition: -webkit-filter 0.5s;
  transition: filter 0.5s;
  transition: filter 0.5s, -webkit-filter 0.5s;
}
.js-humburgerOpen .p-header__wrapper {
  -webkit-filter: blur(10px);
          filter: blur(10px);
}
.p-header__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 1240px) {
  .p-header__wrapper {
    height: 126px;
  }
}
@media (max-width: 840px) {
  .p-header__wrapper {
    height: 103px;
  }
}
@media (max-width: 540px) {
  .p-header__wrapper {
    height: 80px;
  }
}

.p-header_logo {
  height: 100%;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
  position: relative;
}
.p-header_logo:after {
  content: "";
  display: block;
  width: 380px;
  height: auto;
  aspect-ratio: 380/300;
  border-radius: 100%;
  background: #fff;
  position: absolute;
  right: -9%;
  bottom: -6.35%;
  z-index: 1;
  opacity: 0;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
body.js-oneScroll .p-header_logo:after {
  opacity: 1;
}
@media (max-width: 1240px) {
  .p-header_logo:after {
    width: 350px;
    right: -14%;
    bottom: -9.35%;
  }
}
@media (max-width: 840px) {
  .p-header_logo:after {
    width: 320px;
    right: -19%;
    bottom: -12.35%;
  }
}
@media (max-width: 540px) {
  .p-header_logo:after {
    width: 290px;
    right: -23%;
    bottom: -16.35%;
  }
}

.p-header_logo__link {
  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;
  padding: 0.5em 3.1em;
  position: relative;
  z-index: 10;
}
@media (max-width: 1240px) {
  .p-header_logo__link {
    padding: 0.5em 2.4em;
  }
}
@media (max-width: 840px) {
  .p-header_logo__link {
    padding: 0.5em 1.7em;
  }
}
@media (max-width: 540px) {
  .p-header_logo__link {
    padding: 0.5em 1em;
  }
}
.p-header_logo__link .__img {
  width: 143px;
  height: auto;
  aspect-ratio: 188/77;
}
@media (max-width: 1240px) {
  .p-header_logo__link .__img {
    width: 136px;
  }
}
@media (max-width: 840px) {
  .p-header_logo__link .__img {
    width: 130px;
  }
}
@media (max-width: 540px) {
  .p-header_logo__link .__img {
    width: 124px;
  }
}

.p-header_gnav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-right: 3.6%;
}
@media (max-width: 1140px) {
  .p-header_gnav {
    display: none;
  }
}

.p-header_gnav__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-right: calc(60px + 2.4svw);
  padding-left: 1.2svw;
  height: 90px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0);
  -webkit-box-shadow: 0px 0px 7px rgba(0, 0, 0, 0);
          box-shadow: 0px 0px 7px rgba(0, 0, 0, 0);
  -webkit-transition: background 0.5s, -webkit-box-shadow 0.5s;
  transition: background 0.5s, -webkit-box-shadow 0.5s;
  transition: background 0.5s, box-shadow 0.5s;
  transition: background 0.5s, box-shadow 0.5s, -webkit-box-shadow 0.5s;
}
body.js-oneScroll .p-header_gnav__menu {
  background: rgb(255, 255, 255);
  -webkit-box-shadow: 0px 0px 7px rgba(0, 0, 0, 0.15);
          box-shadow: 0px 0px 7px rgba(0, 0, 0, 0.15);
}
@media (max-width: 1320px) {
  .p-header_gnav__menu {
    padding-left: 2.4svw;
  }
}

.p-header_gnav__menu__item {
  position: relative;
}
.p-header_gnav__menu__item, .p-header_gnav__menu__item > .__link {
  height: 100%;
}
.p-header_gnav__menu__item > .__link {
  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;
  font-size: 1rem;
  letter-spacing: 0.15em;
  line-height: 1;
  font-weight: 700;
  padding: 0 1.44em;
  color: #3f3c3c;
}
@media (max-width: 1320px) {
  .p-header_gnav__menu__item > .__link {
    padding: 0 1svw;
  }
}
.p-header_gnav__menu__item > .__link.__parent {
  gap: 0 0.5em;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
}
.p-header_gnav__menu__item > .__link.__parent svg {
  height: auto;
  width: 16px;
  aspect-ratio: 5/3;
  fill: #666;
  -webkit-transition: rotate 0.25s, fill 0.25s;
  transition: rotate 0.25s, fill 0.25s;
}
.p-header_gnav__menu__item > .__link.__parent:hover {
  opacity: 0.5;
}
.p-header_gnav__menu__item > .__link.__parent[aria-expanded=true] svg {
  rotate: 180deg;
  fill: #3db4cb;
}
.p-header_gnav__menu__item .__sub {
  display: none;
  opacity: 0;
  position: absolute;
  left: 50%;
  bottom: 1.07em;
  -webkit-transform: translate(-50%, 100%);
          transform: translate(-50%, 100%);
  background: #3f3c3c;
  width: 278px;
  padding: 0 11%;
  border-radius: 15px;
}
.p-header_gnav__menu__item .__sub .__sub__item {
  position: relative;
}
.p-header_gnav__menu__item .__sub .__sub__item .__sub__item__link {
  display: block;
  white-space: nowrap;
  color: #fff;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1;
  font-weight: 400;
  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;
  padding: 1.49em 0;
}
.p-header_gnav__menu__item .__sub .__sub__item:not(:last-of-type):after {
  content: "";
  display: block;
  background: -webkit-gradient(linear, left top, right top, from(rgb(170, 170, 170)), color-stop(50%, rgb(170, 170, 170)), color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0))) 0% 0%;
  background: linear-gradient(to right, rgb(170, 170, 170), rgb(170, 170, 170) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0) 100%) 0% 0%;
  background-size: 6px 1px;
  width: 100%;
  height: 1px;
  position: absolute;
  left: 50%;
  bottom: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.c-humburger {
  height: 60px;
  width: auto;
  aspect-ratio: 1/1;
  background: #3f3c3c;
  border-radius: 100%;
  position: fixed;
  /*right: 2.15%;
  top: 40px;*/
  right: 5%;
  top: 45px;
  z-index: 2000;
  -webkit-transition: background 0.25s;
  transition: background 0.25s;
  will-change: background;
}
@media (max-width: 1240px) {
  .c-humburger {
    top: 33px;
  }
}
@media (max-width: 840px) {
  .c-humburger {
    top: 20px;
  }
}
@media (max-width: 540px) {
  .c-humburger {
    top: 11px;
  }
}
.c-humburger:hover {
  background: #fff;
}

.c-humburger__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 7px 0;
  height: 100%;
  width: 100%;
  border-radius: 100%;
  -webkit-transition: gap 0.25s;
  transition: gap 0.25s;
}
.js-humburgerOpen .c-humburger__wrapper {
  gap: 0;
}

.c-humburger__bar {
  width: 44%;
  height: 2px;
  background: #fff;
  -webkit-transition: opacity 0.25s, width 0.25s, background 0.25s, -webkit-transform 0.25s;
  transition: opacity 0.25s, width 0.25s, background 0.25s, -webkit-transform 0.25s;
  transition: opacity 0.25s, transform 0.25s, width 0.25s, background 0.25s;
  transition: opacity 0.25s, transform 0.25s, width 0.25s, background 0.25s, -webkit-transform 0.25s;
}
.js-humburgerOpen .c-humburger__bar {
  width: 46%;
}
.js-humburgerOpen .c-humburger__bar.__top {
  -webkit-transform: translate(0%, 61%) rotate(45deg);
          transform: translate(0%, 61%) rotate(45deg);
}
.js-humburgerOpen .c-humburger__bar.__bottom {
  -webkit-transform: translate(0%, -61%) rotate(-45deg);
          transform: translate(0%, -61%) rotate(-45deg);
}
.c-humburger:hover .c-humburger__bar {
  background: #3f3c3c;
}

/* .p-humburger_menu */
.p-humburger_menu {
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1500;
  display: none;
}

.p-humburger_menu__wrapper {
  background: #f8f4ee;
  border-radius: 0 0 50px 50px;
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  max-height: 100%;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
  overflow: auto;
}
@media (max-width: 1140px) {
  .p-humburger_menu__wrapper {
    width: 96%;
    max-width: 540px;
    border-radius: 50px 0 0 50px;
  }
}
@media (max-width: 840px) {
  .p-humburger_menu__wrapper {
    border-radius: 35px 0 0 35px;
  }
}
@media (max-width: 540px) {
  .p-humburger_menu__wrapper {
    border-radius: 20px 0 0 20px;
  }
}
.js-humburgerOpen .p-humburger_menu__wrapper {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.p-humburger_menu__inner {
  padding: 4.25em 0 5.2em;
}
@media (max-width: 1140px) {
  .p-humburger_menu__inner {
    width: 420px;
    padding: 4.75em 0 3.2em;
    max-width: 100%;
  }
}
@media (max-width: 540px) {
  .p-humburger_menu__inner {
    width: 380px;
    padding: 4.75em 2.5% 3.2em 8.25%;
  }
}

.p-humburger_menu__list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 44.67% 29.42% 1fr;
  grid-template-columns: 44.67% 29.42% 1fr;
  -ms-grid-rows: (auto)[3] 1fr;
  grid-template-rows: repeat(3, auto) 1fr;
}

.p-humburger_menu__list > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}

.p-humburger_menu__list > *:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
}

.p-humburger_menu__list > *:nth-child(3) {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}

.p-humburger_menu__list > *:nth-child(4) {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
}

.p-humburger_menu__list > *:nth-child(5) {
  -ms-grid-row: 2;
  -ms-grid-column: 2;
}

.p-humburger_menu__list > *:nth-child(6) {
  -ms-grid-row: 2;
  -ms-grid-column: 3;
}

.p-humburger_menu__list > *:nth-child(7) {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
}

.p-humburger_menu__list > *:nth-child(8) {
  -ms-grid-row: 3;
  -ms-grid-column: 2;
}

.p-humburger_menu__list > *:nth-child(9) {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
}

.p-humburger_menu__list > *:nth-child(10) {
  -ms-grid-row: 4;
  -ms-grid-column: 1;
}

.p-humburger_menu__list > *:nth-child(11) {
  -ms-grid-row: 4;
  -ms-grid-column: 2;
}

.p-humburger_menu__list > *:nth-child(12) {
  -ms-grid-row: 4;
  -ms-grid-column: 3;
}
@media (max-width: 1320px) {
  .p-humburger_menu__list {
    -ms-grid-columns: fit-content(500px) 2.5% 1fr 2.5% auto;
    grid-template-columns: fit-content(500px) 1fr auto;
    grid-column-gap: 2.5%;
  }
}
@media (max-width: 1140px) {
  .p-humburger_menu__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.p-humburger_menu__list__item:nth-of-type(1) {
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-area: 1/1/2/2;
}
.p-humburger_menu__list__item:nth-of-type(2) {
  -ms-grid-row: 2;
  -ms-grid-row-span: 4;
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-area: 2/1/6/2;
}
.p-humburger_menu__list__item:nth-of-type(3) {
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-area: 1/2/2/3;
}
.p-humburger_menu__list__item:nth-of-type(4) {
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-area: 2/2/3/3;
}
.p-humburger_menu__list__item:nth-of-type(5) {
  -ms-grid-row: 3;
  -ms-grid-row-span: 1;
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-area: 3/2/4/3;
}
.p-humburger_menu__list__item:nth-of-type(6) {
  -ms-grid-row: 4;
  -ms-grid-row-span: 1;
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-area: 4/2/5/3;
}
.p-humburger_menu__list__item:nth-of-type(7) {
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  -ms-grid-column: 3;
  -ms-grid-column-span: 1;
  grid-area: 1/3/2/4;
}
.p-humburger_menu__list__item:nth-of-type(8) {
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  -ms-grid-column: 3;
  -ms-grid-column-span: 1;
  grid-area: 2/3/3/4;
}
.p-humburger_menu__list__item:nth-of-type(9) {
  -ms-grid-row: 3;
  -ms-grid-row-span: 1;
  -ms-grid-column: 3;
  -ms-grid-column-span: 1;
  grid-area: 3/3/4/4;
}
.p-humburger_menu__list__item:nth-of-type(10) {
  -ms-grid-row: 4;
  -ms-grid-row-span: 1;
  -ms-grid-column: 3;
  -ms-grid-column-span: 1;
  grid-area: 4/3/5/4;
}
.p-humburger_menu__list__item > .__link {
  /*display: flex;
  justify-content: flex-start;*/
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 0.65em auto 0.65em 1fr;
  grid-template-columns: repeat(2, auto) 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  grid-column-gap: 0.65em;
  padding: 1.25em 0;
}
@media (max-width: 1240px) {
  .p-humburger_menu__list__item > .__link {
    grid-column-gap: 0.8em;
    padding: 1.1em 0;
  }
}
@media (max-width: 540px) {
  .p-humburger_menu__list__item > .__link {
    grid-column-gap: 0.95em;
    padding: 0.94em 0;
  }
}
.p-humburger_menu__list__item > .__link .__link__icon {
  width: 40px;
  height: 40px;
  border-radius: 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;
  background: #3f3c3c;
  -webkit-transition: background 0.25s;
  transition: background 0.25s;
  will-change: background;
}
@media (max-width: 1240px) {
  .p-humburger_menu__list__item > .__link .__link__icon {
    width: 38px;
    height: 38px;
  }
}
@media (max-width: 840px) {
  .p-humburger_menu__list__item > .__link .__link__icon {
    width: 36px;
    height: 36px;
  }
}
@media (max-width: 540px) {
  .p-humburger_menu__list__item > .__link .__link__icon {
    width: 34px;
    height: 34px;
  }
}
.p-humburger_menu__list__item > .__link .__link__icon svg {
  width: 41%;
  fill: #fff;
  -webkit-transition: fill 0.25s;
  transition: fill 0.25s;
}
.p-humburger_menu__list__item > .__link .__link__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 0 1.1em;
  position: relative;
}
.p-humburger_menu__list__item > .__link .__link__inner .__link__jp {
  font-size: 1.25rem;
  letter-spacing: 0.1em;
  line-height: 1;
  font-weight: 700;
  color: #3f3c3c;
}
@media (max-width: 1240px) {
  .p-humburger_menu__list__item > .__link .__link__inner .__link__jp {
    font-size: 1.1875rem;
  }
}
@media (max-width: 540px) {
  .p-humburger_menu__list__item > .__link .__link__inner .__link__jp {
    font-size: 1.125rem;
  }
}
.p-humburger_menu__list__item > .__link .__link__inner .__link__en {
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  line-height: 1;
  font-weight: 700;
  color: #3f3c3c;
}
@media (max-width: 1240px) {
  .p-humburger_menu__list__item > .__link .__link__inner .__link__en {
    font-size: 0.8125rem;
    letter-spacing: 0.125em;
    line-height: 1;
    font-weight: 700;
  }
}
@media (max-width: 540px) {
  .p-humburger_menu__list__item > .__link .__link__inner .__link__en {
    font-size: 0.75rem;
    letter-spacing: 0.15em;
    line-height: 1;
    font-weight: 700;
  }
}
.p-humburger_menu__list__item > .__link .__link__inner svg {
  width: 1.1em;
  aspect-ratio: 1/1;
  fill: #888;
}
.p-humburger_menu__list__item > .__link .__link__inner:after {
  content: "";
  display: block;
  height: 1px;
  width: 100%;
  background: #3f3c3c;
  position: absolute;
  left: 0;
  bottom: -0.6em;
  opacity: 0;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
}
.p-humburger_menu__list__item > .__link:hover {
  opacity: 1;
}
.p-humburger_menu__list__item > .__link:hover .__link__icon {
  background: #fff;
}
.p-humburger_menu__list__item > .__link:hover .__link__icon svg {
  fill: #3f3c3c;
}
.p-humburger_menu__list__item > .__link:hover .__link__inner:after {
  opacity: 1;
}
.p-humburger_menu__list__item .__child {
  color: #3f3c3c;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  gap: 0 1em;
  margin-left: 3.1em;
}
@media (max-width: 1240px) {
  .p-humburger_menu__list__item .__child {
    margin-left: 0;
  }
}
@media (max-width: 1140px) {
  .p-humburger_menu__list__item .__child {
    margin-top: 0.75em;
    margin-bottom: 1em;
  }
}
@media (max-width: 540px) {
  .p-humburger_menu__list__item .__child {
    gap: 0;
  }
}
.p-humburger_menu__list__item .__child .__child__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  gap: 0.93em 0;
  position: relative;
}
@media (max-width: 1140px) {
  .p-humburger_menu__list__item .__child .__child__list {
    gap: 0.88em 0;
  }
}
@media (max-width: 540px) {
  .p-humburger_menu__list__item .__child .__child__list {
    gap: 0.82em 0;
  }
  .p-humburger_menu__list__item .__child .__child__list:nth-of-type(1) {
    -webkit-box-flex: 34;
        -ms-flex: 34;
            flex: 34;
  }
  .p-humburger_menu__list__item .__child .__child__list:nth-of-type(2) {
    -webkit-box-flex: 46;
        -ms-flex: 46;
            flex: 46;
  }
}
.p-humburger_menu__list__item .__child .__child__list:before {
  content: "";
  display: block;
  height: 93%;
  width: 1px;
  background: #ccc;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto 0;
}
@media (max-width: 540px) {
  .p-humburger_menu__list__item .__child .__child__list:before {
    height: 100%;
    top: 5%;
  }
}
.p-humburger_menu__list__item .__child .__child__list .__child__list__item .__link {
  font-weight: 500;
  letter-spacing: 0;
  padding: 0 0.9em 0 0.65em;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  right: 0;
  -webkit-transition: padding 0.25s, right 0.25s, opacity 0.25s;
  transition: padding 0.25s, right 0.25s, opacity 0.25s;
}
@media (max-width: 1140px) {
  .p-humburger_menu__list__item .__child .__child__list .__child__list__item .__link {
    font-size: 0.9375rem;
    letter-spacing: 0.05em;
    line-height: 1.6666666667;
    font-weight: 500;
  }
}
@media (max-width: 540px) {
  .p-humburger_menu__list__item .__child .__child__list .__child__list__item .__link {
    padding: 0;
    font-size: 0.875rem;
    letter-spacing: 0.05em;
    line-height: 1.4285714286;
    font-weight: 500;
    margin: 0 0.9em 0 0.8em;
  }
}
.p-humburger_menu__list__item .__child .__child__list .__child__list__item .__link:before {
  content: "-";
  margin-right: 0.2em;
}
.p-humburger_menu__list__item .__child .__child__list .__child__list__item .__link:after {
  content: "";
  display: block;
  height: 1px;
  width: calc(100% - 1.55em);
  background: #3f3c3c;
  position: absolute;
  top: calc(2px + 1em);
  bottom: 0;
  left: 0.65em;
  margin: auto 0;
  opacity: 0;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
}
@media (max-width: 540px) {
  .p-humburger_menu__list__item .__child .__child__list .__child__list__item .__link:after {
    display: none;
  }
}
@media (max-width: 540px) {
  .p-humburger_menu__list__item .__child .__child__list .__child__list__item .__link .__link__text:has(.u-dp__ib) {
    padding-left: 0.2em;
  }
  .p-humburger_menu__list__item .__child .__child__list .__child__list__item .__link .__link__text:has(.u-dp__ib) .u-dp__ib {
    padding-left: 1.5em;
  }
}
.p-humburger_menu__list__item .__child .__child__list .__child__list__item .__link:hover {
  opacity: 1;
}
@media (min-width: 1141px) {
  .p-humburger_menu__list__item .__child .__child__list .__child__list__item .__link:hover {
    right: -0.65em;
  }
}
@media (max-width: 540px) {
  .p-humburger_menu__list__item .__child .__child__list .__child__list__item .__link:hover {
    opacity: 0.5;
  }
}
.p-humburger_menu__list__item .__child .__child__list .__child__list__item .__link:hover:after {
  opacity: 1;
}

.p-header_gnav__cons {
  margin-top: 1.55em;
}
@media (min-width: 1141px) {
  .p-header_gnav__cons {
    display: none;
  }
}
.p-header_gnav__cons .__btn {
  width: 93.5%;
  height: 60px;
  font-size: 1.125rem;
  letter-spacing: 0.15em;
  line-height: 1;
  font-weight: 700;
}

/* main
  ========================================================================== */
/* .l-main */
.l-main {
  backdrop-filter: blur(0);
  -webkit-transition: -webkit-filter 0.5s;
  transition: -webkit-filter 0.5s;
  transition: filter 0.5s;
  transition: filter 0.5s, -webkit-filter 0.5s;
}
.js-humburgerOpen .l-main {
  -webkit-filter: blur(10px);
          filter: blur(10px);
}
.l-main {
  overflow-x: hidden;
  /*#index & {
  	overflow-x: hidden;
  }*/
}

/* aside
  ========================================================================== */
/* .l-aside */
.l-aside {
  position: fixed;
  right: 2.15%;
  bottom: 2.15%;
  z-index: 1000;
}
#index .l-aside {
  display: none;
}
@media (max-width: 1140px) {
  .js-humburgerOpen .l-aside {
    z-index: 1;
  }
  .l-aside {
    backdrop-filter: blur(0);
    -webkit-transition: -webkit-filter 0.5s;
    transition: -webkit-filter 0.5s;
    transition: filter 0.5s;
    transition: filter 0.5s, -webkit-filter 0.5s;
  }
  .js-humburgerOpen .l-aside {
    -webkit-filter: blur(10px);
            filter: blur(10px);
  }
}

/* footer
  ========================================================================== */
/* .l-footer */
.l-footer {
  background: #ebebeb;
  border-radius: 0 0 100px 0;
  backdrop-filter: blur(0);
  -webkit-transition: -webkit-filter 0.5s;
  transition: -webkit-filter 0.5s;
  transition: filter 0.5s;
  transition: filter 0.5s, -webkit-filter 0.5s;
}
.js-humburgerOpen .l-footer {
  -webkit-filter: blur(10px);
          filter: blur(10px);
}
@media (max-width: 980px) {
  .l-footer {
    border-radius: 0 0 75px 0;
  }
}
@media (max-width: 540px) {
  .l-footer {
    border-radius: 0 0 50px 0;
  }
}

.p-footer__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 4.5em 0 2em;
}
@media (max-width: 840px) {
  .p-footer__wrapper {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 3.6em 0 2em;
    width: 680px;
  }
}
@media (max-width: 540px) {
  .p-footer__wrapper {
    padding: 2.765em 0 2em;
  }
}

.p-footer_logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.1em 0;
}
@media (max-width: 980px) {
  .p-footer_logo {
    margin-right: auto;
  }
}
@media (max-width: 840px) {
  .p-footer_logo {
    gap: 0 1.4em;
    padding: 0.1em 1.4em 0.1em 0.9em;
  }
}
.p-footer_logo .__link__img {
  width: 365px;
}
@media (max-width: 1180px) {
  .p-footer_logo .__link__img {
    width: 310px;
  }
}
@media (max-width: 540px) {
  .p-footer_logo .__link__img {
    width: 256px;
  }
}

.p-footer_partner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 0 0.19em;
  height: 50px;
}
@media (max-width: 1180px) {
  .p-footer_partner {
    height: 39px;
  }
}
@media (max-width: 980px) {
  .p-footer_partner {
    width: 100%;
    gap: 0 0.21em;
    margin: 1.7em 0 0.4em;
  }
}
@media (max-width: 840px) {
  .p-footer_partner {
    margin-left: 0.9em;
  }
}
@media (max-width: 540px) {
  .p-footer_partner {
    height: 28px;
    margin-left: 1em;
  }
}

.p-footer_partner__item {
  height: 100%;
}
.p-footer_partner__item .__link {
  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;
  padding: 0 0.22em;
}
@media (max-width: 980px) {
  .p-footer_partner__item .__link {
    padding: 0 0.11em;
  }
}
@media (max-width: 540px) {
  .p-footer_partner__item .__link {
    padding: 0;
  }
}
.p-footer_partner__item .__link .__link__img {
  width: auto;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-footer_menu {
  width: 100%;
  border-top: 1px solid #bbb;
  border-bottom: 1px solid #bbb;
  margin-top: 1.75em;
}
@media (max-width: 840px) {
  .p-footer_menu {
    margin-top: 1.5em;
  }
}
@media (max-width: 540px) {
  .p-footer_menu {
    margin-top: 1.25em;
  }
}

.p-footer_menu__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-weight: 700;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media (max-width: 1240px) {
  .p-footer_menu__list {
    padding: 1em 0;
  }
}
@media (max-width: 840px) {
  .p-footer_menu__list {
    font-weight: 500;
    padding: 0.95em 0;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media (max-width: 540px) {
  .p-footer_menu__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.p-footer_menu__list__item {
  position: relative;
}
@media (max-width: 1240px) {
  .p-footer_menu__list__item {
    width: 20%;
  }
}
@media (max-width: 840px) {
  .p-footer_menu__list__item {
    width: 50%;
  }
}
@media (max-width: 540px) {
  .p-footer_menu__list__item {
    width: 100%;
  }
}
.p-footer_menu__list__item > .__link {
  width: 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;
  letter-spacing: 0.1em;
  height: 97px;
  padding: 0 0.25em;
  position: relative;
}
@media (max-width: 1240px) {
  .p-footer_menu__list__item > .__link {
    height: 45px;
  }
}
@media (max-width: 840px) {
  .p-footer_menu__list__item > .__link {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    height: auto;
    padding: 0.44em 0.9em;
    letter-spacing: 0.05em;
  }
}
.p-footer_menu__list__item > .__link.__parent {
  gap: 0 0.5em;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
}
@media (max-width: 840px) {
  .p-footer_menu__list__item > .__link.__parent {
    display: none;
  }
}
.p-footer_menu__list__item > .__link.__parent svg {
  height: auto;
  width: 0.95em;
  aspect-ratio: 5/3;
  fill: #222;
  -webkit-transition: rotate 0.25s, fill 0.25s;
  transition: rotate 0.25s, fill 0.25s;
}
.p-footer_menu__list__item > .__link.__parent:hover {
  opacity: 0.5;
}
.p-footer_menu__list__item > .__link.__parent[aria-expanded=true] svg {
  rotate: 180deg;
  fill: #3db4cb;
}
@media (min-width: 841px) {
  .p-footer_menu__list__item > .__link.__parent-link {
    display: none;
  }
}
.p-footer_menu__list__item > .__link.__tab {
  gap: 0 0.55em;
}
.p-footer_menu__list__item > .__link.__tab svg {
  width: 0.9em;
  aspect-ratio: 1/1;
  fill: #222;
}
@media (min-width: 841px) {
  .p-footer_menu__list__item .__sub {
    display: none;
    opacity: 0;
    position: absolute;
    left: 50%;
    top: 1em;
    -webkit-transform: translate(-50%, -100%);
            transform: translate(-50%, -100%);
    background: #3f3c3c;
    width: 278px;
    padding: 0 11%;
    border-radius: 15px;
  }
}
@media (min-width: 841px) and (max-width: 1240px) {
  .p-footer_menu__list__item .__sub {
    top: 0;
  }
}
@media (max-width: 840px) {
  .p-footer_menu__list__item .__sub {
    display: block !important;
    opacity: 1 !important;
    margin: 0.25em 0;
  }
}
.p-footer_menu__list__item .__sub .__sub__item {
  position: relative;
}
.p-footer_menu__list__item .__sub .__sub__item .__sub__item__link {
  display: block;
  white-space: nowrap;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1;
  font-weight: 400;
  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 (min-width: 841px) {
  .p-footer_menu__list__item .__sub .__sub__item .__sub__item__link {
    color: #fff;
    padding: 1.39em 0;
  }
}
@media (max-width: 840px) {
  .p-footer_menu__list__item .__sub .__sub__item .__sub__item__link {
    color: #3f3c3c;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    letter-spacing: 0;
    gap: 0 0.25em;
    padding: 0.71em 0 0.71em 1.25em;
  }
  .p-footer_menu__list__item .__sub .__sub__item .__sub__item__link:before {
    content: "-";
  }
}
@media (max-width: 540px) {
  .p-footer_menu__list__item .__sub .__sub__item .__sub__item__link {
    padding: 0.71em 3.6em;
  }
}
@media (min-width: 841px) {
  .p-footer_menu__list__item .__sub .__sub__item:not(:last-of-type):after {
    content: "";
    display: block;
    background: -webkit-gradient(linear, left top, right top, from(rgb(170, 170, 170)), color-stop(50%, rgb(170, 170, 170)), color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0))) 0% 0%;
    background: linear-gradient(to right, rgb(170, 170, 170), rgb(170, 170, 170) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0) 100%) 0% 0%;
    background-size: 6px 1px;
    width: 100%;
    height: 1px;
    position: absolute;
    left: 50%;
    bottom: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.p-footer_info {
  width: 100%;
  margin-top: 2em;
  color: #666;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 3.7% 1fr;
  grid-template-columns: auto 1fr;
  -ms-grid-rows: auto 0.4em auto;
  grid-template-rows: repeat(2, auto);
      grid-template-areas: "address tel" "time mail";
  grid-column-gap: 3.7%;
  grid-row-gap: 0.4em;
  font-weight: 500;
}
@media (max-width: 980px) {
  .p-footer_info {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
    -ms-grid-rows: auto 0 auto 0 auto;
    grid-template-rows: repeat(3, auto);
        grid-template-areas: "address tel" "time tel" "time mail";
    grid-row-gap: 0;
    padding: 0 4.3%;
  }
  .p-footer_info > .__time {
    -ms-grid-row: 3;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
  }
}
@media (max-width: 840px) {
  .p-footer_info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.p-footer_info__address {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: address;
}

.p-footer_info__time {
  -ms-grid-row: 4;
  -ms-grid-column: 3;
  grid-area: time;
  margin-left: -0.65em;
}

.p-footer_info > .p-footer_info__time {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
}

.p-index_news__list__box .__link > .p-footer_info__time {
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  -ms-grid-column: 1;
}

.p-index_blog__list__box .__link > .p-footer_info__time {
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  -ms-grid-column: 2;
}

.p-single_posts__wrapper .__link > .p-footer_info__time {
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  -ms-grid-column: 1;
}
@media (max-width: 980px) {
  .p-footer_info__time {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    font-size: 0.9375rem;
    letter-spacing: 0.05em;
    line-height: 2;
    font-weight: 500;
  }
}
@media (max-width: 840px) {
  .p-footer_info__time {
    margin-top: 0.15em;
  }
}
@media (max-width: 540px) {
  .p-footer_info__time {
    margin-left: -0.6em;
    font-size: 0.875rem;
    letter-spacing: 0.05em;
    line-height: 2.1428571429;
    font-weight: 500;
  }
}

.p-footer_info__tel {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  grid-area: tel;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 1em;
}
@media (max-width: 980px) {
  .p-footer_info__tel {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media (max-width: 840px) {
  .p-footer_info__tel {
    margin-top: 1.5em;
    gap: 0.25em 0;
  }
}

.p-footer_info__mail {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
  grid-area: mail;
}
@media (max-width: 840px) {
  .p-footer_info__mail {
    margin-top: 0.25em;
  }
}

.p-footer_copy {
  width: 100%;
  margin-top: 2.1em;
  text-align: right;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  line-height: 1;
  font-weight: 400;
  color: #666;
}
@media (max-width: 980px) {
  .p-footer_copy {
    text-align: center;
    margin-top: 5.3em;
  }
}

/* index
  ========================================================================== */
/* .p-index_kv */
.p-index_kv {
  background: #eee;
  position: relative;
  padding-bottom: 4.3em;
}
@media (max-width: 1240px) {
  .p-index_kv {
    padding-bottom: 3.9em;
  }
}
@media (max-width: 840px) {
  .p-index_kv {
    padding-bottom: 3.6em;
  }
}
@media (max-width: 540px) {
  .p-index_kv {
    padding-bottom: 3.2em;
  }
}
.p-index_kv:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 350px;
  height: auto;
  aspect-ratio: 60/29;
  background: url(./img/index/dec-index_kv.svg) no-repeat center/contain;
  z-index: 1;
}
@media (max-width: 1240px) {
  .p-index_kv:before {
    width: 304px;
  }
}
@media (max-width: 840px) {
  .p-index_kv:before {
    width: 258px;
  }
}
@media (max-width: 540px) {
  .p-index_kv:before {
    width: 213px;
  }
}
.p-index_kv:after {
  content: "";
  display: block;
  position: absolute;
  background-size: 1400px 100%;
  background-position: center bottom;
  background-repeat: repeat-x;
  width: 100%;
  height: 100px;
  top: 0;
  left: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  pointer-events: none;
  background-image: url("./img/common/dec-wave_gr.svg");
}
@media (max-width: 1240px) {
  .p-index_kv:after {
    background-size: 1058px 100%;
    height: 75px;
  }
}
@media (max-width: 840px) {
  .p-index_kv:after {
    background-size: 716px 100%;
    height: 50px;
  }
}
@media (max-width: 540px) {
  .p-index_kv:after {
    background-size: 375px 100%;
    height: 25px;
  }
}
.p-index_kv:after {
  top: auto;
  bottom: 0;
  -webkit-transform: scale(-1, -1) translateY(-100%);
          transform: scale(-1, -1) translateY(-100%);
  z-index: 2;
}
.p-index_kv > .__before {
  position: absolute;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  height: auto;
  z-index: 1;
  aspect-ratio: 284.8/234.6;
  width: 276px;
  top: 0;
  right: 0;
  -webkit-transform: translate(3%, -4%);
          transform: translate(3%, -4%);
  z-index: 3;
}
@media (max-width: 1240px) {
  .p-index_kv > .__before {
    width: 235px;
  }
}
@media (max-width: 840px) {
  .p-index_kv > .__before {
    width: 193px;
  }
}
@media (max-width: 540px) {
  .p-index_kv > .__before {
    width: 152px;
  }
}
.p-index_kv > .__before svg {
  fill: #f8f5e1;
}
.p-index_kv > .__after {
  position: absolute;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  height: auto;
  z-index: 1;
  aspect-ratio: 323.5/276.2;
  width: 328px;
  bottom: 0;
  left: 50%;
  -webkit-transform: translate(36%, 47%);
          transform: translate(36%, 47%);
  z-index: 3;
}
@media (max-width: 1240px) {
  .p-index_kv > .__after {
    width: 273px;
    -webkit-transform: translate(26%, 38.7%);
            transform: translate(26%, 38.7%);
  }
}
@media (max-width: 840px) {
  .p-index_kv > .__after {
    width: 218px;
    -webkit-transform: translate(16%, 30.3%);
            transform: translate(16%, 30.3%);
  }
}
@media (max-width: 540px) {
  .p-index_kv > .__after {
    width: 163px;
    -webkit-transform: translate(6%, 22%);
            transform: translate(6%, 22%);
  }
}
.p-index_kv > .__after svg {
  fill: #f8f4ee;
  rotate: 120deg;
}

.p-index_kv__wrapper {
  position: relative;
  z-index: 10;
  padding-top: 9.35em;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width: 1141px) {
  .p-index_kv__wrapper {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 37.31% 55% 1fr;
    grid-template-columns: 1fr 37.31% 55% 1fr;
    -ms-grid-rows: (auto)[2];
    grid-template-rows: repeat(2, auto);
        grid-template-areas: ". title img ." "gallery gallery gallery gallery";
  }
}
@media (max-width: 1140px) {
  .p-index_kv__wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-top: 9.5em;
  }
}
.p-index_kv__wrapper > .__before {
  display: none;
  position: absolute;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  height: auto;
  z-index: 1;
  aspect-ratio: 323.5/276.2;
  width: 324px;
  top: 40%;
  right: 58%;
  -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
  z-index: 1;
}
@media (max-width: 1240px) {
  .p-index_kv__wrapper > .__before {
    top: 45%;
    right: 62%;
    width: 280px;
  }
}
@media (max-width: 840px) {
  .p-index_kv__wrapper > .__before {
    top: 49%;
    right: 67%;
    width: 234px;
  }
}
@media (max-width: 540px) {
  .p-index_kv__wrapper > .__before {
    width: 190px;
    top: 53%;
    right: 72%;
  }
}
.p-index_kv__wrapper > .__before svg {
  fill: #dff1f4;
}

.p-index_kv__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  grid-area: title;
  opacity: 0;
  z-index: 10;
}

.p-index_event__wrapper > .p-index_kv__title {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
}

.p-index_company__wrapper > .p-index_kv__title {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  -ms-grid-column-span: 4;
}

.p-article_posts__ttl > .p-index_kv__title {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
}

.p-works_article__ttl > .p-index_kv__title {
  -ms-grid-row: 5;
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
}

.p-event_article__ttl > .p-index_kv__title {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
}

.p-blog_posts__ttl > .p-index_kv__title {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
}
@media (max-width: 1140px) {
  .p-index_kv__title {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.p-index_kv.is-move .p-index_kv__title {
  -webkit-animation: fadeIn 0.5s ease 1s 1 forwards;
          animation: fadeIn 0.5s ease 1s 1 forwards;
}
.p-index_kv.is-nonmove .p-index_kv__title {
  opacity: 1;
}

.p-index_kv__title__text {
  font-size: 2.875rem;
  letter-spacing: 0.2em;
  line-height: 1.5652173913;
  font-weight: 700;
  color: #3f3c3c;
  white-space: nowrap;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  top: 0;
  left: 0;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}
@media (max-width: 1240px) {
  .p-index_kv__title__text {
    font-size: 2.5rem;
  }
}
@media (max-width: 1140px) {
  .p-index_kv__title__text {
    line-height: 1.45;
  }
}
@media (max-width: 840px) {
  .p-index_kv__title__text {
    font-size: 2.1875rem;
  }
}
@media (max-width: 540px) {
  .p-index_kv__title__text {
    font-size: 1.875rem;
  }
}
.p-index_kv:not(.is-nonmove) .p-index_kv__title__text {
  -webkit-transition: all 1s;
  transition: all 1s;
}
.p-index_kv:not(.is-load):not(.is-nonmove) .p-index_kv__title__text {
  font-size: 3.25rem;
  letter-spacing: 0.2em;
  line-height: 1.7307692308;
  font-weight: 700;
  top: calc(50svh - 230px);
  left: 46.425svw;
  text-indent: -0.2em;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media (min-width: 1401px) {
  .p-index_kv:not(.is-load):not(.is-nonmove) .p-index_kv__title__text {
    left: 650px;
  }
}
@media (max-width: 1240px) {
  .p-index_kv:not(.is-load):not(.is-nonmove) .p-index_kv__title__text {
    font-size: 2.875rem;
  }
}
@media (max-width: 1140px) {
  .p-index_kv:not(.is-load):not(.is-nonmove) .p-index_kv__title__text {
    top: calc(50svh - 1.75lh);
    left: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
@media (max-width: 840px) {
  .p-index_kv:not(.is-load):not(.is-nonmove) .p-index_kv__title__text {
    font-size: 2.5rem;
  }
}
@media (max-width: 540px) {
  .p-index_kv:not(.is-load):not(.is-nonmove) .p-index_kv__title__text {
    font-size: 2.125rem;
  }
}

.p-index_kv__img {
  grid-area: img;
  visibility: hidden;
  max-width: calc(100svw - 670px);
  margin-left: auto;
  z-index: 10;
}
@media (max-width: 1240px) {
  .p-index_kv__img {
    max-width: calc(100svw - 600px);
  }
}
@media (max-width: 1140px) {
  .p-index_kv__img {
    margin-right: auto;
    max-width: 91.5%;
    margin-top: 2.2em;
  }
}
.p-index_kv__gallery {
  grid-area: gallery;
  border-radius: 50px;
  overflow: hidden;
  margin-top: 3.15em;
  height: 690px;
  position: relative;
  visibility: hidden;
  z-index: 10;
}
@media (max-width: 1240px) {
  .p-index_kv__gallery {
    border-radius: 40px;
    height: 560px;
  }
}
@media (max-width: 1140px) {
  .p-index_kv__gallery {
    margin-top: 1.85em;
  }
}
@media (max-width: 840px) {
  .p-index_kv__gallery {
    border-radius: 30px;
    height: 430px;
  }
}
@media (max-width: 540px) {
  .p-index_kv__gallery {
    border-radius: 20px;
    height: 300px;
  }
}
.p-index_kv__gallery .p-index_kv__gallery__pic img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-index_kv__gallery__scroll {
  z-index: 10;
  position: absolute;
  left: 1.27%;
  top: 3.1em;
  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;
  gap: 1em;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  line-height: 1;
  letter-spacing: 0.1em;
}
@media (max-width: 1240px) {
  .p-index_kv__gallery__scroll {
    font-size: 0.9625rem;
    gap: 0.86em;
    left: 1.88%;
    top: 2.56em;
  }
}
@media (max-width: 840px) {
  .p-index_kv__gallery__scroll {
    font-size: 0.91875rem;
    gap: 0.73em;
    left: 2.49%;
    top: 2.03em;
  }
}
@media (max-width: 540px) {
  .p-index_kv__gallery__scroll {
    font-size: 0.875rem;
    gap: 0.6em;
    left: 3.1%;
    top: 1.5em;
  }
}
.p-index_kv__gallery__scroll::after {
  width: 1px;
  height: 60px;
  margin-right: auto;
  margin-left: auto;
  display: block;
  background-color: rgba(56, 56, 56, 0.5);
  content: "";
  -webkit-animation: ikgAnimation 2.5s ease infinite;
          animation: ikgAnimation 2.5s ease infinite;
}
@media (max-width: 1240px) {
  .p-index_kv__gallery__scroll::after {
    height: 56px;
  }
}
@media (max-width: 840px) {
  .p-index_kv__gallery__scroll::after {
    height: 53px;
  }
}
@media (max-width: 540px) {
  .p-index_kv__gallery__scroll::after {
    height: 50px;
  }
}

@-webkit-keyframes ikgAnimation {
  0% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  40% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  41% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
  80% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
}

@keyframes ikgAnimation {
  0% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  40% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  41% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
  80% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
}
/* .p-index_news */
.p-index_news {
  padding-top: 14.75em;
  padding-bottom: 11.2em;
}
@media (max-width: 1240px) {
  .p-index_news {
    padding-top: 12.4em;
    padding-bottom: 10.1em;
  }
}
@media (max-width: 840px) {
  .p-index_news {
    padding-top: 10.05em;
    padding-bottom: 9em;
  }
}
@media (max-width: 540px) {
  .p-index_news {
    padding-top: 7.7em;
    padding-bottom: 7.8em;
  }
}
.p-index_news:before {
  content: "";
  display: block;
  position: absolute;
  right: 88.25%;
  top: 0;
  margin: 0 auto;
  width: 51px;
  height: 212px;
  background: url(./img/index/img-index_news.svg) no-repeat center bottom/cover;
  z-index: 1;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
}
@media (max-width: 1240px) {
  .p-index_news:before {
    width: 43px;
    height: 171px;
    right: 85.5%;
  }
}
@media (max-width: 840px) {
  .p-index_news:before {
    width: 36px;
    height: 131px;
    right: 82.7%;
  }
}
@media (max-width: 540px) {
  .p-index_news:before {
    width: 29px;
    height: 91px;
    right: 79.9%;
  }
}

@media (min-width: 1241px) {
  .p-index_news__wrapper {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: auto 5.9% 1fr;
    grid-template-columns: auto 1fr;
    -ms-grid-rows: 1fr 1.85em auto;
    grid-template-rows: 1fr auto;
        grid-template-areas: "title list" "link list";
    grid-column-gap: 5.9%;
    grid-row-gap: 1.85em;
  }
  .p-index_news__wrapper > .p-index_kv__title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
}
@media (max-width: 1240px) {
  .p-index_news__wrapper {
    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;
  }
}
@media (max-width: 840px) {
  .p-index_news__wrapper {
    max-width: 84%;
  }
}
.p-index_news__wrapper .p-section_title {
  grid-area: title;
}
@media (min-width: 1241px) {
  .p-index_news__wrapper .p-section_title {
    -ms-flex-item-align: start;
        -ms-grid-row-align: start;
        align-self: start;
  }
}
@media (max-width: 1240px) {
  .p-index_news__wrapper .p-section_title {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.p-index_news__list {
  grid-area: list;
  border-top: 1px solid #3f3c3c;
  position: relative;
  z-index: 10;
  margin-top: 0.2em;
}

.p-index_event__wrapper > .p-index_news__list {
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 4;
}
@media (min-width: 1241px) {
  .p-index_news__list {
    min-height: 210px;
  }
}
@media (max-width: 1240px) {
  .p-index_news__list {
    width: 100%;
    margin-top: 2.3em;
  }
}
@media (max-width: 840px) {
  .p-index_news__list {
    margin-top: 1.8em;
  }
}
@media (max-width: 540px) {
  .p-index_news__list {
    margin-top: 1.1em;
  }
}

.p-index_news__list__box {
  border-bottom: 1px solid #3f3c3c;
}
.p-index_news__list__box .__link {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (auto)[2] 1fr;
  grid-template-columns: repeat(2, auto) 1fr;
      grid-template-areas: "time cat name";
  padding: 1.22em 2.5%;
}
@media (max-width: 840px) {
  .p-index_news__list__box .__link {
    -ms-grid-rows: auto 0.8em auto;
    grid-template-rows: repeat(2, auto);
        grid-template-areas: "time cat ." "name name name";
    grid-row-gap: 0.8em;
    padding: 1.3em 0 0.85em;
    min-height: 98px;
  }
  .p-index_news__list__box .__link > .__time {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
  }
  .p-index_news__list__box .__link > .p-footer_info__time {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
  }
}
.p-index_news__list__box .__link .__link__time,
.p-index_news__list__box .__link .__link__cat {
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
}
.p-index_news__list__box .__link .__link__time {
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  -ms-grid-column: 1;
  color: #8c8a8a;
  font-weight: 500;
  line-height: 1;
  grid-area: time;
}
.p-index_news__list__box .__link .__link__cat {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  line-height: 1;
  font-weight: 700;
  color: #222;
  width: 98px;
  height: 30px;
  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;
  background: #c4dee3;
  margin: 0 1.4em 0 1.9em;
  padding: 0 0.5em;
  grid-area: cat;
}
@media (max-width: 1240px) {
  .p-index_news__list__box .__link .__link__cat {
    height: 26px;
    width: 90px;
    font-size: 0.8375rem;
  }
}
@media (max-width: 840px) {
  .p-index_news__list__box .__link .__link__cat {
    height: 23px;
    width: 83px;
    font-size: 0.79375rem;
    margin: 0 0 0 1.7em;
  }
}
@media (max-width: 540px) {
  .p-index_news__list__box .__link .__link__cat {
    height: 20px;
    width: 76px;
    font-size: 0.75rem;
  }
}
.p-index_news__list__box .__link .__link__cat .__link__cat__text {
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.p-index_news__list__box .__link .__link__name {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  font-weight: 500;
  overflow: hidden;
  grid-area: name;
}
@media (min-width: 1241px) {
  .p-index_news__list__box .__link .__link__name {
    max-width: 30em;
  }
}
@media (min-width: 841px) {
  .p-index_news__list__box .__link .__link__name {
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
@media (max-width: 840px) {
  .p-index_news__list__box .__link .__link__name {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    letter-spacing: 0.1em;
    line-height: 1.75;
  }
}

.p-index_news__link {
  grid-area: link;
  width: 100%;
}

.p-index_company__inner > .p-index_news__link {
  -ms-grid-row: 3;
  -ms-grid-column: 2;
}
@media (max-width: 1240px) {
  .p-index_news__link {
    margin-top: 3.15em;
    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;
  }
}
.p-index_news__link .p-common_btn {
  width: 329px;
  min-width: 0;
  max-width: 100%;
}

/* .p-index_event */
.p-index_event {
  background: #f7f4ef;
  padding-top: 5.75em;
  padding-bottom: 10em;
}
@media (max-width: 1240px) {
  .p-index_event {
    padding-bottom: 9.1em;
  }
}
@media (max-width: 840px) {
  .p-index_event {
    padding-bottom: 8.2em;
  }
}
@media (max-width: 540px) {
  .p-index_event {
    padding-bottom: 7.3em;
  }
}
.p-index_event:before {
  content: "";
  display: block;
  position: absolute;
  background-size: 1400px 100%;
  background-position: center bottom;
  background-repeat: repeat-x;
  width: 100%;
  height: 100px;
  top: 0;
  left: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  pointer-events: none;
  background-image: url("./img/common/dec-wave_yl.svg");
}
@media (max-width: 1240px) {
  .p-index_event:before {
    background-size: 1058px 100%;
    height: 75px;
  }
}
@media (max-width: 840px) {
  .p-index_event:before {
    background-size: 716px 100%;
    height: 50px;
  }
}
@media (max-width: 540px) {
  .p-index_event:before {
    background-size: 375px 100%;
    height: 25px;
  }
}
.p-index_event:after {
  content: "";
  display: block;
  position: absolute;
  height: auto;
  top: 0;
  left: 82.7%;
  width: 95px;
  aspect-ratio: 47/103;
  background: url(./img/index/img-index_event__after.svg) no-repeat center/contain;
  -webkit-transform: translate(50%, -67.5%);
          transform: translate(50%, -67.5%);
}
@media (max-width: 1240px) {
  .p-index_event:after {
    width: 87px;
    left: 76%;
    -webkit-transform: translate(50%, -60.5%);
            transform: translate(50%, -60.5%);
  }
}
@media (max-width: 840px) {
  .p-index_event:after {
    width: 80px;
    left: 69.4%;
    -webkit-transform: translate(50%, -53.5%);
            transform: translate(50%, -53.5%);
  }
}
@media (max-width: 540px) {
  .p-index_event:after {
    width: 73px;
    left: 62.7%;
    -webkit-transform: translate(50%, -46.5%);
            transform: translate(50%, -46.5%);
  }
}
.p-index_event .__before {
  position: absolute;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  height: auto;
  z-index: 1;
  aspect-ratio: 284.8/234.6;
  width: 284px;
  top: 0;
  left: 0;
  -webkit-transform: translate(-28%, -27.5%);
          transform: translate(-28%, -27.5%);
}
@media (max-width: 1240px) {
  .p-index_event .__before {
    width: 235px;
  }
}
@media (max-width: 840px) {
  .p-index_event .__before {
    width: 187px;
  }
}
@media (max-width: 540px) {
  .p-index_event .__before {
    width: 139px;
  }
}
.p-index_event .__before svg {
  fill: #dff1f4;
}

.p-index_event__wrapper {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: calc(50% - 600px) 1fr 750px calc(50% - 600px);
  grid-template-columns: calc(50% - 600px) 1fr 750px calc(50% - 600px);
  -ms-grid-rows: auto 1fr;
  grid-template-rows: auto 1fr;
      grid-template-areas: ". title info ." "list list list list";
  position: relative;
  z-index: 10;
}
@media (max-width: 1415px) {
  .p-index_event__wrapper {
    -ms-grid-columns: 7.14% 32% 1fr 7.14%;
    grid-template-columns: 7.14% 32% 1fr 7.14%;
  }
}
@media (max-width: 1280px) {
  .p-index_event__wrapper {
    -ms-grid-columns: 7.14% 1fr auto 7.14%;
    grid-template-columns: 7.14% 1fr auto 7.14%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.p-index_event__wrapper .p-section_title {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  grid-area: title;
  padding-top: 0.25em;
}
@media (min-width: 1281px) {
  .p-index_event__wrapper .p-section_title {
    -ms-flex-item-align: start;
        -ms-grid-row-align: start;
        align-self: start;
  }
}
@media (max-width: 1280px) {
  .p-index_event__wrapper .p-section_title {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.p-index_event__info {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  grid-area: info;
  line-height: 2;
  position: relative;
}

.p-service_content__box__detail > .p-index_event__info {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
}
@media (max-width: 1280px) {
  .p-index_event__info {
    margin-top: 0.65em;
  }
}
@media (max-width: 840px) {
  .p-index_event__info {
    max-width: 84%;
    line-height: 1.875;
  }
}

.p-index_event__list {
  margin-top: 2.65em;
  grid-area: list;
  max-width: 100%;
}

.p-index_event__wrapper > .p-index_event__list {
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 4;
}
.p-index_event__list .__slider .slick-list {
  width: 1220px;
  margin: 0 auto;
}
@media (max-width: 1280px) {
  .p-index_event__list .__slider .slick-list {
    width: 610px;
    overflow: visible;
  }
}
@media (max-width: 840px) {
  .p-index_event__list .__slider .slick-list {
    width: 295px;
    margin: 0 8%;
  }
}
.p-index_event__list .__slider .slick-list .slick-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-index_event__list .__slider:not(.slick-initialized) .__slider__box:not(:first-of-type) {
  display: none;
}
.p-index_event__list .__slider .__slider__box {
  width: 305px;
  height: auto;
  position: relative;
}
@media (max-width: 840px) {
  .p-index_event__list .__slider .__slider__box {
    width: 280px;
  }
}
.p-index_event__list .__slider .__slider__box .__slider__box__link {
  margin: 0 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  border-radius: 15px;
  overflow: hidden;
  position: relative;
}
@media (max-width: 840px) {
  .p-index_event__list .__slider .__slider__box .__slider__box__link {
    margin: 0 15px 0 0;
  }
}
.p-index_event__list .__slider .__slider__box .__slider__box__link .__figure {
  position: relative;
}
.p-index_event__list .__slider .__slider__box .__slider__box__link .__figure figcaption {
  position: absolute;
  left: 1.75%;
  bottom: 0.4em;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  line-height: 1;
  font-weight: 700;
  color: #fff;
  background: #6bb0db;
  height: 24px;
  padding: 0 0.7em;
  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;
}
.p-index_event__list .__slider .__slider__box .__slider__box__link .__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  background: #fff;
  padding: 0.7em 7% 1.05em;
}
.p-index_event__list .__slider .__slider__box .__slider__box__link .__info .__info__sub {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 1rem;
  letter-spacing: 0.09em;
  line-height: 1.875;
  font-weight: 700;
  margin-bottom: 1.2em;
  color: #3f3c3c;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.p-index_event__list .__slider .__slider__box .__slider__box__link .__info .__info__time,
.p-index_event__list .__slider .__slider__box .__slider__box__link .__info .__info__place {
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1.5714285714;
  font-weight: 400;
  color: #666;
}
.p-index_event__list .__slider .__slider__box.is-end .__slider__box__link {
  pointer-events: none;
}
.p-index_event__list .__slider .__slider__box.is-end .__slider__box__link:before {
  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;
  content: "イベントは終了しました";
  color: #fff;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  background: rgba(34, 34, 34, 0.7);
  font-size: 1.125rem;
  letter-spacing: 0.1em;
  line-height: 1;
  font-weight: 700;
}
.p-index_event__list .__slider:not(.slick-initialized) .__slider__box:not(:first-of-type) {
  display: none;
}
.p-index_event__list .__control {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 4.1%;
  margin-top: 3.1em;
  position: relative;
  z-index: 10;
}
@media (max-width: 840px) {
  .p-index_event__list .__control {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 3.2em;
  }
}
.p-index_event__list .__control .__contro__arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.6em;
}
@media (max-width: 840px) {
  .p-index_event__list .__control .__contro__arrow {
    display: none;
  }
}
.p-index_event__list .__control .__contro__arrow .slick-arrow {
  text-indent: -9999px;
  position: relative;
  width: 60px;
  height: 60px;
  border-radius: 100%;
  background: #fff;
  -webkit-transition: background 0.25s;
  transition: background 0.25s;
  will-change: background;
}
.p-index_event__list .__control .__contro__arrow .slick-arrow:before, .p-index_event__list .__control .__contro__arrow .slick-arrow:after {
  content: "";
  display: block;
  width: auto;
  height: 19px;
  aspect-ratio: 103/150;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
  will-change: opacity;
  background: url(./img/index/icon-index_works__arrow__gr.svg) no-repeat center/contain;
}
.p-index_event__list .__control .__contro__arrow .slick-arrow:before {
  z-index: 10;
}
.p-index_event__list .__control .__contro__arrow .slick-arrow:after {
  background-image: url(./img/index/icon-index_works__arrow__bl.svg);
  z-index: 5;
  opacity: 0;
}
.p-index_event__list .__control .__contro__arrow .slick-arrow:hover {
  opacity: 1;
  background: #3f3c3c;
}
.p-index_event__list .__control .__contro__arrow .slick-arrow:hover:before {
  opacity: 0;
}
.p-index_event__list .__control .__contro__arrow .slick-arrow:hover:after {
  opacity: 1;
}
.p-index_event__list .__control .__contro__arrow .slick-arrow.__prev:before, .p-index_event__list .__control .__contro__arrow .slick-arrow.__prev:after {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
@media (max-width: 840px) {
  .p-index_event__list .__control .p-common_btn {
    width: 100%;
    min-width: 0;
    max-width: 315px;
  }
}

/* .p-index_service */
.p-index_service {
  padding-top: 6.05em;
  padding-bottom: 10em;
}
@media (max-width: 1240px) {
  .p-index_service {
    padding-top: 6.1em;
    padding-bottom: 9.1em;
  }
}
@media (max-width: 840px) {
  .p-index_service {
    padding-top: 6.15em;
    padding-bottom: 8.2em;
  }
}
@media (max-width: 540px) {
  .p-index_service {
    padding-top: 6.2em;
    padding-bottom: 7.25em;
  }
}
.p-index_service:before {
  content: "";
  display: block;
  position: absolute;
  background-size: 700px 100%;
  background-position: left bottom;
  background-repeat: repeat-x;
  width: 100%;
  height: 60px;
  top: 0;
  left: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  pointer-events: none;
  background-image: url("./img/common/dec-wave_wt.svg");
}
@media (max-width: 1240px) {
  .p-index_service:before {
    background-size: 531px 100%;
    height: 45px;
  }
}
@media (max-width: 840px) {
  .p-index_service:before {
    background-size: 362px 100%;
    height: 30px;
  }
}
@media (max-width: 540px) {
  .p-index_service:before {
    background-size: 194px 100%;
    height: 16px;
  }
}
.p-index_service .__before {
  position: absolute;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  height: auto;
  z-index: 1;
  aspect-ratio: 301.6/250;
  width: 301px;
  top: 0;
  left: 50%;
  -webkit-transform: translate(28%, -83%);
          transform: translate(28%, -83%);
}
@media (max-width: 1240px) {
  .p-index_service .__before {
    width: 256px;
    -webkit-transform: translate(18%, -76%);
            transform: translate(18%, -76%);
  }
}
@media (max-width: 840px) {
  .p-index_service .__before {
    width: 212px;
    -webkit-transform: translate(8%, -69%);
            transform: translate(8%, -69%);
  }
}
@media (max-width: 540px) {
  .p-index_service .__before {
    width: 168px;
    -webkit-transform: translate(-2%, -62%);
            transform: translate(-2%, -62%);
  }
}
.p-index_service .__before svg {
  fill: #f8f5e1;
  rotate: -165deg;
}

@media (max-width: 1140px) {
  .p-index_service__wrapper {
    width: 84%;
  }
}
.p-index_service__wrapper:before {
  content: "";
  display: block;
  position: absolute;
  height: auto;
  top: 0;
  width: 278px;
  right: 82.9%;
  aspect-ratio: 278/211;
  background: url(./img/index/img-index_service__title01.svg) no-repeat center/contain;
  -webkit-transform: translate(50%, 28.75%);
          transform: translate(50%, 28.75%);
}
@media (max-width: 1340px) {
  .p-index_service__wrapper:before {
    width: 200px;
    right: 84.9%;
    -webkit-transform: translate(50%, 88.75%);
            transform: translate(50%, 88.75%);
  }
}
@media (max-width: 1140px) {
  .p-index_service__wrapper:before {
    display: none;
  }
}
.p-index_service__text {
  margin-top: 2.5em;
  position: relative;
  z-index: 10;
}
@media (max-width: 1140px) {
  .p-index_service__text {
    margin-top: 0.65em;
    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;
    min-height: 310px;
  }
}
@media (max-width: 840px) {
  .p-index_service__text {
    min-height: 300px;
  }
}
@media (min-width: 661px) {
  .p-index_service__text {
    text-align: center;
  }
}
@media (max-width: 540px) {
  .p-index_service__text {
    min-height: 291px;
  }
}
@media (max-width: 1140px) {
  .p-index_service__text:after {
    content: "";
    display: block;
    width: 260px;
    aspect-ratio: 278/211;
    background: url(./img/index/img-index_service__title01.svg) no-repeat center/contain;
    margin: 0 auto;
  }
}
@media (max-width: 840px) {
  .p-index_service__text:after {
    width: 243px;
  }
}
@media (max-width: 540px) {
  .p-index_service__text:after {
    width: 226px;
  }
}

.p-index_service__list {
  position: relative;
}
@media (max-width: 1140px) {
  .p-index_service__list {
    margin: 0 auto;
    max-width: 780px;
  }
}
.p-index_service__list:first-of-type {
  margin-top: 2.75em;
}
@media (max-width: 1140px) {
  .p-index_service__list:first-of-type {
    margin-top: 3.15em;
  }
}
.p-index_service__list + .p-index_service__list {
  margin-top: 1.25em;
}
@media (max-width: 1140px) {
  .p-index_service__list + .p-index_service__list {
    margin-top: 0.7em;
  }
}
.p-index_service__list .__before {
  position: absolute;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  height: auto;
  z-index: 1;
  aspect-ratio: 284.8/234.6;
  width: 335px;
  right: 0;
  top: 50%;
  -webkit-transform: translate(126%, -46.5%);
          transform: translate(126%, -46.5%);
}
@media (max-width: 1240px) {
  .p-index_service__list .__before {
    width: 284px;
    -webkit-transform: translate(96%, -46.5%);
            transform: translate(96%, -46.5%);
  }
}
@media (max-width: 840px) {
  .p-index_service__list .__before {
    width: 233px;
    -webkit-transform: translate(66%, -46.5%);
            transform: translate(66%, -46.5%);
  }
}
@media (max-width: 540px) {
  .p-index_service__list .__before {
    width: 182px;
    -webkit-transform: translate(36%, -46.5%);
            transform: translate(36%, -46.5%);
  }
}
.p-index_service__list .__before svg {
  fill: #dff1f4;
  rotate: -144deg;
}
.p-index_service__list .__after {
  position: absolute;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  height: auto;
  z-index: 1;
  aspect-ratio: 335.2/259.8;
  width: 297px;
  left: 0;
  bottom: 0;
  -webkit-transform: translate(-25%, 55%);
          transform: translate(-25%, 55%);
}
@media (max-width: 1240px) {
  .p-index_service__list .__after {
    width: 257px;
    -webkit-transform: translate(-38.3%, 32.3%);
            transform: translate(-38.3%, 32.3%);
  }
}
@media (max-width: 840px) {
  .p-index_service__list .__after {
    width: 217px;
    -webkit-transform: translate(-31.7%, 9.7%);
            transform: translate(-31.7%, 9.7%);
  }
}
@media (max-width: 540px) {
  .p-index_service__list .__after {
    width: 178px;
    -webkit-transform: translate(-45%, -13%);
            transform: translate(-45%, -13%);
  }
}
.p-index_service__list .__after svg {
  rotate: 29deg;
  fill: #f8f4ee;
}

.p-index_service__list__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.p-index_service__list__wrapper.__2column {
  gap: 1.25em 1.66%;
}
@media (max-width: 1140px) {
  .p-index_service__list__wrapper.__2column {
    gap: 0.625em 1.66%;
  }
}
.p-index_service__list__wrapper.__4column {
  gap: 1.25em 1.6666666667%;
}
@media (max-width: 1140px) {
  .p-index_service__list__wrapper.__4column {
    gap: 0.6em 3.5%;
  }
}
.p-index_service__list__wrapper.__4column:after {
  content: "";
  display: block;
  width: 23.75%;
  height: 100%;
  aspect-ratio: 285/190;
  background: url(./img/index/icon-index_service.svg) no-repeat 47% bottom/56.5%;
}
@media (max-width: 1140px) {
  .p-index_service__list__wrapper.__4column:after {
    width: 48.25%;
    background-position: center;
    background-size: 65%;
  }
}

.p-index_service__list__box {
  position: relative;
  z-index: 10;
}
.p-index_service__list__box .__link {
  display: block;
  border-radius: 15px;
  overflow: hidden;
  position: relative;
}
.p-index_service__list__box .__link .__link__figure figcaption,
.p-index_service__list__box .__link .__link__text {
  position: absolute;
  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;
}
.p-index_service__list__box .__link .__link__figure {
  width: 100%;
  height: 100%;
}
.p-index_service__list__box .__link .__link__figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
  aspect-ratio: 590/393;
}
@media (max-width: 840px) {
  .p-index_service__list__box .__link .__link__figure img {
    aspect-ratio: 3/2;
  }
}
.p-index_service__list__box .__link .__link__figure figcaption {
  top: 0;
  left: 0;
  height: 50px;
  background: #fff;
  color: #3f3c3c;
  font-size: 1.25rem;
  letter-spacing: 0.2em;
  line-height: 1;
  font-weight: 700;
  padding: 0 1.35em;
  border-radius: 0 0 15px 0;
}
@media (max-width: 1240px) {
  .p-index_service__list__box .__link .__link__figure figcaption {
    font-size: 1.1625rem;
  }
}
@media (max-width: 1140px) {
  .p-index_service__list__box .__link .__link__figure figcaption {
    padding: 0 1.75em;
  }
}
@media (max-width: 840px) {
  .p-index_service__list__box .__link .__link__figure figcaption {
    height: 47px;
    font-size: 1.08125rem;
  }
}
@media (max-width: 540px) {
  .p-index_service__list__box .__link .__link__figure figcaption {
    height: 45px;
    font-size: 1rem;
  }
}
@media (max-width: 540px) {
  .p-index_service__list__box .__link .__link__figure figcaption .__text .u-dp__ib {
    min-width: 10em;
    display: block;
    text-align: right;
  }
}
.p-index_service__list__box .__link .__link__text {
  bottom: 0;
  right: 0;
  height: 40px;
  background: #3f3c3c;
  color: #fff;
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  line-height: 1;
  font-weight: 400;
  gap: 0 1.15em;
  padding: 0 1.45em 0 2.1em;
  border-radius: 15px 0 0 0;
  -webkit-transition: background 0.25s, color 0.25s;
  transition: background 0.25s, color 0.25s;
  will-change: background, color;
}
@media (max-width: 1140px) {
  .p-index_service__list__box .__link .__link__text {
    height: 38px;
    padding: 0 1.1em 0 2.05em;
  }
}
.p-index_service__list__box .__link .__link__text svg {
  width: 7px;
  height: auto;
  aspect-ratio: 44/75;
  fill: #fff;
  -webkit-transition: fill 0.25s;
  transition: fill 0.25s;
  will-change: fill;
}
.p-index_service__list__box .__link .__link__text {
  /*&:after {
  	content: "";
  	display: block;
  	width: 7px;
  	height: auto;
  	aspect-ratio: 44/75;
  	background: url(./img/index/icon-index_service__arrow__wt.svg) no-repeat center / contain;
  	transition: background 0.25s;
  	will-change: background;
  }*/
}
.p-index_service__list__box .__link:hover {
  opacity: 1;
}
.p-index_service__list__box .__link:hover .__link__figure img {
  opacity: 0.5;
}
.p-index_service__list__box .__link:hover .__link__text {
  background: #9dc8d0;
  color: #3f3c3c;
}
.p-index_service__list__box .__link:hover .__link__text svg {
  fill: #3f3c3c;
}
.p-index_service__list__box .__link:hover .__link__text {
  /*&:after {
  	background: url(./img/index/icon-index_service__arrow__gr.svg) no-repeat center / contain;
  }*/
}
.__2column .p-index_service__list__box {
  width: 49.17%;
}
@media (max-width: 1140px) {
  .__2column .p-index_service__list__box {
    width: 100%;
  }
}
.__4column .p-index_service__list__box {
  width: 23.75%;
  aspect-ratio: 285/190;
}
@media (max-width: 1140px) {
  .__4column .p-index_service__list__box {
    width: 48.25%;
  }
}
@media (max-width: 1140px) {
  .__4column .p-index_service__list__box .__link {
    border-radius: 10px;
  }
}
.__4column .p-index_service__list__box .__link .__link__figure figcaption {
  height: 40px;
  padding: 0 1.6em 0 1.85em;
  font-size: 1rem;
}
@media (max-width: 1240px) {
  .__4column .p-index_service__list__box .__link .__link__figure figcaption {
    height: 36px;
    font-size: 0.9125rem;
    padding: 0 1.46em 0 1.65em;
  }
}
@media (max-width: 1140px) {
  .__4column .p-index_service__list__box .__link .__link__figure figcaption {
    border-radius: 0 0 10px 0;
  }
}
@media (max-width: 840px) {
  .__4column .p-index_service__list__box .__link .__link__figure figcaption {
    height: 32px;
    font-size: 0.83125rem;
    padding: 0 1.33em 0 1.45em;
  }
}
@media (max-width: 540px) {
  .__4column .p-index_service__list__box .__link .__link__figure figcaption {
    height: 28px;
    font-size: 0.75rem;
    padding: 0 1.2em 0 1.25em;
  }
}
.__4column .p-index_service__list__box .__link .__link__figure figcaption.__middle {
  letter-spacing: 0.1em;
}
.__4column .p-index_service__list__box .__link .__link__figure figcaption.__mini {
  font-size: 0.875rem;
  letter-spacing: 0;
  padding: 0 1.35em 0 1.4em;
}
@media (max-width: 1240px) {
  .__4column .p-index_service__list__box .__link .__link__figure figcaption.__mini {
    font-size: 0.7875rem;
  }
}
@media (max-width: 840px) {
  .__4column .p-index_service__list__box .__link .__link__figure figcaption.__mini {
    font-size: 0.70625rem;
  }
}
@media (max-width: 540px) {
  .__4column .p-index_service__list__box .__link .__link__figure figcaption.__mini {
    font-size: 0.625rem;
    line-height: 1.15;
  }
}
.__4column .p-index_service__list__box .__link .__link__text {
  height: 34px;
  gap: 0 1em;
  padding: 0 0.8em 0 1.6em;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  line-height: 1;
  font-weight: 400;
}
@media (max-width: 1240px) {
  .__4column .p-index_service__list__box .__link .__link__text {
    padding: 0 0.75em 0 1.49em;
    height: 32px;
  }
}
@media (max-width: 1140px) {
  .__4column .p-index_service__list__box .__link .__link__text {
    letter-spacing: 0.1em;
    border-radius: 10px 0 0 0;
  }
}
@media (max-width: 840px) {
  .__4column .p-index_service__list__box .__link .__link__text {
    padding: 0 0.7em 0 1.37em;
    height: 30px;
  }
}
@media (max-width: 540px) {
  .__4column .p-index_service__list__box .__link .__link__text {
    padding: 0 0.65em 0 1.25em;
    height: 28px;
  }
}
.__4column .p-index_service__list__box .__link .__link__text:after {
  width: 6px;
}

.p-index_service__link {
  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;
  margin-top: 3.15em;
}
.p-index_service__link .p-common_btn {
  width: 329px;
  min-width: 0;
  max-width: 100%;
}

/* .p-index_works */
.p-index_works {
  background: #cee3e7;
  padding-bottom: 12.5em;
}
@media (max-width: 1240px) {
  .p-index_works {
    padding-bottom: 11em;
  }
}
@media (max-width: 840px) {
  .p-index_works {
    padding-bottom: 9.4em;
  }
}
@media (max-width: 540px) {
  .p-index_works {
    padding-bottom: 7.9em;
  }
}
.p-index_works:before {
  content: "";
  display: block;
  position: absolute;
  background-size: 700px 100%;
  background-position: left bottom;
  background-repeat: repeat-x;
  width: 100%;
  height: 60px;
  top: 0;
  left: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  pointer-events: none;
  background-image: url("./img/common/dec-wave_bl.svg");
}
@media (max-width: 1240px) {
  .p-index_works:before {
    background-size: 531px 100%;
    height: 45px;
  }
}
@media (max-width: 840px) {
  .p-index_works:before {
    background-size: 362px 100%;
    height: 30px;
  }
}
@media (max-width: 540px) {
  .p-index_works:before {
    background-size: 194px 100%;
    height: 16px;
  }
}
.p-index_works .__before {
  position: absolute;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  height: auto;
  z-index: 1;
  aspect-ratio: 253.5/259.1;
  width: 253px;
  top: 0;
  left: 0;
  -webkit-transform: translate(72.5%, 53.5%);
          transform: translate(72.5%, 53.5%);
}
@media (max-width: 1240px) {
  .p-index_works .__before {
    width: 219px;
    -webkit-transform: translate(12.5%, 53.5%);
            transform: translate(12.5%, 53.5%);
  }
}
@media (max-width: 840px) {
  .p-index_works .__before {
    width: 185px;
    -webkit-transform: translate(-47.5%, 53.5%);
            transform: translate(-47.5%, 53.5%);
  }
}
@media (max-width: 540px) {
  .p-index_works .__before {
    width: 152px;
    -webkit-transform: translate(-107.5%, 53.5%);
            transform: translate(-107.5%, 53.5%);
  }
}
.p-index_works .__before svg {
  rotate: -72deg;
  fill: #f8f5e1;
}

.p-index_works__wrapper {
  padding-top: 6.1em;
  position: relative;
}
.p-index_works__wrapper:before {
  content: "";
  display: block;
  position: absolute;
  left: 77.74%;
  top: 0;
  margin: 0 auto;
  width: 276px;
  height: auto;
  aspect-ratio: 23/16;
  background: url(./img/index/img-index_works.svg) no-repeat center/contain;
  -webkit-transform: translate(-50%, -0.5%);
          transform: translate(-50%, -0.5%);
}
@media (max-width: 1240px) {
  .p-index_works__wrapper:before {
    width: 248px;
    left: 78.24%;
  }
}
@media (max-width: 840px) {
  .p-index_works__wrapper:before {
    width: 221px;
    left: 74.22%;
    -webkit-transform: translate(-50%, -55.5%);
            transform: translate(-50%, -55.5%);
  }
}
@media (max-width: 540px) {
  .p-index_works__wrapper:before {
    width: 194px;
    left: 70.2%;
  }
}
@media (max-width: 840px) {
  .p-index_works__wrapper .p-section_title {
    max-width: 84%;
  }
}
.p-index_works__wrapper .js-gsap__fade {
  position: relative;
  z-index: 10;
}

.p-index_works__list {
  overflow: visible;
  margin-top: 3.15em;
  position: relative;
  z-index: 10;
}
.p-index_works__list .__slider {
  margin-bottom: 0;
}
.p-index_works__list .__slider .slick-list {
  overflow: visible;
  width: 1404px;
}
@media (max-width: 1440px) {
  .p-index_works__list .__slider .slick-list {
    width: 702px;
  }
}
@media (min-width: 841px) {
  .p-index_works__list .__slider .slick-list {
    margin: 0 auto;
  }
}
@media (max-width: 840px) {
  .p-index_works__list .__slider .slick-list {
    width: 315px;
    margin: 0 0 0 8%;
  }
}
@media (max-width: 540px) {
  .p-index_works__list .__slider .slick-list {
    width: 280px;
  }
}
.p-index_works__list .__slider .slick-list .slick-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-index_works__list .__slider:not(.slick-initialized) .__slider__box:not(:first-of-type) {
  display: none;
}
.p-index_works__list .__slider .__slider__box {
  background: #fff;
  margin-left: 1px;
  height: auto;
}
.p-index_works__list .__slider .__slider__box .__slider__box__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.p-index_works__list .__slider .__slider__box .__slider__box__link .__figure {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  position: relative;
}
.p-index_works__list .__slider .__slider__box .__slider__box__link .__figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-index_works__list .__slider .__slider__box .__slider__box__link .__figure {
  /*figcaption {
  	color: #fff;
  	position: absolute;
  	left: 3%;
  	bottom: 0.8em;
  	background: #222;
  	@include font-family.font(13, 100, 13, 500);
  	padding: 0 1.55em;
  	height: 30px;
  	display: flex;
  	justify-content: center;
  	align-items: center;
  }*/
}
.p-index_works__list .__slider .__slider__box .__slider__box__link .__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.25em 0;
  padding: 0.8em 5.6% 1.25em;
}
@media (max-width: 840px) {
  .p-index_works__list .__slider .__slider__box .__slider__box__link .__info {
    padding: 1em 7.5% 1.2em;
  }
}
@media (max-width: 540px) {
  .p-index_works__list .__slider .__slider__box .__slider__box__link .__info {
    padding: 0.7em 6.5% 0.8em;
  }
}
.p-index_works__list .__slider .__slider__box .__slider__box__link .__info .__info__sub {
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  line-height: 1.8571428571;
  font-weight: 500;
}
.p-index_works__list .__slider .__slider__box .__slider__box__link .__info .__info__cat {
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  line-height: 1;
  font-weight: 500;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.p-index_works__list .__slider .__slider__box .__slider__box__link .__info .__info__cat .__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.p-index_works__list .__slider .__slider__box .__slider__box__link .__info .__info__cat .__text li {
  border: 1px solid #aaa;
  background: #fff;
  height: 26px;
  border-radius: 13px;
  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;
  min-width: 120px;
  padding: 0 1.7em;
}
@media (max-width: 840px) {
  .p-index_works__list .__slider .__slider__box .__slider__box__link .__info .__info__cat .__text li {
    min-width: 115px;
    padding: 0 1.5em;
  }
}
@media (max-width: 540px) {
  .p-index_works__list .__slider .__slider__box .__slider__box__link .__info .__info__cat .__text li {
    min-width: 110px;
    padding: 0 1.3em;
  }
}
.p-index_works__list .__slider:not(.slick-initialized) .__slider__box:not(:first-of-type) {
  display: none;
}
.p-index_works__list .__control {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr auto 1fr;
  grid-template-columns: 1fr auto 1fr;
  -ms-grid-rows: auto 2.65em auto;
  grid-template-rows: repeat(2, auto);
      grid-template-areas: "dots dots dots" ". btn arrow";
  grid-row-gap: 2.65em;
  margin-top: 1.1em;
}
@media (max-width: 840px) {
  .p-index_works__list .__control {
    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;
    grid-row-gap: 3.2em;
    margin-top: 1.85em;
    max-width: 84%;
  }
}
.p-index_works__list .__control .__contro__arrow {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
  grid-area: arrow;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.6em;
}
.p-index_works__list .__control .__contro__arrow .slick-arrow {
  text-indent: -9999px;
  position: relative;
  width: 60px;
  height: 60px;
  border-radius: 100%;
  background: #fff;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
  -webkit-transition: background 0.25s;
  transition: background 0.25s;
  will-change: background;
}
.p-index_works__list .__control .__contro__arrow .slick-arrow:before, .p-index_works__list .__control .__contro__arrow .slick-arrow:after {
  content: "";
  display: block;
  width: auto;
  height: 19px;
  aspect-ratio: 103/150;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
  will-change: opacity;
  background: url(./img/index/icon-index_works__arrow__gr.svg) no-repeat center/contain;
}
.p-index_works__list .__control .__contro__arrow .slick-arrow:before {
  z-index: 10;
}
.p-index_works__list .__control .__contro__arrow .slick-arrow:after {
  background-image: url(./img/index/icon-index_works__arrow__bl.svg);
  z-index: 5;
  opacity: 0;
}
.p-index_works__list .__control .__contro__arrow .slick-arrow:hover {
  opacity: 1;
  background: #3f3c3c;
}
.p-index_works__list .__control .__contro__arrow .slick-arrow:hover:before {
  opacity: 0;
}
.p-index_works__list .__control .__contro__arrow .slick-arrow:hover:after {
  opacity: 1;
}
.p-index_works__list .__control .__contro__arrow .slick-arrow.__prev:before, .p-index_works__list .__control .__contro__arrow .slick-arrow.__prev:after {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
.p-index_works__list .__control .__contro__arrow .__contro__arrow__num {
  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;
  gap: 0 0.25em;
  line-height: 1;
}
@media (min-width: 841px) {
  .p-index_works__list .__control .__contro__arrow .__contro__arrow__num {
    display: none;
  }
}
.p-index_works__list .__control .p-common_btn {
  -ms-grid-row: 3;
  -ms-grid-column: 2;
  grid-area: btn;
  width: 329px;
  min-width: 0;
  max-width: 100%;
}
.p-index_works__list .__control .__control__dots {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  grid-area: dots;
  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;
  gap: 0 0.6em;
}
.p-index_works__list .__control .__control__dots li button {
  width: 10px;
  height: 10px;
  border-radius: 100%;
  text-indent: -9999px;
  background: #fff;
  -webkit-transition: background 0.25s, opacity 0.25s;
  transition: background 0.25s, opacity 0.25s;
}
.p-index_works__list .__control .__control__dots li button:hover {
  opacity: 0.5;
}
.p-index_works__list .__control .__control__dots li.slick-active button {
  background: #3f3c3c;
}
/* .p-index_blog */
.p-index_blog {
  padding-top: 5.9em;
  padding-bottom: 12.5em;
}
@media (max-width: 1240px) {
  .p-index_blog {
    padding-bottom: 11em;
  }
}
@media (max-width: 1040px) {
  .p-index_blog {
    padding-top: 6.1em;
  }
}
@media (max-width: 840px) {
  .p-index_blog {
    padding-bottom: 9.4em;
  }
}
@media (max-width: 540px) {
  .p-index_blog {
    padding-bottom: 7.8em;
  }
}
.p-index_blog:before {
  content: "";
  display: block;
  position: absolute;
  background-size: 1400px 100%;
  background-position: center bottom;
  background-repeat: repeat-x;
  width: 100%;
  height: 100px;
  top: 0;
  left: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  pointer-events: none;
  background-image: url("./img/common/dec-wave_wt.svg");
}
@media (max-width: 1240px) {
  .p-index_blog:before {
    background-size: 1058px 100%;
    height: 75px;
  }
}
@media (max-width: 840px) {
  .p-index_blog:before {
    background-size: 716px 100%;
    height: 50px;
  }
}
@media (max-width: 540px) {
  .p-index_blog:before {
    background-size: 375px 100%;
    height: 25px;
  }
}
.p-index_blog .__before {
  position: absolute;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  height: auto;
  z-index: 1;
  aspect-ratio: 323.5/276.2;
  width: 265px;
  top: 0;
  left: 50%;
  -webkit-transform: translate(16%, -116%);
          transform: translate(16%, -116%);
}
@media (max-width: 1240px) {
  .p-index_blog .__before {
    width: 233px;
    -webkit-transform: translate(11%, -112%);
            transform: translate(11%, -112%);
  }
}
@media (max-width: 840px) {
  .p-index_blog .__before {
    width: 201px;
    -webkit-transform: translate(6%, -108%);
            transform: translate(6%, -108%);
  }
}
@media (max-width: 540px) {
  .p-index_blog .__before {
    width: 169px;
    -webkit-transform: translate(1%, -105%);
            transform: translate(1%, -105%);
  }
}
.p-index_blog .__before svg {
  fill: #eee;
}

@media (min-width: 1041px) {
  .p-index_blog__wrapper {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 329px 5.9% 1fr;
    grid-template-columns: 329px 1fr;
    -ms-grid-rows: auto 1.85em 1fr 1.85em auto;
    grid-template-rows: auto 1fr auto;
        grid-template-areas: "title list" "pic list" "link list";
    grid-column-gap: 5.9%;
    grid-row-gap: 1.85em;
  }
  .p-index_blog__wrapper > .p-index_kv__title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-index_blog__wrapper > .p-section_title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-index_blog__wrapper > .p-index_news__list {
    -ms-grid-row: 1;
    -ms-grid-row-span: 5;
    -ms-grid-column: 3;
    -ms-grid-column-span: 1;
  }
  .p-index_blog__wrapper > .p-index_news__link {
    -ms-grid-row: 5;
    -ms-grid-column: 1;
  }
  .p-index_blog__wrapper > .p-section_title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-index_blog__wrapper > .p-index_event__list {
    -ms-grid-row: 1;
    -ms-grid-row-span: 5;
    -ms-grid-column: 3;
    -ms-grid-column-span: 1;
  }
}
@media (max-width: 1040px) {
  .p-index_blog__wrapper {
    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;
  }
}
@media (max-width: 840px) {
  .p-index_blog__wrapper {
    max-width: 84%;
  }
}
.p-index_blog__wrapper .p-section_title {
  grid-area: title;
}
@media (max-width: 1040px) {
  .p-index_blog__wrapper .p-section_title {
    -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;
  }
}

@media (min-width: 1041px) {
  .p-index_blog__pic {
    grid-area: pic;
    -ms-grid-row-align: end;
        align-self: end;
  }
}

.p-index_company__inner > .p-index_blog__pic {
  -ms-grid-row: 1;
  -ms-grid-row-span: 3;
  -ms-grid-column: 3;
  -ms-grid-column-span: 2;
  }

.p-service_content__box__detail > .p-index_blog__pic {
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  -ms-grid-column: 4;
  -ms-grid-column-span: 1;
  }
@media (max-width: 1040px) {
  .p-index_blog__pic {
    margin-top: 3.05em;
  }
}
.p-index_blog__pic img {
  width: 268px;
}
@media (max-width: 1040px) {
  .p-index_blog__pic img {
    width: 248px;
  }
}
@media (max-width: 840px) {
  .p-index_blog__pic img {
    width: 228px;
  }
}
@media (max-width: 540px) {
  .p-index_blog__pic img {
    width: 209px;
  }
}

.p-index_blog__list {
  grid-area: list;
  border-top: 1px solid #3f3c3c;
  position: relative;
  z-index: 10;
  margin-top: 0.35em;
}

.p-index_event__wrapper > .p-index_blog__list {
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 4;
}
@media (max-width: 1040px) {
  .p-index_blog__list {
    margin-top: 1.85em;
    width: 100%;
  }
}

.p-index_blog__list__box {
  border-bottom: 1px solid #3f3c3c;
}
.p-index_blog__list__box .__link {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto auto 1fr;
  grid-template-columns: auto auto 1fr;
  -ms-grid-rows: 1fr (auto)[2] 1fr;
  grid-template-rows: 1fr repeat(2, auto) 1fr;
      grid-template-areas: "figure . ." "figure time cat" "figure name name" "figure . .";
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1.225em 2.5%;
}
@media (max-width: 540px) {
  .p-index_blog__list__box .__link {
    padding: 1.225em 0;
    -ms-grid-columns: 38.1% 6.35% 1fr;
    grid-template-columns: 38.1% 1fr;
    -ms-grid-rows: 0.05em auto 1fr auto 0.05em;
    grid-template-rows: 0.05em auto 1fr auto 0.05em;
        grid-template-areas: "figure ." "figure cat" "figure name" "figure time" "figure .";
    grid-column-gap: 6.35%;
  }
  .p-index_blog__list__box .__link > .__time {
    -ms-grid-row: 4;
    -ms-grid-row-span: 1;
    -ms-grid-column: 3;
  }
  .p-index_blog__list__box .__link > .p-footer_info__time {
    -ms-grid-row: 4;
    -ms-grid-row-span: 1;
    -ms-grid-column: 3;
  }
  .p-index_blog__list__box .__link > .__link__time {
    -ms-grid-row: 4;
    -ms-grid-row-span: 1;
    -ms-grid-column: 3;
  }
  .p-index_blog__list__box .__link > .__link__cat {
    -ms-grid-row: 2;
    -ms-grid-column: 3;
  }
  .p-index_blog__list__box .__link > .__link__name {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
    -ms-grid-column-span: 1;
  }
}
.p-index_blog__list__box .__link .__link__figure {
  -ms-grid-row: 1;
  -ms-grid-row-span: 4;
  -ms-grid-column: 1;
  width: 150px;
  max-width: 100%;
  grid-area: figure;
}
@media (min-width: 541px) {
  .p-index_blog__list__box .__link .__link__figure {
    aspect-ratio: 15/10;
    margin-right: 1.9em;
  }
}
@media (max-width: 540px) {
  .p-index_blog__list__box .__link .__link__figure {
    height: 100px;
  }
}
.p-index_blog__list__box .__link .__link__figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-index_blog__list__box .__link .__link__time {
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  -ms-grid-column: 2;
  grid-area: time;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1;
  font-weight: 700;
  color: #8c8a8a;
}
@media (max-width: 1040px) {
  .p-index_blog__list__box .__link .__link__time {
    font-size: 0.8125rem;
  }
}
@media (max-width: 540px) {
  .p-index_blog__list__box .__link .__link__time {
    font-size: 0.75rem;
  }
}
.p-index_blog__list__box .__link .__link__cat {
  -ms-grid-row: 2;
  -ms-grid-column: 3;
  grid-area: cat;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 26px;
  margin-left: 1.55em;
  padding: 0 1.6em;
  border-radius: 13px;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  line-height: 1;
  font-weight: 500;
  color: #3f3c3c;
  background: #ddd;
  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 (max-width: 1040px) {
  .p-index_blog__list__box .__link .__link__cat {
    height: 23px;
    padding: 0 1.8em;
    font-size: 0.6875rem;
  }
}
@media (max-width: 540px) {
  .p-index_blog__list__box .__link .__link__cat {
    height: 20px;
    padding: 0 1.95em;
    font-size: 0.625rem;
    margin-left: 0;
  }
}
.p-index_blog__list__box .__link .__link__name {
  -ms-grid-row: 3;
  -ms-grid-column: 2;
  -ms-grid-column-span: 2;
  grid-area: name;
  font-weight: 500;
  letter-spacing: 0.1em;
  padding-top: 0.7em;
  padding-bottom: 0.85em;
}
@media (max-width: 1040px) {
  .p-index_blog__list__box .__link .__link__name {
    font-size: 0.9375rem;
  }
}
@media (max-width: 540px) {
  .p-index_blog__list__box .__link .__link__name {
    padding: 0.65em 0;
    -ms-flex-item-align: start;
        -ms-grid-row-align: start;
        align-self: start;
    font-size: 0.875rem;
    line-height: 1.714;
  }
}
.p-index_blog__list__box .__link .__link__name .__link__name__text {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.p-index_blog__link {
  grid-area: link;
}

.p-index_company__inner > .p-index_blog__link {
  -ms-grid-row: 3;
  -ms-grid-column: 2;
}
@media (max-width: 1040px) {
  .p-index_blog__link {
    margin-top: 3.15em;
    width: 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;
  }
}
.p-index_blog__link .p-common_btn {
  width: 100%;
  min-width: 0;
  max-width: 329px;
}

/* .p-index_company */
.p-index_company {
  background: #f8f4ee;
  padding-top: 6.1em;
  padding-bottom: 12.4em;
}
@media (max-width: 1240px) {
  .p-index_company {
    padding-bottom: 10.9em;
  }
}
@media (max-width: 840px) {
  .p-index_company {
    padding-bottom: 9.3em;
  }
}
@media (max-width: 540px) {
  .p-index_company {
    padding-bottom: 7.8em;
  }
}
.p-index_company:before {
  content: "";
  display: block;
  position: absolute;
  background-size: 1400px 100%;
  background-position: center bottom;
  background-repeat: repeat-x;
  width: 100%;
  height: 100px;
  top: 0;
  left: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  pointer-events: none;
  background-image: url("./img/common/dec-wave_yl.svg");
}
@media (max-width: 1240px) {
  .p-index_company:before {
    background-size: 1058px 100%;
    height: 75px;
  }
}
@media (max-width: 840px) {
  .p-index_company:before {
    background-size: 716px 100%;
    height: 50px;
  }
}
@media (max-width: 540px) {
  .p-index_company:before {
    background-size: 375px 100%;
    height: 25px;
  }
}
.p-index_company .__before {
  position: absolute;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  height: auto;
  z-index: 1;
  aspect-ratio: 284.8/234.6;
  width: 310px;
  top: 0;
  right: 0;
  -webkit-transform: translate(19.5%, -65.5%);
          transform: translate(19.5%, -65.5%);
}
@media (max-width: 1240px) {
  .p-index_company .__before {
    width: 268px;
    -webkit-transform: translate(25.2%, -63.2%);
            transform: translate(25.2%, -63.2%);
  }
}
@media (max-width: 840px) {
  .p-index_company .__before {
    width: 226px;
    -webkit-transform: translate(30.8%, -60.8%);
            transform: translate(30.8%, -60.8%);
  }
}
@media (max-width: 540px) {
  .p-index_company .__before {
    width: 184px;
    -webkit-transform: translate(36.5%, -58.5%);
            transform: translate(36.5%, -58.5%);
  }
}
.p-index_company .__before svg {
  fill: #f8f5e1;
  rotate: -180deg;
}

.p-index_company__wrapper {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 50px (600px)[2] 50px 1fr;
  grid-template-columns: 1fr 50px repeat(2, 600px) 50px 1fr;
  -ms-grid-rows: auto 1fr;
  grid-template-rows: auto 1fr;
      grid-template-areas: ". title title title title ." ". . inner inner inner inner";
}
@media (max-width: 1400px) {
  .p-index_company__wrapper {
    -ms-grid-columns: (1fr)[2] (42.86%)[2] (1fr)[2];
    grid-template-columns: repeat(2, 1fr) repeat(2, 42.86%) repeat(2, 1fr);
  }
}
@media (max-width: 1240px) {
  .p-index_company__wrapper {
        grid-template-areas: ". title ." ". inner inner";
    -ms-grid-columns: 1fr 91.5% 1fr;
    grid-template-columns: 1fr 91.5% 1fr;
  }
  .p-index_company__wrapper > .p-index_kv__title {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
  }
  .p-index_company__wrapper > .p-section_title {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
  }
  .p-index_company__wrapper > .p-section_title {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
  }
  .p-index_company__wrapper > .p-section_title {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
  }
}
.p-index_company__wrapper .p-section_title {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  -ms-grid-column-span: 4;
  grid-area: title;
}

.p-index_company__inner {
  -ms-grid-row: 2;
  -ms-grid-column: 3;
  -ms-grid-column-span: 4;
  grid-area: inner;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 100px 500px 600px 50px 1fr;
  grid-template-columns: 100px 500px 600px 50px 1fr;
  -ms-grid-rows: (auto)[3];
  grid-template-rows: repeat(3, auto);
      grid-template-areas: ". sub pic pic ." ". text pic pic ." ". link pic pic .";
  background: #cee3e7;
  position: relative;
  z-index: 10;
  border-radius: 50px 0 0 50px;
  padding: 5.6em 0 6.9em;
  margin-top: 3em;
}
@media (max-width: 1400px) {
  .p-index_company__inner {
    -ms-grid-columns: 7.69% 38.46% 46.15% 3.85% 1fr;
    grid-template-columns: 7.69% 38.46% 46.15% 3.85% 1fr;
  }
}
@media (max-width: 1240px) {
  .p-index_company__inner {
    display: block;
    padding: 4.8em 0 5.6em;
  }
}
@media (max-width: 840px) {
  .p-index_company__inner {
    padding: 3.9em 0 4.4em;
  }
}
@media (max-width: 540px) {
  .p-index_company__inner {
    padding: 3.1em 0;
  }
}

.p-index_company__pic {
  grid-area: pic;
  -ms-grid-column-align: end;
      justify-self: end;
  -ms-grid-row-align: end;
      align-self: end;
}

.p-index_company__inner > .p-index_company__pic {
  -ms-grid-row: 1;
  -ms-grid-row-span: 3;
  -ms-grid-column: 3;
  -ms-grid-column-span: 2;
}

.p-service_content__box__detail > .p-index_company__pic {
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  -ms-grid-column: 4;
  -ms-grid-column-span: 1;
}
@media (min-width: 1241px) {
  .p-index_company__pic {
    padding-bottom: 0.3em;
    padding-left: 4%;
  }
}
@media (max-width: 1240px) {
  .p-index_company__pic {
    padding: 0 8.4% 0 3.8%;
    width: 100%;
    text-align: center;
  }
}
.p-index_company__pic .__img {
  max-width: 624px;
  width: 100%;
}
@media (max-width: 1240px) {
  .p-index_company__pic .__img {
    max-width: 480px;
  }
}

.p-index_company__sub {
  -ms-grid-row: 2;
  -ms-grid-column: 3;
  grid-area: sub;
  font-size: 1.875rem;
  letter-spacing: 0.2em;
  line-height: 1.4666666667;
  font-weight: 700;
  color: #3f3c3c;
}
@media (max-width: 1240px) {
  .p-index_company__sub {
    font-size: 1.6875rem;
    padding: 0 8.4% 0 10.8%;
    margin-top: 1.6em;
  }
  .p-index_company__sub br {
    display: none;
  }
}
@media (max-width: 840px) {
  .p-index_company__sub {
    font-size: 1.5rem;
    line-height: 1.523;
  }
}
@media (max-width: 540px) {
  .p-index_company__sub {
    font-size: 1.3125rem;
  }
}

.p-index_company__text {
  -ms-grid-row: 2;
  -ms-grid-column: 2;
  grid-area: text;
  margin-top: 0.9em;
}
@media (max-width: 1240px) {
  .p-index_company__text {
    padding: 0 8.4% 0 10.8%;
  }
}

.p-index_company__link {
  grid-area: link;
  margin-top: 2.7em;
}

.p-index_company__inner > .p-index_company__link {
  -ms-grid-row: 3;
  -ms-grid-column: 2;
}
@media (max-width: 1240px) {
  .p-index_company__link {
    padding: 0 8.4% 0 4%;
    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;
  }
}
.p-index_company__link .p-common_btn {
  width: 100%;
  min-width: 0;
  max-width: 329px;
}

/* .p-index_faq */
.p-index_faq {
  position: relative;
  padding-top: 6.2em;
}
.p-index_faq:not(:has(.p-index_faq__list__details)) {
  display: none;
}
@media (max-width: 840px) {
  .p-index_faq {
    padding-top: 6.15em;
  }
}
.p-index_faq:before {
  content: "";
  display: block;
  position: absolute;
  background-size: 1400px 100%;
  background-position: center bottom;
  background-repeat: repeat-x;
  width: 100%;
  height: 100px;
  top: 0;
  left: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  pointer-events: none;
  background-image: url("./img/common/dec-wave_wt.svg");
}
@media (max-width: 1240px) {
  .p-index_faq:before {
    background-size: 1058px 100%;
    height: 75px;
  }
}
@media (max-width: 840px) {
  .p-index_faq:before {
    background-size: 716px 100%;
    height: 50px;
  }
}
@media (max-width: 540px) {
  .p-index_faq:before {
    background-size: 375px 100%;
    height: 25px;
  }
}
.p-index_faq:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 24.5%;
  z-index: 10;
  width: 177px;
  height: auto;
  aspect-ratio: 176/189;
  background: url(./img/index/img-index_faq.svg) no-repeat center/contain;
  -webkit-transform: translate(-50%, -17.5%);
          transform: translate(-50%, -17.5%);
}
@media (max-width: 1240px) {
  .p-index_faq:after {
    width: 159px;
    left: 30%;
    -webkit-transform: translate(-50%, -31%);
            transform: translate(-50%, -31%);
  }
}
@media (max-width: 840px) {
  .p-index_faq:after {
    width: 141px;
    left: 35.5%;
    -webkit-transform: translate(-50.25%, -44.5%);
            transform: translate(-50.25%, -44.5%);
  }
}
@media (max-width: 540px) {
  .p-index_faq:after {
    width: 123px;
    left: 41%;
    -webkit-transform: translate(-50.5%, -58%);
            transform: translate(-50.5%, -58%);
  }
}
.p-index_faq .__before {
  position: absolute;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  height: auto;
  z-index: 1;
  aspect-ratio: 195.3/274.3;
  width: 195px;
  top: 0;
  left: 0;
  -webkit-transform: translate(-9%, -60.5%);
          transform: translate(-9%, -60.5%);
}
@media (max-width: 1240px) {
  .p-index_faq .__before {
    width: 166px;
  }
}
@media (max-width: 840px) {
  .p-index_faq .__before {
    width: 137px;
    -webkit-transform: translate(-9%, -61%);
            transform: translate(-9%, -61%);
  }
}
@media (max-width: 540px) {
  .p-index_faq .__before {
    width: 108px;
  }
}
.p-index_faq .__before svg {
  fill: #dff1f5;
  rotate: -21deg;
}
.p-index_faq .__after {
  position: absolute;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  height: auto;
  z-index: 1;
  aspect-ratio: 335.2/259.8;
  width: 335px;
  right: 50%;
  bottom: 0;
  -webkit-transform: translate(82%, 26%);
          transform: translate(82%, 26%);
}
@media (max-width: 1240px) {
  .p-index_faq .__after {
    width: 315px;
    -webkit-transform: translate(81.6%, 24.3%);
            transform: translate(81.6%, 24.3%);
  }
}
@media (max-width: 840px) {
  .p-index_faq .__after {
    width: 295px;
    -webkit-transform: translate(81.3%, 22.7%);
            transform: translate(81.3%, 22.7%);
  }
}
@media (max-width: 540px) {
  .p-index_faq .__after {
    width: 274px;
    -webkit-transform: translate(81%, 21%);
            transform: translate(81%, 21%);
  }
}
.p-index_faq .__after svg {
  fill: #f8f4ee;
  rotate: -197deg;
}

.p-index_faq__wrapper {
  position: relative;
  z-index: 10;
}
.p-index_faq__list {
  margin-top: 3.25em;
}

.p-index_faq__list__details + .p-index_faq__list__details {
  margin-top: 1.225em;
}
@media (max-width: 840px) {
  .p-index_faq__list__details + .p-index_faq__list__details {
    margin-top: 1.28em;
  }
}

.p-index_faq__link {
  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;
  margin-top: 3.1em;
}
.p-index_faq__link .p-common_btn {
  width: 91.5%;
  min-width: 0;
  max-width: 329px;
}

/* service
  ========================================================================== */
/* .p-parts_hero__pic */
@media (max-width: 1240px) {
  body.service .p-parts_hero__pic {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    bottom: 0.5em;
    left: 0;
    margin: 0 auto;
    height: 201px;
  }
  body.service .p-parts_hero__pic img {
    display: none;
  }
  body.service .p-parts_hero__pic:after, body.service .p-parts_hero__pic:before {
    content: "";
    display: block;
    height: 100%;
    width: auto;
  }
  body.service .p-parts_hero__pic:before {
    height: 68.94%;
    aspect-ratio: 101/91;
    background: url(./img/service/dec-hero_service__before.svg) no-repeat center/contain;
    margin-left: 4.5%;
  }
  body.service .p-parts_hero__pic:after {
    aspect-ratio: 17/44;
    background: url(./img/service/dec-hero_service__after.svg) no-repeat center/contain;
  }
}
@media (max-width: 840px) {
  body.service .p-parts_hero__pic {
    height: 208px;
  }
}
@media (max-width: 540px) {
  body.service .p-parts_hero__pic {
    height: 215px;
  }
}

/* .p-service_about */
.p-service_about {
  margin-top: 5.45em;
  padding-bottom: 10em;
}
@media (max-width: 1240px) {
  .p-service_about {
    margin-top: 4.5em;
    padding-bottom: 9.1em;
  }
}
@media (max-width: 840px) {
  .p-service_about {
    margin-top: 3.5em;
    padding-bottom: 8.2em;
  }
}
@media (max-width: 540px) {
  .p-service_about {
    margin-top: 2.5em;
    padding-bottom: 7.3em;
  }
}

.p-service_about__title {
  font-size: 1.875rem;
  letter-spacing: 0.2em;
  line-height: 1.4666666667;
  font-weight: 700;
  text-align: center;
  color: #3f3c3c;
}
@media (max-width: 1240px) {
  .p-service_about__title {
    font-size: 1.6875rem;
    letter-spacing: 0.15em;
    line-height: 1.4814814815;
    font-weight: 700;
  }
}
@media (max-width: 840px) {
  .p-service_about__title {
    font-size: 1.5rem;
    letter-spacing: 0.1em;
    line-height: 1.5;
    font-weight: 700;
  }
}
@media (max-width: 540px) {
  .p-service_about__title {
    font-size: 1.3125rem;
    letter-spacing: 0.05em;
    line-height: 1.5238095238;
    font-weight: 700;
  }
}

.p-service_about__text {
  margin-top: 2.25em;
}
@media (max-width: 1240px) {
  .p-service_about__text {
    letter-spacing: 0.04em;
    margin-top: 1.84em;
  }
}
@media (max-width: 840px) {
  .p-service_about__text {
    max-width: 84%;
    letter-spacing: 0.03em;
    margin-top: 1.42em;
  }
}
@media (max-width: 540px) {
  .p-service_about__text {
    margin-top: 1em;
  }
}

.p-service_about__list {
  margin-top: 3.95em;
}
@media (max-width: 1240px) {
  .p-service_about__list {
    margin-top: 3.55em;
  }
}
@media (max-width: 840px) {
  .p-service_about__list {
    max-width: 84%;
    margin-top: 3.15em;
  }
}
@media (max-width: 540px) {
  .p-service_about__list {
    margin-top: 2.75em;
  }
}

/* .p-service_content */
.p-service_content__box {
  padding-top: 5.35em;
  padding-bottom: 10em;
  position: relative;
}
@media (max-width: 1240px) {
  .p-service_content__box {
    padding-top: 5.47em;
    padding-bottom: 9.16em;
  }
}
@media (max-width: 840px) {
  .p-service_content__box {
    padding-top: 5.6em;
    padding-bottom: 8.3em;
  }
}
@media (max-width: 540px) {
  .p-service_content__box {
    padding-top: 5.7em;
    padding-bottom: 7.5em;
  }
}
.p-service_content__box.__bl {
  background: #cee3e7;
}
.p-service_content__box.__bl:not(.__mini) {
  padding-bottom: 12.5em;
}
@media (max-width: 1240px) {
  .p-service_content__box.__bl:not(.__mini) {
    padding-bottom: 10.84em;
  }
}
@media (max-width: 840px) {
  .p-service_content__box.__bl:not(.__mini) {
    padding-bottom: 9.17em;
  }
}
@media (max-width: 540px) {
  .p-service_content__box.__bl:not(.__mini) {
    padding-bottom: 7.5em;
  }
}
.p-service_content__box.__bl:not(.__mini):before {
  content: "";
  display: block;
  position: absolute;
  background-size: 1400px 100%;
  background-position: center bottom;
  background-repeat: repeat-x;
  width: 100%;
  height: 100px;
  top: 0;
  left: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  pointer-events: none;
  background-image: url("./img/common/dec-wave_bl.svg");
}
@media (max-width: 1240px) {
  .p-service_content__box.__bl:not(.__mini):before {
    background-size: 1058px 100%;
    height: 75px;
  }
}
@media (max-width: 840px) {
  .p-service_content__box.__bl:not(.__mini):before {
    background-size: 716px 100%;
    height: 50px;
  }
}
@media (max-width: 540px) {
  .p-service_content__box.__bl:not(.__mini):before {
    background-size: 375px 100%;
    height: 25px;
  }
}
.p-service_content__box.__bl.__mini:before {
  content: "";
  display: block;
  position: absolute;
  background-size: 700px 100%;
  background-position: left bottom;
  background-repeat: repeat-x;
  width: 100%;
  height: 60px;
  top: 0;
  left: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  pointer-events: none;
  background-image: url("./img/common/dec-wave_bl.svg");
}
@media (max-width: 1240px) {
  .p-service_content__box.__bl.__mini:before {
    background-size: 531px 100%;
    height: 45px;
  }
}
@media (max-width: 840px) {
  .p-service_content__box.__bl.__mini:before {
    background-size: 362px 100%;
    height: 30px;
  }
}
@media (max-width: 540px) {
  .p-service_content__box.__bl.__mini:before {
    background-size: 194px 100%;
    height: 16px;
  }
}
.p-service_content__box.__wt {
  background: #fff;
}
.p-service_content__box.__wt:not(.__mini):before {
  content: "";
  display: block;
  position: absolute;
  background-size: 1400px 100%;
  background-position: center bottom;
  background-repeat: repeat-x;
  width: 100%;
  height: 100px;
  top: 0;
  left: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  pointer-events: none;
  background-image: url("./img/common/dec-wave_wt.svg");
}
@media (max-width: 1240px) {
  .p-service_content__box.__wt:not(.__mini):before {
    background-size: 1058px 100%;
    height: 75px;
  }
}
@media (max-width: 840px) {
  .p-service_content__box.__wt:not(.__mini):before {
    background-size: 716px 100%;
    height: 50px;
  }
}
@media (max-width: 540px) {
  .p-service_content__box.__wt:not(.__mini):before {
    background-size: 375px 100%;
    height: 25px;
  }
}
.p-service_content__box.__wt.__mini {
  padding-bottom: 12.5em;
}
@media (max-width: 1240px) {
  .p-service_content__box.__wt.__mini {
    padding-bottom: 10.84em;
  }
}
@media (max-width: 840px) {
  .p-service_content__box.__wt.__mini {
    padding-bottom: 9.17em;
  }
}
@media (max-width: 540px) {
  .p-service_content__box.__wt.__mini {
    padding-bottom: 7.5em;
  }
}
.p-service_content__box.__wt.__mini:before {
  content: "";
  display: block;
  position: absolute;
  background-size: 700px 100%;
  background-position: left bottom;
  background-repeat: repeat-x;
  width: 100%;
  height: 60px;
  top: 0;
  left: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  pointer-events: none;
  background-image: url("./img/common/dec-wave_wt.svg");
}
@media (max-width: 1240px) {
  .p-service_content__box.__wt.__mini:before {
    background-size: 531px 100%;
    height: 45px;
  }
}
@media (max-width: 840px) {
  .p-service_content__box.__wt.__mini:before {
    background-size: 362px 100%;
    height: 30px;
  }
}
@media (max-width: 540px) {
  .p-service_content__box.__wt.__mini:before {
    background-size: 194px 100%;
    height: 16px;
  }
}
.p-service_content__box.__yl {
  background: #f8f4ee;
}
.p-service_content__box.__yl:not(.__mini) {
  padding-bottom: 12.5em;
}
@media (max-width: 1240px) {
  .p-service_content__box.__yl:not(.__mini) {
    padding-bottom: 10.84em;
  }
}
@media (max-width: 840px) {
  .p-service_content__box.__yl:not(.__mini) {
    padding-bottom: 9.17em;
  }
}
@media (max-width: 540px) {
  .p-service_content__box.__yl:not(.__mini) {
    padding-bottom: 7.5em;
  }
}
.p-service_content__box.__yl:not(.__mini):before {
  content: "";
  display: block;
  position: absolute;
  background-size: 1400px 100%;
  background-position: center bottom;
  background-repeat: repeat-x;
  width: 100%;
  height: 100px;
  top: 0;
  left: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  pointer-events: none;
  background-image: url("./img/common/dec-wave_yl.svg");
}
@media (max-width: 1240px) {
  .p-service_content__box.__yl:not(.__mini):before {
    background-size: 1058px 100%;
    height: 75px;
  }
}
@media (max-width: 840px) {
  .p-service_content__box.__yl:not(.__mini):before {
    background-size: 716px 100%;
    height: 50px;
  }
}
@media (max-width: 540px) {
  .p-service_content__box.__yl:not(.__mini):before {
    background-size: 375px 100%;
    height: 25px;
  }
}
.p-service_content__box.__yl.__mini:before {
  content: "";
  display: block;
  position: absolute;
  background-size: 700px 100%;
  background-position: left bottom;
  background-repeat: repeat-x;
  width: 100%;
  height: 60px;
  top: 0;
  left: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  pointer-events: none;
  background-image: url("./img/common/dec-wave_yl.svg");
}
@media (max-width: 1240px) {
  .p-service_content__box.__yl.__mini:before {
    background-size: 531px 100%;
    height: 45px;
  }
}
@media (max-width: 840px) {
  .p-service_content__box.__yl.__mini:before {
    background-size: 362px 100%;
    height: 30px;
  }
}
@media (max-width: 540px) {
  .p-service_content__box.__yl.__mini:before {
    background-size: 194px 100%;
    height: 16px;
  }
}
.p-service_content__box.__gr {
  background: #eeeeee;
}
.p-service_content__box.__gr:not(.__mini):before {
  content: "";
  display: block;
  position: absolute;
  background-size: 1400px 100%;
  background-position: center bottom;
  background-repeat: repeat-x;
  width: 100%;
  height: 100px;
  top: 0;
  left: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  pointer-events: none;
  background-image: url("./img/common/dec-wave_gr.svg");
}
@media (max-width: 1240px) {
  .p-service_content__box.__gr:not(.__mini):before {
    background-size: 1058px 100%;
    height: 75px;
  }
}
@media (max-width: 840px) {
  .p-service_content__box.__gr:not(.__mini):before {
    background-size: 716px 100%;
    height: 50px;
  }
}
@media (max-width: 540px) {
  .p-service_content__box.__gr:not(.__mini):before {
    background-size: 375px 100%;
    height: 25px;
  }
}
.p-service_content__box.__gr.__mini:before {
  content: "";
  display: block;
  position: absolute;
  background-size: 700px 100%;
  background-position: left bottom;
  background-repeat: repeat-x;
  width: 100%;
  height: 60px;
  top: 0;
  left: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  pointer-events: none;
  background-image: url("./img/common/dec-wave_gr.svg");
}
@media (max-width: 1240px) {
  .p-service_content__box.__gr.__mini:before {
    background-size: 531px 100%;
    height: 45px;
  }
}
@media (max-width: 840px) {
  .p-service_content__box.__gr.__mini:before {
    background-size: 362px 100%;
    height: 30px;
  }
}
@media (max-width: 540px) {
  .p-service_content__box.__gr.__mini:before {
    background-size: 194px 100%;
    height: 16px;
  }
}
.p-service_content__box .p-section_title {
  gap: 0.45em 0.35em;
}
@media (max-width: 1240px) {
  .p-service_content__box .p-section_title {
    gap: 0.455em 0.35em;
  }
}
@media (max-width: 840px) {
  .p-service_content__box .p-section_title {
    gap: 0.46em 0.35em;
  }
}
.p-service_content__box .p-section_title .p-section_title__jp {
  line-height: 1.46;
}

.p-service_content__box__inner {
  position: relative;
}
@media (max-width: 840px) {
  .p-service_content__box__inner {
    max-width: 84%;
  }
}
.p-service_content__box__inner.__left:before, .p-service_content__box__inner.__right:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  margin: 0 auto;
  height: auto;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.p-service_content__box__inner.__left:before {
  right: 100%;
  -webkit-transform: translate(100%, -57.75%);
          transform: translate(100%, -57.75%);
}
@media (max-width: 840px) {
  .p-service_content__box__inner.__left:before {
    -webkit-transform: translate(100%, calc(-100% - 1em));
            transform: translate(100%, calc(-100% - 1em));
  }
}
.p-service_content__box__inner.__right:before {
  left: 100%;
  -webkit-transform: translate(-100%, -50%);
          transform: translate(-100%, -50%);
}
@media (max-width: 840px) {
  .p-service_content__box__inner.__right:before {
    -webkit-transform: translate(-100%, calc(-100% - 1em));
            transform: translate(-100%, calc(-100% - 1em));
  }
}

.p-service_content__box__detail {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 5.85% 38.5% 5.65% 1fr;
  grid-template-columns: 5.85% 38.5% 5.65% 1fr;
      grid-template-areas: ". info . pic";
  background: #fff;
  border-radius: 15px;
  overflow: hidden;
  margin-top: 3em;
}
@media (max-width: 1240px) {
  .p-service_content__box__detail {
    -ms-grid-columns: 4% 42% 4% 1fr;
    grid-template-columns: 4% 42% 4% 1fr;
  }
}
@media (max-width: 1040px) {
  .p-service_content__box__detail {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-service_content__box__detail .__pic {
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  -ms-grid-column: 4;
  -ms-grid-column-span: 1;
  grid-area: pic;
}
@media (max-width: 1040px) {
  .p-service_content__box__detail .__pic {
    height: 400px;
  }
}
@media (max-width: 840px) {
  .p-service_content__box__detail .__pic {
    height: 300px;
  }
}
@media (max-width: 540px) {
  .p-service_content__box__detail .__pic {
    height: 200px;
  }
}
.p-service_content__box__detail .__pic img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-service_content__box__detail .__info {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  grid-area: info;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.4em 0;
  padding: 2em 0;
}
@media (max-width: 1040px) {
  .p-service_content__box__detail .__info {
    padding: 2.1em 9.5% 2.05em;
    gap: 1em 0;
  }
}
.p-service_content__box__detail .__info .__info__sub {
  font-size: 1.875rem;
  letter-spacing: 0.18em;
  line-height: 1.6666666667;
  font-weight: 700;
  color: #4798a7;
}
@media (max-width: 1240px) {
  .p-service_content__box__detail .__info .__info__sub {
    font-size: 1.6875rem;
    letter-spacing: 0.187em;
    line-height: 1.6296296296;
    font-weight: 700;
  }
}
@media (max-width: 840px) {
  .p-service_content__box__detail .__info .__info__sub {
    font-size: 1.5rem;
    letter-spacing: 0.193em;
    line-height: 1.5833333333;
    font-weight: 700;
  }
}
@media (max-width: 540px) {
  .p-service_content__box__detail .__info .__info__sub {
    font-size: 1.3125rem;
    letter-spacing: 0.2em;
    line-height: 1.5238095238;
    font-weight: 700;
  }
}
.p-service_content__box__detail .__info .__info__sub[data-length=more] {
  font-size: 1.8125rem;
  letter-spacing: 0.05em;
  line-height: 1.724137931;
  font-weight: 700;
}
@media (max-width: 1240px) {
  .p-service_content__box__detail .__info .__info__sub[data-length=more] {
    font-size: 1.625rem;
    letter-spacing: 0.05em;
    line-height: 1.6923076923;
    font-weight: 700;
  }
}
@media (max-width: 840px) {
  .p-service_content__box__detail .__info .__info__sub[data-length=more] {
    font-size: 1.375rem;
    letter-spacing: 0.05em;
    line-height: 1.7272727273;
    font-weight: 700;
  }
}
@media (max-width: 540px) {
  .p-service_content__box__detail .__info .__info__sub[data-length=more] {
    font-size: 1.125rem;
    letter-spacing: 0.05em;
    line-height: 1.7777777778;
    font-weight: 700;
  }
}
@media (max-width: 840px) {
  .p-service_content__box__detail .__info .__info__sub br {
    display: none;
  }
}
.p-service_content__box__type {
  margin-top: 6.1em;
}
@media (max-width: 840px) {
  .p-service_content__box__type {
    margin-top: 6.2em;
  }
}
.p-service_content__box__type .__sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.6em;
  font-size: 1.625rem;
  letter-spacing: 0.1em;
  line-height: 1;
  font-weight: 700;
}
@media (max-width: 1240px) {
  .p-service_content__box__type .__sub {
    font-size: 1.5rem;
    gap: 0 0.55em;
  }
}
@media (max-width: 840px) {
  .p-service_content__box__type .__sub {
    font-size: 1.375rem;
    gap: 0 0.5em;
  }
}
@media (max-width: 540px) {
  .p-service_content__box__type .__sub {
    font-size: 1.25rem;
  }
}
.p-service_content__box__type .__sub:before {
  content: "";
  display: block;
  height: 2px;
  width: 50px;
  background: #3f3c3c;
}
@media (max-width: 1240px) {
  .p-service_content__box__type .__sub:before {
    width: 43px;
  }
}
@media (max-width: 840px) {
  .p-service_content__box__type .__sub:before {
    width: 37px;
  }
}
@media (max-width: 540px) {
  .p-service_content__box__type .__sub:before {
    width: 30px;
  }
}
.p-service_content__box__type .__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2.7em 2.5%;
  margin-top: 3.1em;
}
@media (max-width: 1040px) {
  .p-service_content__box__type .__list {
    gap: 3.18em 2.5%;
    margin-top: 2.45em;
  }
}
@media (max-width: 680px) {
  .p-service_content__box__type .__list {
    gap: 3.35em 2.5%;
    margin-top: 1.8em;
  }
}
.p-service_content__box__type .__list .__list__box {
  width: 31.6666666667%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (max-width: 1040px) {
  .p-service_content__box__type .__list .__list__box {
    width: 48.75%;
  }
  .p-service_content__box__type .__list .__list__box:not(:has(.__list__box__pic)) {
    display: none;
  }
}
@media (max-width: 680px) {
  .p-service_content__box__type .__list .__list__box {
    width: 100%;
  }
}
.p-service_content__box__type .__list .__list__box .__list__box__pic {
  overflow: hidden;
}
.p-service_content__box__type .__list .__list__box .__list__box__pic img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-service_content__box__type .__list .__list__box .__list__box__head {
  font-size: 1.375rem;
  letter-spacing: 0.15em;
  line-height: 1.5;
  font-weight: 700;
  color: #3f3c3c;
  text-align: center;
  margin-top: 1em;
}
@media (max-width: 1240px) {
  .p-service_content__box__type .__list .__list__box .__list__box__head {
    font-size: 1.2875rem;
    margin-top: 1.1em;
  }
}
@media (max-width: 840px) {
  .p-service_content__box__type .__list .__list__box .__list__box__head {
    font-size: 1.20625rem;
    margin-top: 1.2em;
  }
}
@media (max-width: 540px) {
  .p-service_content__box__type .__list .__list__box .__list__box__head {
    font-size: 1.125rem;
    margin-top: 1.3em;
  }
}
.p-service_content__box__type .__list .__list__box .__list__box__text {
  margin-top: 1em;
}
@media (max-width: 1240px) {
  .p-service_content__box__type .__list .__list__box .__list__box__text {
    margin-top: 0.81em;
    letter-spacing: 0.04em;
  }
}
@media (max-width: 840px) {
  .p-service_content__box__type .__list .__list__box .__list__box__text {
    margin-top: 0.63em;
    letter-spacing: 0.03em;
  }
}
@media (max-width: 540px) {
  .p-service_content__box__type .__list .__list__box .__list__box__text {
    margin-top: 0.45em;
  }
}

.p-service_content__box__charm {
  margin-top: 5.7em;
}
@media (max-width: 840px) {
  .p-service_content__box__charm {
    margin-top: 5.75em;
  }
}
.p-service_content__box__charm .__sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.6em;
  font-size: 1.625rem;
  letter-spacing: 0.1em;
  line-height: 1;
  font-weight: 700;
}
@media (max-width: 1240px) {
  .p-service_content__box__charm .__sub {
    font-size: 1.5rem;
    gap: 0 0.55em;
  }
}
@media (max-width: 840px) {
  .p-service_content__box__charm .__sub {
    font-size: 1.375rem;
    gap: 0 0.5em;
  }
}
@media (max-width: 540px) {
  .p-service_content__box__charm .__sub {
    font-size: 1.25rem;
  }
}
.p-service_content__box__charm .__sub:before {
  content: "";
  display: block;
  height: 2px;
  width: 50px;
  background: #3f3c3c;
}
@media (max-width: 1240px) {
  .p-service_content__box__charm .__sub:before {
    width: 43px;
  }
}
@media (max-width: 840px) {
  .p-service_content__box__charm .__sub:before {
    width: 37px;
  }
}
@media (max-width: 540px) {
  .p-service_content__box__charm .__sub:before {
    width: 30px;
  }
}
.p-service_content__box__charm .__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2.5em 3.33%;
  counter-reset: scbclNum;
  margin-top: 3.15em;
}
@media (max-width: 1240px) {
  .p-service_content__box__charm .__list {
    gap: 2.1em 3.33%;
    margin-top: 2.7em;
  }
}
@media (max-width: 840px) {
  .p-service_content__box__charm .__list {
    gap: 1.7em 3.33%;
    margin-top: 2.3em;
  }
}
@media (max-width: 540px) {
  .p-service_content__box__charm .__list {
    gap: 1.25em 3.33%;
    margin-top: 1.85em;
  }
}
.p-service_content__box__charm .__list .__list__box {
  width: 48.335%;
  background: #fff;
  border-radius: 15px;
  counter-increment: scbclNum;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.7em 0;
  padding: 1.85em 4.55% 2.05em;
}
.p-service_content__box.__wt .p-service_content__box__charm .__list .__list__box {
  background: #f2f2f2;
}
@media (max-width: 1240px) {
  .p-service_content__box__charm .__list .__list__box {
    padding: 2.3em 6.2% 2.05em;
  }
}
@media (max-width: 840px) {
  .p-service_content__box__charm .__list .__list__box {
    width: 100%;
    padding: 2.1em 7.85% 2.05em;
  }
}
@media (max-width: 540px) {
  .p-service_content__box__charm .__list .__list__box {
    padding: 2.5em 9.5% 2.05em;
  }
}
.p-service_content__box__charm .__list .__list__box .__list__box__head {
  color: #4798a7;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 0.675em 1fr;
  grid-template-columns: auto 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  grid-column-gap: 0.675em;
  font-size: 1.375rem;
  letter-spacing: 0.15em;
  line-height: 1.5;
  font-weight: 700;
}
@media (max-width: 1240px) {
  .p-service_content__box__charm .__list .__list__box .__list__box__head {
    font-size: 1.2875rem;
    letter-spacing: 0.15em;
    line-height: 1.4563106796;
    font-weight: 700;
    grid-column-gap: 0.72em;
  }
}
@media (max-width: 840px) {
  .p-service_content__box__charm .__list .__list__box .__list__box__head {
    font-size: 1.20625rem;
    letter-spacing: 0.15em;
    line-height: 1.3989637306;
    font-weight: 700;
    grid-column-gap: 0.76em;
  }
}
@media (max-width: 540px) {
  .p-service_content__box__charm .__list .__list__box .__list__box__head {
    font-size: 1.125rem;
    letter-spacing: 0.15em;
    line-height: 1.3333333333;
    font-weight: 700;
    grid-column-gap: 0.8em;
  }
}
.p-service_content__box__charm .__list .__list__box .__list__box__head:before {
  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;
  width: 50px;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 100%;
  content: counter(scbclNum);
  font-size: 1.625rem;
  letter-spacing: 0.05em;
  line-height: 1;
  font-weight: 700;
  color: #fff;
  background: #4798a7;
  padding-bottom: 0.125em;
  letter-spacing: 0;
}
@media (max-width: 1240px) {
  .p-service_content__box__charm .__list .__list__box .__list__box__head:before {
    width: 48px;
    font-size: 1.5rem;
    padding-bottom: 0.15em;
  }
}
@media (max-width: 840px) {
  .p-service_content__box__charm .__list .__list__box .__list__box__head:before {
    width: 46px;
    font-size: 1.375rem;
  }
}
.p-service_content__box__link {
  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;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.25em 2.5em;
  margin-top: 6.25em;
}
.p-service_content__box__link .p-common_btn {
  min-width: auto;
  width: 329px;
  max-width: 100%;
}

/* .p-service_flow */
.p-service_flow {
  padding-top: 6.05em;
}
.p-service_flow:before {
  content: "";
  display: block;
  position: absolute;
  background-size: 1400px 100%;
  background-position: center bottom;
  background-repeat: repeat-x;
  width: 100%;
  height: 100px;
  top: 0;
  left: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  pointer-events: none;
  background-image: url("./img/common/dec-wave_wt.svg");
}
@media (max-width: 1240px) {
  .p-service_flow:before {
    background-size: 1058px 100%;
    height: 75px;
  }
}
@media (max-width: 840px) {
  .p-service_flow:before {
    background-size: 716px 100%;
    height: 50px;
  }
}
@media (max-width: 540px) {
  .p-service_flow:before {
    background-size: 375px 100%;
    height: 25px;
  }
}

.p-service_flow__wrapper {
  position: relative;
  z-index: 10;
}
.p-service_flow__list {
  counter-reset: sflNum;
  margin-top: 3em;
}

.p-service_flow__list__box {
  counter-increment: sflNum;
  background: #f8f4ee;
  border-radius: 15px;
  position: relative;
  padding: 3.1em 2.5em 2.8em calc(2.5em + 130px + 2.95%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.05em 0;
}
@media (max-width: 1240px) {
  .p-service_flow__list__box {
    padding: 3.1em 2.5em 2.8em calc(2.5em + 110px + 2.95%);
  }
}
@media (max-width: 840px) {
  .p-service_flow__list__box {
    padding: 3.1em 2.5em 2.8em calc(2.5em + 90px + 2.95%);
  }
}
@media (max-width: 540px) {
  .p-service_flow__list__box {
    padding: 4.6em 9.5% 2.8em;
  }
}
.p-service_flow__list__box + .p-service_flow__list__box {
  margin-top: 3.1em;
}
.p-service_flow__list__box:before {
  content: counter(sflNum, decimal-leading-zero);
  font-size: 8.125rem;
  letter-spacing: 0.03em;
  line-height: 1;
  font-weight: 700;
  color: #999;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: translate(-3.5%, -18%);
          transform: translate(-3.5%, -18%);
}
@media (max-width: 1240px) {
  .p-service_flow__list__box:before {
    font-size: 6.875rem;
  }
}
@media (max-width: 840px) {
  .p-service_flow__list__box:before {
    font-size: 5.625rem;
  }
}
@media (max-width: 540px) {
  .p-service_flow__list__box:before {
    font-size: 4.375rem;
  }
}
.p-service_flow__list__box .__sub {
  font-size: 1.25rem;
  letter-spacing: 0.1em;
  line-height: 1;
  font-weight: 700;
  color: #3f3c3c;
}
@media (max-width: 1240px) {
  .p-service_flow__list__box .__sub {
    font-size: 1.1875rem;
  }
}
@media (max-width: 840px) {
  .p-service_flow__list__box .__sub {
    font-size: 1.125rem;
  }
}
@media (max-width: 540px) {
  .p-service_flow__list__box .__sub {
    text-align: center;
  }
}
@media (max-width: 1240px) {
  .p-service_flow__list__box .__text {
    letter-spacing: 0.04em;
  }
}
@media (max-width: 840px) {
  .p-service_flow__list__box .__text {
    letter-spacing: 0.03em;
  }
}
.p-service_flow__list__box:not(:last-of-type):after {
  content: "";
  display: block;
  width: 34px;
  height: auto;
  aspect-ratio: 134/75;
  background: url(./img/service/icon-service_flow__arrow.svg) no-repeat center/contain;
  position: absolute;
  bottom: -0.95em;
  left: 0;
  right: 0;
  margin: 0 auto;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}
.p-service_flow__list__box:nth-of-type(even) {
  background: #ddd;
}
.p-service_flow__list__box:nth-of-type(even):before {
  color: #fff;
}
.p-service_flow__list__box:nth-last-of-type(2) {
  color: #fff;
  background: #8c8a8a;
}
.p-service_flow__list__box:nth-last-of-type(2):before {
  color: #fff;
}
.p-service_flow__list__box:nth-last-of-type(2) .__sub {
  color: #fff;
}
.p-service_flow__list__box:last-of-type {
  background: #cee3e7;
}
.p-service_flow__list__box:last-of-type:before {
  color: #999;
}

.p-service_flow__link {
  margin-top: 6.25em;
  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;
}
/* faq
  ========================================================================== */
/* .p-parts_hero__pic */
#faq .p-parts_hero__pic {
  -webkit-transform: translateY(62%);
          transform: translateY(62%);
  right: 3.5%;
}
@media (max-width: 1240px) {
  #faq .p-parts_hero__pic {
    -webkit-transform: translateY(62%);
            transform: translateY(62%);
    right: 3.7%;
  }
}
@media (max-width: 840px) {
  #faq .p-parts_hero__pic {
    -webkit-transform: translateY(62%);
            transform: translateY(62%);
    right: 4%;
  }
}
@media (max-width: 540px) {
  #faq .p-parts_hero__pic {
    -webkit-transform: translateY(61%);
            transform: translateY(61%);
    right: 4.21%;
  }
}

/* .p-faq_anchor */
.p-faq_anchor {
  margin-top: 6.25em;
}

/* .p-faq_content */
.p-faq_content .__dec01,
.p-faq_content .__dec02,
.p-faq_content .__dec03 {
  z-index: 1;
}
.p-faq_content .__dec01 {
  position: absolute;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  height: auto;
  z-index: 1;
  aspect-ratio: 284.8/234.6;
  width: 335px;
  top: 11.51%;
  right: 0;
  -webkit-transform: translate(17%, 0);
          transform: translate(17%, 0);
}
@media (max-width: 1240px) {
  .p-faq_content .__dec01 {
    width: 289px;
  }
}
@media (max-width: 840px) {
  .p-faq_content .__dec01 {
    width: 244px;
  }
}
@media (max-width: 540px) {
  .p-faq_content .__dec01 {
    width: 199px;
  }
}
.p-faq_content .__dec01 svg {
  fill: #dff1f4;
  rotate: -144deg;
}
.p-faq_content .__dec02 {
  position: absolute;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  height: auto;
  z-index: 1;
  aspect-ratio: 335.2/259.8;
  width: 297px;
  top: 41.4%;
  left: 0;
  -webkit-transform: translate(-15%, 0);
          transform: translate(-15%, 0);
}
@media (max-width: 1240px) {
  .p-faq_content .__dec02 {
    width: 257px;
  }
}
@media (max-width: 840px) {
  .p-faq_content .__dec02 {
    width: 217px;
  }
}
@media (max-width: 540px) {
  .p-faq_content .__dec02 {
    width: 178px;
  }
}
.p-faq_content .__dec02 svg {
  rotate: 29deg;
  fill: #f8f4ee;
}
.p-faq_content .__dec03 {
  position: absolute;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  height: auto;
  z-index: 1;
  aspect-ratio: 323.5/276.2;
  width: 265px;
  bottom: 24.2%;
  right: 27.3%;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}
@media (max-width: 1240px) {
  .p-faq_content .__dec03 {
    width: 233px;
    -webkit-transform: translate(11%, -112%);
            transform: translate(11%, -112%);
  }
}
@media (max-width: 840px) {
  .p-faq_content .__dec03 {
    width: 201px;
    -webkit-transform: translate(6%, -108%);
            transform: translate(6%, -108%);
  }
}
@media (max-width: 540px) {
  .p-faq_content .__dec03 {
    width: 169px;
    -webkit-transform: translate(1%, -105%);
            transform: translate(1%, -105%);
  }
}
.p-faq_content .__dec03 svg {
  fill: #eee;
}

.p-faq_content__list {
  margin-top: 6.05em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
  z-index: 10;
}
@media (max-width: 1240px) {
  .p-faq_content__list {
    margin-top: 5em;
  }
}
@media (max-width: 840px) {
  .p-faq_content__list {
    margin-top: 3.95em;
  }
}
@media (max-width: 540px) {
  .p-faq_content__list {
    margin-top: 2.9em;
  }
}
.p-faq_content__list .__summary,
.p-faq_content__list .__answer {
  background: #f2f2f2;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 50px 1.5% 1fr 1.5% 1%;
  grid-template-columns: 50px 1fr 1%;
  grid-column-gap: 1.5%;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  padding: 0 2.5%;
}
@media (max-width: 1240px) {
  .p-faq_content__list .__summary,
  .p-faq_content__list .__answer {
    -ms-grid-columns: 45px 1fr 1%;
    grid-template-columns: 45px 1fr 1%;
  }
}
@media (max-width: 840px) {
  .p-faq_content__list .__summary,
  .p-faq_content__list .__answer {
    -ms-grid-columns: 40px 2.3% 1fr;
    grid-template-columns: 40px 1fr;
    grid-column-gap: 2.3%;
    padding: 0 3.4%;
  }
}
@media (max-width: 540px) {
  .p-faq_content__list .__summary,
  .p-faq_content__list .__answer {
    -ms-grid-columns: 35px 3% 1fr;
    grid-template-columns: 35px 1fr;
    grid-column-gap: 3%;
    padding: 0 4.3%;
  }
}
.p-faq_content__list .__summary:before,
.p-faq_content__list .__answer:before {
  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;
  font-size: 1.625rem;
  letter-spacing: 0em;
  line-height: 1;
  font-weight: 700;
  font-family: "Noto Sans JP";
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 100%;
}
@media (max-width: 1240px) {
  .p-faq_content__list .__summary:before,
  .p-faq_content__list .__answer:before {
    font-size: 1.45625rem;
  }
}
@media (max-width: 840px) {
  .p-faq_content__list .__summary:before,
  .p-faq_content__list .__answer:before {
    font-size: 1.2875rem;
  }
}
@media (max-width: 540px) {
  .p-faq_content__list .__summary:before,
  .p-faq_content__list .__answer:before {
    font-size: 1.125rem;
  }
}
.p-faq_content__list .__summary .__inner,
.p-faq_content__list .__answer .__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
}
.p-faq_content__list .__summary {
  border-radius: 15px 15px 0 0;
  padding-top: 1.875em;
}
.p-faq_content__list .__summary:not(:first-of-type) {
  margin-top: 1.26em;
}
.p-faq_content__list .__summary:before {
  content: "Q";
  color: #fff;
  background: #9dc8d0;
  padding-bottom: 0.25em;
}
.p-faq_content__list .__summary .__inner {
  font-size: 1.125rem;
  letter-spacing: 0.05em;
  line-height: 1.4444444444;
  font-weight: 500;
}
@media (max-width: 1240px) {
  .p-faq_content__list .__summary .__inner {
    line-height: 1.55;
  }
}
@media (max-width: 840px) {
  .p-faq_content__list .__summary .__inner {
    line-height: 1.66;
  }
}
.p-faq_content__list .__answer {
  border-radius: 0 0 15px 15px;
  padding-top: 1.2em;
  padding-bottom: 1.925em;
}
@media (max-width: 1240px) {
  .p-faq_content__list .__answer {
    padding-top: 1em;
    padding-bottom: 1.75em;
  }
}
@media (max-width: 840px) {
  .p-faq_content__list .__answer {
    padding-top: 0.9em;
    padding-bottom: 1.59em;
  }
}
.p-faq_content__list .__answer:before {
  content: "A";
  color: #4798a7;
  background: #fff;
  padding-bottom: 0.2em;
}
.p-faq_content__list .__answer .__inner {
  letter-spacing: 0.05em;
  min-height: 50px;
}

/* company
  ========================================================================== */
/* .p-parts_hero__pic */
#company .p-parts_hero__pic {
  -webkit-transform: translateY(45.4%);
          transform: translateY(45.4%);
}
@media (max-width: 1240px) {
  #company .p-parts_hero__pic {
    right: 0;
    zoom: 0.7;
    -webkit-transform: translateY(52.3%);
            transform: translateY(52.3%);
  }
}
@media (max-width: 840px) {
  #company .p-parts_hero__pic {
    right: 0;
    zoom: 0.5;
    -webkit-transform: translateY(59.1%);
            transform: translateY(59.1%);
  }
}
@media (max-width: 540px) {
  #company .p-parts_hero__pic {
    -webkit-transform: translateY(66%);
            transform: translateY(66%);
    right: 0;
    zoom: 0.4;
  }
}

/* .p-company_about */
.p-company_about {
  margin-top: 5.45em;
}
@media (max-width: 1240px) {
  .p-company_about {
    margin-top: 4.45em;
  }
}
@media (max-width: 840px) {
  .p-company_about {
    margin-top: 3.45em;
  }
}
@media (max-width: 540px) {
  .p-company_about {
    margin-top: 2.45em;
  }
}

.p-company_about__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
}
@media (max-width: 840px) {
  .p-company_about__wrapper {
    max-width: 84%;
  }
}

.p-company_about__title {
  font-size: 1.875rem;
  letter-spacing: 0.2em;
  line-height: 1.4666666667;
  font-weight: 700;
  grid-area: title;
  text-align: center;
  color: #3f3c3c;
}

.p-index_event__wrapper > .p-company_about__title {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
}

.p-index_company__wrapper > .p-company_about__title {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  -ms-grid-column-span: 4;
}

.p-article_posts__ttl > .p-company_about__title {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
}

.p-works_article__ttl > .p-company_about__title {
  -ms-grid-row: 5;
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
}

.p-event_article__ttl > .p-company_about__title {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
}

.p-blog_posts__ttl > .p-company_about__title {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
}
@media (max-width: 1240px) {
  .p-company_about__title {
    font-size: 1.6875rem;
    letter-spacing: 0.2em;
    line-height: 1.4814814815;
    font-weight: 700;
  }
}
@media (max-width: 840px) {
  .p-company_about__title {
    font-size: 1.5rem;
    letter-spacing: 0.2em;
    line-height: 1.5;
    font-weight: 700;
  }
}
@media (max-width: 540px) {
  .p-company_about__title {
    font-size: 1.3125rem;
    letter-spacing: 0.2em;
    line-height: 1.5238095238;
    font-weight: 700;
  }
}

.p-company_about__text {
  -ms-grid-row: 2;
  -ms-grid-column: 2;
  grid-area: text;
  margin-top: 2.2em;
  letter-spacing: 0.05em;
}
@media (max-width: 1240px) {
  .p-company_about__text {
    letter-spacing: 0.04em;
    margin-top: 1.84em;
  }
}
@media (max-width: 840px) {
  .p-company_about__text {
    letter-spacing: 0.03em;
    margin-top: 1.42em;
  }
}
@media (max-width: 540px) {
  .p-company_about__text {
    margin-top: 1em;
  }
}

/* .p-company_detail */
.p-company_detail {
  margin-top: 8.75em;
}
@media (max-width: 1240px) {
  .p-company_detail {
    margin-top: 7.5em;
  }
}
@media (max-width: 840px) {
  .p-company_detail {
    margin-top: 6.25em;
  }
}
@media (max-width: 540px) {
  .p-company_detail {
    margin-top: 5em;
  }
}

.p-company_detail__wrapper {
  width: 1000px;
}
@media (max-width: 840px) {
  .p-company_detail__wrapper {
    max-width: 84%;
  }
}

.p-company_detail__list {
  margin-top: 1.1em;
}
.p-company_detail__list .p-common_table__dt,
.p-company_detail__list .p-common_table__dd {
  padding-top: 1.45em;
  padding-bottom: 0.8em;
}
.p-company_detail__list .p-common_table__dt:first-of-type,
.p-company_detail__list .p-common_table__dd:first-of-type {
  border-top: 0;
}
@media (max-width: 840px) {
  .p-company_detail__list .p-common_table__dt {
    padding-top: 1.35em;
    padding-bottom: 0.85em;
    border-bottom: 1px solid #9dc8d0;
  }
}
.p-company_detail__list .p-common_table__dd {
  border-color: #3f3c3c;
}
@media (max-width: 1240px) {
  .p-company_detail__list .p-common_table__dd p {
    font-size: 0.9375rem;
    letter-spacing: 0.025em;
    line-height: 1.9333333333;
    font-weight: 400;
  }
}
@media (max-width: 840px) {
  .p-company_detail__list .p-common_table__dd {
    padding-top: 0.625em;
    padding-bottom: 0.9em;
  }
  .p-company_detail__list .p-common_table__dd p {
    font-size: 0.875rem;
    letter-spacing: 0em;
    line-height: 2;
    font-weight: 400;
  }
}
.p-company_detail__sub {
  margin-top: 3.6em;
  font-size: 1.625rem;
  letter-spacing: 0.2em;
  line-height: 1.4230769231;
  font-weight: 700;
  text-align: center;
  color: #4798a7;
}

.p-company_detail__office {
  margin-top: 2.75em;
}
/* .p-company_access */
.p-company_access {
  margin-top: 6.25em;
  position: relative;
  z-index: 10;
}

.p-company_access__map {
  height: 450px;
  width: 100%;
}
@media (max-width: 1240px) {
  .p-company_access__map {
    height: 391px;
  }
}
@media (max-width: 840px) {
  .p-company_access__map {
    height: 333px;
  }
}
@media (max-width: 540px) {
  .p-company_access__map {
    height: 275px;
  }
}

/* archive(common)
  ========================================================================== */
/* .p-single_main */
.p-single_main {
  margin: 5.25em 0 1.6em;
}
@media (min-width: 1241px) {
  body:not(#single).post .p-single_main, body:not(#single).blog .p-single_main {
    margin: 6.05em 0 1.6em;
  }
}
@media (max-width: 1240px) {
  .p-single_main {
    margin-top: 4.9em;
  }
}
@media (max-width: 840px) {
  .p-single_main {
    margin-top: 3.8em;
  }
}
@media (max-width: 540px) {
  .p-single_main {
    margin-top: 2.65em;
  }
}

.p-single_main__wrapper {
  margin: 0 auto;
}
@media (min-width: 1241px) {
  .p-single_main__wrapper {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: calc(95% - 250px) 5% 250px;
    grid-template-columns: calc(95% - 250px) 250px;
    -ms-grid-rows: 1fr auto;
    grid-template-rows: 1fr auto;
    grid-column-gap: 5%;
        grid-template-areas: "posts side" "pager .";
  }
}
@media (max-width: 1240px) {
  .p-single_main__wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media (max-width: 840px) {
  .p-single_main__wrapper {
    max-width: 84%;
  }
}

/* .p-single_posts */
.p-single_posts {
  grid-area: posts;
  max-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;
  border-top: 1px solid #ddd;
}
.p-works_main__wrapper > .p-single_posts {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
@media (min-width: 1241px) {
  .p-single_posts {
    width: 850px;
  }
}

.p-single_posts__wrapper {
  border-bottom: 1px solid #ddd;
}
.p-single_posts__wrapper .__link {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 6.1em 2.45% auto 2.45% 1fr;
  grid-template-columns: 6.1em auto 1fr;
  grid-column-gap: 2.45%;
  padding: 1.22em 2.3%;
      grid-template-areas: "time cat name";
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 840px) {
  .p-single_posts__wrapper .__link {
    -ms-grid-rows: auto 0.8em auto;
    grid-template-rows: repeat(2, auto);
        grid-template-areas: "time cat ." "name name name";
    grid-column-gap: 0.825em;
    grid-row-gap: 0.8em;
    padding: 1.3em 0 0.85em;
    min-height: 98px;
  }
  .p-single_posts__wrapper .__link > .__time {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
  }
  .p-single_posts__wrapper .__link > .p-footer_info__time {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
  }
  .p-single_posts__wrapper .__link > .__link__time {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
  }
  .p-single_posts__wrapper .__link > .__link__cat {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .p-single_posts__wrapper .__link > .__link__name {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 5;
  }
  .p-single_posts__wrapper .__link > .__link__time {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
  }
  .p-single_posts__wrapper .__link > .__link__cat {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .p-single_posts__wrapper .__link > .__link__name {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 5;
  }
}
.p-single_posts__wrapper .__link .__link__date {
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  -ms-grid-column: 1;
  color: #8c8a8a;
  line-height: 1;
  padding: 0.1em 0;
  grid-area: time;
  letter-spacing: 0.0675em;
}
@media (max-width: 840px) {
  .p-single_posts__wrapper .__link .__link__date {
    -ms-flex-item-align: end;
        -ms-grid-row-align: end;
        align-self: end;
  }
}
.p-single_posts__wrapper .__link .__link__cat {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  line-height: 1;
  font-weight: 700;
  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;
  height: 30px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 98px;
  max-width: 130px;
  padding: 0 1em;
  background: #c4dee3;
  grid-area: cat;
}
@media (max-width: 1240px) {
  .p-single_posts__wrapper .__link .__link__cat {
    height: 26px;
    min-width: 90px;
    font-size: 0.8375rem;
  }
}
@media (max-width: 840px) {
  .p-single_posts__wrapper .__link .__link__cat {
    height: 23px;
    min-width: 83px;
    font-size: 0.79375rem;
  }
}
@media (max-width: 540px) {
  .p-single_posts__wrapper .__link .__link__cat {
    height: 20px;
    min-width: 76px;
    font-size: 0.75rem;
    padding: 0 1em;
  }
}
.p-single_posts__wrapper .__link .__link__cat .__link__cat__text {
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

.p-single_posts__title {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  font-weight: 500;
  overflow: hidden;
  grid-area: name;
}

.p-index_blog__list__box .__link > .p-single_posts__title {
  -ms-grid-row: 3;
  -ms-grid-column: 2;
  -ms-grid-column-span: 2;
}

.p-single_posts__wrapper .__link > .p-single_posts__title {
  -ms-grid-row: 1;
  -ms-grid-column: 5;
  -ms-grid-column-span: 1;
}
@media (min-width: 841px) {
  .p-single_posts__title {
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 30em;
  }
}
@media (max-width: 1240px) and (min-width: 841px) {
  .p-single_posts__title {
    max-width: 42em;
  }
}
@media (max-width: 840px) {
  .p-single_posts__title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    letter-spacing: 0.1em;
    line-height: 1.75;
  }
}

/* article */
.p-article_posts {
  grid-area: posts;
  max-width: 100%;
  border-bottom: 1px solid #ddd;
  padding-bottom: 3.75em;
  margin-top: 0.75em;
}
.p-works_main__wrapper > .p-article_posts {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
@media (min-width: 1241px) {
  .p-article_posts {
    width: 850px;
  }
}
.blog .p-article_posts {
  padding-bottom: 6.2em;
}
@media (max-width: 1040px) {
  .blog .p-article_posts {
    padding-bottom: 5.2em;
  }
}
@media (max-width: 840px) {
  .blog .p-article_posts {
    padding-bottom: 4.2em;
  }
}
@media (max-width: 540px) {
  .blog .p-article_posts {
    padding-bottom: 3.2em;
  }
}

.p-article_posts__ttl {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 1.1em 1fr;
  grid-template-columns: auto 1fr;
  -ms-grid-rows: auto 2.65em auto;
  grid-template-rows: repeat(2, auto);
      grid-template-areas: "data cat" "title title";
  grid-column-gap: 1.1em;
  grid-row-gap: 2.65em;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 1240px) {
  .p-article_posts__ttl {
    grid-row-gap: 2.25em;
  }
}
@media (max-width: 840px) {
  .p-article_posts__ttl {
    grid-row-gap: 1.9em;
  }
}
@media (max-width: 540px) {
  .p-article_posts__ttl {
    grid-row-gap: 1.5em;
  }
}
.p-article_posts__ttl .__date {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  font-size: 1.125rem;
  letter-spacing: 0.05em;
  line-height: 1;
  font-weight: 700;
  color: #8c8a8a;
  grid-area: data;
}
@media (max-width: 840px) {
  .p-article_posts__ttl .__date {
    font-size: 1.0625rem;
  }
}
@media (max-width: 540px) {
  .p-article_posts__ttl .__date {
    font-size: 1rem;
  }
}
.p-article_posts__ttl .__cat {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  line-height: 1;
  font-weight: 700;
  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;
  height: 26px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 98px;
  max-width: 100%;
  padding: 0 1em;
  background: #c4dee3;
  grid-area: cat;
}
.p-article_posts__ttl .__cat .__cat__text {
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.p-article_posts__ttl .__title {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  font-size: 2.125rem;
  letter-spacing: 0.1em;
  line-height: 1.4705882353;
  font-weight: 700;
  grid-area: title;
}
@media (max-width: 1040px) {
  .p-article_posts__ttl .__title {
    font-size: 1.875rem;
    letter-spacing: 0.1em;
    line-height: 1.4666666667;
    font-weight: 700;
  }
}
@media (max-width: 840px) {
  .p-article_posts__ttl .__title {
    font-size: 1.6875rem;
    letter-spacing: 0.1em;
    line-height: 1.4074074074;
    font-weight: 700;
  }
}
@media (max-width: 540px) {
  .p-article_posts__ttl .__title {
    font-size: 1.5rem;
    letter-spacing: 0.1em;
    line-height: 1.3333333333;
    font-weight: 700;
  }
}

.p-article_content {
  line-height: 2;
  margin-top: 1.9em;
}
.event .p-article_content {
  margin-top: 1.25em;
}
.blog .p-article_content {
  margin-top: 2.2em;
}
.works .p-article_content {
  margin-top: 2.5em;
}
.p-article_content h2.wp-block-heading {
  font-size: 1.625rem;
  letter-spacing: 0.1em;
  line-height: 1.5;
  font-weight: 700;
  position: relative;
}
@media (max-width: 1040px) {
  .p-article_content h2.wp-block-heading {
    font-size: 1.5375rem;
    letter-spacing: 0.1em;
    line-height: 1.5;
    font-weight: 700;
  }
}
@media (max-width: 840px) {
  .p-article_content h2.wp-block-heading {
    font-size: 1.45625rem;
    letter-spacing: 0.1em;
    line-height: 1.5;
    font-weight: 700;
  }
}
@media (max-width: 540px) {
  .p-article_content h2.wp-block-heading {
    font-size: 1.375rem;
    letter-spacing: 0.1em;
    line-height: 1.5;
    font-weight: 700;
  }
}
.post .p-article_content h2.wp-block-heading, .works .p-article_content h2.wp-block-heading {
  padding-left: calc(7px + 0.725em);
  margin-top: 3.65em;
  margin-bottom: 0.75em;
}
.post .p-article_content h2.wp-block-heading:before, .works .p-article_content h2.wp-block-heading:before {
  content: "";
  display: block;
  width: 7px;
  height: 1.25em;
  background: #4798a7;
  border-radius: 6px;
  position: absolute;
  top: 0.25em;
  left: 0;
}
.works .p-article_content h2.wp-block-heading {
  margin-top: 1.65em;
  margin-bottom: 0.8em;
  padding-left: calc(7px + 0.45em);
}
.works .p-article_content h2.wp-block-heading:before {
  background: #ddd;
}
.event .p-article_content h2.wp-block-heading {
  margin-top: 3.5em;
  margin-bottom: 0.6em;
}
.blog .p-article_content h2.wp-block-heading {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 0.62em 1fr;
  grid-template-columns: auto 1fr;
  color: #4798a7;
  gap: 0 0.62em;
  margin-top: 3.5em;
  margin-bottom: 0.575em;
}
@media (max-width: 1040px) {
  .blog .p-article_content h2.wp-block-heading {
    gap: 0 0.58em;
  }
}
@media (max-width: 840px) {
  .blog .p-article_content h2.wp-block-heading {
    gap: 0 0.53em;
  }
}
@media (max-width: 540px) {
  .blog .p-article_content h2.wp-block-heading {
    gap: 0 0.48em;
  }
}
.blog .p-article_content h2.wp-block-heading:before {
  content: "";
  display: block;
  background: #4798a7;
  width: 50px;
  height: 2px;
  margin-top: 0.5lh;
}
@media (max-width: 1040px) {
  .blog .p-article_content h2.wp-block-heading:before {
    width: 42px;
  }
}
@media (max-width: 840px) {
  .blog .p-article_content h2.wp-block-heading:before {
    width: 34px;
  }
}
@media (max-width: 540px) {
  .blog .p-article_content h2.wp-block-heading:before {
    width: 26px;
  }
}
.p-article_content h3.wp-block-heading {
  font-size: 1.375rem;
  letter-spacing: 0.1em;
  line-height: 1.5;
  font-weight: 700;
  position: relative;
}
@media (max-width: 1040px) {
  .p-article_content h3.wp-block-heading {
    font-size: 1.3125rem;
    letter-spacing: 0.1em;
    line-height: 1.5;
    font-weight: 700;
  }
}
@media (max-width: 840px) {
  .p-article_content h3.wp-block-heading {
    font-size: 1.25rem;
    letter-spacing: 0.1em;
    line-height: 1.5;
    font-weight: 700;
  }
}
@media (max-width: 540px) {
  .p-article_content h3.wp-block-heading {
    font-size: 1.1875rem;
    letter-spacing: 0.1em;
    line-height: 1.5;
    font-weight: 700;
  }
}
.post .p-article_content h3.wp-block-heading, .event .p-article_content h3.wp-block-heading {
  display: inline-block;
  text-decoration: underline;
  text-decoration-thickness: 0.9em;
  text-decoration-color: #cee3e7;
  text-underline-offset: -0.35em;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  margin-top: 2.675em;
  margin-bottom: 0.75em;
}
.post .p-article_content h3.wp-block-heading:before, .post .p-article_content h3.wp-block-heading:after, .event .p-article_content h3.wp-block-heading:before, .event .p-article_content h3.wp-block-heading:after {
  content: "\e";
}
.blog .p-article_content h3.wp-block-heading {
  padding-left: calc(6px + 0.4em);
  margin-top: 4.25em;
  margin-bottom: 0.75em;
  line-height: 1.45;
  color: #4798a7;
}
.blog .p-article_content h3.wp-block-heading:before {
  content: "";
  display: block;
  width: 5px;
  height: 1.1em;
  background: #c4dee3;
  position: absolute;
  top: 0.25em;
  left: 0;
}

.p-article_content__pdf {
  margin-top: 3.6em;
}

.p-article_content__pdf__link {
  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;
  width: 400px;
  max-width: 100%;
  margin: 0 auto;
}
.p-article_content__pdf__link .__figure {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.8em 0;
}
.p-article_content__pdf__link .__figure .__figure__img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-article_content__pdf__link .__figure .__figure__caption {
  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;
  gap: 0 0.65em;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1;
  font-weight: 400;
}
.p-article_content__pdf__link .__figure .__figure__caption:before {
  content: "";
  display: block;
  width: 17px;
  height: auto;
  aspect-ratio: 73/75;
  background: url(./img/common/icon-common_download.svg) no-repeat center/contain;
}

/* .p-acv_pager */
.p-acv_pager {
  margin-top: 6.25em;
  grid-area: pager;
}
.p-works_main__wrapper > .p-acv_pager {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
}
@media (max-width: 1240px) {
  .p-acv_pager {
    margin-top: 5.65em;
  }
}
@media (max-width: 840px) {
  .p-acv_pager {
    margin-top: 5em;
  }
}
@media (max-width: 540px) {
  .p-acv_pager {
    margin-top: 4.4em;
  }
}
.p-acv_pager:not(:has(.nav-links)) {
  display: none;
}

.p-acv_pager__inner {
  width: 100%;
}
@media (min-width: 1241px) {
  body:not(#single):not(.event, .works, .tax_term_works_cat) .p-acv_pager__inner {
    max-width: 770px;
    margin-left: 80px;
  }
}
#single .p-acv_pager__inner {
  max-width: 850px;
}
@media (max-width: 1240px) {
  #single .p-acv_pager__inner {
    margin-left: auto;
    margin-right: auto;
  }
}
#single.event .p-acv_pager__inner {
  margin-left: auto;
  margin-right: auto;
}

.p-acv_pager__wrapper .navigation.pagination {
  position: relative;
}
@media (max-width: 1040px) {
  body:not(#single) .p-acv_pager__wrapper .navigation.pagination {
    display: none;
  }
}
.p-acv_pager__wrapper .navigation.pagination .nav-links {
  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;
  gap: 0 0.55em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 0;
  font-size: 1.125rem;
  letter-spacing: 0.1em;
  line-height: 1;
  font-weight: 500;
  color: #3f3c3c;
}
.p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers {
  width: 60px;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 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;
  position: relative;
  background: #fff;
  border: 1px solid #ddd;
  -webkit-transition: font 0.25s, border 0.25s;
  transition: font 0.25s, border 0.25s;
}
.p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers:not(.prev):not(.next) {
  padding-bottom: 0.1em;
}
.p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.current {
  pointer-events: none;
  color: #fff;
  background: #3f3c3c;
  border: 1px solid #3f3c3c;
}
.p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.dots {
  border: none;
  background: none;
}
.p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers:hover {
  opacity: 1;
  font-weight: 700;
  border-color: #3f3c3c;
}
body:not(#single) .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.prev, body:not(#single) .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.next {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
  padding: 0 1em;
  gap: 0 0.4em;
  background: #c4dee3;
  border: 1px solid #c4dee3;
  -webkit-transition: background 0.25s, border 0.25s;
  transition: background 0.25s, border 0.25s;
}
body:not(#single) .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.prev:hover, body:not(#single) .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.next:hover {
  background: #3f3c3c;
  border-color: #3f3c3c;
  opacity: 1;
}
body:not(#single) .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.prev:hover:before, body:not(#single) .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.next:hover:before {
  opacity: 0;
}
body:not(#single) .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.prev:hover:after, body:not(#single) .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.next:hover:after {
  opacity: 1;
}
body:not(#single) .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.prev:before, body:not(#single) .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.prev:after, body:not(#single) .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.next:before, body:not(#single) .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.next:after {
  content: "";
  display: block;
  width: 13px;
  height: auto;
  aspect-ratio: 103/150;
  background: url(./img/common/icon-common_pager__arrow__gr.svg) no-repeat center/contain;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
  will-change: opacity;
  position: absolute;
  top: 1px;
  bottom: 0;
  left: 1px;
  right: 0;
  margin: auto;
}
body:not(#single) .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.prev:after, body:not(#single) .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.next:after {
  background: url(./img/common/icon-common_pager__arrow__wt.svg) no-repeat center/contain;
  opacity: 0;
}
body:not(#single) .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.prev {
  left: 0;
}
body:not(#single) .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.prev:before, body:not(#single) .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.prev:after {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
body:not(#single) .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.next {
  right: 0;
}
#single .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers {
  position: relative;
}
#single .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.all {
  width: auto;
  aspect-ratio: auto;
  border: 0;
  background: none;
}
#single .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.all:hover {
  font-weight: inherit;
}
#single .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.all a {
  width: auto;
  padding: 0 1em;
  height: 60px;
  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;
  letter-spacing: 0.15em;
}
@media (max-width: 1240px) {
  #single .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.all a {
    font-size: 1.08125rem;
  }
}
@media (max-width: 840px) {
  #single .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.all a {
    font-size: 1.04375rem;
  }
}
@media (max-width: 540px) {
  #single .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.all a {
    font-size: 1rem;
  }
}
#single .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.prev, #single .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.next {
  width: auto;
  position: absolute;
  border: 0;
}
#single .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.prev a, #single .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.next a {
  width: 58px;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 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;
  background: #c4dee3;
  border: 1px solid #c4dee3;
  -webkit-transition: background 0.25s, border 0.25s;
  transition: background 0.25s, border 0.25s;
}
#single .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.prev a:hover, #single .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.next a:hover {
  background: #3f3c3c;
  border-color: #3f3c3c;
  opacity: 1;
}
#single .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.prev a:hover:before, #single .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.next a:hover:before {
  opacity: 0;
}
#single .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.prev a:hover:after, #single .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.next a:hover:after {
  opacity: 1;
}
#single .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.prev a:before, #single .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.prev a:after, #single .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.next a:before, #single .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.next a:after {
  content: "";
  display: block;
  width: 13px;
  height: auto;
  aspect-ratio: 103/150;
  background: url(./img/common/icon-common_pager__arrow__gr.svg) no-repeat center/contain;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
  will-change: opacity;
  position: absolute;
  top: 1px;
  bottom: 0;
  left: 1px;
  right: 0;
  margin: auto;
}
#single .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.prev a:after, #single .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.next a:after {
  background: url(./img/common/icon-common_pager__arrow__wt.svg) no-repeat center/contain;
  opacity: 0;
}
#single .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.prev {
  left: 0;
}
#single .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.prev a:before, #single .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.prev a:after {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
#single .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.next {
  right: 0;
}
@media (max-width: 480px) {
  body:not(#single) .p-acv_pager__wrapper .navigation.pagination .nav-links:has(.prev):has(.dots):has(.next) {
    width: 100%;
    padding-bottom: calc(48px + 0.25em);
  }
  body:not(#single) .p-acv_pager__wrapper .navigation.pagination .nav-links:has(.prev):has(.dots):has(.next) .page-numbers.prev, body:not(#single) .p-acv_pager__wrapper .navigation.pagination .nav-links:has(.prev):has(.dots):has(.next) .page-numbers.next {
    -webkit-transform: none;
            transform: none;
    top: auto;
    max-height: 48px;
  }
  body:not(#single) .p-acv_pager__wrapper .navigation.pagination .nav-links:has(.prev):has(.dots):has(.next) .page-numbers.prev {
    left: 0;
  }
  body:not(#single) .p-acv_pager__wrapper .navigation.pagination .nav-links:has(.prev):has(.dots):has(.next) .page-numbers {
    right: 0;
  }
}
.p-acv_pager__wrapper .sp-nav-links {
  position: relative;
}
@media (min-width: 1041px) {
  .p-acv_pager__wrapper .sp-nav-links {
    display: none;
  }
}
.p-acv_pager__wrapper .sp-nav-links .sp-nav-links__wrapper {
  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;
  gap: 0 0.55em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 0;
  font-size: 1.125rem;
  letter-spacing: 0.1em;
  line-height: 1;
  font-weight: 500;
  color: #3f3c3c;
}
.p-acv_pager__wrapper .sp-nav-links .sp-nav-links__wrapper .sp-pagination__arrow {
  width: 60px;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 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;
  position: relative;
  background: #fff;
  border: 1px solid #ddd;
  -webkit-transition: font 0.25s, border 0.25s;
  transition: font 0.25s, border 0.25s;
}
@media (max-width: 840px) {
  .p-acv_pager__wrapper .sp-nav-links .sp-nav-links__wrapper .sp-pagination__arrow {
    width: 55px;
  }
}
@media (max-width: 540px) {
  .p-acv_pager__wrapper .sp-nav-links .sp-nav-links__wrapper .sp-pagination__arrow {
    width: 50px;
  }
}
.p-acv_pager__wrapper .sp-nav-links .sp-nav-links__wrapper .sp-pagination__arrow.prev, .p-acv_pager__wrapper .sp-nav-links .sp-nav-links__wrapper .sp-pagination__arrow.next {
  width: auto;
  position: absolute;
  border: 0;
}
.p-acv_pager__wrapper .sp-nav-links .sp-nav-links__wrapper .sp-pagination__arrow.prev a, .p-acv_pager__wrapper .sp-nav-links .sp-nav-links__wrapper .sp-pagination__arrow.next a {
  width: 60px;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 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;
  background: #c4dee3;
  border: 1px solid #c4dee3;
  -webkit-transition: background 0.25s, border 0.25s;
  transition: background 0.25s, border 0.25s;
}
@media (max-width: 840px) {
  .p-acv_pager__wrapper .sp-nav-links .sp-nav-links__wrapper .sp-pagination__arrow.prev a, .p-acv_pager__wrapper .sp-nav-links .sp-nav-links__wrapper .sp-pagination__arrow.next a {
    width: 55px;
  }
}
@media (max-width: 540px) {
  .p-acv_pager__wrapper .sp-nav-links .sp-nav-links__wrapper .sp-pagination__arrow.prev a, .p-acv_pager__wrapper .sp-nav-links .sp-nav-links__wrapper .sp-pagination__arrow.next a {
    width: 50px;
  }
}
.p-acv_pager__wrapper .sp-nav-links .sp-nav-links__wrapper .sp-pagination__arrow.prev a:hover, .p-acv_pager__wrapper .sp-nav-links .sp-nav-links__wrapper .sp-pagination__arrow.next a:hover {
  background: #3f3c3c;
  border-color: #3f3c3c;
  opacity: 1;
}
.p-acv_pager__wrapper .sp-nav-links .sp-nav-links__wrapper .sp-pagination__arrow.prev a:hover:before, .p-acv_pager__wrapper .sp-nav-links .sp-nav-links__wrapper .sp-pagination__arrow.next a:hover:before {
  opacity: 0;
}
.p-acv_pager__wrapper .sp-nav-links .sp-nav-links__wrapper .sp-pagination__arrow.prev a:hover:after, .p-acv_pager__wrapper .sp-nav-links .sp-nav-links__wrapper .sp-pagination__arrow.next a:hover:after {
  opacity: 1;
}
.p-acv_pager__wrapper .sp-nav-links .sp-nav-links__wrapper .sp-pagination__arrow.prev a:before, .p-acv_pager__wrapper .sp-nav-links .sp-nav-links__wrapper .sp-pagination__arrow.prev a:after, .p-acv_pager__wrapper .sp-nav-links .sp-nav-links__wrapper .sp-pagination__arrow.next a:before, .p-acv_pager__wrapper .sp-nav-links .sp-nav-links__wrapper .sp-pagination__arrow.next a:after {
  content: "";
  display: block;
  width: 13px;
  height: auto;
  aspect-ratio: 103/150;
  background: url(./img/common/icon-common_pager__arrow__gr.svg) no-repeat center/contain;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
  will-change: opacity;
  position: absolute;
  top: 1px;
  bottom: 0;
  left: 1px;
  right: 0;
  margin: auto;
}
.p-acv_pager__wrapper .sp-nav-links .sp-nav-links__wrapper .sp-pagination__arrow.prev a:after, .p-acv_pager__wrapper .sp-nav-links .sp-nav-links__wrapper .sp-pagination__arrow.next a:after {
  background: url(./img/common/icon-common_pager__arrow__wt.svg) no-repeat center/contain;
  opacity: 0;
}
.p-acv_pager__wrapper .sp-nav-links .sp-nav-links__wrapper .sp-pagination__arrow.prev {
  left: 0;
}
.p-acv_pager__wrapper .sp-nav-links .sp-nav-links__wrapper .sp-pagination__arrow.prev a:before, .p-acv_pager__wrapper .sp-nav-links .sp-nav-links__wrapper .sp-pagination__arrow.prev a:after {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
.p-acv_pager__wrapper .sp-nav-links .sp-nav-links__wrapper .sp-pagination__arrow.next {
  right: 0;
}
.p-acv_pager__wrapper .sp-nav-links .sp-nav-links__wrapper .sp-pagination__select {
  width: 140px;
  height: 50px;
  border: 1px solid #ddd;
  background: #fff;
  border-radius: 25px;
  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;
  position: relative;
  -webkit-transition: border 0.25s;
  transition: border 0.25s;
}
.p-acv_pager__wrapper .sp-nav-links .sp-nav-links__wrapper .sp-pagination__select:hover {
  border-color: #000;
}
.p-acv_pager__wrapper .sp-nav-links .sp-nav-links__wrapper .sp-pagination__select select {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  z-index: 10;
  cursor: pointer;
}
.p-acv_pager__wrapper .sp-nav-links .sp-nav-links__wrapper .sp-pagination__select .sp-pagination__count {
  color: #3f3c3c;
  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;
}
.p-acv_pager__wrapper .sp-nav-links .sp-nav-links__wrapper .sp-pagination__select .sp-pagination__count .__num {
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1;
  font-weight: 500;
  padding: 0 1.5em 0.1em 1em;
}
.js-isSafari .p-acv_pager__wrapper .sp-nav-links .sp-nav-links__wrapper .sp-pagination__select .sp-pagination__count .__num {
  padding-bottom: 0.2em;
}
.p-acv_pager__wrapper .sp-nav-links .sp-nav-links__wrapper .sp-pagination__select .sp-pagination__count:after {
  content: "";
  display: block;
  width: 17px;
  height: auto;
  aspect-ratio: 89/50;
  background: url(./img/common/icon-common_pager__sp.svg) no-repeat center/contain;
}

/* .p-sidenav */
.p-sidenav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.15em 2em;
  grid-area: side;
  z-index: 10;
}
.p-works_main__wrapper > .p-sidenav {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}
@media (min-width: 1241px) {
  .p-sidenav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  body#single:not(.works) .p-sidenav {
    padding-top: 0.8em;
  }
}
@media (max-width: 1240px) {
  .p-sidenav {
    width: 100%;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 4em 0;
    margin-top: 5em;
  }
}
@media (max-width: 840px) {
  .p-sidenav {
    margin-top: 4.5em;
    gap: 3.25em 0;
  }
}
@media (max-width: 540px) {
  .p-sidenav {
    margin-top: 4em;
    gap: 2.5em 0;
  }
}

.p-sidenav__wrapper {
  position: relative;
  background: #f2f2f2;
  border-radius: 15px;
  overflow: hidden;
}
@media (max-width: 1240px) {
  .p-sidenav__wrapper {
    width: 47.5%;
  }
}
@media (max-width: 840px) {
  .p-sidenav__wrapper {
    width: 100%;
  }
}

.p-sidenav_ttl {
  background: #3f3c3c;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 1em;
  height: 60px;
  padding: 0 8%;
}
.p-sidenav_ttl .__jp {
  font-size: 1.125rem;
  letter-spacing: 0.1em;
  line-height: 1;
  font-weight: 700;
}
.p-sidenav_ttl .__en {
  font-size: 0.75rem;
  letter-spacing: 0.15em;
  line-height: 1;
  font-weight: 700;
}

.p-sidenav_list {
  margin: 0.3em 8% 1em;
}
.p-sidenav_list li {
  position: relative;
}
.p-sidenav_list li:not(:last-of-type):after {
  content: "";
  display: block;
  background: -webkit-gradient(linear, left top, right top, from(rgb(170, 170, 170)), color-stop(50%, rgb(170, 170, 170)), color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0))) 0% 0%;
  background: linear-gradient(to right, rgb(170, 170, 170), rgb(170, 170, 170) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0) 100%) 0% 0%;
  background-size: 6px 1px;
  height: 1px;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}
.p-sidenav_list li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.79em 4.5%;
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  line-height: 1.5;
  font-weight: 400;
  -webkit-transition: color 0.25s, font-weight 0.25s;
  transition: color 0.25s, font-weight 0.25s;
}
.p-sidenav_list li a:hover {
  opacity: 1;
  color: #4798a7;
  font-weight: 700;
}
.p-sidenav_list li.is-active a {
  font-weight: 700;
}
.p-sidenav_list:not(:has(.is-active)) li:first-of-type a {
  font-weight: 700;
}

.p-sidenav_select {
  padding-bottom: 3px;
  position: relative;
}
.p-sidenav_select .__monthSelect {
  width: 100%;
  height: 50px;
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  line-height: 1;
  font-weight: 400;
  padding: 0 12%;
  cursor: pointer;
}
.p-sidenav_select:after {
  content: "";
  display: block;
  width: 15px;
  height: auto;
  aspect-ratio: 131/75;
  background: url(./img/common/icon-common_side__arrow.svg) no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: 8%;
  -webkit-transform: translateY(-61%);
          transform: translateY(-61%);
}

/* works
  ========================================================================== */
/* .p-parts_hero__pic */
body.works .p-parts_hero__pic {
  -webkit-transform: translateY(52.6%);
          transform: translateY(52.6%);
}
@media (max-width: 1240px) {
  body.works .p-parts_hero__pic {
    -webkit-transform: translateY(55.73%);
            transform: translateY(55.73%);
  }
}
@media (max-width: 840px) {
  body.works .p-parts_hero__pic {
    -webkit-transform: translateY(58.86%);
            transform: translateY(58.86%);
  }
}
@media (max-width: 540px) {
  body.works .p-parts_hero__pic {
    zoom: 0.63;
    -webkit-transform: translateY(62%);
            transform: translateY(62%);
  }
}

/* .p-works_tax */
.p-works_tax {
  position: relative;
  z-index: 10;
}
body:not(#single) .p-works_tax {
  margin-top: 6.05em;
}
@media (max-width: 1240px) {
  body:not(#single) .p-works_tax {
    margin-top: 4.7em;
  }
}
@media (max-width: 840px) {
  body:not(#single) .p-works_tax {
    margin-top: 3.4em;
  }
}
@media (max-width: 540px) {
  body:not(#single) .p-works_tax {
    margin-top: 2.1em;
  }
}
#single .p-works_tax {
  margin-top: 6.2em;
}

.p-works_tax__wrapper {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 100%;
  grid-template-columns: 100%;
}
@media (max-width: 840px) {
  .p-works_tax__wrapper {
    max-width: 84%;
  }
}
@media (min-width: 921px) {
  body:not(#single) .p-works_tax__wrapper {
    -ms-grid-columns: 20.83% 1fr;
    grid-template-columns: 20.83% 1fr;
  }
}
#single .p-works_tax__wrapper {
  width: 850px;
  max-width: 100%;
  margin-left: 0;
}
@media (max-width: 1240px) {
  #single .p-works_tax__wrapper {
    width: 100%;
  }
}
.p-works_tax__wrapper + .p-works_tax__wrapper {
  margin-top: 3.1em;
}
@media (max-width: 1240px) {
  .p-works_tax__wrapper + .p-works_tax__wrapper {
    margin-top: 2.65em;
  }
}
@media (max-width: 840px) {
  .p-works_tax__wrapper + .p-works_tax__wrapper {
    margin-top: 2.2em;
  }
}
@media (max-width: 540px) {
  .p-works_tax__wrapper + .p-works_tax__wrapper {
    margin-top: 1.7em;
  }
}

.p-works_tax__title {
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  line-height: 2.7857142857;
  font-weight: 700;
}
@media (max-width: 920px) {
  body:not(#single) .p-works_tax__title {
    margin-left: -0.66em;
  }
}
#single .p-works_tax__title {
  line-height: 1;
  margin-left: -0.6em;
}

.p-works_tax__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.65em 1.05%;
}
@media (max-width: 920px) {
  .p-works_tax__list {
    margin-top: 0.4em;
  }
}
@media (max-width: 620px) {
  .p-works_tax__list {
    gap: 0.575em 2.86%;
  }
}
#single .p-works_tax__list {
  margin-top: 1.25em;
}
.p-works_tax__list li {
  width: 24.2125%;
}
@media (max-width: 1240px) and (min-width: 621px) {
  body:not(#single) .p-works_tax__list li {
    width: 32.6333333333%;
  }
}
@media (max-width: 1040px) and (min-width: 621px) {
  #single .p-works_tax__list li {
    width: 32.6333333333%;
  }
}
@media (max-width: 620px) {
  .p-works_tax__list li {
    width: 48.57%;
  }
}
.p-works_tax__list li .p-works_tax__item {
  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;
  text-align: center;
  min-height: 40px;
  background: #fff;
  border: 1px solid #aaa;
  border-radius: 30px;
  padding: 0.25em 1em;
  font-size: 0.8125rem;
  letter-spacing: 0.05em;
  line-height: 1.1538461538;
  font-weight: 500;
  word-break: keep-all;
  -webkit-transition: background 0.25s;
  transition: background 0.25s;
  cursor: pointer;
}
@media (max-width: 620px) {
  .p-works_tax__list li .p-works_tax__item[data-length=more] {
    font-size: 0.75rem;
    letter-spacing: 0em;
    line-height: 1.1666666667;
    font-weight: 500;
  }
}
.p-works_tax__list li .p-works_tax__item:has(.js-filter-cat:checked), .p-works_tax__list li .p-works_tax__item:has(.js-filter-price:checked) {
  background: #f8f5e2;
}
.p-works_tax__list li {
  /*a {
  	display: flex;
  	justify-content: center;
  	align-items: center;
  	text-align: center;
  	min-height: 40px;
  	background: #fff;
  	border: 1px solid #aaa;
  	border-radius: 30px;
  	padding: 0.25em 1em;
  	@include font-family.font(13, 50, 15, 500);
  	word-break: keep-all;
  	@media (max-width: 620px) {
  		&[data-length="more"] {
  			@include font-family.font(12, 0, 14, 500);
  		}
  	}
  }*/
}

/* .p-works_single(archive) */
.p-works_single {
  margin-top: 6.2em;
}
@media (max-width: 840px) {
  .p-works_single {
    margin-top: 6.25em;
  }
}
.p-works_single .__dec01 {
  position: absolute;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  height: auto;
  z-index: 1;
  aspect-ratio: 284.8/234.6;
  width: 335px;
  top: -2.75%;
  right: 0;
  -webkit-transform: translate(17%, 0);
          transform: translate(17%, 0);
}
@media (max-width: 1240px) {
  .p-works_single .__dec01 {
    width: 206px;
    top: -2.5%;
    right: -1.33%;
  }
}
@media (max-width: 840px) {
  .p-works_single .__dec01 {
    width: 277px;
    top: -2.25%;
    right: -2.66%;
  }
}
@media (max-width: 540px) {
  .p-works_single .__dec01 {
    width: 248px;
    top: -2%;
    right: -4%;
  }
}
.p-works_single .__dec01 svg {
  fill: #dff1f4;
  rotate: -144deg;
}
.p-works_single .__dec02 {
  position: absolute;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  height: auto;
  z-index: 1;
  aspect-ratio: 335.2/259.8;
  width: 297px;
  top: 31%;
  left: 0;
  -webkit-transform: translate(-15%, 0);
          transform: translate(-15%, 0);
}
@media (max-width: 1240px) {
  .p-works_single .__dec02 {
    width: 272px;
    top: 28.6%;
    -webkit-transform: translate(-13.6%, 0);
            transform: translate(-13.6%, 0);
  }
}
@media (max-width: 840px) {
  .p-works_single .__dec02 {
    width: 247px;
    top: 26.3%;
    -webkit-transform: translate(-12.3%, 0);
            transform: translate(-12.3%, 0);
  }
}
@media (max-width: 540px) {
  .p-works_single .__dec02 {
    width: 223px;
    top: 23.9%;
    -webkit-transform: translate(-11%, 0);
            transform: translate(-11%, 0);
  }
}
.p-works_single .__dec02 svg {
  rotate: 29deg;
  fill: #f8f4ee;
}
.p-works_single .__dec03 {
  position: absolute;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  height: auto;
  z-index: 1;
  aspect-ratio: 323.5/276.2;
  width: 265px;
  bottom: 30.05%;
  right: 27.3%;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}
@media (max-width: 1240px) {
  .p-works_single .__dec03 {
    width: 250px;
    -webkit-transform: translate(11%, -112%);
            transform: translate(11%, -112%);
  }
}
@media (max-width: 840px) {
  .p-works_single .__dec03 {
    width: 235px;
    -webkit-transform: translate(11.25%, -106.5%);
            transform: translate(11.25%, -106.5%);
  }
}
@media (max-width: 540px) {
  .p-works_single .__dec03 {
    width: 221px;
    -webkit-transform: translate(11.5%, -101%);
            transform: translate(11.5%, -101%);
  }
}
.p-works_single .__dec03 svg {
  fill: #eee;
}

.p-works_single__wrapper {
  position: relative;
  z-index: 10;
}
@media (max-width: 840px) {
  .p-works_single__wrapper {
    max-width: 84%;
  }
}

.p-works_posts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 3.14em 2.5%;
}
@media (max-width: 680px) {
  .p-works_posts {
    gap: 3.11em 2.5%;
  }
}

.p-works_posts__empty {
  width: 100%;
  padding: 3em 1em;
  text-align: center;
  border: 2px solid #3f3c3c;
  background: rgba(255, 255, 255, 0.5);
}
.p-works_posts__empty .p-works_posts__empty-msg {
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  line-height: 1.5;
  font-weight: 500;
  margin: 0;
}

.p-works_posts__wrapper {
  width: 31.6666666667%;
}
@media (max-width: 1040px) {
  .p-works_posts__wrapper {
    width: 48.75%;
  }
}
@media (max-width: 680px) {
  .p-works_posts__wrapper {
    width: 100%;
  }
}
.p-works_posts__wrapper .__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.8em 0;
}
@media (max-width: 680px) {
  .p-works_posts__wrapper .__link {
    gap: 0.825em 0;
  }
}
.p-works_posts__wrapper .__link .__link__figure .__link__figure__img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-works_posts__wrapper .__link .__link__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.25em 0;
}
.p-works_posts__wrapper .__link .__link__info .__link__info__name {
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  line-height: 1.8571428571;
  font-weight: 500;
}
.p-works_posts__wrapper .__link .__link__info .__link__info__cat {
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  line-height: 1;
  font-weight: 500;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.p-works_posts__wrapper .__link .__link__info .__link__info__cat .__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
}
@media (max-width: 840px) {
  .p-works_posts__wrapper .__link .__link__info .__link__info__cat .__text {
    gap: 10px 12px;
  }
}
@media (max-width: 540px) {
  .p-works_posts__wrapper .__link .__link__info .__link__info__cat .__text {
    gap: 10px 14px;
  }
}
.p-works_posts__wrapper .__link .__link__info .__link__info__cat .__text li {
  border: 1px solid #aaa;
  background: #fff;
  height: 26px;
  border-radius: 13px;
  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;
  min-width: 120px;
  padding: 0 1.7em;
  /*&:not(:last-of-type):after {
  	content: "・";
  	//padding: 0 0.25em;
  }*/
}

/* p-works_main(single) */
.p-works_main .__dec01 {
  position: absolute;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  height: auto;
  z-index: 1;
  aspect-ratio: 284.8/234.6;
  width: 335px;
  top: 8.3%;
  right: 0;
  -webkit-transform: translate(17%, 0);
          transform: translate(17%, 0);
}
@media (max-width: 1240px) {
  .p-works_main .__dec01 {
    width: 289px;
  }
}
@media (max-width: 840px) {
  .p-works_main .__dec01 {
    width: 244px;
  }
}
@media (max-width: 540px) {
  .p-works_main .__dec01 {
    width: 199px;
  }
}
.p-works_main .__dec01 svg {
  fill: #dff1f4;
  rotate: -144deg;
}
.p-works_main .__dec02 {
  position: absolute;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  height: auto;
  z-index: 1;
  aspect-ratio: 335.2/259.8;
  width: 297px;
  top: 29.9%;
  left: 0;
  -webkit-transform: translate(-15%, 0);
          transform: translate(-15%, 0);
}
@media (max-width: 1240px) {
  .p-works_main .__dec02 {
    width: 257px;
  }
}
@media (max-width: 840px) {
  .p-works_main .__dec02 {
    width: 217px;
  }
}
@media (max-width: 540px) {
  .p-works_main .__dec02 {
    width: 178px;
  }
}
.p-works_main .__dec02 svg {
  rotate: 29deg;
  fill: #f8f4ee;
}
.p-works_main .__dec03 {
  position: absolute;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  height: auto;
  z-index: 1;
  aspect-ratio: 323.5/276.2;
  width: 265px;
  bottom: 46.75%;
  right: 27.3%;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}
@media (max-width: 1240px) {
  .p-works_main .__dec03 {
    width: 233px;
    -webkit-transform: translate(11%, -112%);
            transform: translate(11%, -112%);
  }
}
@media (max-width: 840px) {
  .p-works_main .__dec03 {
    width: 201px;
    -webkit-transform: translate(6%, -108%);
            transform: translate(6%, -108%);
  }
}
@media (max-width: 540px) {
  .p-works_main .__dec03 {
    width: 169px;
    -webkit-transform: translate(1%, -105%);
            transform: translate(1%, -105%);
  }
}
.p-works_main .__dec03 svg {
  fill: #eee;
}

.p-works_main__wrapper {
  margin: 6.05em auto 0;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: calc(95% - 250px) 5% 250px;
  grid-template-columns: calc(95% - 250px) 250px;
  -ms-grid-rows: 1fr (auto)[2];
  grid-template-rows: 1fr repeat(2, auto);
  grid-column-gap: 5%;
      grid-template-areas: "posts side" "pager ." "tax .";
  position: relative;
  z-index: 10;
}
@media (max-width: 1240px) {
  .p-works_main__wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 4.9em;
  }
}
@media (max-width: 840px) {
  .p-works_main__wrapper {
    margin-top: 3.5em;
    max-width: 84%;
  }
}
@media (max-width: 540px) {
  .p-works_main__wrapper {
    margin-top: 2.1em;
  }
}
.p-works_main__wrapper .p-works_tax {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  grid-area: tax;
}

.p-works_article__ttl {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 100%;
  grid-template-columns: 100%;
  -ms-grid-rows: auto 0.75em auto 0.75em auto;
  grid-template-rows: repeat(3, auto);
      grid-template-areas: "name" "cat" "title";
  grid-column-gap: 1.1em;
  grid-row-gap: 0.75em;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-works_article__ttl .__cat {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  line-height: 1;
  font-weight: 500;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  grid-area: cat;
}
.p-works_article__ttl .__cat .__cat__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
}
@media (max-width: 840px) {
  .p-works_article__ttl .__cat .__cat__text {
    gap: 9px 10px;
  }
}
@media (max-width: 540px) {
  .p-works_article__ttl .__cat .__cat__text {
    gap: 8px 10px;
  }
}
.p-works_article__ttl .__cat .__cat__text li {
  border: 1px solid #aaa;
  background: #fff;
  height: 26px;
  border-radius: 13px;
  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;
  min-width: 120px;
  border-radius: 20px;
  padding: 0 1.7em;
  /*
  &:not(:last-of-type):after {
  	content: "・";
  	//padding: 0 0.25em;
  }*/
}
.p-works_article__ttl .__name {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  grid-area: name;
  letter-spacing: 0.1em;
  line-height: 1;
  border-bottom: 1px solid #ddd;
  padding-bottom: 1.1em;
}
.p-works_article__ttl .__title {
      -ms-grid-row: 5;
      -ms-grid-column: 1;
      -ms-grid-column-span: 1;
      align-self: start;
  font-size: 1.875rem;
  letter-spacing: 0.1em;
  line-height: 1.6666666667;
  font-weight: 500;
  grid-area: title;
  padding-top: 1.27em;
}
@media (max-width: 1040px) {
  .p-works_article__ttl .__title {
    font-size: 1.75rem;
    letter-spacing: 0.1em;
    line-height: 1.5;
    font-weight: 500;
  }
}
@media (max-width: 840px) {
  .p-works_article__ttl .__title {
    font-size: 1.625rem;
    letter-spacing: 0.1em;
    line-height: 1.5;
    font-weight: 500;
  }
}
@media (max-width: 540px) {
  .p-works_article__ttl .__title {
    font-size: 1.5rem;
    letter-spacing: 0.1em;
    line-height: 1.5;
    font-weight: 500;
  }
}

/* .p-works_slider */
.p-works_slider {
  padding: 3.8em 0 0.5em;
}

.p-works_slider__main:not(.slick-initialized) .p-works_slider__item:not(:first-of-type),
.p-works_slider__thumbnail:not(.slick-initialized) .p-works_slider__item:not(:first-of-type) {
  display: none;
}

.p-works_slider__item img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-works_slider__main {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 700px;
}
.p-works_slider__main .p-works_slider__item {
  aspect-ratio: 700/467;
  height: auto;
  width: 100%;
}
.p-works_slider__main .slick-arrow {
  height: auto;
  width: 24px;
  aspect-ratio: 67/150;
  background: url(./img/works/icon-works_slider__arrow.svg) no-repeat center/contain;
  z-index: 10;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
}
.p-works_slider__main .slick-arrow:hover {
  opacity: 0.5;
}
@media (max-width: 1240px) {
  .p-works_slider__main .slick-arrow {
    width: 20px;
  }
}
@media (max-width: 840px) {
  .p-works_slider__main .slick-arrow {
    width: 16px;
  }
}
@media (max-width: 540px) {
  .p-works_slider__main .slick-arrow {
    width: 12px;
  }
}
.p-works_slider__main .slick-arrow.slick-prev {
  left: -4.3%;
  -webkit-transform: translate(-100%, -50%) scale(-1, 1);
          transform: translate(-100%, -50%) scale(-1, 1);
}
@media (max-width: 840px) {
  .p-works_slider__main .slick-arrow.slick-prev {
    left: 3%;
    -webkit-transform: translate(0, -50%) scale(-1, 1);
            transform: translate(0, -50%) scale(-1, 1);
  }
}
.p-works_slider__main .slick-arrow.slick-next {
  right: -4.3%;
  -webkit-transform: translate(100%, -50%);
          transform: translate(100%, -50%);
}
@media (max-width: 840px) {
  .p-works_slider__main .slick-arrow.slick-next {
    right: 3%;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
}

.p-works_slider__thumbnail {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 700px;
}
.p-works_slider__thumbnail .slick-list {
  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;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
}
.p-works_slider__thumbnail .slick-list .slick-track {
  -webkit-transform: unset !important;
          transform: unset !important;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  min-width: 100% !important;
}
.p-works_slider__thumbnail .p-works_slider__item {
  cursor: pointer;
  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;
  height: auto;
  aspect-ratio: 100/67;
  margin-top: 20px;
  position: relative;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
}
.p-works_slider__thumbnail .p-works_slider__item:hover {
  opacity: 0.5;
}
@media (min-width: 641px) {
  .p-works_slider__thumbnail .p-works_slider__item {
    width: 14.2833333333% !important;
  }
  .p-works_slider__thumbnail .p-works_slider__item:not(:nth-of-type(6n + 1)) {
    margin-left: 2.86%;
  }
}
@media (max-width: 640px) {
  .p-works_slider__thumbnail .p-works_slider__item {
    margin-top: 10px;
    width: 22.855% !important;
  }
  .p-works_slider__thumbnail .p-works_slider__item:not(:nth-of-type(4n + 1)) {
    margin-left: 2.86%;
  }
}
.p-works_slider__thumbnail .p-works_slider__item:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border: 1px solid #ddd;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.p-works_slider__thumbnail .p-works_slider__item img {
  position: relative;
  z-index: 10;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-works_slider__thumbnail .p-works_slider__item.slick-cloned {
  display: none;
}

/* event
  ========================================================================== */
/* .p-parts_hero__pic */
body.event .p-parts_hero__pic {
  right: 5.7%;
  -webkit-transform: translateY(48.9%);
          transform: translateY(48.9%);
}
@media (max-width: 1240px) {
  body.event .p-parts_hero__pic {
    right: 5.2%;
    -webkit-transform: translateY(52.73%);
            transform: translateY(52.73%);
  }
}
@media (max-width: 840px) {
  body.event .p-parts_hero__pic {
    right: 4.7%;
    -webkit-transform: translateY(56.56%);
            transform: translateY(56.56%);
  }
}
@media (max-width: 540px) {
  body.event .p-parts_hero__pic {
    right: 4.25%;
    -webkit-transform: translateY(60.4%);
            transform: translateY(60.4%);
  }
}

/* .p-event_main */
.p-event_main {
  margin-top: 6.05em;
  background: #f8f4ee;
}
@media (max-width: 1240px) {
  .p-event_main {
    margin-top: 4.95em;
  }
}
@media (max-width: 840px) {
  .p-event_main {
    margin-top: 3.85em;
  }
}
@media (max-width: 540px) {
  .p-event_main {
    margin-top: 2.75em;
  }
}
.p-event_main:after {
  content: "";
  display: block;
  position: absolute;
  background-size: 700px 100%;
  background-position: left bottom;
  background-repeat: repeat-x;
  width: 100%;
  height: 60px;
  top: 0;
  left: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  pointer-events: none;
  background-image: url("./img/common/dec-wave_wt.svg");
}
@media (max-width: 1240px) {
  .p-event_main:after {
    background-size: 531px 100%;
    height: 45px;
  }
}
@media (max-width: 840px) {
  .p-event_main:after {
    background-size: 362px 100%;
    height: 30px;
  }
}
@media (max-width: 540px) {
  .p-event_main:after {
    background-size: 194px 100%;
    height: 16px;
  }
}
.p-event_main:after {
  top: auto;
  bottom: 0;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/* .p-eventnav */
.p-eventnav {
  padding-top: 5em;
}
@media (max-width: 1240px) {
  .p-eventnav {
    padding-top: 4.4em;
  }
}
@media (max-width: 840px) {
  .p-eventnav {
    padding-top: 3.8em;
  }
}
@media (max-width: 540px) {
  .p-eventnav {
    padding-top: 3.2em;
  }
}

.p-eventnav__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.6em;
}
@media (max-width: 840px) {
  .p-eventnav__wrapper {
    max-width: 84%;
  }
}
@media (max-width: 540px) {
  .p-eventnav__wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.p-eventnav__form {
  position: relative;
}
.p-eventnav__form:after {
  content: "";
  display: block;
  width: auto;
  height: 9px;
  aspect-ratio: 89/50;
  background: url(./img/event/icon-event_select__arrow.svg) no-repeat center/contain;
  position: absolute;
  right: 8.05%;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.p-eventnav__form__select {
  height: 50px;
  min-width: 230px;
  border-radius: 25px;
  background: #3f3c3c;
  color: #fff;
  padding: 0 5% 0 13%;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
  cursor: pointer;
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  line-height: 1;
  font-weight: 500;
}
@media (max-width: 540px) {
  .p-eventnav__form__select {
    width: 100%;
  }
}
.p-eventnav__form__select:hover {
  opacity: 0.5;
}
/* .p-event_main__wrapper */
.p-event_main__wrapper {
  padding-bottom: 10em;
}
@media (max-width: 1040px) {
  .p-event_main__wrapper {
    padding-bottom: 8.4em;
  }
}
@media (max-width: 840px) {
  .p-event_main__wrapper {
    padding-bottom: 6.8em;
  }
}
@media (max-width: 540px) {
  .p-event_main__wrapper {
    padding-bottom: 5.2em;
  }
}
body:not(#single) .p-event_main__wrapper {
  padding-top: 3.15em;
  max-width: 84%;
}
#single .p-event_main__wrapper {
  width: 850px;
  padding-top: 6.25em;
}
@media (max-width: 1240px) {
  #single .p-event_main__wrapper {
    padding-top: 5.24em;
  }
}
@media (max-width: 840px) {
  #single .p-event_main__wrapper {
    max-width: 84%;
    padding-top: 4.22em;
  }
}
@media (max-width: 540px) {
  #single .p-event_main__wrapper {
    padding-top: 3.2em;
  }
}

.p-event_posts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 3.75em 2.495%;
}
@media (max-width: 1140px) {
  .p-event_posts {
    max-width: 840px;
    margin-left: auto;
    margin-right: auto;
    gap: 2.75em 2.495%;
  }
}
@media (max-width: 720px) {
  .p-event_posts {
    max-width: 540px;
    gap: 1.75em 2.495%;
  }
}

.p-event_posts__box {
  width: 31.67%;
  border-radius: 15px;
  overflow: hidden;
  background: #fff;
  position: relative;
}
@media (max-width: 1140px) {
  .p-event_posts__box {
    width: 48.7525%;
  }
}
@media (max-width: 720px) {
  .p-event_posts__box {
    width: 100%;
  }
}
.p-event_posts__box.is-end:before {
  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;
  content: "イベントは終了しました";
  color: #fff;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  background: rgba(34, 34, 34, 0.7);
  font-size: 1.25rem;
  letter-spacing: 0.1em;
  line-height: 1;
  font-weight: 700;
}
@media (max-width: 1140px) {
  .p-event_posts__box.is-end:before {
    font-size: 1.1875rem;
  }
}
@media (max-width: 720px) {
  .p-event_posts__box.is-end:before {
    font-size: 1.125rem;
  }
}

.p-event_posts__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
}
.is-end .p-event_posts__link {
  pointer-events: none;
}

.p-event_posts__link__pic {
  position: relative;
}
.p-event_posts__link__pic .__figure .__figure__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-event_posts__link__pic .__cat {
  position: absolute;
  left: 1.2%;
  bottom: 2.2%;
  height: 24px;
  padding: 0 0.55em;
  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;
}
.p-event_posts__link__pic .__cat .__cat__text {
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  line-height: 1;
  font-weight: 700;
  color: #fff;
}

.p-event_posts__link__info {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 0.9em 5% 1.05em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.p-event_posts__link__info .__title {
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
  font-weight: 700;
  color: #3f3c3c;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-height: 1.5lh;
  margin-bottom: 0.5em;
}
.p-event_posts__link__info .__date,
.p-event_posts__link__info .__place {
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1.5714285714;
  font-weight: 400;
  color: #666;
}
/* .p-event_main */
.p-event_article__ttl {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 1.25em 1fr;
  grid-template-columns: auto 1fr;
  -ms-grid-rows: auto 2.6em auto;
      grid-template-areas: "cat place" "title title";
  grid-column-gap: 1.25em;
  grid-row-gap: 2.6em;
}
@media (max-width: 1240px) {
  .p-event_article__ttl {
    grid-row-gap: 2.25em;
  }
}
@media (max-width: 840px) {
  .p-event_article__ttl {
    grid-row-gap: 1.9em;
  }
}
@media (max-width: 540px) {
  .p-event_article__ttl {
    grid-row-gap: 1.5em;
  }
}
.p-event_article__ttl .__cat {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  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;
  height: 24px;
  max-width: 130px;
  padding: 0 0.55em;
  grid-area: cat;
}
.p-event_article__ttl .__cat .__cat__text {
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  line-height: 1;
  font-weight: 700;
  color: #fff;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.p-event_article__ttl .__place {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1.5714285714;
  font-weight: 400;
  grid-area: place;
}
.p-event_article__ttl .__title {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  grid-area: title;
  font-size: 2.125rem;
  letter-spacing: 0.1em;
  line-height: 1.4705882353;
  font-weight: 700;
}
@media (max-width: 1040px) {
  .p-event_article__ttl .__title {
    font-size: 1.875rem;
    letter-spacing: 0.1em;
    line-height: 1.4666666667;
    font-weight: 700;
  }
}
@media (max-width: 840px) {
  .p-event_article__ttl .__title {
    font-size: 1.6875rem;
    letter-spacing: 0.1em;
    line-height: 1.4074074074;
    font-weight: 700;
  }
}
@media (max-width: 540px) {
  .p-event_article__ttl .__title {
    font-size: 1.5rem;
    letter-spacing: 0.1em;
    line-height: 1.3333333333;
    font-weight: 700;
  }
}

/* blog
  ========================================================================== */
/* .p-parts_hero__pic */
body.blog .p-parts_hero__pic {
  -webkit-transform: translateY(55%);
          transform: translateY(55%);
}
@media (max-width: 1240px) {
  body.blog .p-parts_hero__pic {
    -webkit-transform: translateY(56.8%);
            transform: translateY(56.8%);
  }
}
@media (max-width: 840px) {
  body.blog .p-parts_hero__pic {
    -webkit-transform: translateY(58.6%);
            transform: translateY(58.6%);
  }
}
@media (max-width: 540px) {
  body.blog .p-parts_hero__pic {
    -webkit-transform: translateY(60.4%);
            transform: translateY(60.4%);
  }
}

/* .p-blog_posts */
.p-blog_posts {
  grid-area: posts;
  width: 850px;
  max-width: 100%;
  border-top: 1px solid #ddd;
}
.p-works_main__wrapper > .p-blog_posts {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
@media (min-width: 1241px){
  .p-single_posts {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-article_posts {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-acv_pager {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .p-sidenav {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .p-blog_posts {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
}

body:not(#single) .p-blog_posts__wrapper {
  border-bottom: 1px solid #ddd;
}
.p-blog_posts__wrapper .__link {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 2.4% auto 2.4% 1fr;
  grid-template-columns: auto auto 1fr;
  -ms-grid-rows: 1fr (auto)[2] 3fr;
  grid-template-rows: 1fr repeat(2, auto) 3fr;
      grid-template-areas: "figure . ." "figure time cat" "figure name name" "figure . .";
  grid-column-gap: 2.4%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1.22em 2.4%;
}
@media (max-width: 540px) {
  .p-blog_posts__wrapper .__link {
    padding: 1.225em 0;
    -ms-grid-columns: 38.1% 6.35% 1fr;
    grid-template-columns: 38.1% 1fr;
    -ms-grid-rows: 0.05em auto 1fr auto 0.05em;
    grid-template-rows: 0.05em auto 1fr auto 0.05em;
        grid-template-areas: "figure ." "figure cat" "figure name" "figure time" "figure .";
    grid-column-gap: 6.35%;
  }
}
.p-blog_posts__wrapper .__link .__link__figure {
  -ms-grid-row: 1;
  -ms-grid-row-span: 4;
  -ms-grid-column: 1;
  grid-area: figure;
  height: 100px;
}
@media (min-width: 541px) {
  .p-blog_posts__wrapper .__link .__link__figure {
    width: 150px;
    aspect-ratio: 15/10;
    margin-right: 10px;
  }
}
@media (max-width: 540px) {
  .p-blog_posts__wrapper .__link .__link__figure {
    height: 100px;
  }
}
.p-blog_posts__wrapper .__link .__link__figure .__link__figure__img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 541px) {
  .p-blog_posts__wrapper .__link .__link__figure .__link__figure__img.__no-image {
    border: 1px solid #d5d5d5;
  }
}
.p-blog_posts__wrapper .__link .__link__date {
  -ms-grid-row: 4;
  -ms-grid-column: 3;
  grid-area: time;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1;
  font-weight: 700;
  color: #8c8a8a;
}
@media (max-width: 1040px) {
  .p-blog_posts__wrapper .__link .__link__date {
    font-size: 0.8125rem;
  }
}
@media (max-width: 540px) {
  .p-blog_posts__wrapper .__link .__link__date {
    font-size: 0.75rem;
  }
}
.p-blog_posts__wrapper .__link .__link__cat {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  grid-area: cat;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  line-height: 1;
  font-weight: 500;
  color: #3f3c3c;
  background: #ddd;
  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;
  height: 26px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 1.6em;
  border-radius: 13px;
}
@media (max-width: 1040px) {
  .p-blog_posts__wrapper .__link .__link__cat {
    height: 23px;
    padding: 0 1.8em;
    font-size: 0.6875rem;
  }
}
@media (max-width: 540px) {
  .p-blog_posts__wrapper .__link .__link__cat {
    height: 20px;
    padding: 0 1.95em;
    font-size: 0.625rem;
    margin-left: 0;
  }
}
.p-blog_posts__wrapper .__link .__link__title {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  margin-top: 1.2em;
  letter-spacing: 0.1em;
  grid-area: name;
}
@media (max-width: 1040px) {
  .p-blog_posts__wrapper .__link .__link__title {
    font-size: 0.9375rem;
    margin-top: 0.6em;
  }
}
@media (max-width: 540px) {
  .p-blog_posts__wrapper .__link .__link__title {
    margin-top: 0;
    padding: 0.65em 0;
    -ms-flex-item-align: start;
        -ms-grid-row-align: start;
        align-self: start;
    font-size: 0.875rem;
    line-height: 1.714;
  }
}

.p-blog_posts__ttl {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 1.1em 1fr;
  grid-template-columns: auto 1fr;
  -ms-grid-rows: auto 2.7em auto;
  grid-template-rows: repeat(2, auto);
      grid-template-areas: "data cat" "title title";
  grid-column-gap: 1.1em;
  grid-row-gap: 2.7em;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 1240px) {
  .p-blog_posts__ttl {
    grid-row-gap: 2.25em;
  }
}
@media (max-width: 840px) {
  .p-blog_posts__ttl {
    grid-row-gap: 1.9em;
  }
}
@media (max-width: 540px) {
  .p-blog_posts__ttl {
    grid-row-gap: 1.5em;
  }
}
.p-blog_posts__ttl .__date {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  letter-spacing: 0.1em;
  color: #666;
  grid-area: data;
}
.p-blog_posts__ttl .__cat {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  line-height: 1;
  font-weight: 500;
  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;
  height: 26px;
  border-radius: 13px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 98px;
  max-width: 100%;
  padding: 0 1.625em;
  background: #ddd;
  grid-area: cat;
}
@media (max-width: 980px){
  .p-footer_info__address {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-footer_info > .p-footer_info__time {
    -ms-grid-row: 3;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
  }
  .p-footer_info__tel {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 2;
  }
  .p-footer_info__mail {
    -ms-grid-row: 5;
    -ms-grid-column: 2;
  }
  .p-footer_info > .__link__time {
    -ms-grid-row: 3;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
  }
  .p-footer_info > .__link__time {
    -ms-grid-row: 3;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
  }
  .p-footer_info > .__link__date {
    -ms-grid-row: 3;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
  }
  .p-footer_info > .__link__date {
    -ms-grid-row: 3;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
  }
}
@media (max-width: 840px){
  .p-index_news__list__box .__link > .__link__time {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
  }
  .p-index_news__list__box .__link .__link__cat {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .p-index_news__list__box .__link .__link__name {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
  .p-index_news__list__box .__link > .__link__time {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
  }
  .p-index_blog__list__box .__link .__link__cat {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .p-index_blog__list__box .__link .__link__name {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
  .p-index_news__list__box .__link > .__link__date {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
  }
  .p-single_posts__wrapper .__link > .__link__date {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
  }
  .p-single_posts__wrapper .__link .__link__cat {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .p-single_posts__wrapper .__link > .__link__cat {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .p-single_posts__title {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
  .p-single_posts__wrapper .__link > .p-single_posts__title {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 5;
  }
  .p-article_posts__ttl .__cat {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .p-single_posts__wrapper .__link > .__cat {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .p-works_article__ttl .__cat {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .p-single_posts__wrapper .__link > .__cat {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .p-works_article__ttl .__name {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
  .p-single_posts__wrapper .__link > .__name {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 5;
  }
  .p-event_article__ttl .__cat {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .p-single_posts__wrapper .__link > .__cat {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .p-index_news__list__box .__link > .__link__date {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
  }
  .p-single_posts__wrapper .__link > .__link__date {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
  }
  .p-blog_posts__wrapper .__link .__link__cat {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .p-single_posts__wrapper .__link > .__link__cat {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .p-blog_posts__wrapper .__link .__link__title {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
  .p-single_posts__wrapper .__link > .__link__title {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 5;
  }
  .p-blog_posts__ttl .__cat {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .p-single_posts__wrapper .__link > .__cat {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
}
@media (max-width: 540px){
  .p-index_blog__list__box .__link .__link__figure {
    -ms-grid-row: 1;
    -ms-grid-row-span: 5;
    -ms-grid-column: 1;
  }
  .p-index_blog__list__box .__link > .__link__time {
    -ms-grid-row: 4;
    -ms-grid-row-span: 1;
    -ms-grid-column: 3;
  }
  .p-index_blog__list__box .__link > .__link__cat {
    -ms-grid-row: 2;
    -ms-grid-column: 3;
  }
  .p-index_blog__list__box .__link > .__link__name {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
    -ms-grid-column-span: 1;
  }
  .p-index_blog__list__box .__link > .__link__date {
    -ms-grid-row: 4;
    -ms-grid-row-span: 1;
    -ms-grid-column: 3;
  }
  .p-index_blog__list__box .__link > .__link__cat {
    -ms-grid-row: 2;
    -ms-grid-column: 3;
  }
  .p-index_blog__list__box .__link > .p-single_posts__title {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
    -ms-grid-column-span: 1;
  }
  .p-index_blog__list__box .__link > .__cat {
    -ms-grid-row: 2;
    -ms-grid-column: 3;
  }
  .p-index_blog__list__box .__link > .__cat {
    -ms-grid-row: 2;
    -ms-grid-column: 3;
  }
  .p-index_blog__list__box .__link > .__name {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
    -ms-grid-column-span: 1;
  }
  .p-index_blog__list__box .__link > .__cat {
    -ms-grid-row: 2;
    -ms-grid-column: 3;
  }
  .p-blog_posts__wrapper .__link .__link__figure {
    -ms-grid-row: 1;
    -ms-grid-row-span: 5;
    -ms-grid-column: 1;
  }
  .p-index_blog__list__box .__link > .__link__date {
    -ms-grid-row: 4;
    -ms-grid-row-span: 1;
    -ms-grid-column: 3;
  }
  .p-index_blog__list__box .__link > .__link__cat {
    -ms-grid-row: 2;
    -ms-grid-column: 3;
  }
  .p-index_blog__list__box .__link > .__link__title {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
    -ms-grid-column-span: 1;
  }
  .p-index_blog__list__box .__link > .__cat {
    -ms-grid-row: 2;
    -ms-grid-column: 3;
  }
}
.p-blog_posts__ttl .__cat .__cat__text {
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  color: #3f3c3c;
}
.p-blog_posts__ttl .__title {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  font-size: 2.125rem;
  letter-spacing: 0.1em;
  line-height: 1.2647058824;
  font-weight: 700;
  color: #4798a7;
  grid-area: title;
}
@media (min-width: 1141px){
  .p-index_kv__title {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .p-index_kv__img {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .p-index_kv__gallery {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
    -ms-grid-column-span: 4;
  }
  .p-index_news__wrapper .p-section_title {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .p-index_event__wrapper .p-section_title {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .p-index_blog__wrapper .p-section_title {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .p-index_company__wrapper .p-section_title {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .p-company_about__title {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .p-article_posts__ttl .__title {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .p-works_article__ttl .__title {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .p-event_article__ttl .__title {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .p-blog_posts__ttl .__title {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
}
@media (min-width: 1241px){
  .p-index_news__wrapper > .p-section_title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-index_news__list {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 3;
  }
  .p-index_news__link {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .p-index_news__wrapper > .p-section_title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-index_event__list {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 3;
  }
  .p-index_news__wrapper > .p-section_title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-index_blog__list {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 3;
  }
  .p-index_blog__link {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .p-index_news__wrapper > .p-section_title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-index_company__link {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .p-index_news__wrapper > .p-company_about__title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-index_news__wrapper > .__title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-index_news__wrapper > .__title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-index_news__wrapper > .__title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-index_news__wrapper > .__title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
}
@media (min-width: 1041px){
  .p-index_blog__wrapper > .p-section_title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-index_blog__pic {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .p-index_blog__wrapper > .p-index_blog__list {
    -ms-grid-row: 1;
    -ms-grid-row-span: 5;
    -ms-grid-column: 3;
    -ms-grid-column-span: 1;
  }
  .p-index_blog__wrapper > .p-index_blog__link {
    -ms-grid-row: 5;
    -ms-grid-column: 1;
  }
  .p-index_blog__wrapper > .p-section_title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-index_company__pic {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .p-index_blog__wrapper > .p-index_company__link {
    -ms-grid-row: 5;
    -ms-grid-column: 1;
  }
  .p-service_content__box__detail .__pic {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .p-index_blog__wrapper > .p-company_about__title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-index_blog__wrapper > .__title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-index_blog__wrapper > .__title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-index_blog__wrapper > .__title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-index_blog__wrapper > .__title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
}
@media (max-width: 1240px){
  .p-index_company__wrapper > .p-section_title {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
  }
  .p-index_company__inner {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
    -ms-grid-column-span: 2;
  }
  .p-index_company__wrapper > .p-company_about__title {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
  }
  .p-index_company__wrapper > .__title {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
  }
  .p-index_company__wrapper > .__title {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
  }
  .p-index_company__wrapper > .__title {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
  }
  .p-index_company__wrapper > .__title {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
  }
}
@media (max-width: 1040px) {
  .p-blog_posts__ttl .__title {
    font-size: 1.875rem;
    letter-spacing: 0.1em;
    line-height: 1.4666666667;
    font-weight: 700;
  }
}
@media (max-width: 840px) {
  .p-blog_posts__ttl .__title {
    font-size: 1.6875rem;
    letter-spacing: 0.1em;
    line-height: 1.4074074074;
    font-weight: 700;
  }
}
@media (max-width: 540px) {
  .p-blog_posts__ttl .__title {
    font-size: 1.5rem;
    letter-spacing: 0.1em;
    line-height: 1.3333333333;
    font-weight: 700;
  }
}

/* consultation
  ========================================================================== */
/* #consultation */
#consultation .p-parts_hero__pic {
  -webkit-transform: translateY(54.1%);
          transform: translateY(54.1%);
}
@media (max-width: 1240px) {
  #consultation .p-parts_hero__pic {
    -webkit-transform: translateY(61.2%);
            transform: translateY(61.2%);
  }
}
@media (max-width: 840px) {
  #consultation .p-parts_hero__pic {
    -webkit-transform: translateY(68.3%);
            transform: translateY(68.3%);
  }
}
@media (max-width: 540px) {
  #consultation .p-parts_hero__pic {
    -webkit-transform: translateY(75.4%);
            transform: translateY(75.4%);
  }
}
#consultation .p-parts_contact {
  margin-top: 6.2em;
}

/* .p-consultation_tel */
.p-consultation_tel {
  margin-top: 5.25em;
}
@media (max-width: 1240px) {
  .p-consultation_tel {
    margin-top: 4.35em;
  }
}
@media (max-width: 840px) {
  .p-consultation_tel {
    margin-top: 3.45em;
  }
}
@media (max-width: 540px) {
  .p-consultation_tel {
    margin-top: 2.55em;
  }
}

.p-consultation_tel__wrapper {
  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;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  color: #3f3c3c;
}
@media (max-width: 1140px) {
  .p-consultation_tel__wrapper {
    width: 540px;
  }
}

.p-consultation_tel__title,
.p-consultation_tel__num {
  font-size: 1.125rem;
  letter-spacing: 0.1em;
  line-height: 1.4444444444;
  font-weight: 700;
}

.p-consultation_tel__title:after {
  content: "／";
  padding: 0 0.35em;
}

.p-consultation_tel__num {
  padding: 0.75em;
}
@media (max-width: 1140px) {
  .p-consultation_tel__num {
    padding: 0.5em 0.75em;
  }
}

.p-consultation_tel__time {
  letter-spacing: 0.07em;
}
@media (min-width: 1141px) {
  .p-consultation_tel__time {
    margin-left: 0.75em;
  }
}
.p-consultation_tel__time:before {
  content: "OPEN";
  margin-right: 0.6em;
}

/* .p-consultation_main */
.p-consultation_main {
  margin-top: 2.15em;
  background: #cee3e7;
}

.p-consultation_main__wrapper {
  padding: 8.85em 0 3.85em;
}
@media (max-width: 1240px) {
  .p-consultation_main__wrapper {
    padding: 7.2em 0 3.85em;
  }
}
@media (max-width: 840px) {
  .p-consultation_main__wrapper {
    padding: 5.5em 0 3.85em;
  }
}
@media (max-width: 540px) {
  .p-consultation_main__wrapper {
    padding: 3.85em 0 3.85em;
  }
}

/* form(common)
  ========================================================================== */
/* .p-form_about */
.p-form_about {
  width: 770px;
}
@media (min-width: 841px) {
  .p-form_about {
    text-align: center;
  }
}
@media (max-width: 840px) {
  .p-form_about {
    max-width: 84%;
  }
}

/* .p-form_list */
.p-form_list {
  width: 1000px;
  padding-top: 4.4em;
}
@media (max-width: 1040px) {
  .p-form_list {
    width: 840px;
    padding-top: 3.4em;
  }
}
@media (max-width: 840px) {
  .p-form_list {
    max-width: 84%;
    padding-top: 2.4em;
  }
}
.p-form_list input[type=checkbox] {
  width: 19px;
  height: 19px;
  border-radius: 5px;
  cursor: pointer;
}

.p-form_list__title {
  width: 25%;
  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;
  position: relative;
  font-weight: 500;
  max-height: 300px;
}
@media (min-width: 1041px) {
  .p-form_list__title {
    height: 70px;
    padding-right: 2%;
  }
}
@media (max-width: 1040px) {
  .p-form_list__title {
    width: 100%;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-top: 0;
  }
}
.p-form_list__title .__require {
  font-style: normal;
  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;
  height: 24px;
  padding: 0 0.8em;
  background: #de6b6b;
  color: #fff;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  line-height: 1;
  font-weight: 700;
}
@media (max-width: 1040px) {
  .p-form_list__title .__require {
    margin-left: 1em;
  }
}

.p-form_list__box {
  padding: 1.56em 0;
}
@media (max-width: 1040px) {
  .p-form_list__box {
    padding: 1.42em 0;
  }
}
@media (max-width: 840px) {
  .p-form_list__box {
    padding: 1.29em 0;
  }
}
@media (max-width: 580px) {
  .p-form_list__box {
    padding: 1.16em 0;
  }
}
.p-form_list__box:not(.__checkbox) > p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 1040px) {
  .p-form_list__box:not(.__checkbox) > p {
    -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 (max-width: 1040px) {
  .p-form_list__box > p .wpcf7-form-control-wrap {
    margin-top: 0.5em;
  }
}
.p-form_list__box > p .wpcf7-form-control-wrap:has(.wpcf7-checkbox) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-checkbox {
  width: 100%;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[4];
  grid-template-columns: repeat(4, 1fr);
  grid-row-gap: 1.2em;
}
@media (max-width: 840px) {
  .p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-checkbox {
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 580px) {
  .p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-checkbox {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}
.p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-checkbox .wpcf7-list-item {
  margin: 0;
}
.p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-checkbox .wpcf7-list-item label {
  cursor: pointer;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
  will-change: opacity, background;
  /*&:hover {
  	opacity: 0.5;
  }*/
}
.p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-checkbox .wpcf7-list-item label input[type=checkbox] {
  display: none;
}
.p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-checkbox .wpcf7-list-item label input[type=checkbox]:checked + .wpcf7-list-item-label:before {
  background-image: url(./img/common/icon-common_check.svg);
}
.p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-checkbox .wpcf7-list-item label .wpcf7-list-item-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
.p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-checkbox .wpcf7-list-item label .wpcf7-list-item-label:before {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  border-radius: 5px;
  margin-right: 0.65em;
  will-change: background;
  z-index: 10;
  background: url(./img/common/icon-common_check__wt.svg) no-repeat center/78% #fff;
}
.p-form_list__box > p .wpcf7-form-control-wrap {
  width: 75%;
}
@media (max-width: 1040px) {
  .p-form_list__box > p .wpcf7-form-control-wrap {
    width: 100%;
  }
}
.p-form_list__box > p .wpcf7-form-control-wrap:has(.wpcf7-select) {
  display: block;
  position: relative;
}
.p-form_list__box > p .wpcf7-form-control-wrap:has(.wpcf7-select):after {
  content: "";
  display: block;
  width: 15px;
  height: 100%;
  position: absolute;
  right: 15%;
  top: 0;
  background: url(./img/common/icon-common_select.svg) no-repeat center/contain;
  pointer-events: none;
}
.p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-text,
.p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-tel,
.p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-email,
.p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-select,
.p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-textarea {
  width: 100% !important;
  -webkit-transition: border 0.25s, background 0.25s;
  transition: border 0.25s, background 0.25s;
  padding-left: 1.85em;
  border-radius: 15px;
  letter-spacing: 0.05em;
  background: #fff;
}
@media (max-width: 1040px) {
  .p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-text,
  .p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-tel,
  .p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-email,
  .p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-select,
  .p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-textarea {
    padding-left: 1.4em;
  }
}
@media (max-width: 840px) {
  .p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-text,
  .p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-tel,
  .p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-email,
  .p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-select,
  .p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-textarea {
    padding-left: 0.9em;
  }
}
.p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-text::-webkit-input-placeholder, .p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-tel::-webkit-input-placeholder, .p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-email::-webkit-input-placeholder, .p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-select::-webkit-input-placeholder, .p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-textarea::-webkit-input-placeholder {
  color: #aaaaaa;
}
.p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-text::-moz-placeholder, .p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-tel::-moz-placeholder, .p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-email::-moz-placeholder, .p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-select::-moz-placeholder, .p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-textarea::-moz-placeholder {
  color: #aaaaaa;
}
.p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-text:-ms-input-placeholder, .p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-tel:-ms-input-placeholder, .p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-email:-ms-input-placeholder, .p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-select:-ms-input-placeholder, .p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-textarea:-ms-input-placeholder {
  color: #aaaaaa;
}
.p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-text::-ms-input-placeholder, .p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-tel::-ms-input-placeholder, .p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-email::-ms-input-placeholder, .p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-select::-ms-input-placeholder, .p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-textarea::-ms-input-placeholder {
  color: #aaaaaa;
}
.p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-text::placeholder,
.p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-tel::placeholder,
.p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-email::placeholder,
.p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-select::placeholder,
.p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-textarea::placeholder {
  color: #aaaaaa;
}
.p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-text,
.p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-tel,
.p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-email,
.p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-select {
  height: 70px;
}
@media (max-width: 1040px) {
  .p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-text,
  .p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-tel,
  .p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-email,
  .p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-select {
    height: 65px;
  }
}
@media (max-width: 840px) {
  .p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-text,
  .p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-tel,
  .p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-email,
  .p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-select {
    height: 60px;
  }
}
.p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-select {
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
  cursor: pointer;
}
.p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-select:hover {
  opacity: 0.5;
}
.p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-textarea {
  max-height: 230px;
  line-height: 1.75;
  padding: 1.1em 1.2em;
  resize: none;
}
@media (max-width: 1040px) {
  .p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-textarea {
    max-height: 215px;
  }
}
@media (max-width: 540px) {
  .p-form_list__box > p .wpcf7-form-control-wrap .wpcf7-textarea {
    max-height: 200px;
  }
}
.p-form_list__box.__your-kind .p-form_list__title {
  height: 1lh;
}
.p-form_list__box.__your-kind .wpcf7-form-control-wrap .wpcf7-form-control {
  width: 100%;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[4];
  grid-template-columns: repeat(4, 1fr);
  -ms-grid-rows: (auto)[2];
  grid-template-rows: repeat(2, auto);
      grid-template-areas: "item01 item02 item03 item04" "item05 item06 item06 item07";
}
@media (max-width: 840px) {
  .p-form_list__box.__your-kind .wpcf7-form-control-wrap .wpcf7-form-control {
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
    -ms-grid-rows: (auto)[3];
    grid-template-rows: repeat(3, auto);
        grid-template-areas: "item01 item02 item03" "item04 item05 item05" "item06 item06 item07";
  }
}
@media (max-width: 580px) {
  .p-form_list__box.__your-kind .wpcf7-form-control-wrap .wpcf7-form-control {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
    -ms-grid-rows: (auto)[5];
    grid-template-rows: repeat(5, auto);
        grid-template-areas: "item01 item02" "item03 item04" "item05 item05" "item06 item06" "item07 item07";
  }
}
.p-form_list__box.__your-kind .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item:nth-of-type(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: item01;
}
.p-form_list__box.__your-kind .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item:nth-of-type(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  grid-area: item02;
}
.p-form_list__box.__your-kind .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item:nth-of-type(3) {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  grid-area: item03;
}
.p-form_list__box.__your-kind .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item:nth-of-type(4) {
  -ms-grid-row: 1;
  -ms-grid-column: 4;
  grid-area: item04;
}
.p-form_list__box.__your-kind .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item:nth-of-type(5) {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
  grid-area: item05;
}
.p-form_list__box.__your-kind .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item:nth-of-type(6) {
  -ms-grid-row: 2;
  -ms-grid-column: 2;
  -ms-grid-column-span: 2;
  grid-area: item06;
}
.p-form_list__box.__your-kind .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item:nth-of-type(7) {
  -ms-grid-row: 2;
  -ms-grid-column: 4;
  grid-area: item07;
}
@media (max-width: 840px){
  .p-form_list__box.__your-kind .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item:nth-of-type(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-form_list__box.__your-kind .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item:nth-of-type(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .p-form_list__box.__your-kind .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item:nth-of-type(3) {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .p-form_list__box.__your-kind .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item:nth-of-type(4) {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .p-form_list__box.__your-kind .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item:nth-of-type(5) {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
    -ms-grid-column-span: 2;
  }
  .p-form_list__box.__your-kind .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item:nth-of-type(6) {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
  }
  .p-form_list__box.__your-kind .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item:nth-of-type(7) {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
}
@media (max-width: 580px){
  .p-form_list__box.__your-kind .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item:nth-of-type(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-form_list__box.__your-kind .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item:nth-of-type(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .p-form_list__box.__your-kind .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item:nth-of-type(3) {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .p-form_list__box.__your-kind .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item:nth-of-type(4) {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
  }
  .p-form_list__box.__your-kind .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item:nth-of-type(5) {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
  }
  .p-form_list__box.__your-kind .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item:nth-of-type(6) {
    -ms-grid-row: 4;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
  }
  .p-form_list__box.__your-kind .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item:nth-of-type(7) {
    -ms-grid-row: 5;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
  }
}
@media (min-width: 1041px) {
  .p-form_list__box.__your-type {
    padding: 0.35em 0;
  }
}
@media (min-width: 1041px) {
  .p-form_list__box.__your-year {
    padding: 0.25em 0;
  }
}
@media (max-width: 1040px) {
  .p-form_list__box.__your-year > p {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.p-form_list__box.__your-year > p .wpcf7-form-control-wrap {
  width: 60px;
  height: 30px;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
  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;
}
.p-form_list__box.__your-year > p .wpcf7-form-control-wrap:not(:first-of-type) {
  margin-left: 0.65em;
}
.p-form_list__box.__your-year > p .wpcf7-form-control-wrap .wpcf7-form-control {
  height: 100%;
  border-radius: 5px;
  padding-left: 0.9em;
}
.p-form_list__box.__your-year > p .__unit {
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
  margin-left: 0.65em;
}

.p-form_list__pp {
  margin-top: 1.55em;
  padding-left: 25%;
}
@media (max-width: 1040px) {
  .p-form_list__pp {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    margin-top: 2.05em;
  }
}
@media (max-width: 540px) {
  .p-form_list__pp {
    margin-top: 1.75em;
  }
}
.p-form_list__pp p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  letter-spacing: 0.05em;
}
.p-form_list__pp p .wpcf7-form-control-wrap .wpcf7-checkbox .wpcf7-list-item {
  margin-left: 0;
}
.p-form_list__pp p .wpcf7-form-control-wrap .wpcf7-checkbox .wpcf7-list-item label {
  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-transition: opacity 0.25s;
  transition: opacity 0.25s;
}
.p-form_list__pp p .wpcf7-form-control-wrap .wpcf7-checkbox .wpcf7-list-item label input[type=checkbox] {
  display: none;
}
.p-form_list__pp p .wpcf7-form-control-wrap .wpcf7-checkbox .wpcf7-list-item label input[type=checkbox]:checked + .wpcf7-list-item-label:before {
  background-image: url(./img/common/icon-common_check.svg);
}
.p-form_list__pp p .wpcf7-form-control-wrap .wpcf7-checkbox .wpcf7-list-item label .wpcf7-list-item-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
@media (max-width: 1040px) {
  .p-form_list__pp p .wpcf7-form-control-wrap .wpcf7-checkbox .wpcf7-list-item label .wpcf7-list-item-label {
    font-size: 0.9375rem;
  }
}
@media (max-width: 540px) {
  .p-form_list__pp p .wpcf7-form-control-wrap .wpcf7-checkbox .wpcf7-list-item label .wpcf7-list-item-label {
    font-size: 0.875rem;
  }
}
.p-form_list__pp p .wpcf7-form-control-wrap .wpcf7-checkbox .wpcf7-list-item label .wpcf7-list-item-label > a {
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
  text-decoration: underline;
  text-underline-offset: 0.1em;
  padding-right: 0.4em;
  will-change: opacity, background;
}
.p-form_list__pp p .wpcf7-form-control-wrap .wpcf7-checkbox .wpcf7-list-item label .wpcf7-list-item-label > a:hover {
  opacity: 0.5;
}
.p-form_list__pp p .wpcf7-form-control-wrap .wpcf7-checkbox .wpcf7-list-item label .wpcf7-list-item-label:before {
  display: block;
  width: 30px;
  height: 30px;
  border-radius: 5px;
  margin-right: 0.6em;
  will-change: background;
  z-index: 10;
  background: url(./img/common/icon-common_check__wt.svg) no-repeat center/78% #fff;
  cursor: pointer;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
}
.p-form_list__pp p .wpcf7-form-control-wrap .wpcf7-checkbox .wpcf7-list-item label .wpcf7-list-item-label:before:hover {
  opacity: 0.5;
}

.p-form_list__submit {
  margin-top: 5.7em;
  text-align: center;
}
@media (max-width: 1040px) {
  .p-form_list__submit {
    margin-top: 4.7em;
  }
}
@media (max-width: 540px) {
  .p-form_list__submit {
    margin-top: 3.7em;
  }
}
.p-form_list__submit p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-form_list__submit p .__hidden {
  display: none;
}
.p-form_list__submit p .__btn {
  padding-left: 0;
}
.p-form_list__submit p .__btn:hover {
  opacity: 1;
}
.p-form_list__submit p .wpcf7-spinner {
  margin-top: 1em;
  -webkit-animation: 3s linear infinite rotation;
          animation: 3s linear infinite rotation;
}

/* spinner rotation */
@-webkit-keyframes rotation {
  0% {
    -webkit-transform: translateY(100%) rotate(0);
            transform: translateY(100%) rotate(0);
  }
  100% {
    -webkit-transform: translateY(100%) rotate(360deg);
            transform: translateY(100%) rotate(360deg);
  }
}
@keyframes rotation {
  0% {
    -webkit-transform: translateY(100%) rotate(0);
            transform: translateY(100%) rotate(0);
  }
  100% {
    -webkit-transform: translateY(100%) rotate(360deg);
            transform: translateY(100%) rotate(360deg);
  }
}
.wpcf7-not-valid-tip {
  margin-top: 0.5em;
}
@media (max-width: 1040px) {
  .wpcf7-not-valid-tip {
    margin-top: 0.25em;
  }
}
@media (max-width: 540px) {
  .wpcf7-not-valid-tip {
    margin-top: 0;
  }
}

.wpcf7 form .wpcf7-response-output {
  width: 780px;
  max-width: 85.72%;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fff;
}
@media (max-width: 1040px) {
  .wpcf7 form .wpcf7-response-output {
    margin-top: 0.5em;
  }
}