@charset "UTF-8";
/*
Theme Name: 
Theme URI: 
Author: COMLAB
*/
/* font
  ========================================================================== */
/* font-face
========================================================================== */
@font-face {
  font-family: "Zen Kaku Gothic New";
  src: url("./fonts/ZenKakuGothicNew-Regular.woff") format("woff"), url("./fonts/ZenKakuGothicNew-Regular.ttf") format("truetype"), url("./fonts/ZenKakuGothicNew-Regular.svg") format("svg");
  font-weight: 400;
}
@font-face {
  font-family: "Zen Kaku Gothic New";
  src: url("./fonts/ZenKakuGothicNew-Medium.woff") format("woff"), url("./fonts/ZenKakuGothicNew-Medium.ttf") format("truetype"), url("./fonts/ZenKakuGothicNew-Medium.svg") format("svg");
  font-weight: 500;
}
@font-face {
  font-family: "Zen Kaku Gothic New";
  src: url("./fonts/ZenKakuGothicNew-Bold.woff") format("woff"), url("./fonts/ZenKakuGothicNew-Bold.ttf") format("truetype"), url("./fonts/ZenKakuGothicNew-Bold.svg") format("svg");
  font-weight: 700;
}
@font-face {
  font-family: "Shippori Mincho";
  src: url("./fonts/ShipporiMincho-Regular.woff") format("woff"), url("./fonts/ShipporiMincho-Regular.ttf") format("truetype"), url("./fonts/ShipporiMincho-Regular.svg") format("svg");
  font-weight: 400;
}
@font-face {
  font-family: "Shippori Mincho";
  src: url("./fonts/ShipporiMincho-Medium.woff") format("woff"), url("./fonts/ShipporiMincho-Medium.ttf") format("truetype"), url("./fonts/ShipporiMincho-Medium.svg") format("svg");
  font-weight: 500;
}
@font-face {
  font-family: "Shippori Mincho";
  src: url("./fonts/ShipporiMincho-SemiBold.woff") format("woff"), url("./fonts/ShipporiMincho-SemiBold.ttf") format("truetype"), url("./fonts/ShipporiMincho-SemiBold.svg") format("svg");
  font-weight: 600;
}
@font-face {
  font-family: "Shippori Mincho";
  src: url("./fonts/ShipporiMincho-Bold.woff") format("woff"), url("./fonts/ShipporiMincho-Bold.ttf") format("truetype"), url("./fonts/ShipporiMincho-Bold.svg") format("svg");
  font-weight: 700;
}
@font-face {
  font-family: "Helvetica Neue";
  src: url("./fonts/HelveticaNeueRoman.woff") format("woff"), url("./fonts/HelveticaNeueRoman.otf") format("opentype"), url("./fonts/HelveticaNeueRoman.svg") format("svg");
  font-weight: 400;
}
@font-face {
  font-family: "Helvetica Neue";
  src: url("./fonts/HelveticaNeueMedium.woff") format("woff"), url("./fonts/HelveticaNeueMedium.otf") format("opentype"), url("./fonts/HelveticaNeueMedium.svg") format("svg");
  font-weight: 500;
}
@font-face {
  font-family: "Helvetica Neue";
  src: url("./fonts/HelveticaNeueBold.woff") format("woff"), url("./fonts/HelveticaNeueBold.otf") format("opentype"), url("./fonts/HelveticaNeueBold.svg") format("svg");
  font-weight: 700;
}
@font-face {
  font-family: "Allura";
  src: url("./fonts/Allura-Regular.woff") format("woff"), url("./fonts/Allura-Regular.ttf") format("truetype"), url("./fonts/Allura-Regular.svg") format("svg");
  font-weight: 400;
}
/* 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)
   ========================================================================== */
.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: 650px;
}

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

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

/* common
  ========================================================================== */
body {
  font-family: "Zen Kaku Gothic New", Yu Gothic, YuGothic, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 1rem;
  letter-spacing: 0.08em;
  line-height: 1.6875;
  font-weight: 400;
  color: #333;
}

/* common_faq */
.p-common_faq {
  border-top: 1px solid #d9d9d9;
}

.p-common_faq__item {
  border-bottom: 1px solid #d9d9d9;
}

.p-common_faq__question {
  position: relative;
  display: block;
  padding: 1.4em 3.2em 1.4em 0;
  cursor: pointer;
  list-style: none;
}
.p-common_faq__question::-webkit-details-marker {
  display: none;
}
.p-common_faq__question::before, .p-common_faq__question::after {
  content: "";
  position: absolute;
  right: 0.9em;
  top: 50%;
  width: 1.1em;
  height: 1px;
  background-color: #222;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: -webkit-transform 0.25s ease;
  transition: -webkit-transform 0.25s ease;
  transition: transform 0.25s ease;
  transition: transform 0.25s ease, -webkit-transform 0.25s ease;
}
.p-common_faq__question::after {
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
}

.p-common_faq__item[open] > .p-common_faq__question::after {
  -webkit-transform: translateY(-50%) rotate(0deg);
          transform: translateY(-50%) rotate(0deg);
}

.p-common_faq__answer {
  padding: 0 0 1.4em;
  line-height: 1.8;
}

/* display */
.u-dp__ib {
  display: inline-block;
}

/* list */
.u-list > li {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 1fr;
  grid-template-columns: auto 1fr;
}
.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:before {
  content: "■";
}
.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: 90.4%;
  }
}
.u-width__full {
  max-width: 100%;
  width: 1440px;
}
.u-width__wide {
  width: 1300px;
}
@media (min-width: 841px) {
  .u-width__wide {
    max-width: 90.28%;
  }
}
.u-width__mid {
  width: 1200px;
}
@media (min-width: 841px) {
  .u-width__mid {
    max-width: 85.72%;
  }
}
.u-width__min {
  width: 800px;
}
@media (min-width: 841px) {
  .u-width__min {
    max-width: 85.72%;
  }
}

/* font */
.u-font__got {
  font-family: "Zen Kaku Gothic New", Yu Gothic, YuGothic, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
}
.u-font__min {
  font-family: "Shippori Mincho", Yu Mincho, YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
}
.u-font__en {
  font-family: "Helvetica Neue", sans-serif;
}
.u-font__allura {
  font-family: "Allura", cursive;
}

/* .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-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  gap: 0.75em 0;
}
@media (max-width: 1040px) {
  .p-section_title {
    gap: 0.675em 0;
  }
}
@media (max-width: 840px) {
  .p-section_title {
    gap: 0.55em 0;
  }
}
.p-section_title.__left {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  text-align: left;
}

.p-section_title__jp {
  font-size: 1.75rem;
  letter-spacing: 0.08em;
  line-height: 1.227;
  font-weight: 700;
}
.p-section_title.__wt .p-section_title__jp {
  color: #fff;
}
@media (max-width: 1040px) {
  .p-section_title__jp {
    font-size: 1.5625rem;
  }
}
@media (max-width: 840px) {
  .p-section_title__jp {
    font-size: 1.375rem;
    letter-spacing: 0.08em;
    line-height: 1.2272727273;
    font-weight: 500;
  }
}

.p-section_title__en {
  font-family: "Helvetica Neue", sans-serif;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  line-height: 1;
  font-weight: 400;
  color: #628d85;
}
.p-section_title.__wt .p-section_title__en {
  color: #fff;
}
@media (max-width: 1040px) {
  .p-section_title__en {
    font-size: 0.6875rem;
  }
}
@media (max-width: 840px) {
  .p-section_title__en {
    font-size: 0.625rem;
  }
}

/* .u-index_bg__bottom */
.u-index_bg__bottom {
  position: relative;
}
.u-index_bg__bottom:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, left bottom, from(#f8f7f4), color-stop(17%, rgba(120, 152, 136, 0.53)), color-stop(58%, rgba(120, 152, 136, 0.53)), to(#f8f7f4));
  background: linear-gradient(#f8f7f4 0%, rgba(120, 152, 136, 0.53) 17%, rgba(120, 152, 136, 0.53) 58%, #f8f7f4 100%);
  opacity: 0.5;
  z-index: 1;
}

/* .p-single_hero */
.p-single_hero {
  background-color: #628d85;
}

.p-single_hero__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 370px;
  padding-top: 128px;
}
@media (max-width: 1140px) {
  .p-single_hero__wrapper {
    padding-top: 62px;
    height: 260px;
  }
}
@media (max-width: 840px) {
  .p-single_hero__wrapper {
    height: 210px;
  }
}

.p-single_hero__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-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.1em 0;
  color: #fff;
  line-height: 1;
}
@media (max-width: 1140px) {
  .p-single_hero__title {
    gap: 0.8em 0;
  }
}
@media (max-width: 840px) {
  .p-single_hero__title {
    gap: 0.6em 0;
  }
}
.p-single_hero__title .__jp {
  font-size: 2rem;
  letter-spacing: 0.08em;
  line-height: 1;
  font-weight: 500;
}
@media (max-width: 1140px) {
  .p-single_hero__title .__jp {
    font-size: 1.75rem;
  }
}
@media (max-width: 840px) {
  .p-single_hero__title .__jp {
    font-size: 1.5rem;
  }
}
.p-single_hero__title .__en {
  font-size: 0.9375rem;
  letter-spacing: 0.08em;
  line-height: 1;
  font-weight: 400;
}
@media (max-width: 1140px) {
  .p-single_hero__title .__en {
    font-size: 0.8125rem;
  }
}
@media (max-width: 840px) {
  .p-single_hero__title .__en {
    font-size: 0.75rem;
  }
}

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

.p-header__wrapper {
  background: #fff;
  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;
  overflow: hidden;
  z-index: 2500;
  position: relative;
}
@media (min-width: 1141px) {
  .p-header__wrapper {
    border-radius: 20px;
    -webkit-box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.1);
            box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.1);
    margin: 24px auto;
    height: 80px;
  }
}
@media (max-width: 1140px) {
  .p-header__wrapper {
    height: 62px;
    max-width: 100%;
  }
}

.p-header_logo {
  height: 100%;
}

.p-header_logo__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;
  height: 100%;
  padding: 0 3.95em;
}
@media (max-width: 1340px) {
  .p-header_logo__link {
    padding: 0 4.7svw;
  }
}
@media (max-width: 1140px) {
  .p-header_logo__link {
    padding: 0 4.5svw;
  }
}
.p-header_logo__link .__img {
  width: 180px;
}
@media (max-width: 1140px) {
  .p-header_logo__link .__img {
    width: 150px;
  }
}

.p-header_gnav {
  height: 100%;
}
@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;
  height: 100%;
}

.p-header_gnav__menu__item {
  height: 100%;
}
.p-header_gnav__menu__item .__link {
  font-size: 1.125rem;
  letter-spacing: 0.08em;
  line-height: 1.5;
  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: 100%;
  padding: 0 1.29em;
}
@media (max-width: 1340px) {
  .p-header_gnav__menu__item .__link {
    padding: 0 1.2svw;
  }
}
.p-header_gnav__menu__item.__contact {
  color: #fff;
  margin-left: 2.95em;
}
@media (max-width: 1340px) {
  .p-header_gnav__menu__item.__contact {
    margin-left: 2.3svw;
  }
}
.p-header_gnav__menu__item.__contact .__link {
  padding: 0 3em;
  background: #333;
  letter-spacing: 0;
}
@media (max-width: 1340px) {
  .p-header_gnav__menu__item.__contact .__link {
    padding: 0 4svw;
  }
}

