@charset "UTF-8";
body.is-hidden {
  overflow: hidden;
}

.p-seijinshiki > * {
  color: #270c0c;
}
@media only screen and (max-width: 575px) {
  .p-seijinshiki .l-content-wrap {
    padding-right: 15px !important;
    padding-left: 15px !important;
  }
}
@media only screen and (min-width: 576px) {
  .p-seijinshiki .l-content-wrap {
    padding-right: 50px !important;
    padding-left: 50px !important;
  }
}
.p-seijinshiki .c-ttl {
  font-family: "Cormorant Garamond", serif;
  font-size: 30px;
  letter-spacing: 0.1em;
  color: #8c7c3f;
}
.p-seijinshiki .c-ft--serif {
  font-family: "Noto Serif JP", serif;
}
.p-seijinshiki .c-ft--mincho {
  font-family: "Shippori Mincho", serif;
}
.p-seijinshiki .c-ft--en {
  font-family: "Cormorant Garamond", serif;
}
.p-seijinshiki .p-fixed {
  display: flex;
  position: fixed;
  right: 0;
  z-index: 10;
}
@media only screen and (max-width: 575px) {
  .p-seijinshiki .p-fixed {
    width: 100%;
    bottom: 0;
    left: 0;
  }
}
@media only screen and (min-width: 576px) {
  .p-seijinshiki .p-fixed {
    flex-direction: column;
    gap: 10px;
    top: 50%;
    transform: translateY(-50%);
  }
}
@media only screen and (min-width: 576px) {
  .p-seijinshiki .p-fixed__contact, .p-seijinshiki .p-fixed__top {
    width: 50px;
  }
}
.p-seijinshiki .p-anchor {
  padding: 45px 0;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-anchor {
    padding: 100px 0 65px;
  }
}
@media only screen and (min-width: 576px) {
  .p-seijinshiki .p-anchor .p-anchor__list {
    display: flex;
    justify-content: center;
    gap: 15px;
  }
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-anchor .p-anchor__list {
    gap: 40px;
  }
}
.p-seijinshiki .p-anchor .p-anchor__link {
  max-width: 300px;
  width: 100%;
  height: 50px;
  font-family: "游ゴシック", "YuGothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.2em;
  display: block;
  color: #270c0c;
  border: 1px solid #270c0c;
  border-radius: 25px;
  position: relative;
  cursor: pointer;
}
@media only screen and (max-width: 575px) {
  .p-seijinshiki .p-anchor .p-anchor__link {
    margin: 0 auto;
  }
}
@media only screen and (min-width: 576px) {
  .p-seijinshiki .p-anchor .p-anchor__link {
    max-width: 220px;
    font-size: 13px;
    letter-spacing: 0.1em;
    line-height: 48px;
    text-align: center;
  }
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-anchor .p-anchor__link {
    font-size: 18px;
  }
}
.p-seijinshiki .p-anchor .p-anchor__link:not(:last-child) {
  margin-bottom: 22px;
}
.p-seijinshiki .p-anchor .p-anchor__link span {
  padding-left: 35px;
}
@media only screen and (max-width: 575px) {
  .p-seijinshiki .p-anchor .p-anchor__link span {
    position: absolute;
    top: 50%;
    left: 24%;
    transform: translateY(-50%);
  }
}
@media only screen and (min-width: 576px) {
  .p-seijinshiki .p-anchor .p-anchor__link span {
    padding-left: 25px;
    position: relative;
  }
}
.p-seijinshiki .p-anchor .p-anchor__link span img {
  width: 19px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.p-seijinshiki .p-anchor .p-anchor__link:hover .p-anchor__list--child {
  opacity: 1;
  visibility: visible;
}
.p-seijinshiki .p-anchor .p-anchor__link.un-link {
  position: relative;
}
.p-seijinshiki .p-anchor .p-anchor__list--child {
  width: 100%;
  position: absolute;
  top: 49px;
  left: 0;
  opacity: 0;
  visibility: hidden;
  transition: 0.2s ease-in-out;
  z-index: 2;
}
.p-seijinshiki .p-anchor .p-anchor__list--child .p-anchor__link--child {
  width: 100%;
  height: 50px;
  font-size: 18px;
  line-height: 1.1;
  border: 1px solid #270c0c;
  background-color: #fff;
  display: block;
  color: #270c0c;
}
@media only screen and (min-width: 576px) {
  .p-seijinshiki .p-anchor .p-anchor__list--child .p-anchor__link--child {
    font-size: 13px;
  }
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-anchor .p-anchor__list--child .p-anchor__link--child {
    font-size: 18px;
  }
}
.p-seijinshiki .p-anchor .p-anchor__list--child .p-anchor__link--child span {
  height: 100%;
  width: 100%;
  padding-left: 0;
  line-height: 1.1;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  position: initial;
  transform: none;
}
.p-seijinshiki .p-anchor .p-anchor__list--child .p-anchor__link--child:nth-child(odd) {
  color: #fff;
  background-color: #a0a195;
}
.p-seijinshiki .p-about {
  padding-bottom: 70px;
}
@media only screen and (min-width: 576px) {
  .p-seijinshiki .p-about {
    padding-bottom: 35px;
  }
}
.p-seijinshiki .p-about .c-ttl {
  margin-bottom: 20px;
  text-align: center;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-about .c-ttl {
    margin-bottom: 50px;
  }
}
@media only screen and (min-width: 576px) {
  .p-seijinshiki .p-about .l-column__blocks {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-about .l-column__blocks {
    max-width: 1000px;
    margin-right: auto;
    margin-left: auto;
  }
}
.p-seijinshiki .p-about .p-about__lead {
  margin-bottom: 5px;
  text-align: center;
}
.p-seijinshiki .p-about .p-about__lead span {
  font-family: "Shippori Mincho", serif;
  font-size: 30px;
  letter-spacing: 0.34em;
  writing-mode: vertical-rl;
  color: #270c0c;
  text-align: left;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-about .p-about__lead span {
    margin-bottom: 10px;
    font-size: 40px;
  }
}
.p-seijinshiki .p-about .p-about__txt {
  margin-bottom: 35px;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 2.1111111111;
  text-align: center;
  position: relative;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-about .p-about__txt {
    margin-bottom: 55px;
  }
}
.p-seijinshiki .p-about .p-about__txt::before {
  content: "";
  width: 100vw;
  height: calc(100% + 230px);
  position: absolute;
  top: 50%;
  left: calc(50% - 50vw);
  transform: translateY(-50%);
  background: center/cover no-repeat url(../../../img/seijinshiki/bg_about_sp.jpg);
  z-index: -1;
}
@media only screen and (min-width: 576px) {
  .p-seijinshiki .p-about .p-about__txt::before {
    height: calc(100% + 290px);
    top: calc(50% - 20px);
    background-image: url(../../../img/seijinshiki/bg_about.jpg);
  }
}
.p-seijinshiki .p-about .p-about__img {
  width: 87%;
  margin-bottom: 30px;
}
@media only screen and (min-width: 576px) {
  .p-seijinshiki .p-about .p-about__img {
    width: 43%;
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 576px) {
  .p-seijinshiki .p-about .p-about__txtWrap {
    width: 53%;
    padding-top: 30px;
  }
}
.p-seijinshiki .p-about .p-about__txt--02 {
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 2.25;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-about .p-about__txt--02 {
    line-height: 2.5;
  }
}
.p-seijinshiki .p-about .p-about__txt--02 img {
  max-width: 283px;
  margin-top: 10px;
}
@media only screen and (min-width: 576px) {
  .p-seijinshiki .p-about .p-about__txt--02 img {
    max-width: 100%;
    width: 100%;
    margin-top: 0;
  }
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-about .p-about__txt--02 img {
    max-width: 425px;
    margin-top: 30px;
  }
}
.p-seijinshiki .p-slide .swiper-wrapper {
  transition-timing-function: linear;
}
.p-seijinshiki .p-slide .swiper-slide {
  width: auto !important;
}
.p-seijinshiki .p-slide .swiper-slide img {
  width: auto;
  height: 200px;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-slide .swiper-slide img {
    height: 300px;
  }
}
.p-seijinshiki .p-reason {
  overflow: hidden;
}
.p-seijinshiki .p-reason .c-ttl {
  margin-bottom: 5px;
}
.p-seijinshiki .p-reason .p-reason__wrap {
  margin-bottom: 30px;
  padding-top: 215px;
  padding-left: 55px;
  position: relative;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-reason .p-reason__wrap {
    max-width: 1000px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 0px;
    padding-top: 300px;
    padding-left: 75px;
  }
}
.p-seijinshiki .p-reason .p-reason__lead {
  letter-spacing: 0.1em;
  color: #a0a195;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-reason .p-reason__lead {
    max-width: 350px;
  }
}
.p-seijinshiki .p-reason .p-reason__label {
  font-size: 30px;
  letter-spacing: 0.3em;
  writing-mode: vertical-rl;
  position: absolute;
  top: 115px;
  left: -7px;
  white-space: nowrap;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-reason .p-reason__label {
    font-size: 40px;
    top: 100px;
    left: -11px;
  }
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-reason .p-reason__list {
    max-width: 1000px;
    margin-right: auto;
    margin-left: auto;
    margin-top: -55px;
  }
}
.p-seijinshiki .p-reason .p-reason__list li {
  padding-bottom: 5px;
  position: relative;
}
@media only screen and (min-width: 576px) {
  .p-seijinshiki .p-reason .p-reason__list li {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
}
.p-seijinshiki .p-reason .p-reason__list li:not(:last-child) {
  margin-bottom: 55px;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-reason .p-reason__list li:not(:last-child) {
    margin-bottom: 70px;
  }
}
@media only screen and (min-width: 576px) {
  .p-seijinshiki .p-reason .p-reason__list li.rev {
    flex-direction: row-reverse;
  }
}
.p-seijinshiki .p-reason .p-reason__list li dl dt {
  margin-bottom: 10px;
  font-size: 25px;
  font-weight: 600;
  color: #fff;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-reason .p-reason__list li dl dt {
    font-size: 30px;
  }
}
.p-seijinshiki .p-reason .p-reason__list li dl dd {
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 2.25;
  color: #fff;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-reason .p-reason__list li dl dd {
    line-height: 2.5;
  }
}
.p-seijinshiki .p-reason .p-reason__img {
  width: 92.5%;
  margin-bottom: 25px;
  margin-left: auto;
  transform: translateX(15px);
}
@media only screen and (min-width: 576px) {
  .p-seijinshiki .p-reason .p-reason__img {
    width: 50%;
  }
}
.p-seijinshiki .p-reason .p-reason__img.rev {
  margin-left: 0;
  transform: translateX(-15px);
}
.p-seijinshiki .p-reason .p-reason__txtWrap {
  padding-bottom: 5px;
  position: relative;
}
@media only screen and (min-width: 576px) {
  .p-seijinshiki .p-reason .p-reason__txtWrap {
    width: 46%;
    margin-top: 110px;
    padding: 30px 0;
  }
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-reason .p-reason__txtWrap {
    padding: 70px 0px 40px;
  }
}
.p-seijinshiki .p-reason .p-reason__txtWrap::before {
  content: "";
  width: 100vw;
  height: calc(100% + 170px);
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background-color: #a0a195;
  z-index: -1;
}
@media only screen and (min-width: 576px) {
  .p-seijinshiki .p-reason .p-reason__txtWrap::before {
    height: 100%;
    left: 103%;
  }
}
@media only screen and (min-width: 576px) {
  .p-seijinshiki .p-reason .p-reason__txtWrap.rev::before {
    left: -3%;
  }
}
.p-seijinshiki .p-reason .p-reason__txtWrap img {
  width: auto;
  height: 54px;
  margin-top: -5px;
  margin-left: auto;
  display: block;
}
@media only screen and (min-width: 576px) {
  .p-seijinshiki .p-reason .p-reason__txtWrap img {
    margin-top: 10px;
    margin-left: 0;
  }
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-reason .p-reason__txtWrap img {
    margin-top: 25px;
  }
}
.p-seijinshiki .p-schedule {
  padding-top: 125px;
  padding-bottom: 120px;
  position: relative;
}
@media only screen and (min-width: 576px) {
  .p-seijinshiki .p-schedule {
    padding-bottom: 0;
  }
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-schedule {
    padding-top: 115px;
  }
}
.p-seijinshiki .p-schedule::before {
  content: "";
  width: 100%;
  height: calc(100% - 310px);
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background-color: #e5ddd6;
  z-index: -1;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-schedule::before {
    height: calc(100% - 270px);
  }
}
.p-seijinshiki .p-schedule .l-content-wrap {
  position: relative;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-schedule .l-content-wrap {
    max-width: 1000px;
  }
}
.p-seijinshiki .p-schedule .c-ttl {
  margin-bottom: 5px;
  padding-left: 75px;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-schedule .c-ttl {
    margin-left: 59%;
    padding-left: 0;
  }
}
@media only screen and (min-width: 576px) {
  .p-seijinshiki .p-schedule .l-column__blocks {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-schedule .l-column__blocks {
    margin-top: -150px;
  }
}
.p-seijinshiki .p-schedule .p-schedule__txt {
  max-width: 204px;
  margin-left: 75px;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-schedule .p-schedule__txt {
    max-width: 336px;
    margin-bottom: 5px;
    margin-left: 59%;
  }
}
.p-seijinshiki .p-schedule .p-schedule__lead {
  font-size: 30px;
  letter-spacing: 0.35em;
  writing-mode: vertical-rl;
  position: absolute;
  top: 8px;
  left: 24px;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-schedule .p-schedule__lead {
    font-size: 40px;
    top: -22px;
    left: 73px;
  }
}
.p-seijinshiki .p-schedule .p-schedule__img {
  margin-left: 75px;
  margin-bottom: 50px;
}
@media only screen and (min-width: 576px) {
  .p-seijinshiki .p-schedule .p-schedule__img {
    width: 45.5%;
    margin-bottom: 0;
  }
}
.p-seijinshiki .p-schedule .p-schedule__wrap {
  padding-top: 25px;
  background-color: #fff;
}
@media only screen and (min-width: 576px) {
  .p-seijinshiki .p-schedule .p-schedule__wrap {
    width: calc(54.5% - 75px);
    margin-bottom: 30px;
  }
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-schedule .p-schedule__wrap {
    padding-top: 40px;
    margin-bottom: 85px;
  }
}
.p-seijinshiki .p-schedule .p-schedule__label {
  margin-bottom: 20px;
  font-size: 25px;
  text-align: center;
}
.p-seijinshiki .p-schedule .p-schedule__label span {
  line-height: 1.2;
  text-align: left;
  display: inline-block;
  color: #000;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-schedule .p-schedule__label span {
    line-height: 1.4;
  }
}
.p-seijinshiki .p-schedule .p-schedule__label .year {
  font-size: 20px;
}
.p-seijinshiki .p-schedule .p-schedule__label .reserve {
  font-size: 20px;
  color: #8c7c3f;
}
.p-seijinshiki .p-schedule .p-schedule__table {
  width: 100%;
}
.p-seijinshiki .p-schedule .p-schedule__table th {
  width: 70px;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-schedule .p-schedule__table th {
    width: 90px;
  }
}
.p-seijinshiki .p-schedule .p-schedule__table th,
.p-seijinshiki .p-schedule .p-schedule__table td {
  font-family: "Shippori Mincho", serif;
  letter-spacing: 0.05em;
  color: #000;
  border-top: 1px solid #a0a195;
}
.p-seijinshiki .p-schedule .p-schedule__table td {
  padding: 16px 5px 16px 15px;
  letter-spacing: -0.02em;
  border-left: 1px solid #a0a195;
}
.p-seijinshiki .p-schedule .p-schedule__table td span {
  margin-bottom: 5px;
  font-size: 16px;
  display: inline-block;
}
.p-seijinshiki .p-schedule .p-schedule__table td .access {
  font-size: 14px;
}
.p-seijinshiki .p-schedule .p-schedule__table td a {
  font-size: 14px;
  color: #000;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-schedule .p-schedule__table td.last {
    padding-bottom: 35px;
  }
}
.p-seijinshiki .p-plan {
  padding: 105px 0 100px;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-plan {
    padding: 90px 0 50px;
  }
}
.p-seijinshiki .p-plan .c-ttl {
  margin-bottom: 10px;
  text-align: center;
}
.p-seijinshiki .p-plan .p-plan__lead {
  margin-bottom: 45px;
  font-size: 30px;
  letter-spacing: 0.37em;
  line-height: 1.2666666667;
  text-align: center;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-plan .p-plan__lead {
    font-size: 24px;
  }
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-plan .p-plan__lead {
    margin-bottom: 65px;
    font-size: 40px;
    letter-spacing: 0.32em;
  }
}
@media only screen and (min-width: 576px) {
  .p-seijinshiki .p-plan .p-plan__list {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap;
  }
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-plan .p-plan__list {
    max-width: 1000px;
    margin-right: auto;
    margin-left: auto;
  }
}
@media only screen and (min-width: 576px) {
  .p-seijinshiki .p-plan .p-plan__list li {
    width: calc(50% - 30px);
  }
}
.p-seijinshiki .p-plan .p-plan__list li:not(:last-child) {
  margin-bottom: 45px;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-plan .p-plan__list li:not(:last-child) {
    margin-bottom: 90px;
  }
}
.p-seijinshiki .p-plan .p-plan__list li:nth-child(n+3) {
  margin-bottom: 26px;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-plan .p-plan__list li:nth-child(n+3) {
    margin-bottom: 60px;
    max-width: 420px;
  }
}
@media only screen and (min-width: 576px) {
  .p-seijinshiki .p-plan .p-plan__list li:nth-child(even) {
    margin-left: 60px;
  }
}
.p-seijinshiki .p-plan .p-plan__img {
  width: 84%;
  margin-bottom: -25px;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-plan .p-plan__img {
    margin-bottom: -35px;
  }
}
.p-seijinshiki .p-plan .p-plan__btn {
  width: 100%;
  padding: 38px 0 7px 5px;
  font-family: "Shippori Mincho", serif;
  font-size: 23px;
  letter-spacing: -0.08em;
  line-height: 1.2173913043;
  color: #270c0c;
  border: none;
  background: transparent;
  position: relative;
  display: block;
  cursor: pointer;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-plan .p-plan__btn {
    padding: 42px 0 14px 5px;
    font-size: 25px;
  }
}
.p-seijinshiki .p-plan .p-plan__btn.un-btn {
  width: 72%;
  margin-left: auto;
  padding: 38px 0 17px 5px;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-plan .p-plan__btn.un-btn {
    padding: 55px 0 20px 10px;
    font-size: 30px;
  }
}
.p-seijinshiki .p-plan .p-plan__btn.un-btn::after {
  border: none;
}
.p-seijinshiki .p-plan .p-plan__btn::before {
  content: "";
  width: calc(100% - 10px);
  height: 100%;
  position: absolute;
  top: 8px;
  right: 0;
  background-color: #a0a195;
  z-index: 1;
}
.p-seijinshiki .p-plan .p-plan__btn::after {
  content: "";
  width: calc(100% - 10px);
  height: 100%;
  position: absolute;
  top: 0;
  right: 8px;
  background-color: #fff;
  border: 1px solid #a0a195;
  z-index: 2;
}
.p-seijinshiki .p-plan .p-plan__btn span {
  position: relative;
  z-index: 3;
}
.p-seijinshiki .p-plan .p-plan__btn span span {
  font-size: 19px;
}
.p-seijinshiki .p-plan .p-plan__num {
  width: auto;
  height: 30px;
  position: absolute;
  top: 10px;
  left: 13px;
  z-index: 3;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-plan .p-plan__num {
    top: 20px;
    left: 18px;
  }
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-plan .p-plan__num.un-num {
    height: 50px;
  }
}
.p-seijinshiki .p-plan .p-modal {
  width: calc(100% - 35px);
  max-height: calc(100vh - 20px);
  background-color: #fff;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 100;
  border-radius: 10px;
  background-color: #afb0a6;
  border: 5px solid #afb0a6;
  display: none;
  overflow: scroll;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-plan .p-modal {
    max-width: 1000px;
  }
}
.p-seijinshiki .p-plan .p-modal__head {
  padding: 30px 0 5px;
  position: relative;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-plan .p-modal__head {
    padding: 12px 0 0px;
  }
}
.p-seijinshiki .p-plan .p-modal__num {
  width: auto;
  height: 49px;
  position: absolute;
  top: 5px;
  left: 3px;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-plan .p-modal__num {
    top: 0px;
    left: 8px;
  }
}
.p-seijinshiki .p-plan .p-modal__btn {
  width: 30px;
  height: 30px;
  display: block;
  position: absolute;
  top: 5px;
  right: 15px;
  border: 1px solid #fff;
  background: transparent;
  border-radius: 50%;
  z-index: 3;
  cursor: pointer;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-plan .p-modal__btn {
    top: 20px;
    right: 20px;
  }
}
.p-seijinshiki .p-plan .p-modal__btn::before, .p-seijinshiki .p-plan .p-modal__btn::after {
  content: "";
  width: 20px;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #fff;
}
.p-seijinshiki .p-plan .p-modal__btn::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.p-seijinshiki .p-plan .p-modal__btn::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.p-seijinshiki .p-plan .p-modal__btn span {
  display: none;
}
.p-seijinshiki .p-plan .p-modal__list {
  margin-bottom: 10px;
}
@media only screen and (min-width: 576px) {
  .p-seijinshiki .p-plan .p-modal__list {
    max-width: 750px;
    margin-right: auto;
    margin-left: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-plan .p-modal__list {
    margin-bottom: 0;
  }
}
.p-seijinshiki .p-plan .p-modal__list dt {
  font-family: "Noto Serif JP", serif;
  font-size: 25px;
  line-height: 1.6;
  font-weight: 600;
  text-align: center;
  color: #fff;
}
.p-seijinshiki .p-plan .p-modal__list dd {
  font-family: "Noto Serif JP", serif;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-align: center;
  color: #fff;
}
.p-seijinshiki .p-plan .p-modal__list dd .tax {
  margin: 0 5px;
  font-size: 14px;
  display: inline-block;
}
.p-seijinshiki .p-plan .p-modal__label {
  margin-top: -5px;
  margin-left: 15px;
  font-family: "Cormorant Garamond", serif;
  letter-spacing: 0.1em;
  color: #b9bbae;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-plan .p-modal__label {
    margin-left: 8px;
  }
}
.p-seijinshiki .p-plan .p-modal__service {
  padding: 30px 15px;
  background-color: #fff;
  display: grid;
  gap: 20px 15px;
  grid-template-columns: 1fr 1fr;
}
@media only screen and (min-width: 576px) {
  .p-seijinshiki .p-plan .p-modal__service {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 20px 30px;
  }
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-plan .p-modal__service {
    padding: 50px 95px 25px;
  }
}
.p-seijinshiki .p-plan .p-modal__name {
  margin-top: 10px;
  font-family: "Noto Serif JP", serif;
  font-size: 15px;
  letter-spacing: 0.05em;
  line-height: 1.0666666667;
  text-align: center;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-plan .p-modal__name {
    margin-top: 5px;
    font-size: 14px;
    line-height: 1.4285714286;
  }
}
.p-seijinshiki .p-plan .p-modal__name.un-name {
  font-size: 14px;
  line-height: 1.1428571429;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-plan .p-modal__name.un-name {
    line-height: 1.4285714286;
  }
}
.p-seijinshiki .p-plan .p-modal__txt {
  padding: 25px 10px;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  line-height: 2.25;
  background-color: #fff;
  position: relative;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-plan .p-modal__txt {
    padding: 25px 85px 45px;
    line-height: 2.5;
  }
}
.p-seijinshiki .p-plan .p-modal__txt::before {
  content: "";
  width: calc(100% - 35px);
  height: 1px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background-color: #350f0d;
}
@media only screen and (min-width: 576px) {
  .p-seijinshiki .p-plan .p-modal__txt::before {
    max-width: 800px;
  }
}
.p-seijinshiki .p-plan .p-modal__txt .notice {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #606060;
}
.p-seijinshiki .p-faq {
  padding: 50px 0 40px;
  background-color: #a0a195;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-faq {
    padding: 80px 0 50px;
  }
}
.p-seijinshiki .p-faq .c-ttl {
  margin-bottom: 15px;
  margin-left: 40px;
  color: #b9bbae;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-faq .c-ttl {
    margin-bottom: 35px;
  }
}
.p-seijinshiki .p-faq .l-content-wrap {
  position: relative;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-faq .l-content-wrap {
    max-width: 1000px;
  }
}
.p-seijinshiki .p-faq .p-faq__lead {
  font-size: 30px;
  letter-spacing: 0.3em;
  writing-mode: vertical-rl;
  position: absolute;
  top: 20px;
  left: 3px;
  white-space: nowrap;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-faq .p-faq__lead {
    font-size: 40px;
    top: 80px;
    left: 70px;
  }
}
.p-seijinshiki .p-faq .p-faq__list {
  margin-left: 50px;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-faq .p-faq__list {
    margin-left: 100px;
  }
}
.p-seijinshiki .p-faq .p-faq__list dt {
  margin-bottom: 5px;
  padding: 5px 0 5px 45px;
  font-family: "Noto Serif JP", serif;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #fff;
  position: relative;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-faq .p-faq__list dt {
    margin-bottom: 10px;
    padding: 15px 0 15px 110px;
  }
}
.p-seijinshiki .p-faq .p-faq__list dt::before {
  content: "Q";
  width: 30px;
  height: 30px;
  font-family: "Cormorant Garamond", serif;
  text-align: center;
  color: #270c0c;
  background-color: #fff;
  border-radius: 50%;
  position: absolute;
  top: 10px;
  left: 0;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-faq .p-faq__list dt::before {
    width: 45px;
    height: 45px;
    left: 30px;
  }
}
.p-seijinshiki .p-faq .p-faq__list dd {
  margin-bottom: 25px;
  padding: 5px 0 30px 45px;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  line-height: 1.75;
  color: #fff;
  border-bottom: 1px solid #270c0c;
  position: relative;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-faq .p-faq__list dd {
    margin-bottom: 30px;
    padding: 10px 0 40px 110px;
    line-height: 2.5;
  }
}
.p-seijinshiki .p-faq .p-faq__list dd::before {
  content: "A";
  width: 30px;
  height: 30px;
  font-family: "Cormorant Garamond", serif;
  text-align: center;
  color: #fff;
  background-color: #270c0c;
  border-radius: 50%;
  position: absolute;
  top: 10px;
  left: 0;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-faq .p-faq__list dd::before {
    width: 45px;
    height: 45px;
    left: 30px;
  }
}
.p-seijinshiki .p-faq .p-faq__img {
  max-width: 138px;
  margin-top: -20px;
  margin-right: 15px;
  margin-left: auto;
  display: block;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-faq .p-faq__img {
    max-width: 253px;
    margin-top: -90px;
    margin-right: 4%;
  }
}
.p-seijinshiki .p-contact {
  padding: 110px 0 95px;
  position: relative;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-contact {
    padding: 100px 0 125px;
  }
}
.p-seijinshiki .p-contact::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background: bottom/contain no-repeat url(../../../img/seijinshiki/bg_contact_sp.jpg);
  z-index: -1;
}
@media only screen and (min-width: 576px) {
  .p-seijinshiki .p-contact::after {
    background-image: url(../../../img/seijinshiki/bg_contact.jpg);
  }
}
.p-seijinshiki .p-contact .c-ttl {
  margin-bottom: 15px;
  text-align: center;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-contact .c-ttl {
    margin-bottom: 25px;
  }
}
.p-seijinshiki .p-contact .p-contact__lead {
  margin-bottom: 10px;
  text-align: center;
}
.p-seijinshiki .p-contact .p-contact__lead span {
  font-size: 30px;
  letter-spacing: 0.3em;
  writing-mode: vertical-rl;
  display: inline-block;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-contact .p-contact__lead span {
    font-size: 40px;
  }
}
.p-seijinshiki .p-contact .p-contact__txt {
  margin-bottom: 40px;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.09em;
  line-height: 2.25;
  text-align: center;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-contact .p-contact__txt {
    margin-bottom: 35px;
  }
}
.p-seijinshiki .p-contact .p-contact__link {
  max-width: 300px;
  width: 100%;
  margin: 0 auto;
  padding: 15px 25px 15px 0;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.05em;
  text-align: center;
  color: #260a0a;
  border: 1px solid #260a0a;
  transform: translateX(-12px);
  display: block;
  position: relative;
}
.p-seijinshiki .p-contact .p-contact__link::before {
  content: "";
  width: 50px;
  height: 1px;
  position: absolute;
  top: 50%;
  right: -25px;
  transform: translateY(-50%);
  background-color: #260a0a;
}
.p-seijinshiki .p-contact .p-contact__link span img {
  width: 28px;
  margin-right: 10px;
}
.p-seijinshiki .p-sns {
  padding: 110px 0 95px;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-sns {
    padding: 100px 0 120px;
  }
}
@media only screen and (min-width: 576px) {
  .p-seijinshiki .p-sns .l-column__blocks {
    display: flex;
    justify-content: space-between;
  }
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-sns .l-column__blocks {
    max-width: 770px;
    margin-right: auto;
    margin-left: auto;
  }
}
.p-seijinshiki .p-sns .p-sns__txt {
  margin-bottom: 30px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-align: center;
  color: #a0a195;
}
@media only screen and (min-width: 992px) {
  .p-seijinshiki .p-sns .p-sns__txt {
    margin-bottom: 65px;
    font-size: 20px;
  }
}
@media only screen and (min-width: 576px) {
  .p-seijinshiki .p-sns .p-sns__shop {
    max-width: 325px;
    width: 48%;
  }
}
.p-seijinshiki .p-sns .p-sns__shop:first-child {
  margin-bottom: 35px;
}
.p-seijinshiki .p-sns .p-sns__name {
  max-width: 325px;
  margin: 0 auto 15px;
  font-weight: 600;
  letter-spacing: 0.1em;
}
.p-seijinshiki .p-sns .p-sns__link {
  max-width: 300px;
  width: 100%;
  padding: 13px 25px 12px 0;
  font-family: "Noto Serif JP", serif;
  font-size: 20px;
  letter-spacing: 0.05em;
  color: #260a0a;
  border: 1px solid #260a0a;
  display: block;
  position: relative;
}
@media only screen and (max-width: 575px) {
  .p-seijinshiki .p-sns .p-sns__link {
    margin: 0 auto;
    transform: translateX(-12px);
  }
}
.p-seijinshiki .p-sns .p-sns__link::before {
  content: "";
  width: 50px;
  height: 1px;
  position: absolute;
  top: 50%;
  right: -25px;
  transform: translateY(-50%);
  background-color: #260a0a;
}
.p-seijinshiki .p-sns .p-sns__link span {
  padding-left: 35px;
}
.p-seijinshiki .p-sns .p-sns__link span img {
  width: 22px;
  margin-right: 10px;
  vertical-align: middle;
}/*# sourceMappingURL=seijinshiki.css.map */