.c-humburger {
  display: none;
}
@media (max-width: 1140px) {
  .c-humburger {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 62px;
    height: auto;
    aspect-ratio: 1/1;
    background: #333;
  }
}

.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-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  width: 100%;
  -webkit-transition: gap 0.3s ease;
  transition: gap 0.3s ease;
}
.js-humburgerOpen .c-humburger__wrapper {
  gap: 0;
}

.c-humburger__bar {
  width: 32.5%;
  height: 2px;
  background-color: #fff;
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease, -webkit-transform 0.3s ease;
}
.js-humburgerOpen .c-humburger__bar.__top {
  -webkit-transform: translate(0%, 100%) rotate(45deg);
          transform: translate(0%, 100%) rotate(45deg);
}
.js-humburgerOpen .c-humburger__bar.__middle {
  opacity: 0;
}
.js-humburgerOpen .c-humburger__bar.__bottom {
  -webkit-transform: translate(0%, -100%) rotate(-45deg);
          transform: translate(0%, -100%) rotate(-45deg);
}

.p-humburger_menu {
  display: none;
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000;
}

.p-humburger_menu__wrapper {
  height: auto;
  background-color: #fff;
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
  overflow: auto;
  max-height: 100svh;
}

.p-humburger_menu__inner {
  padding-top: calc(62px + 2.55em);
  padding-bottom: 1.05em;
}

.p-humburger_menu__list__item .__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 1.3em 5%;
  font-size: 1.125rem;
  letter-spacing: 0.08em;
  line-height: 1.5;
  font-weight: 500;
  color: rgba(51, 51, 51, 0.8);
}
.p-humburger_menu__list__item.__contact {
  padding: 2.45em 11.25%;
}
.p-humburger_menu__list__item.__contact .__link {
  font-size: 1.125rem;
  letter-spacing: 0em;
  line-height: 1.4444444444;
  font-weight: 500;
  color: #fff;
  border-radius: 20px;
  background: #333;
  padding: 1.5em 5%;
}

/* main
  ========================================================================== */
.l-main {
  padding-bottom: 60px;
  background: #F8F7F4;
}
@media (max-width: 1240px) {
  .l-main {
    padding-bottom: 45px;
  }
}
@media (max-width: 1040px) {
  .l-main {
    padding-bottom: 30px;
  }
}
@media (max-width: 840px) {
  .l-main {
    padding-bottom: 15px;
  }
}

/* footer
  ========================================================================== */
/* .l-footer */
.l-footer {
  position: relative;
  background: #628D85;
  padding-top: 1px;
}
.l-footer::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 60px;
  top: 1px;
  left: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  background: url(./img/common/dec-footetr_wave.svg) no-repeat center bottom/100% 100%;
  pointer-events: none;
}
@media (max-width: 1240px) {
  .l-footer::before {
    height: 45px;
  }
}
@media (max-width: 1040px) {
  .l-footer::before {
    height: 30px;
  }
}
@media (max-width: 840px) {
  .l-footer::before {
    height: 15px;
  }
}

.p-footer__wrapper {
  color: #fff;
  padding: 3.2em 0 1.8em;
}
@media (min-width: 1041px) {
  .p-footer__wrapper {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: auto 1fr auto;
    grid-template-columns: auto 1fr auto;
    -ms-grid-rows: (auto)[2] 1fr;
    grid-template-rows: repeat(2, auto) 1fr;
        grid-template-areas: "logo . nav" "address . nav" "copy copy copy";
  }
}
@media (max-width: 1040px) {
  .p-footer__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;
    padding: 3.45em 0 1.4em;
    max-width: 100%;
    width: 540px;
  }
}
@media (max-width: 840px) {
  .p-footer__wrapper {
    padding: 3.7em 0 1.05em;
  }
}

.p-footer__logo {
  grid-area: logo;
}

.p-footer__logo__link img {
  width: 250px;
}

.p-footer_address {
  grid-area: address;
  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.725em 0;
  margin-top: 2.1em;
}
@media (max-width: 1040px) {
  .p-footer_address {
    width: 100%;
    padding-left: 6%;
    gap: 0.6em 0;
    margin-top: 1.85em;
    max-width: 540px;
  }
}
@media (max-width: 840px) {
  .p-footer_address {
    gap: 0.5em 0;
    margin-top: 1.55em;
  }
}

.p-footer_address__line {
  font-size: 1.125rem;
  letter-spacing: 0.08em;
  line-height: 1.3333333333;
  font-weight: 500;
  white-space: nowrap;
}
@media (max-width: 1040px) {
  .p-footer_address__line {
    font-size: 1.0625rem;
    letter-spacing: 0.08em;
    line-height: 1.4117647059;
    font-weight: 500;
  }
}
@media (max-width: 840px) {
  .p-footer_address__line {
    font-size: 1rem;
    letter-spacing: 0.08em;
    line-height: 1.5;
    font-weight: 500;
  }
}
.p-footer_address__line a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  gap: 0 0.3em;
}
.p-footer_address__line a[target=_blank]:after {
  content: "";
  display: block;
  width: 17px;
  height: auto;
  aspect-ratio: 11/10;
  background: url(./img/common/icon-common_tab__wt.svg) no-repeat center/contain;
}

.p-footer_address__sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5em;
}

.p-footer_address__sns__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;
  padding: 0.25em;
}
.p-footer_address__sns__item .__link img {
  width: 17px;
  height: auto;
  aspect-ratio: 1/1;
}
.p-footer_address__sns__item:first-of-type .__link {
  padding-left: 0;
}

.p-footer_nav {
  grid-area: nav;
}
@media (max-width: 1040px) {
  .p-footer_nav {
    padding: 1.65em 4.8% 0;
    margin: 1.95em auto 0;
    border-top: 1px solid #fff;
  }
}
@media (max-width: 640px) {
  .p-footer_nav {
    width: 90.4%;
    padding-left: 6.5%;
    padding-right: 6.5%;
  }
}

@media (max-width: 1140px) {
  .p-footer_nav__list {
    -webkit-column-gap: 6svw;
       -moz-column-gap: 6svw;
            column-gap: 6svw;
  }
}
@media (min-width: 641px) {
  .p-footer_nav__list {
    display: -ms-grid;
    display: grid;
    grid-auto-flow: column;
    -ms-grid-rows: (auto)[3];
    grid-template-rows: repeat(3, auto);
    -webkit-column-gap: 5.4em;
       -moz-column-gap: 5.4em;
            column-gap: 5.4em;
  }
}
@media (max-width: 640px) {
  .p-footer_nav__list {
    -webkit-columns: 2;
       -moz-columns: 2;
            columns: 2;
  }
}

.p-footer_nav__list__item .__link {
  display: block;
  padding: 0.39em 0;
  font-size: 1.125rem;
  letter-spacing: 0.08em;
  line-height: 1.3333333333;
  font-weight: 500;
}
@media (max-width: 1040px) {
  .p-footer_nav__list__item .__link {
    white-space: nowrap;
  }
}

.p-footer_copy {
  grid-area: copy;
  -ms-grid-column-align: end;
      justify-self: end;
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  line-height: 1.5;
  font-weight: 500;
  margin-top: 5.7em;
}

@media (min-width: 1041px){
  .p-footer__logo {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-footer_address {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .p-footer_nav {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 3;
  }
  .p-footer_copy {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
}
@media (max-width: 1040px) {
  .p-footer_copy {
    margin-top: 5.3em;
  }
}

/* index
  ========================================================================== */
/* .p-index_kv */
.p-index_kv {
  height: 730px;
}
@media (max-width: 1340px) and (min-width: 1041px) {
  .p-index_kv {
    width: 100%;
    height: auto;
    aspect-ratio: 1340/730;
  }
}
@media (max-width: 1040px) {
  .p-index_kv {
    padding-top: 62px;
    height: 600px;
  }
}

.p-index_kv__wrapper {
  width: 100%;
  height: 100%;
  position: relative;
  background: url(./img/index/bg-index_kv__pc.jpg) no-repeat center/cover;
  z-index: 1;
}
@media (max-width: 1040px) {
  .p-index_kv__wrapper {
    background: url(./img/index/bg-index_kv__sp.jpg) no-repeat center top/cover;
  }
}

.p-index_kv__text {
  width: 50%;
  height: 100%;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr auto 1.8fr;
  grid-template-columns: 1fr auto 1.8fr;
  -ms-grid-rows: 1.6fr 1.35em auto 1.35em auto 1.35em 1fr;
  grid-template-rows: 1.6fr auto auto 1fr;
      grid-template-areas: ". . ." ". main ." ". mini ." ". . .";
  grid-row-gap: 1.35em;
}
@media (max-width: 1340px) {
  .p-index_kv__text {
    -ms-grid-columns: 0.4fr auto 1.8fr;
    grid-template-columns: 0.4fr auto 1.8fr;
  }
}
@media (min-width: 1041px) {
  .p-index_kv__text {
    background: -webkit-gradient(linear, left top, right top, from(#fff), color-stop(62.56%, rgba(255, 255, 255, 0.97)), color-stop(82.27%, rgba(255, 255, 255, 0.5)), to(rgba(255, 255, 255, 0)));
    background: linear-gradient(to right, #fff 0%, rgba(255, 255, 255, 0.97) 62.56%, rgba(255, 255, 255, 0.5) 82.27%, rgba(255, 255, 255, 0) 100%);
  }
}
@media (max-width: 1040px) {
  .p-index_kv__text {
    width: 100%;
    height: 100%;
    -ms-grid-columns: 1fr 90% 1fr;
    grid-template-columns: 1fr 90% 1fr;
    -ms-grid-rows: 1.46fr 0.4em auto 0.4em auto 0.4em 1fr;
    grid-template-rows: 1.46fr auto auto 1fr;
    color: #fff;
    text-shadow: 0px 3px 3px rgba(0, 0, 0, 0.1);
    grid-row-gap: 0.4em;
  }
  .p-index_kv__text > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-index_kv__text > *:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .p-index_kv__text > *:nth-child(3) {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .p-index_kv__text > *:nth-child(4) {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .p-index_kv__text > *:nth-child(5) {
    -ms-grid-row: 3;
    -ms-grid-column: 2;
  }
  .p-index_kv__text > *:nth-child(6) {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
  .p-index_kv__text > *:nth-child(7) {
    -ms-grid-row: 5;
    -ms-grid-column: 1;
  }
  .p-index_kv__text > *:nth-child(8) {
    -ms-grid-row: 5;
    -ms-grid-column: 2;
  }
  .p-index_kv__text > *:nth-child(9) {
    -ms-grid-row: 5;
    -ms-grid-column: 3;
  }
  .p-index_kv__text > *:nth-child(10) {
    -ms-grid-row: 7;
    -ms-grid-column: 1;
  }
  .p-index_kv__text > *:nth-child(11) {
    -ms-grid-row: 7;
    -ms-grid-column: 2;
  }
  .p-index_kv__text > *:nth-child(12) {
    -ms-grid-row: 7;
    -ms-grid-column: 3;
  }
}
.p-index_kv__text .__main {
  -ms-grid-row: 3;
  -ms-grid-column: 2;
  grid-area: main;
  font-size: 2.125rem;
  letter-spacing: 0.08em;
  line-height: 1.7647058824;
  font-weight: 400;
}
@media (max-width: 1340px) {
  .p-index_kv__text .__main {
    font-size: min(2.125rem, 3svw);
  }
}
@media (max-width: 1040px) {
  .p-index_kv__text .__main {
    font-size: 1.625rem;
    letter-spacing: 0.08em;
    line-height: 1.62;
    font-weight: 500;
  }
}
.p-index_kv__text .__main .__comma:after {
  content: "、";
  letter-spacing: 0;
  margin-right: -0.35em;
}
.p-index_kv__text .__mini {
  -ms-grid-row: 5;
  -ms-grid-column: 2;
  grid-area: mini;
  font-size: 1rem;
  letter-spacing: 0.08em;
  line-height: 1;
  font-weight: 400;
}
@media (min-width: 1041px) {
  .p-index_kv__text .__mini {
    color: #000;
  }
}
@media (max-width: 1040px) {
  .p-index_kv__text .__mini {
    font-size: 0.875rem;
    letter-spacing: 0.08em;
    line-height: 1.62;
    font-weight: 500;
  }
}

.p-index_kv__pickup {
  position: absolute;
  right: 0;
  bottom: -1px;
  background: #F8F7F4;
  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: 87px;
  max-width: 50%;
  border-radius: 20px 0px 0px 0px;
  z-index: 10;
}
@media (min-width: 1041px) {
  .p-index_kv__pickup {
    min-width: 415px;
  }
}
@media (max-width: 1040px) {
  .p-index_kv__pickup {
    max-width: 88%;
  }
}

.p-index_kv__pickup__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.95em;
  padding: 1em 1.5em 1.2em 2em;
}
@media (max-width: 1040px) {
  .p-index_kv__pickup__link {
    gap: 0.5em;
    padding-top: 1.2em;
  }
}
.p-index_kv__pickup__link .__sub {
  font-size: 0.875rem;
  letter-spacing: 0.08em;
  line-height: 1;
  font-weight: 700;
  color: #628d85;
}
.p-index_kv__pickup__link .__text {
  font-size: 1.125rem;
  letter-spacing: 0.08em;
  line-height: 1;
  font-weight: 500;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
@media (max-width: 1040px) {
  .p-index_kv__pickup__link .__text {
    font-size: 1rem;
    letter-spacing: 0.08em;
    line-height: 1;
    font-weight: 500;
  }
}

/* .p-index_scroll */
.p-index_scroll {
  margin-top: 0.75em;
}
@media (max-width: 1040px) {
  .p-index_scroll {
    display: none;
  }
}

.p-index_scroll__inner {
  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;
  position: relative;
}
.p-index_scroll__inner .__text {
  font-size: 0.8125rem;
  letter-spacing: 0.08em;
  line-height: 1;
  font-weight: 500;
  color: #d2d2d2;
}
.p-index_scroll__inner:before, .p-index_scroll__inner:after {
  content: "";
  display: block;
}
.p-index_scroll__inner:before {
  position: absolute;
  bottom: 0;
  width: 9px;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 100%;
  -webkit-animation: scrollMark 3s ease-in-out infinite;
          animation: scrollMark 3s ease-in-out infinite;
  background: #628d85;
}
.p-index_scroll__inner:after {
  width: 1px;
  height: 80px;
  background: #D2D2D2;
}

@-webkit-keyframes scrollMark {
  0% {
    opacity: 0;
    bottom: 75px;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    bottom: 0;
  }
}

@keyframes scrollMark {
  0% {
    opacity: 0;
    bottom: 75px;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    bottom: 0;
  }
}
/* .p-index_news */
.p-index_news {
  margin-top: 4.9em;
}
@media (max-width: 1040px) {
  .p-index_news {
    margin-top: 4.25em;
  }
}

@media (min-width: 1141px) {
  .p-index_news__wrapper {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 71.66%;
    grid-template-columns: 1fr 71.66%;
    -ms-grid-rows: 1fr auto;
    grid-template-rows: 1fr auto;
        grid-template-areas: "title list" "title link";
  }
}
@media (max-width: 1140px) {
  .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;
  }
}
@media (min-width: 1141px) {
  .p-index_news__wrapper .p-section_title {
    margin-top: 2.4em;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
@media (max-width: 1140px) {
  .p-index_news__wrapper .p-section_title {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.p-index_news__list {
  grid-area: list;
  border-top: 1px solid #333;
}
@media (max-width: 1140px) {
  .p-index_news__list {
    margin-top: 3em;
  }
}
@media (max-width: 840px) {
  .p-index_news__list {
    margin-top: 2em;
  }
}

.p-index_news__item {
  border-bottom: 1px solid #333;
}

.p-index_news__item__link {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 106px auto 1fr auto;
  grid-template-columns: 106px auto 1fr auto;
      grid-template-areas: "date cat title";
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1.975em 0;
}
@media (max-width: 840px) {
  .p-index_news__item__link {
    -ms-grid-columns: auto 0.9em 1fr 0.9em 1fr 0.9em auto;
    grid-template-columns: auto repeat(2, 1fr) auto;
    -ms-grid-rows: auto 0.85em 1fr;
    grid-template-rows: auto 1fr;
        grid-template-areas: "date cat cat arrow" "title title title arrow";
    grid-column-gap: 0.9em;
    grid-row-gap: 0.85em;
    padding: 1.4em 0;
  }
}
.p-index_news__item__link .__date {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: date;
  color: rgba(51, 51, 51, 0.8);
  line-height: 1;
}
@media (max-width: 1040px) {
  .p-index_news__item__link .__date {
    font-size: 0.9375rem;
  }
}
@media (max-width: 840px) {
  .p-index_news__item__link .__date {
    font-size: 0.875rem;
    letter-spacing: 0.08em;
  }
}
.p-index_news__item__link .__cat {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  grid-area: cat;
  min-width: 70px;
  height: 22px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  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: #628d85;
  padding: 0 0.5em;
}
.p-index_news__item__link .__cat .__cat__text {
  font-size: 0.75rem;
  letter-spacing: 0em;
  line-height: 1;
  font-weight: 500;
  color: #fff;
}
.p-index_news__item__link .__title {
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  -ms-grid-column: 3;
  grid-area: title;
  font-size: 1.125rem;
  letter-spacing: 0.08em;
  line-height: 1;
  font-weight: 500;
  overflow: hidden;
}
@media (max-width: 1040px) {
  .p-index_news__item__link .__title {
    font-size: 1rem;
    letter-spacing: 0.08em;
    line-height: 1.3125;
    font-weight: 500;
  }
}
@media (min-width: 841px) {
  .p-index_news__item__link .__title {
    text-overflow: ellipsis;
    white-space: nowrap;
    padding: 0 1.8em;
  }
}
@media (max-width: 840px) {
  .p-index_news__item__link .__title {
    font-size: 0.875rem;
    letter-spacing: 0.08em;
    line-height: 1.7142857143;
    font-weight: 500;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
}
.p-index_news__item__link:after {
  content: "";
  display: block;
  width: 24px;
  height: auto;
  aspect-ratio: 1/1;
  background: url(./img/index/icon-index_link.svg) no-repeat center/7px 10px #fff;
  border-radius: 100%;
}
@media (max-width: 840px) {
  .p-index_news__item__link:after {
    grid-area: arrow;
  }
}

.p-index_news__more {
  grid-area: link;
  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;
}

.p-index_news__more__link {
  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.35em;
  font-size: 1.125rem;
  letter-spacing: 0.08em;
  line-height: 1.2222222222;
  font-weight: 500;
  padding: 1.8em 0 1.8em 1.8em;
}
@media (max-width: 1040px) {
  .p-index_news__more__link {
    font-size: 1rem;
    gap: 0 3em;
  }
}
@media (max-width: 840px) {
  .p-index_news__more__link {
    font-size: 0.875rem;
    gap: 0 1.625em;
  }
}
.p-index_news__more__link:after {
  content: "";
  display: block;
  width: 24px;
  height: auto;
  aspect-ratio: 1/1;
  background: url(./img/index/icon-index_link.svg) no-repeat center/7px 10px #fff;
  border-radius: 100%;
}

/* .p-index_features */
.p-index_features {
  padding-top: 7.05em;
  padding-bottom: 12.85em;
}
.p-index_features:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, left bottom, from(#f8f7f4), color-stop(28%, rgba(120, 152, 136, 0.53)), color-stop(79%, rgba(120, 152, 136, 0.53)), to(#f8f7f4));
  background: linear-gradient(#f8f7f4 0%, rgba(120, 152, 136, 0.53) 28%, rgba(120, 152, 136, 0.53) 79%, #f8f7f4 100%);
  opacity: 0.5;
  z-index: 1;
}
@media (max-width: 1040px) {
  .p-index_features {
    padding-top: 5.65em;
    padding-bottom: 9.3em;
  }
}
@media (max-width: 840px) {
  .p-index_features {
    padding-top: 4.25em;
    padding-bottom: 5.8em;
  }
}

.p-index_features__head {
  position: relative;
  z-index: 10;
}
.p-index_features__head__about {
  margin-top: 2.7em;
  text-align: center;
  font-size: 1.125rem;
  letter-spacing: 0.08em;
  line-height: 1.5;
  font-weight: 500;
}
@media (max-width: 1040px) {
  .p-index_features__head__about {
    font-size: 1rem;
    letter-spacing: 0.08em;
    line-height: 1.5;
    font-weight: 500;
    margin-top: 2.8em;
  }
}
@media (max-width: 840px) {
  .p-index_features__head__about {
    font-size: 0.875rem;
    letter-spacing: 0.08em;
    line-height: 1.5;
    font-weight: 500;
    margin-top: 2.85em;
  }
}

.p-index_features__head__value {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.9em 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #F8F7F4;
  border-radius: 20px;
  position: relative;
  padding: 1.7em 5%;
  margin-top: 2.95em;
}
@media (max-width: 1040px) {
  .p-index_features__head__value {
    padding: 1.76em 5%;
  }
}
@media (max-width: 840px) {
  .p-index_features__head__value {
    padding: 1.825em 5%;
  }
}
.p-index_features__head__value:before {
  content: "What we value";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-family: "Allura", cursive;
  font-size: 1.875rem;
  letter-spacing: 0.08em;
  line-height: 1;
  font-weight: 400;
  color: #d0b462;
}
@media (max-width: 1040px) {
  .p-index_features__head__value:before {
    font-size: 1.6875rem;
    letter-spacing: 0.08em;
    line-height: 1.0555555556;
    font-weight: 400;
  }
}
@media (max-width: 840px) {
  .p-index_features__head__value:before {
    font-size: 1.5rem;
    letter-spacing: 0.08em;
    line-height: 1.125;
    font-weight: 400;
  }
}
.p-index_features__head__value .__sub {
  font-size: 1.625rem;
  letter-spacing: 0.08em;
  line-height: 1.6153846154;
  font-weight: 700;
}
@media (max-width: 1040px) {
  .p-index_features__head__value .__sub {
    font-size: 1.375rem;
    letter-spacing: 0.08em;
    line-height: 1.5681818182;
    font-weight: 700;
  }
}
@media (max-width: 840px) {
  .p-index_features__head__value .__sub {
    font-size: 1.125rem;
    letter-spacing: 0.08em;
    line-height: 1.5;
    font-weight: 700;
  }
}
.p-index_features__head__value .__text {
  font-size: 1.25rem;
  letter-spacing: 0.08em;
  line-height: 1.5;
  font-weight: 500;
}
@media (max-width: 1040px) {
  .p-index_features__head__value .__text {
    font-size: 1.0625rem;
    letter-spacing: 0.08em;
    line-height: 1.5;
    font-weight: 500;
  }
}
@media (max-width: 840px) {
  .p-index_features__head__value .__text {
    font-size: 0.875rem;
    letter-spacing: 0.08em;
    line-height: 1.5;
    font-weight: 500;
  }
}

/* .p-index_features__body */
.p-index_features__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4.7em 0;
  margin-top: 6.2em;
  position: relative;
  z-index: 10;
}
@media (max-width: 1140px) {
  .p-index_features__body {
    margin-top: 5.5em;
    gap: 4.2em 0;
  }
}
@media (max-width: 840px) {
  .p-index_features__body {
    margin-top: 4.75em;
    gap: 3.7em 0;
  }
}

@media (min-width: 1141px) {
  .p-index_features__body__item {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 6.66% 1fr;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 6.66%;
  }
  .p-index_features__body__item:nth-of-type(odd) {
    -ms-grid-rows: 1fr auto auto 1fr;
    grid-template-rows: 1fr auto auto 1fr;
        grid-template-areas: "figure ." "figure head" "figure text" "figure .";
  }
  .p-index_features__body__item:nth-of-type(odd):has(.__more) {
    -ms-grid-rows: auto 1fr auto;
    grid-template-rows: auto 1fr auto;
        grid-template-areas: "figure head" "figure text" "figure more";
  }
  .p-index_features__body__item:nth-of-type(odd) .__more {
    -ms-grid-column-align: end;
        justify-self: end;
  }
  .p-index_features__body__item:nth-of-type(even) {
    -ms-grid-rows: 1fr auto auto 1fr;
    grid-template-rows: 1fr auto auto 1fr;
        grid-template-areas: ". figure" "head figure" "text figure" ". figure";
  }
  .p-index_features__body__item:nth-of-type(even):has(.__more) {
    -ms-grid-rows: 1fr auto 1fr;
    grid-template-rows: 1fr auto 1fr;
        grid-template-areas: "head figure" "text figure" "more figure";
  }
}
@media (max-width: 1140px) {
  .p-index_features__body__item {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
  }
}
.p-index_features__body__item .__head {
  grid-area: head;
  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.2em 0;
  padding-bottom: 0.75em;
  border-bottom: 1px solid #333;
}
@media (max-width: 1140px) {
  .p-index_features__body__item .__head {
    padding-bottom: 0.65em;
  }
}
@media (max-width: 840px) {
  .p-index_features__body__item .__head {
    padding-bottom: 0.55em;
  }
}
.p-index_features__body__item .__head .__head__num {
  font-size: 2.5rem;
  letter-spacing: 0.08em;
  line-height: 1;
  font-weight: 400;
  padding-left: 0.125em;
  color: #d0b462;
}
@media (max-width: 1140px) {
  .p-index_features__body__item .__head .__head__num {
    font-size: 2.125rem;
  }
}
@media (max-width: 840px) {
  .p-index_features__body__item .__head .__head__num {
    font-size: 1.75rem;
  }
}
.p-index_features__body__item .__head .__head__num:before {
  content: "point";
  display: inline-block;
  font-size: 1.875rem;
  letter-spacing: 0.08em;
  line-height: 1;
  font-weight: 400;
  margin-right: 0.3em;
}
@media (max-width: 1140px) {
  .p-index_features__body__item .__head .__head__num:before {
    font-size: 1.5625rem;
    letter-spacing: 0.08em;
    line-height: 1.14;
    font-weight: 400;
  }
}
@media (max-width: 840px) {
  .p-index_features__body__item .__head .__head__num:before {
    font-size: 1.25rem;
    letter-spacing: 0.08em;
    line-height: 1.35;
    font-weight: 400;
  }
}
.p-index_features__body__item .__head .__head__title {
  font-size: 1.625rem;
  letter-spacing: 0.08em;
  line-height: 1.6153846154;
  font-weight: 500;
}
@media (max-width: 1140px) {
  .p-index_features__body__item .__head .__head__title {
    font-size: 1.4375rem;
    letter-spacing: 0.08em;
    line-height: 1.5652173913;
    font-weight: 500;
  }
}
@media (max-width: 840px) {
  .p-index_features__body__item .__head .__head__title {
    font-size: 1.25rem;
    letter-spacing: 0.08em;
    line-height: 1.5;
    font-weight: 500;
  }
}
.p-index_features__body__item .__figure {
  grid-area: figure;
  border-radius: 20px;
  overflow: hidden;
}
@media (min-width: 1141px) {
  .p-index_features__body__item .__figure {
    height: 346px;
  }
}
@media (max-width: 1140px) {
  .p-index_features__body__item .__figure {
    margin-top: 0.95em;
  }
}
.p-index_features__body__item .__figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 1140px) {
  .p-index_features__body__item .__figure img {
    aspect-ratio: 339/209;
  }
}
.p-index_features__body__item .__text {
  grid-area: text;
  padding-top: 0.8em;
}
@media (min-width: 1141px) {
  .p-index_features__body__item .__text {
    min-height: 7.5lh;
  }
}
@media (max-width: 1140px) {
  .p-index_features__body__item .__text {
    padding-top: 0.9em;
  }
}
@media (max-width: 840px) {
  .p-index_features__body__item .__text {
    padding-top: 1em;
  }
}
.p-index_features__body__item .__text > p {
  letter-spacing: 0.03em;
}
@media (max-width: 1140px) {
  .p-index_features__body__item .__text > p {
    font-size: 0.9375rem;
    letter-spacing: 0.03em;
    line-height: 1.6;
    font-weight: 400;
  }
}
@media (max-width: 840px) {
  .p-index_features__body__item .__text > p {
    font-size: 0.875rem;
    letter-spacing: 0.03em;
    line-height: 1.5;
    font-weight: 400;
  }
}
.p-index_features__body__item .__text .__text__caution {
  margin-top: 0.5em;
}
.p-index_features__body__item .__text .__text__caution .__text__caution__sub,
.p-index_features__body__item .__text .__text__caution .__text__caution__list {
  font-size: 0.875rem;
  letter-spacing: 0.08em;
  line-height: 1.7142857143;
  font-weight: 400;
}
@media (max-width: 1140px) {
  .p-index_features__body__item .__text .__text__caution .__text__caution__sub,
  .p-index_features__body__item .__text .__text__caution .__text__caution__list {
    line-height: 1.6;
  }
}
@media (max-width: 840px) {
  .p-index_features__body__item .__text .__text__caution .__text__caution__sub,
  .p-index_features__body__item .__text .__text__caution .__text__caution__list {
    line-height: 1.5;
  }
}
.p-index_features__body__item .__more {
  grid-area: more;
}
@media (max-width: 1140px) {
  .p-index_features__body__item .__more {
    margin-top: 1.25em;
  }
}
.p-index_features__body__item .__more .__more__link {
  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;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  gap: 0 0.7em;
  border-bottom: 1px solid #333;
  padding: 0.35em 0;
}
@media (max-width: 1140px) {
  .p-index_features__body__item .__more .__more__link {
    padding: 0.2em 0;
    font-size: 0.9375rem;
    letter-spacing: 0.08em;
    line-height: 1.7;
    font-weight: 400;
    margin-left: auto;
  }
}
@media (max-width: 840px) {
  .p-index_features__body__item .__more .__more__link {
    font-size: 0.875rem;
    letter-spacing: 0.08em;
    line-height: 1.7142857143;
    font-weight: 400;
    padding: 0.1em 0;
  }
}
.p-index_features__body__item .__more .__more__link:after {
  content: "";
  display: block;
  width: 9px;
  height: auto;
  aspect-ratio: 1/1;
  border-right: 1px solid #333;
  border-bottom: 1px solid #333;
  rotate: -45deg;
  margin-bottom: -0.1em;
}

/* .p-index_facilities */
.p-index_facilities {
  /*margin-top: 12.85em;

  @media (max-width: 1040px) {
  	margin-top: 9.3em;
  }

  @media (max-width: 840px) {
  	margin-top: 5.8em;
  }*/
}

.p-index_facilities__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 4.2em 2.16%;
  margin-top: 3.05em;
}
@media (max-width: 1040px) {
  .p-index_facilities__list {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 2.6em;
    gap: 3.25em 2.16%;
  }
}
@media (max-width: 840px) {
  .p-index_facilities__list {
    max-width: 520px;
    margin-top: 2.2em;
    gap: 2.34em 2.16%;
  }
}

.p-index_facilities__item {
  width: 23.38%;
}
@media (max-width: 1040px) {
  .p-index_facilities__item {
    width: 48.92%;
  }
}
@media (max-width: 720px) {
  .p-index_facilities__item {
    width: 100%;
  }
}
.p-index_facilities__item .__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: 1em 0;
}
@media (max-width: 1040px) {
  .p-index_facilities__item .__figure {
    gap: 0.8em 0;
  }
}
@media (max-width: 840px) {
  .p-index_facilities__item .__figure {
    gap: 0.6em 0;
  }
}
.p-index_facilities__item .__figure .__figure__img,
.p-index_facilities__item .__figure .__figure__list {
  width: 100%;
  height: auto;
  aspect-ratio: 28/20;
  border-radius: 20px;
}
@media (max-width: 1040px) {
  .p-index_facilities__item .__figure .__figure__img,
  .p-index_facilities__item .__figure .__figure__list {
    aspect-ratio: 339/209;
  }
}
.p-index_facilities__item .__figure .__figure__img {
  -o-object-fit: cover;
     object-fit: cover;
}
.p-index_facilities__item .__figure .__figure__caption {
  font-size: 1.125rem;
  letter-spacing: 0.08em;
  line-height: 1.5;
  font-weight: 500;
  text-align: center;
}
@media (max-width: 1240px) and (min-width: 1041px) {
  .p-index_facilities__item .__figure .__figure__caption {
    font-size: min(1.125rem, 1.4svw);
  }
}
@media (max-width: 1040px) {
  .p-index_facilities__item .__figure .__figure__caption {
    font-size: 1.0625rem;
    letter-spacing: 0.08em;
    line-height: 1.5;
    font-weight: 500;
  }
}
@media (max-width: 840px) {
  .p-index_facilities__item .__figure .__figure__caption {
    font-size: 1rem;
    letter-spacing: 0.08em;
    line-height: 1.5;
    font-weight: 500;
  }
}
.p-index_facilities__item .__figure .__figure__list {
  background: #fff;
}
@media (min-width: 1241px) {
  .p-index_facilities__item .__figure .__figure__list {
    padding-top: 0.5em;
  }
}
.p-index_facilities__item .__figure .__figure__list .__figure__list__inbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.32em 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  height: 100%;
}
.p-index_facilities__item .__figure .__figure__list .__figure__list__inbox .__figure__list__item {
  font-size: 1rem;
  letter-spacing: 0.08em;
  line-height: 1.6875;
  font-weight: 500;
}
/* .p-index_location */
.p-index_location {
  margin-top: 12.8em;
}
@media (max-width: 1240px) {
  .p-index_location {
    margin-top: 9.3em;
  }
}
@media (max-width: 840px) {
  .p-index_location {
    margin-top: 5.8em;
  }
}

.p-index_location__inner {
  margin-top: 2.7em;
}
@media (min-width: 841px) {
  .p-index_location__inner {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 390px 5.75% 1fr;
    grid-template-columns: 390px 1fr;
    -ms-grid-rows: auto 1.45em 1fr;
    grid-template-rows: auto 1fr;
        grid-template-areas: "detail map" "info map";
    gap: 1.45em 5.75%;
  }
}
@media (max-width: 1240px) {
  .p-index_location__inner {
    -ms-grid-columns: 350px 4% 1fr;
    grid-template-columns: 350px 1fr;
    gap: 2.2em 4%;
    margin-top: 2.58em;
  }
}
@media (max-width: 1040px) {
  .p-index_location__inner {
    -ms-grid-columns: 1fr 5.75% 1fr;
    grid-template-columns: repeat(2, 1fr);
    -ms-grid-rows: auto 3em auto;
        grid-template-areas: "detail info" "map map";
    gap: 3em 5.75%;
  }
}
@media (max-width: 840px) {
  .p-index_location__inner {
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 2.45em;
  }
}

.p-index_location__detail {
  grid-area: detail;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 8.6em 1fr;
  grid-template-columns: 8.6em 1fr;
}
@media (max-width: 1240px) {
  .p-index_location__detail {
    -ms-grid-columns: 8.3em 1fr;
    grid-template-columns: 8.3em 1fr;
  }
}
@media (max-width: 840px) {
  .p-index_location__detail {
    -ms-grid-columns: 8em 1fr;
    grid-template-columns: 8em 1fr;
  }
}
.p-index_location__detail .__name,
.p-index_location__detail .__note {
  font-size: 1.125rem;
  letter-spacing: 0.08em;
  line-height: 1.5;
  font-weight: 500;
  border-bottom: 1px solid #333;
  padding: 0.83em 0;
}
@media (max-width: 1240px) {
  .p-index_location__detail .__name,
  .p-index_location__detail .__note {
    font-size: 1rem;
    letter-spacing: 0.08em;
    line-height: 1.5;
    font-weight: 500;
    padding: 0.92em 0;
  }
}
@media (max-width: 840px) {
  .p-index_location__detail .__name,
  .p-index_location__detail .__note {
    font-size: 0.875rem;
    letter-spacing: 0.08em;
    line-height: 1.5;
    font-weight: 500;
    padding: 1em 0;
  }
}
.p-index_location__detail .__name:first-of-type,
.p-index_location__detail .__note:first-of-type {
  padding-top: 0;
}
.p-index_location__info {
  grid-area: info;
  margin-left: -0.4em;
}
@media (min-width: 1241px) {
  .p-index_location__info {
    padding-bottom: 0.9em;
  }
}
@media (max-width: 840px) {
  .p-index_location__info {
    margin-top: 2.45em;
  }
}

.p-index_location__info__title {
  font-size: 1.125rem;
  letter-spacing: 0.08em;
  line-height: 1.5;
  font-weight: 500;
  text-indent: -0.3em;
}
@media (max-width: 1240px) {
  .p-index_location__info__title {
    font-size: 1.0625rem;
  }
}
@media (max-width: 840px) {
  .p-index_location__info__title {
    font-size: 1rem;
  }
}

.p-index_location__info__list {
  letter-spacing: 0.03em;
  line-height: 1.5;
  margin-top: 0.9em;
}
@media (max-width: 1240px) {
  .p-index_location__info__list {
    font-size: 0.9375rem;
    letter-spacing: 0.03em;
    line-height: 1.6;
    font-weight: 400;
    margin-top: 1.05em;
  }
}
@media (max-width: 840px) {
  .p-index_location__info__list {
    font-size: 0.875rem;
    letter-spacing: 0.03em;
    line-height: 1.7142857143;
    font-weight: 400;
    margin-top: 1.2em;
  }
}
.p-index_location__map {
  grid-area: map;
  border-radius: 20px;
  overflow: hidden;
}
@media (min-width: 841px){
  .p-index_location__detail {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-index_location__info {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .p-index_location__map {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 3;
  }
}
@media (max-width: 1040px){
  .p-index_location__detail {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-index_location__info {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .p-index_location__map {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
}
@media (min-width: 1241px) {
  .p-index_location__map {
    padding-top: 0.3em;
  }
}
@media (max-width: 1040px) {
  .p-index_location__map {
    height: 326px;
  }
}
@media (max-width: 840px) {
  .p-index_location__map {
    margin-top: 2.4em;
    height: 276px;
  }
}
@media (max-width: 540px) {
  .p-index_location__map {
    height: 226px;
  }
}
.p-index_location__map iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* .p-index_step */
.p-index_step {
  margin-top: 12.55em;
  position: relative;
  z-index: 10;
}
@media (max-width: 1040px) {
  .p-index_step {
    margin-top: 9.3em;
  }
}
@media (max-width: 840px) {
  .p-index_step {
    margin-top: 6em;
  }
}

@media (min-width: 541px) {
  .p-index_step__wrapper {
    padding: 6.4em 0 4.65em;
    background: #fff;
    border-radius: 20px;
  }
}
.p-index_step__cols {
  width: 940px;
  max-width: 80%;
  margin: 4.05em auto 0;
  counter-reset: islNum;
}
@media (min-width: 941px) {
  .p-index_step__cols {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0 7.9%;
  }
}
@media (max-width: 1340px) {
  .p-index_step__cols {
    max-width: 90%;
    gap: 0 4%;
  }
}
@media (max-width: 940px) {
  .p-index_step__cols {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-top: 3.1em;
  }
}
@media (max-width: 540px) {
  .p-index_step__cols {
    max-width: 100%;
    margin-top: 2.2em;
  }
}

.p-index_step__col {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

.p-index_step__item {
  counter-increment: islNum;
}

.p-index_step__item__body {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 1.25em 1fr;
  grid-template-columns: auto 1fr;
  -ms-grid-rows: auto 0.55em auto;
  grid-template-rows: repeat(2, auto);
      grid-template-areas: "num title" "num text";
  gap: 0.55em 1.25em;
  padding-bottom: 5em;
  position: relative;
}
@media (max-width: 840px) {
  .p-index_step__item__body {
    gap: 0.5em 1.175em;
    padding-bottom: 3.7em;
  }
}
@media (max-width: 540px) {
  .p-index_step__item__body {
    gap: 0.45em 1.1em;
    padding-bottom: 2.475em;
  }
}
.p-index_step__item__body:before {
  -ms-grid-row: 1;
  -ms-grid-row-span: 3;
  -ms-grid-column: 1;
  grid-area: num;
  content: counter(islNum, decimal-leading-zero);
  font-size: 1.125rem;
  letter-spacing: 0.08em;
  line-height: 1;
  font-weight: 400;
  font-family: "Helvetica Neue", sans-serif;
  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;
  color: #fff;
  background: #628D85;
  border-radius: 100%;
  width: 64px;
  height: auto;
  padding-left: 0.08em;
  aspect-ratio: 1/1;
  z-index: 5;
}
body:not(.js-isWin) .p-index_step__item__body:before {
  padding-top: 0.3em;
}
@media (max-width: 840px) {
  .p-index_step__item__body:before {
    width: 57px;
    font-size: 0.96875rem;
  }
}
@media (max-width: 540px) {
  .p-index_step__item__body:before {
    width: 50px;
    font-size: 0.8125rem;
  }
}
.p-index_step__item__body .__title,
.p-index_step__item__body .__text {
  z-index: 5;
}
.p-index_step__item__body .__title {
  grid-area: title;
  font-size: 1.375rem;
  letter-spacing: 0.08em;
  line-height: 1.5;
  font-weight: 500;
  color: #628d85;
  -ms-grid-row-align: center;
      align-self: center;
  padding-top: 0.635em;
}
@media (max-width: 1140px) {
  .p-index_step__item__body .__title {
    font-size: 1.1875rem;
    letter-spacing: 0.08em;
    line-height: 1.5526315789;
    font-weight: 500;
  }
}
@media (max-width: 840px) {
  .p-index_step__item__body .__title {
    font-size: 1rem;
    letter-spacing: 0.08em;
    line-height: 1.625;
    font-weight: 500;
  }
}
.p-index_step__item__body .__text {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
  grid-area: text;
  letter-spacing: 0.03em;
  line-height: 1.5;
}
@media (max-width: 1140px) {
  .p-index_step__item__body .__text {
    font-size: 0.9375rem;
  }
}
@media (max-width: 840px) {
  .p-index_step__item__body .__text {
    font-size: 0.875rem;
  }
}
.p-index_step__item__body .__text.__list .__list__item {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 1fr;
  grid-template-columns: auto 1fr;
}
.p-index_step__item__body .__text.__list .__list__item .__list__item__name {
  font-weight: 400;
}
.p-index_step__item__body .__text.__list .__list__item .__list__item__note .__detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.p-index_step__item__body .__text.__list .__list__item .__list__item__note .__detail .__detail__item:not(:last-of-type):after {
  content: "・";
}
.p-index_step__item__body:after {
  content: "";
  display: block;
  background: #628D85;
  width: 1px;
  height: 100%;
  position: absolute;
  top: 32px;
  left: 32px;
  z-index: 1;
}
@media (max-width: 840px) {
  .p-index_step__item__body:after {
    top: 28.5px;
    left: 28.5px;
  }
}
@media (max-width: 540px) {
  .p-index_step__item__body:after {
    top: 25px;
    left: 25px;
  }
}
@media (min-width: 941px) {
  .p-index_step__col:not(:last-of-type) .p-index_step__item:last-of-type .p-index_step__item__body:after {
    height: calc(100% - 32px - 1em);
  }
}
.p-index_step__col:last-of-type .p-index_step__item:last-of-type .p-index_step__item__body:after {
  display: none;
}

/* .p-index_price */
.p-index_price {
  margin-top: 12.9em;
  position: relative;
  z-index: 10;
}
@media (max-width: 1040px) {
  .p-index_price {
    margin-top: 8.15em;
  }
}
@media (max-width: 840px) {
  .p-index_price {
    margin-top: 3.4em;
  }
}

.p-index_price__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 4px;
  margin-top: 3.05em;
}
@media (max-width: 1200px) {
  .p-index_price__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3px;
  }
}
@media (max-width: 1040px) {
  .p-index_price__inner {
    margin-top: 2.6em;
  }
}
@media (max-width: 840px) {
  .p-index_price__inner {
    margin-top: 2.15em;
    gap: 2px;
  }
}

.p-index_price__month,
.p-index_price__detail {
  padding-top: 3.6em;
  padding-bottom: 4.2em;
}
@media (max-width: 1200px) {
  .p-index_price__month,
  .p-index_price__detail {
    padding-top: 3em;
    padding-bottom: 3.3em;
  }
}
@media (max-width: 1040px) {
  .p-index_price__month,
  .p-index_price__detail {
    padding-top: 2.5em;
    padding-bottom: 2.4em;
  }
}
@media (max-width: 840px) {
  .p-index_price__month,
  .p-index_price__detail {
    padding-top: 2em;
    padding-bottom: 1.45em;
  }
}

.p-index_price__month {
  background: #fff;
  border-radius: 20px 0 0 20px;
  width: 40.65%;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 2.3fr auto 1fr;
  grid-template-columns: 2.3fr auto 1fr;
  -ms-grid-rows: 1fr (auto)[3] 1fr;
  grid-template-rows: 1fr repeat(3, auto) 1fr;
      grid-template-areas: ". . ." ". title ." ". price ." ". caution ." ". . .";
  padding-left: 7%;
  padding-right: 7%;
}
@media (max-width: 1340px) {
  .p-index_price__month {
    width: 400px;
  }
}
@media (max-width: 1200px) {
  .p-index_price__month {
    width: 100%;
    -ms-grid-columns: 1fr auto 1fr;
    grid-template-columns: 1fr auto 1fr;
    border-radius: 20px 20px 0 0;
  }
}

.p-index_price__month__title {
  grid-area: title;
  font-size: 1.5rem;
  letter-spacing: 0.08em;
  line-height: 1.5;
  font-weight: 400;
  text-indent: -0.625em;
}

.p-index_news__item__link > .p-index_price__month__title {
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  -ms-grid-column: 3;
}
@media (max-width: 1340px) {
  .p-index_price__month__title {
    font-size: 1.33125rem;
    letter-spacing: 0.08em;
    line-height: 1.5;
    font-weight: 400;
  }
}
@media (max-width: 1200px) {
  .p-index_price__month__title {
    padding-left: 1.2em;
  }
}
@media (max-width: 1040px) {
  .p-index_price__month__title {
    font-size: 1.1625rem;
    letter-spacing: 0.08em;
    line-height: 1.5;
    font-weight: 400;
  }
}
@media (max-width: 840px) {
  .p-index_price__month__title {
    font-size: 1rem;
    letter-spacing: 0.08em;
    line-height: 1.5;
    font-weight: 400;
  }
}

.p-index_price__month__price {
  -ms-grid-row: 3;
  -ms-grid-column: 2;
  grid-area: price;
  text-indent: -0.25em;
  margin-top: 1.4em;
}
@media (max-width: 1200px) {
  .p-index_price__month__price {
    -ms-grid-column-align: center;
        justify-self: center;
    margin-top: 1.2em;
  }
}
@media (max-width: 1040px) {
  .p-index_price__month__price {
    margin-top: 1em;
  }
}
@media (max-width: 840px) {
  .p-index_price__month__price {
    margin-top: 0.8em;
  }
}
.p-index_price__month__price .__num {
  font-size: 4rem;
  letter-spacing: 0em;
  line-height: 1;
  font-weight: 500;
  font-style: normal;
}
@media (max-width: 1340px) {
  .p-index_price__month__price .__num {
    font-size: 3.4375rem;
  }
}
@media (max-width: 1040px) {
  .p-index_price__month__price .__num {
    font-size: 2.875rem;
  }
}
@media (max-width: 840px) {
  .p-index_price__month__price .__num {
    font-size: 2.375rem;
  }
}
.p-index_price__month__price .__yen {
  font-size: 1.875rem;
  letter-spacing: 0.08em;
  line-height: 1;
  font-weight: 500;
  margin-left: 0.2em;
}
@media (max-width: 1340px) {
  .p-index_price__month__price .__yen {
    font-size: 1.6625rem;
    letter-spacing: 0.08em;
    line-height: 1.0526315789;
    font-weight: 500;
  }
}
@media (max-width: 1040px) {
  .p-index_price__month__price .__yen {
    font-size: 1.45625rem;
    letter-spacing: 0.08em;
    line-height: 1.1158798283;
    font-weight: 500;
    margin-left: 0.25em;
  }
}
@media (max-width: 840px) {
  .p-index_price__month__price .__yen {
    font-size: 1.25rem;
    letter-spacing: 0.08em;
    line-height: 1.2;
    font-weight: 500;
    margin-left: 0.3em;
  }
}

.p-index_price__month__caution {
  -ms-grid-row: 4;
  -ms-grid-column: 2;
  grid-area: caution;
  font-size: 0.875rem;
  letter-spacing: 0em;
  line-height: 1.7142857143;
  font-weight: 400;
  margin-top: 1.6em;
}
@media (max-width: 1340px) {
  .p-index_price__month__caution {
    font-size: 0.8125rem;
    letter-spacing: 0.03em;
    line-height: 1.6538461538;
    font-weight: 400;
  }
}
@media (max-width: 1200px) {
  .p-index_price__month__caution {
    margin-top: 1.5em;
  }
}
@media (max-width: 840px) {
  .p-index_price__month__caution {
    font-size: 0.75rem;
    letter-spacing: 0.03em;
    line-height: 1.5833333333;
    font-weight: 400;
  }
}
.p-index_price__detail {
  background: #fff;
  border-radius: 0 20px 20px 0;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 86.5% 1fr;
  grid-template-columns: 1fr 86.5% 1fr;
  -ms-grid-rows: (auto)[6];
  grid-template-rows: repeat(6, auto);
      grid-template-areas: ". . ." ". title01 ." ". breakdown ." ". title02 ." ". option ." ". . .";
}
@media (max-width: 1200px) {
  .p-index_price__detail {
    -ms-grid-columns: 1fr 700px 1fr;
    grid-template-columns: 1fr 700px 1fr;
    border-radius: 0 0 20px 20px;
  }
}
@media (max-width: 1040px) {
  .p-index_price__detail {
    -ms-grid-columns: 7% 1fr 7%;
    grid-template-columns: 7% 1fr 7%;
  }
}
@media (max-width: 840px) {
  .p-index_price__detail {
    padding-top: 2.25em;
    padding-bottom: 2.45em;
  }
}

.p-index_price__detail__title {
  font-size: 1.5rem;
  letter-spacing: 0.08em;
  line-height: 1;
  font-weight: 500;
}
@media (max-width: 1340px) {
  .p-index_price__detail__title {
    font-size: 1.28125rem;
    letter-spacing: 0.06em;
  }
}
@media (max-width: 840px) {
  .p-index_price__detail__title {
    font-size: 1.0625rem;
    letter-spacing: 0.04em;
  }
}
.p-index_price__detail__title:not(:first-of-type) {
  margin-top: 2.4em;
}
.p-index_price__detail__title:nth-of-type(1) {
  -ms-grid-row: 2;
  -ms-grid-column: 2;
  grid-area: title01;
}
.p-index_price__detail__title:nth-of-type(2) {
  -ms-grid-row: 4;
  -ms-grid-column: 2;
  grid-area: title02;
}

.p-index_price__detail .__breakdown {
  -ms-grid-row: 3;
  -ms-grid-column: 2;
  grid-area: breakdown;
  margin-top: 1.4em;
}
@media (max-width: 1200px) {
  .p-index_price__detail .__breakdown {
    margin-top: 1.3em;
  }
}
@media (max-width: 840px) {
  .p-index_price__detail .__breakdown {
    margin-top: 1.2em;
  }
}

.p-index_price__detail .__breakdown__list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr auto auto;
  grid-template-columns: 1fr auto auto;
  grid-row-gap: 0.75em;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
}
@media (max-width: 1200px) {
  .p-index_price__detail .__breakdown__list {
    grid-row-gap: 0.85em;
  }
}
@media (max-width: 840px) {
  .p-index_price__detail .__breakdown__list {
    grid-row-gap: 0.95em;
  }
}
.p-index_price__detail .__breakdown__list .__name,
.p-index_price__detail .__breakdown__list .__yen,
.p-index_price__detail .__breakdown__list .__unit {
  font-size: 1.125rem;
  letter-spacing: 0.08em;
  line-height: 1.3333333333;
  font-weight: 400;
}
@media (max-width: 1340px) {
  .p-index_price__detail .__breakdown__list .__name,
  .p-index_price__detail .__breakdown__list .__yen,
  .p-index_price__detail .__breakdown__list .__unit {
    font-size: 1.0375rem;
    letter-spacing: 0.08em;
    line-height: 1.3855421687;
    font-weight: 400;
  }
}
@media (max-width: 1040px) {
  .p-index_price__detail .__breakdown__list .__name,
  .p-index_price__detail .__breakdown__list .__yen,
  .p-index_price__detail .__breakdown__list .__unit {
    font-size: 0.95625rem;
    letter-spacing: 0.08em;
    line-height: 1.4379084967;
    font-weight: 400;
  }
}
@media (max-width: 840px) {
  .p-index_price__detail .__breakdown__list .__name,
  .p-index_price__detail .__breakdown__list .__yen,
  .p-index_price__detail .__breakdown__list .__unit {
    font-size: 0.875rem;
    letter-spacing: 0.08em;
    line-height: 1.5;
    font-weight: 400;
  }
}
.p-index_price__detail .__breakdown__list .__name {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 0.25em 1fr;
  grid-template-columns: auto 1fr;
  grid-column-gap: 0.25em;
}
.p-index_price__detail .__breakdown__list .__name:before {
  content: "";
  display: block;
  height: 0.85em;
  width: auto;
  aspect-ratio: 1/1;
  background: #333;
  margin-top: calc(0.5lh - 0.35em);
}
.p-index_price__detail .__breakdown__list .__yen {
  text-align: right;
}
@media (min-width: 641px) {
  .p-index_price__detail .__breakdown__list .__unit {
    min-width: 10.7em;
  }
}
@media (max-width: 1040px) {
  .p-index_price__detail .__breakdown__list .__unit .__unit__inner {
    font-size: 0.8125rem;
    letter-spacing: 0.04em;
    line-height: 1.6153846154;
    font-weight: 400;
  }
}
@media (max-width: 840px) {
  .p-index_price__detail .__breakdown__list .__unit .__unit__inner {
    font-size: 0.75rem;
    letter-spacing: 0em;
    line-height: 1.75;
    font-weight: 400;
  }
}

.p-index_price__detail .__option {
  -ms-grid-row: 5;
  -ms-grid-column: 2;
  grid-area: option;
  margin-top: 1.35em;
}
@media (max-width: 640px) {
  .p-index_price__detail .__option {
    margin-top: 1.25em;
  }
}

@media (min-width: 641px) {
  .p-index_price__detail .__option__list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 61.6%;
    grid-template-columns: 1fr 61.6%;
    grid-row-gap: 0.75em;
  }
}
@media (max-width: 640px) {
  .p-index_price__detail .__option__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-index_price__detail .__option__list__dt,
.p-index_price__detail .__option__list__dd {
  font-size: 1.125rem;
  letter-spacing: 0.08em;
  line-height: 1.3333333333;
  font-weight: 400;
}
@media (max-width: 1340px) {
  .p-index_price__detail .__option__list__dt {
    font-size: 1.0375rem;
    letter-spacing: 0.08em;
    line-height: 1.5060240964;
    font-weight: 400;
  }
}
@media (max-width: 1040px) {
  .p-index_price__detail .__option__list__dt {
    font-size: 0.95625rem;
    letter-spacing: 0.08em;
    line-height: 1.6993464052;
    font-weight: 400;
  }
}
@media (max-width: 840px) {
  .p-index_price__detail .__option__list__dt {
    font-size: 0.875rem;
    letter-spacing: 0.08em;
    line-height: 1.9285714286;
    font-weight: 400;
  }
}
@media (max-width: 640px) {
  .p-index_price__detail .__option__list__dt:not(:first-of-type) {
    margin-top: 0.975em;
  }
}
@media (max-width: 1340px) {
  .p-index_price__detail .__option__list__dd {
    font-size: 1.01875rem;
    letter-spacing: 0.08em;
    line-height: 1.4110429448;
    font-weight: 400;
  }
}
@media (max-width: 1040px) {
  .p-index_price__detail .__option__list__dd {
    font-size: 0.9125rem;
    letter-spacing: 0.08em;
    line-height: 1.5068493151;
    font-weight: 400;
  }
}
@media (max-width: 840px) {
  .p-index_price__detail .__option__list__dd {
    font-size: 0.8125rem;
    letter-spacing: 0.08em;
    line-height: 1.6153846154;
    font-weight: 400;
  }
}
@media (max-width: 640px) {
  .p-index_price__detail .__option__list__dd {
    padding-left: 1.2em;
  }
}

.p-index_price__detail .__option__list__dt {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 0.25em 1fr;
  grid-template-columns: auto 1fr;
  grid-column-gap: 0.25em;
}
.p-index_price__detail .__option__list__dt:before {
  content: "";
  display: block;
  height: 0.85em;
  width: auto;
  aspect-ratio: 1/1;
  background: #333;
  margin-top: calc(0.5lh - 0.35em);
}

.p-index_price__detail .__option__list__dd .__caution {
  font-size: 1rem;
  letter-spacing: 0.08em;
  line-height: 1.6875;
  font-weight: 400;
}
@media (max-width: 1340px) {
  .p-index_price__detail .__option__list__dd .__caution {
    font-size: 0.95625rem;
    letter-spacing: 0.08em;
    line-height: 1.6993464052;
    font-weight: 400;
  }
}
@media (max-width: 1040px) {
  .p-index_price__detail .__option__list__dd .__caution {
    font-size: 0.9125rem;
    letter-spacing: 0.08em;
    line-height: 1.7123287671;
    font-weight: 400;
  }
}
@media (max-width: 840px) {
  .p-index_price__detail .__option__list__dd .__caution {
    font-size: 0.8125rem;
    letter-spacing: 0.08em;
    line-height: 1.8461538462;
    font-weight: 400;
  }
}
/* .p-index_bnr */
.p-index_bnr {
  margin-top: 12.5em;
  padding-bottom: 12.5em;
  position: relative;
  z-index: 10;
}
@media (max-width: 1040px) {
  .p-index_bnr {
    margin-top: 9.4em;
    padding-bottom: 10.5em;
  }
}
@media (max-width: 840px) {
  .p-index_bnr {
    margin-top: 6.25em;
    padding-bottom: 8.6em;
  }
}

@media (max-width: 1040px) {
  .p-index_bnr__wrapper {
    width: 720px;
  }
}

.p-index_bnr__content {
  background: #333;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  color: #fff;
  border-radius: 20px;
  overflow: hidden;
}
@media (min-width: 1041px) {
  .p-index_bnr__content {
    height: 271px;
  }
}
@media (max-width: 1040px) {
  .p-index_bnr__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-index_bnr__content__figure {
  width: 37%;
}
@media (max-width: 1040px) {
  .p-index_bnr__content__figure {
    width: 100%;
  }
}
.p-index_bnr__content__figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 1040px) {
  .p-index_bnr__content__figure img {
    max-height: 350px;
    aspect-ratio: 339/207;
  }
}

@media (min-width: 1041px) {
  .p-index_bnr__content__body {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 10% 0 75.5% 0 5% 0 40px 0 1fr;
    grid-template-columns: 10% 75.5% 5% 40px 1fr;
    -ms-grid-rows: 1fr 1.25em auto 1.25em auto 1.25em 1fr;
    grid-template-rows: 1fr repeat(2, auto) 1fr;
        grid-template-areas: ". . . arrow ." ". title . arrow ." ". text . arrow ." ". . . arrow .";
    gap: 1.25em 0;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .p-index_bnr__content__body > .__text {
    -ms-grid-row: 5;
    -ms-grid-column: 3;
  }
  .p-index_bnr__content__body > .__text {
    -ms-grid-row: 5;
    -ms-grid-column: 3;
  }
}
@media (max-width: 1040px) {
  .p-index_bnr__content__body {
    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;
    padding: 1.7em 5% 2em;
  }
}
.p-index_bnr__content__body .p-section_title {
  grid-area: title;
}
@media (max-width: 1040px) {
  .p-index_bnr__content__body .p-section_title {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.p-index_bnr__content__body .__text {
  font-size: 1.125rem;
  letter-spacing: 0.08em;
  line-height: 1.3333333333;
  font-weight: 500;
  grid-area: text;
}
@media (min-width: 1141px){
  .p-index_features__body__item .__head {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
  }
  .p-index_features__body__item:nth-of-type(odd):has(.__more) > .__head {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .p-index_features__body__item:nth-of-type(even) > .__head {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .p-index_features__body__item:nth-of-type(even):has(.__more) > .__head {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-index_features__body__item .__figure {
    -ms-grid-row: 1;
    -ms-grid-row-span: 4;
    -ms-grid-column: 1;
  }
  .p-index_features__body__item:nth-of-type(odd):has(.__more) > .__figure {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
  }
  .p-index_features__body__item:nth-of-type(even) > .__figure {
    -ms-grid-row: 1;
    -ms-grid-row-span: 4;
    -ms-grid-column: 2;
  }
  .p-index_features__body__item:nth-of-type(even):has(.__more) > .__figure {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 2;
  }
  .p-index_features__body__item .__text {
    -ms-grid-row: 3;
    -ms-grid-column: 2;
  }
  .p-index_features__body__item:nth-of-type(odd):has(.__more) > .__text {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
  }
  .p-index_features__body__item:nth-of-type(even) > .__text {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .p-index_features__body__item:nth-of-type(even):has(.__more) > .__text {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .p-index_features__body__item .__more {
    -ms-grid-row: 3;
    -ms-grid-column: 2;
  }
  .p-index_features__body__item:nth-of-type(even):has(.__more) > .__more {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .p-index_step__item__body .__text {
    -ms-grid-row: 3;
    -ms-grid-column: 2;
  }
  .p-index_features__body__item:nth-of-type(odd):has(.__more) > .__text {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
  }
  .p-index_features__body__item:nth-of-type(even) > .__text {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .p-index_features__body__item:nth-of-type(even):has(.__more) > .__text {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .p-index_bnr__content__body .__text {
    -ms-grid-row: 3;
    -ms-grid-column: 2;
  }
  .p-index_features__body__item:nth-of-type(odd):has(.__more) > .__text {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
  }
  .p-index_features__body__item:nth-of-type(even) > .__text {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .p-index_features__body__item:nth-of-type(even):has(.__more) > .__text {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
}
@media (min-width: 1041px){
  .p-index_bnr__content__body > .__text {
    -ms-grid-row: 5;
    -ms-grid-column: 3;
  }
}
@media (max-width: 1040px) {
  .p-index_bnr__content__body .__text {
    font-size: 1rem;
    letter-spacing: 0.06em;
    line-height: 1.5;
    font-weight: 500;
    text-align: center;
    margin-top: 1.6em;
  }
}
@media (max-width: 840px) {
  .p-index_bnr__content__body .__text {
    font-size: 0.875rem;
    letter-spacing: 0.04em;
    line-height: 1.7142857143;
    font-weight: 500;
  }
}
.p-index_bnr__content__body:after {
  grid-area: arrow;
  content: "";
  display: block;
  width: 40px;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 100%;
  z-index: 1;
  background: url(./img/index/icon-index_bnr__arrow.svg) no-repeat center/9px #fff;
  -ms-grid-row-align: center;
      align-self: center;
}
@media (max-width: 1040px) {
  .p-index_bnr__content__body:after {
    margin-top: 1.35em;
  }
}

/* news(common)
  ========================================================================== */
/* p-post_main */
.p-post_main {
  padding: 8.1em 0 9.05em;
}
@media (max-width: 1040px) {
  .p-post_main {
    padding: 7.1em 0 8.55em;
  }
}
@media (max-width: 840px) {
  .p-post_main {
    padding: 6.1em 0 8.05em;
  }
}

@media (min-width: 1041px) {
  .p-post_main__wrapper {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 5% 260px;
    grid-template-columns: 1fr 260px;
    grid-column-gap: 5%;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
}

/* .p-single_posts */
.p-single_posts {
  max-width: 780px;
}
@media (max-width: 1040px) {
  .p-single_posts {
    max-width: 100%;
  }
}

.p-single_posts__wrapper {
  padding: 2.2em 0;
}
@media (max-width: 1040px) {
  .p-single_posts__wrapper {
    padding: 1.8em 0;
  }
}
@media (max-width: 840px) {
  .p-single_posts__wrapper {
    padding: 1.4em 0;
  }
}
.p-single_posts__wrapper:first-of-type {
  padding-top: 0;
}

.p-single_posts__ttl {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 3.2% 1fr;
  grid-template-columns: auto 1fr;
  -ms-grid-rows: auto 1.75em 1fr;
  grid-template-rows: auto 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
      grid-template-areas: "date cat" "title title";
  grid-column-gap: 3.2%;
  grid-row-gap: 1.75em;
  border-bottom: 1px solid #333;
  padding-bottom: 0.95em;
}
@media (max-width: 1040px) {
  .p-single_posts__ttl {
    grid-row-gap: 1.35em;
  }
}
@media (max-width: 840px) {
  .p-single_posts__ttl {
    grid-row-gap: 0.95em;
  }
}
.p-single_posts__ttl .__date {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: date;
  font-size: 1rem;
  letter-spacing: 0em;
  line-height: 1;
  font-weight: 400;
}
.p-single_posts__ttl .__cat {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  grid-area: cat;
  min-width: 84px;
  height: 23px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  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: #628d85;
  padding: 0 0.5em;
}
.p-single_posts__ttl .__cat .__cat__text {
  font-size: 0.875rem;
  letter-spacing: 0em;
  line-height: 1.5;
  font-weight: 500;
  color: #fff;
}
.p-single_posts__ttl .__title {
  grid-area: title;
  font-size: 1.25rem;
  letter-spacing: 0.08em;
  line-height: 1.5;
  font-weight: 500;
}
@media (min-width: 1141px){
  .p-index_news__list {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .p-index_news__item__link .__title {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 1;
  }
  .p-index_news__more {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
  }
  .p-index_step__item__body .__title {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 1;
  }
  .p-index_price__month__title {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 1;
  }
  .p-index_bnr__content__body .p-section_title {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 1;
  }
  .p-single_posts__ttl .__title {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 1;
  }
}
@media (max-width: 840px){
  .p-index_news__item__link .__date {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-index_news__item__link .__cat {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
    -ms-grid-column-span: 3;
  }
  .p-index_news__item__link > .__title {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 5;
  }
  .p-index_news__item__link:after {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 7;
  }
  .p-index_news__item__link > .__title {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 5;
  }
  .p-index_news__item__link > .p-index_price__month__title {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 5;
  }
  .p-index_news__item__link > .p-section_title {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 5;
  }
  .p-index_bnr__content__body:after {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 7;
  }
  .p-single_posts__ttl .__date {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-single_posts__ttl .__cat {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
    -ms-grid-column-span: 3;
  }
  .p-index_news__item__link > .__title {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 5;
  }
}

.p-article_content {
  max-width: 640px;
  padding-top: 1.45em;
}
@media (max-width: 1040px) {
  .p-article_content {
    font-size: 0.9375rem;
    max-width: 100%;
  }
}
@media (max-width: 840px) {
  .p-article_content {
    font-size: 0.875rem;
  }
}

/* .p-acv_pager */
.p-acv_pager {
  border-top: 1px solid #333;
  margin-top: 2.15em;
  padding: 3.25em 0;
}
@media (max-width: 840px) {
  .p-acv_pager {
    padding: 2em 0;
  }
}
.p-acv_pager:not(:has(.page-numbers)) {
  display: none;
}

.p-acv_pager__wrapper {
  margin-left: auto;
  margin-right: auto;
}
.p-acv_pager__wrapper .navigation.pagination {
  position: relative;
}
@media (max-width: 840px) {
  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;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  line-height: 1;
  margin-left: auto;
  margin-right: auto;
}
.p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers {
  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;
  font-family: "Helvetica Neue", sans-serif;
  color: #D2D2D2;
  padding: 0.475em;
  -webkit-transition: color 0.25s;
  transition: color 0.25s;
}
.p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.current {
  color: #628D85;
  text-decoration: underline;
  text-underline-offset: 0.35em;
  pointer-events: none;
}
.p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.dots {
  aspect-ratio: inherit;
}
.p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.prev, .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.next {
  font-family: "Zen Kaku Gothic New", Yu Gothic, YuGothic, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  color: #333;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
}
.p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.prev:hover, .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.next:hover {
  opacity: 0.5;
  color: inherit;
}
.p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers:hover {
  opacity: 1;
  color: #628D85;
}
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.575em;
}
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 {
  content: "";
  display: block;
  background: url(./img/common/icon-common_pager__arrow.svg) no-repeat center/contain;
  width: auto;
  height: 17px;
  aspect-ratio: 82/150;
}
body:not(#single) .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.prev {
  left: -1em;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}
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: -1em;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}
#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;
  color: #333;
}
#single .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.all a {
  width: auto;
  padding: 0 1em;
  height: 50px;
  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;
}
#single .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.prev, #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.575em;
  width: auto;
  border: 0;
  font-family: "Zen Kaku Gothic New", Yu Gothic, YuGothic, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  color: #333;
}
#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 {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: inherit;
  line-height: 1;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
  gap: 0 0.575em;
}
#single .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.prev:hover, #single .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.next:hover {
  opacity: 1;
}
#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 {
  opacity: 0.5;
  color: inherit;
}
#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 {
  content: "";
  display: block;
  background: url(./img/common/icon-common_pager__arrow.svg) no-repeat center/contain;
  width: auto;
  height: 17px;
  aspect-ratio: 82/150;
}
#single .p-acv_pager__wrapper .navigation.pagination .nav-links .page-numbers.prev {
  left: -1em;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}
#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: -1em;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}

.p-sp_pagination {
  position: relative;
}
@media (min-width: 841px) {
  .p-sp_pagination {
    display: none;
  }
}
.p-sp_pagination .p-sp_pagination__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;
}
.p-sp_pagination .p-sp_pagination__wrapper .p-sp_pagination__arrow {
  width: 50px;
  height: auto;
  aspect-ratio: 1/1;
  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: font 0.25s, border 0.25s;
  transition: font 0.25s, border 0.25s;
}
.p-sp_pagination .p-sp_pagination__wrapper .p-sp_pagination__arrow.prev, .p-sp_pagination .p-sp_pagination__wrapper .p-sp_pagination__arrow.next {
  width: auto;
  position: absolute;
  border: 0;
}
.p-sp_pagination .p-sp_pagination__wrapper .p-sp_pagination__arrow.prev > a, .p-sp_pagination .p-sp_pagination__wrapper .p-sp_pagination__arrow.next > a {
  width: 50px;
  height: auto;
  aspect-ratio: 1/1;
  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-sp_pagination .p-sp_pagination__wrapper .p-sp_pagination__arrow.prev > a:before, .p-sp_pagination .p-sp_pagination__wrapper .p-sp_pagination__arrow.next > a:before {
  content: "";
  display: block;
  width: 31px;
  height: auto;
  aspect-ratio: 60/19;
  background: url(./img/common/icon-common_pager__arrow.svg) no-repeat center/contain;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
  will-change: opacity;
  margin: auto;
}
.p-sp_pagination .p-sp_pagination__wrapper .p-sp_pagination__arrow.prev {
  left: 0;
}
.p-sp_pagination .p-sp_pagination__wrapper .p-sp_pagination__arrow.prev a:before, .p-sp_pagination .p-sp_pagination__wrapper .p-sp_pagination__arrow.prev a:after {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
.p-sp_pagination .p-sp_pagination__wrapper .p-sp_pagination__arrow.next {
  right: 0;
}
.p-sp_pagination .p-sp_pagination__wrapper .p-sp_pagination__select {
  width: 140px;
  height: 45px;
  border: 1px solid #707070;
  background: #fff;
  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;
}
.p-sp_pagination .p-sp_pagination__wrapper .p-sp_pagination__select select {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  z-index: 10;
  cursor: pointer;
}
.p-sp_pagination .p-sp_pagination__wrapper .p-sp_pagination__select .p-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;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
}
.p-sp_pagination .p-sp_pagination__wrapper .p-sp_pagination__select .p-sp_pagination__count .p-sp_pagination__count_num {
  padding: 0 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;
}
@media (max-width: 1040px) {
  .p-sp_pagination .p-sp_pagination__wrapper .p-sp_pagination__select .p-sp_pagination__count .p-sp_pagination__count_num {
    font-size: 0.96875rem;
  }
}
@media (max-width: 840px) {
  .p-sp_pagination .p-sp_pagination__wrapper .p-sp_pagination__select .p-sp_pagination__count .p-sp_pagination__count_num {
    font-size: 0.9375rem;
  }
}
.p-sp_pagination .p-sp_pagination__wrapper .p-sp_pagination__select .p-sp_pagination__count .p-sp_pagination__count_total:before {
  content: "/";
  padding: 0 0.25em;
}
.p-sp_pagination .p-sp_pagination__wrapper .p-sp_pagination__select .p-sp_pagination__count:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 12px 7px 0;
  border-color: #333 transparent transparent;
  pointer-events: none;
  -webkit-transition: opacity 0.25s, -webkit-transform 0.25s;
  transition: opacity 0.25s, -webkit-transform 0.25s;
  transition: opacity 0.25s, transform 0.25s;
  transition: opacity 0.25s, transform 0.25s, -webkit-transform 0.25s;
  margin-top: 1px;
}
.p-sp_pagination .p-sp_pagination__wrapper .p-sp_pagination__select:hover .p-sp_pagination__count {
  opacity: 0.5;
}
.p-sp_pagination .p-sp_pagination__wrapper .p-sp_pagination__select:has(select:open) .p-sp_pagination__count:after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

/* p-sidenav */
.p-sidenav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 6.25em 5%;
  padding-top: 4.85em;
}
@media (min-width: 1041px) or (max-width: 680px) {
  .p-sidenav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media (max-width: 1040px) {
  .p-sidenav {
    padding-top: 3.35em;
  }
}
@media (max-width: 680px) {
  .p-sidenav {
    gap: 3em 5%;
    padding-top: 1.85em;
  }
}

.p-sidenav__wrapper {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.p-sidenav_ttl {
  font-size: 1.25rem;
  letter-spacing: 0.08em;
  line-height: 1;
  font-weight: 500;
  padding-bottom: 0.55em;
  border-bottom: 1px solid #333;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.4em;
}
@media (max-width: 1040px) {
  .p-sidenav_ttl {
    font-size: 1.1875rem;
  }
}
@media (max-width: 840px) {
  .p-sidenav_ttl {
    font-size: 1.125rem;
  }
}
.p-sidenav_ttl:before {
  content: "";
  display: block;
  width: 16px;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 100%;
  background: #628d85;
}

.p-sidenav_list {
  margin-top: 0.75em;
  padding: 0 10%;
}
@media (max-width: 1040px) {
  .p-sidenav_list {
    padding: 0 6.25%;
    font-size: 0.96875rem;
  }
}
@media (max-width: 680px) {
  .p-sidenav_list {
    padding: 0 2.4%;
    font-size: 0.9375rem;
  }
}
.p-sidenav_list li a {
  display: block;
  font-weight: 500;
  -webkit-transition: color 0.5s;
  transition: color 0.5s;
  padding: 0.475em 0;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 1fr;
  grid-template-columns: auto 1fr;
}
.p-sidenav_list li a:before {
  content: "・";
}
.p-sidenav_list li a:hover {
  opacity: 1;
  color: #628d85;
}
.p-sidenav_list li.is-active > a {
  color: #628d85;
  font-weight: 700;
}

.p-sidenav_select {
  position: relative;
  margin-top: 1.15em;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
  border: 1px solid #707070;
  background-color: #fff;
}
@media (max-width: 1040px) {
  .p-sidenav_select {
    font-size: 0.96875rem;
  }
}
@media (max-width: 840px) {
  .p-sidenav_select {
    font-size: 0.9375rem;
  }
}
.p-sidenav_select::after {
  content: "";
  position: absolute;
  right: 1em;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 12px 7px 0;
  border-color: #333 transparent transparent;
  pointer-events: none;
  -webkit-transition: opacity 0.25s, -webkit-transform 0.25s;
  transition: opacity 0.25s, -webkit-transform 0.25s;
  transition: opacity 0.25s, transform 0.25s;
  transition: opacity 0.25s, transform 0.25s, -webkit-transform 0.25s;
}
.p-sidenav_select .__monthSelect {
  width: 100%;
  height: 40px;
  padding: 0 1.45em;
  letter-spacing: 0.08em;
  line-height: 1;
  font-weight: 500;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
}
.p-sidenav_select:hover::after,
.p-sidenav_select:hover .__monthSelect {
  opacity: 0.5;
}
.p-sidenav_select:has(select:open):after {
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
}

/* news(archive)
  ========================================================================== */
/* news(single)
  ========================================================================== */