@charset "UTF-8";

/*------------------------
アニメーション初期状態（GSAPで表示）
-------------------------*/
.js-fade-in {
  opacity: 0;
}

/*------------------------
ページ内リンク
-------------------------*/
.sanzenkai-anchor {
  margin-bottom: 7.142857vw;
  /*100px*/
  padding-top: 6.428571vw;
  /*90px*/
}

@media screen and (min-width: 1400px) {
  .sanzenkai-anchor {
    margin-bottom: 100px;
    padding-top: 90px;
  }
}

@media screen and (max-width: 750px) {
  .sanzenkai-anchor {
    margin-bottom: 10.4vw;
    /*78px*/
    padding-top: 10.666667vw;
    /*80px*/
  }
}

/*------------------------
参禅会とは
-------------------------*/
.sanzenkai-about {
  position: relative;
  padding-bottom: 7.071429vw;
  /*99px*/
  overflow: hidden;
  isolation: isolate;
}

.sanzenkai-about__inner {
  position: relative;
  padding: 4.214286vw 0 10.714286vw;
  /*59px 0 150px*/
}

/* 見出し背面から右端へ伸びる背景 */
.sanzenkai-about__inner::before {
  content: "";
  position: absolute;
  top: 0;
  right: -100vw;
  bottom: 7.142857vw;
  /*100px*/
  left: 0;
  z-index: -1;
  background: var(--color-beige-alpha-30);
}

/* 本文中ほどから左端へ伸びる背景 */
.sanzenkai-about__inner::after {
  content: "";
  position: absolute;
  top: calc(100% - 40.857143vw);
  /*572px*/
  right: 0;
  bottom: 0;
  left: -100vw;
  z-index: -1;
  background: var(--color-beige-alpha-20);
}

.sanzenkai-about__title {
  margin-bottom: 1.928571vw;
  /*27px*/
}

.sanzenkai-about__body {
  position: relative;
  width: 81.818182%;
  margin: 0 auto;
  padding: 2.714286vw 5.357143vw 3vw;
  /*38px 75px 42px*/
  background: var(--color-white);
}

.sanzenkai-about__paragraph {
  margin-bottom: 2.142857vw;
  /*30px*/
}

.sanzenkai-about__name {
  margin-bottom: 0.785714vw;
  /*11px*/
  font-family: var(--font-mincho);
  font-size: var(--fs-18);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
}

.sanzenkai-about__name-main {
  font-size: var(--fs-24);
}

.sanzenkai-about__lotus {
  position: absolute;
  opacity: 0.6;
  pointer-events: none;
}

.sanzenkai-about__lotus_position_upper-left {
  top: 2.142857vw;
  /*30px*/
  left: -8.727273%;
  width: 13.454545%;
  max-width: 148px;
}

.sanzenkai-about__lotus_position_upper-right {
  top: 5.071429vw;
  /*71px*/
  left: 6.181818%;
  width: 11.909091%;
  max-width: 131px;
}

.sanzenkai-about__lotus_position_lower {
  bottom: -2.071429vw;
  /*-29px*/
  left: 76.818182%;
  width: 33%;
  max-width: 363px;
}

@media screen and (min-width: 1400px) {
  .sanzenkai-about {
    padding-bottom: 99px;
  }

  .sanzenkai-about__inner {
    padding: 59px 0 150px;
  }

  .sanzenkai-about__inner::before {
    bottom: 100px;
  }

  .sanzenkai-about__inner::after {
    top: calc(100% - 572px);
  }

  .sanzenkai-about__title {
    margin-bottom: 27px;
  }

  .sanzenkai-about__body {
    padding: 38px 75px 42px;
  }

  .sanzenkai-about__paragraph {
    margin-bottom: 30px;
  }

  .sanzenkai-about__name {
    margin-bottom: 11px;
  }

  .sanzenkai-about__lotus_position_upper-left {
    top: 30px;
    max-width: 148px;
  }

  .sanzenkai-about__lotus_position_upper-right {
    top: 71px;
    max-width: 131px;
  }

  .sanzenkai-about__lotus_position_lower {
    bottom: -29px;
    max-width: 363px;
  }
}

@media screen and (max-width: 750px) {
  .sanzenkai-about {
    padding: 3.466667vw 0 11.466667vw;
    /*26px 0 86px*/
  }

  .sanzenkai-about__inner {
    padding: 6.8vw 0 38.133333vw;
    /*51px 0 286px*/
  }

  .sanzenkai-about__inner::before {
    right: -4vw;
    /*-30px*/
    bottom: 15.2vw;
    /*114px*/
    left: -4vw;
  }

  .sanzenkai-about__inner::after {
    top: calc(100% - 61.333333vw);
    /*460px*/
    right: 20vw;
    /*150px*/
    left: -4vw;
  }

  .sanzenkai-about__title {
    margin-bottom: 3.6vw;
    /*27px*/
  }

  .sanzenkai-about__body {
    width: auto;
    padding: 5.266667vw 4vw 6.8vw;
    /*39.5px 30px 51px*/
  }

  .sanzenkai-about__paragraph {
    margin-bottom: 6.666667vw;
    /*50px*/
  }

  .sanzenkai-about__name {
    margin-bottom: 3.466667vw;
    /*26px*/
    font-size: 3rem;
  }

  .sanzenkai-about__name-main {
    font-size: 3.4rem;
  }

  .sanzenkai-about__address {
    line-height: 1.428571;
  }

  .sanzenkai-about__lotus_position_upper-left {
    top: -3.466667vw;
    /*-26px*/
    left: -0.869565%;
    width: 15.942029%;
    max-width: none;
  }

  .sanzenkai-about__lotus_position_upper-right {
    top: 11.066667vw;
    /*83px*/
    left: 11.15942%;
    width: 14.057971%;
    max-width: none;
  }

  .sanzenkai-about__lotus_position_lower {
    bottom: 15.466667vw;
    /*116px*/
    left: 61.15942%;
    width: 40.144928%;
    max-width: none;
  }
}

/*------------------------
年間行事予定
-------------------------*/
.sanzenkai-schedule {
  position: relative;
  padding-bottom: 5vw;
  /*72px*/
  overflow: hidden;
}

.sanzenkai-schedule__bg {
  position: absolute;
  inset: 0;
  opacity: 0.6;
  pointer-events: none;
}

.sanzenkai-schedule__wave {
  position: absolute;
}

.sanzenkai-schedule__wave_position_upper-right {
  top: 1.142857vw;
  /*16px*/
  right: -2.142857vw;
  /*-30px*/
  width: 53.854167%;
  max-width: 1034px;
}

.sanzenkai-schedule__wave_position_upper-left {
  top: 25.5vw;
  /*357px*/
  left: -18.142857vw;
  /*-254px*/
  width: 40.46875%;
  max-width: 777px;
}

.sanzenkai-schedule__wave_position_lower-right {
  top: 102.571429vw;
  /*1436px*/
  right: -2.142857vw;
  /*-30px*/
  width: 53.854167%;
  max-width: 1034px;
}

.sanzenkai-schedule__wave_position_lower-left {
  top: 126.928571vw;
  /*1777px*/
  left: -18.142857vw;
  /*-254px*/
  width: 40.46875%;
  max-width: 777px;
}

.sanzenkai-schedule__inner {
  position: relative;
}

.sanzenkai-schedule__heading {
  margin-bottom: 1.714286vw;
  /*24px*/
}

.sanzenkai-schedule__title {
  margin-bottom: 3.571429vw;
  /*50px*/
}

.sanzenkai-schedule__year {
  font-family: var(--font-mincho);
  font-size: 3.4rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: center;
}

.sanzenkai-schedule__content {
  width: 81.818182%;
  margin: 0 auto 3.9285714285714284vw;
  /*46px*/
}

.sanzenkai-schedule__note {
  margin-bottom: 1.2857142857142856vw;
  /*11px*/
  text-align: center;
}

.sanzenkai-schedule__button {
  margin: 0 auto;
}

/* 年間行事テーブル */
.schedule-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: var(--fs-16);
  background: var(--color-white);
}

.schedule-table__group:nth-of-type(even) {
  background: var(--color-gray-light);
}

.schedule-table__head,
.schedule-table__month,
.schedule-table__date,
.schedule-table__event {
  padding: 0.642857vw 1.428571vw;
  line-height: 1.875;
  vertical-align: middle;
}

.schedule-table thead {
  border-right: 1px solid var(--color-black);
}

.schedule-table__group {
  border-right: 1px solid var(--color-black);
}

.schedule-table__group:last-child {
  border-bottom: 1px solid var(--color-black);
}

.schedule-table__head {
  border-top: 1px solid var(--color-black);
  border-left: 1px solid var(--color-black);
  border-radius: 1px solid var(--color-black);
}

th.schedule-table__head.schedule-table__head_type_month {
    /*border-bottom:1px solid var(--color-black);*/
}

.schedule-table__month{
  border-top: 1px solid var(--color-black);
  border-left: 1px solid var(--color-black);
  border-radius: 1px solid var(--color-black);
}

.schedule-table__date{
  border-top: 1px solid var(--color-black);
  border-left: 1px solid var(--color-black);
  border-radius: 1px solid var(--color-black);
}

.schedule-table__event {
  border-top: 1px solid var(--color-black);
  border-left: 1px solid var(--color-black);
  border-radius: 1px solid var(--color-black);
}

.schedule-table__head {
  font-weight: 700;
  text-align: center;
  background: var(--color-gray);
}

.schedule-table__head {
  font-weight: 700;
  text-align: center;
  background: var(--color-gray);
}

.schedule-table__head_type_month,
.schedule-table__head_type_date {
  width: 16.666667%;
}

.schedule-table__month {
  font-weight: 700;
  text-align: center;
}

.schedule-table__date {
  text-align: center;
}

.schedule-table__event {
  padding-left: 2.642857vw;
  /*37px*/
  text-align: left;
}

@media screen and (min-width: 1400px) {
  .sanzenkai-schedule {
    padding-bottom: 70px;
  }

  .sanzenkai-schedule__wave_position_upper-right {
    top: 16px;
    right: -30px;
    max-width: 1034px;
  }

  .sanzenkai-schedule__wave_position_upper-left {
    top: 357px;
    left: -254px;
    max-width: 777px;
  }

  .sanzenkai-schedule__wave_position_lower-right {
    top: 1436px;
    right: -30px;
    max-width: 1034px;
  }

  .sanzenkai-schedule__wave_position_lower-left {
    top: 1777px;
    left: -254px;
    max-width: 777px;
  }

  .sanzenkai-schedule__heading {
    margin-bottom: 24px;
  }

  .sanzenkai-schedule__title {
    margin-bottom: 50px;
  }

  .sanzenkai-schedule__content {
    margin-bottom: 55px;
  }

  .sanzenkai-schedule__note {
    margin-bottom: 18px;
  }

  .schedule-table__head,
  .schedule-table__month,
  .schedule-table__date,
  .schedule-table__event {
    padding: 9px 20px;
  }

  .schedule-table__event {
    padding-left: 37px;
  }
}

@media screen and (max-width: 750px) {
  .sanzenkai-schedule {
    padding-bottom: 9.733333vw;
    /*73px*/
  }

  .sanzenkai-schedule__wave_position_upper-right {
    top: -1.6vw;
    /*-12px*/
    right: auto;
    left: -13.866667%;
    width: 132.8%;
    max-width: none;
  }

  .sanzenkai-schedule__wave_position_upper-left {
    top: 58.666667vw;
    /*440px*/
    left: -53.866667%;
    width: 103.6%;
    max-width: none;
  }

  .sanzenkai-schedule__heading {
    margin-bottom: 3.866667vw;
    /*29px*/
  }

  .sanzenkai-schedule__title {
    margin-bottom: 6.666667vw;
    /*50px*/
  }

  .sanzenkai-schedule__year {
    font-size: 3rem;
  }

  .sanzenkai-schedule__content {
    width: auto;
    margin-bottom: 8vw;
    /*60px*/
  }

  .sanzenkai-schedule__note {
    margin-bottom: 6.666667vw;
    /*50px*/
    text-align: center;
  }

  .sanzenkai-schedule__button {
    width: 100%;
  }

  .schedule-table {
    font-size: 2.8rem;
  }

  .schedule-table__head,
  .schedule-table__month,
  .schedule-table__date,
  .schedule-table__event {
    padding: 1.266667vw 2.666667vw;
    /*9.5px 20px*/
    line-height: 1.786;
  }

  .schedule-table__head_type_month {
    width: 8.695652%;
  }

  .schedule-table__head_type_date {
    width: 25.652174%;
  }

  /* 日付列は幅が狭いため字間を詰める */
  .schedule-table__head_type_date,
  .schedule-table__date {
    padding-right: 0;
    padding-left: 2.133333vw;
    /*16px*/
    letter-spacing: -0.08em;
    text-align: left;
  }

  .schedule-table__head_type_month,
  .schedule-table__month {
    font-family: sans-serif;
    padding-right: 0;
    padding-left: 0;
    font-weight: 500;
    /*writing-mode: vertical-rl;
    text-orientation: upright;*/
  }
  /* Firefoxの場合 
  @-moz-document url-prefix(){
  .schedule-table__head_type_month,
  .schedule-table__month {
    writing-mode: unset;
  }
  }*/

  .schedule-table__month span {
    /*text-combine-upright: all;*/
    display: block;
  }

  .schedule-table__head_type_month{
      max-width: 1em;
      font-weight: 600;
    }
}

/*------------------------
活動例
-------------------------*/
.sanzenkai-activity {
  position: relative;
  padding: 7.071429vw 0 7.142857vw;
  /*99px 0 100px*/
  overflow: hidden;
  isolation: isolate;
  background: var(--color-gray-light);
}

.sanzenkai-activity__title {
  margin-bottom: 4.285714285714286vw;
  /*59px*/
}

/* 活動カード（白背景を左右どちらかの画面端まで伸ばす） */
.activity-card {
  position: relative;
  margin-bottom: 5.785714vw;
  /*81px*/
}

.activity-card:last-child {
  margin-bottom: 0;
}

.activity-card_bleed_right {
  --activity-card-bg-left: -3.571429vw;
  /*-50px*/
  --activity-card-bg-right: -100vw;
}

.activity-card_bleed_left {
  --activity-card-bg-left: -100vw;
  --activity-card-bg-right: -3.571429vw;
  /*-50px*/
}

.activity-card__body {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 3.142857vw 0 4vw;
  /*44px 0 56px*/
}

/* 写真の上部にかかるまで背景を伸ばす */
.activity-card__body::before {
  content: "";
  position: absolute;
  top: 0;
  right: var(--activity-card-bg-right);
  bottom: -7.642857vw;
  /*-107px*/
  left: var(--activity-card-bg-left);
  z-index: -1;
  background: var(--color-white);
}

.activity-card__heading {
  width: 33.909091%;
  padding-top: 0.571429vw;
  /*8px*/
  font-family: var(--font-mincho);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
}

.activity-card__date {
  margin-bottom: 0.714286vw;
  /*10px*/
  font-size: var(--fs-20);
}

.activity-card__title {
  font-size: 3.4rem;
  white-space: nowrap;
}

.activity-card__reading {
  font-size: var(--fs-24);
  letter-spacing: 0;
}

.activity-card__text {
  width: 66.090909%;
}

.activity-card__paragraph {
  margin-bottom: 2.142857vw;
  /*30px*/
}

.activity-card__paragraph:last-child {
  margin-bottom: 0;
}

.activity-card__photos {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25vw;
  /*17.5px*/
}

.activity-card__image {
  display: block;
  width: 100%;
  aspect-ratio: 355 / 224;
  object-fit: cover;
}

@media screen and (min-width: 1400px) {
  .sanzenkai-activity {
    padding: 99px 0 100px;
  }

  .sanzenkai-activity__title {
    margin-bottom: 60px;
  }

  .activity-card {
    margin-bottom: 81px;
  }

  .activity-card_bleed_right {
    --activity-card-bg-left: -50px;
  }

  .activity-card_bleed_left {
    --activity-card-bg-right: -50px;
  }

  .activity-card__body {
    padding: 44px 0 56px;
  }

  .activity-card__body::before {
    bottom: -107px;
  }

  .activity-card__heading {
    padding-top: 8px;
  }

  .activity-card__date {
    margin-bottom: 10px;
  }

  .activity-card__paragraph {
    margin-bottom: 30px;
  }

  .activity-card__photos {
    gap: 17.5px;
  }
}

@media screen and (max-width: 750px) {
  .sanzenkai-activity {
    padding: 9.733333vw 0 9.333333vw;
    /*73px 0 70px*/
  }

  .sanzenkai-activity__title {
    margin-bottom: 6.666667vw;
    /*50px*/
  }

  .activity-card {
    margin-bottom: 9.333333vw;
    /*70px*/
  }

  .activity-card_bleed_right {
    --activity-card-bg-left: -4vw;
    /*-30px*/
    --activity-card-bg-right: -4vw;
    padding-left: 4vw;
  }

  .activity-card_bleed_left {
    --activity-card-bg-left: -4vw;
    --activity-card-bg-right: -4vw;
    /*-30px*/
    padding-right: 4vw;
  }

  .activity-card__body {
    display: block;
    padding: 6.4vw 0 5.333333vw;
    /*48px 0 40px*/
  }

  .activity-card__body::before {
    bottom: -30.4vw;
    /*-228px*/
  }

  .activity-card__heading {
    width: auto;
    margin-bottom: 4.8vw;
    /*36px*/
    padding-top: 0;
  }

  .activity-card__date {
    margin-bottom: 2.533333vw;
    /*19px*/
    font-size: 3rem;
  }

  .activity-card__title {
    font-size: 5.5rem;
    white-space: normal;
  }

  .activity-card__reading {
    font-size: 3.4rem;
  }

  .activity-card__text {
    width: auto;
  }

  .activity-card__paragraph {
    margin-bottom: 6.666667vw;
    /*50px*/
  }

  .activity-card__photos {
    grid-template-columns: 1fr;
    gap: 3.733333vw;
    /*28px*/
  }

  .activity-card__image {
    aspect-ratio: 660 / 415;
  }
}

/*------------------------
よくある質問
-------------------------*/
.sanzenkai-faq {
  position: relative;
  padding: 7.071429vw 0 8.571429vw;
  /*99px 0 120px*/
  overflow: hidden;
}

.sanzenkai-faq__bg {
  position: absolute;
  inset: 0;
  opacity: 0.6;
  pointer-events: none;
}

.sanzenkai-faq__wave {
  position: absolute;
}

.sanzenkai-faq__wave_position_right {
  top: 1.571429vw;
  /*22px*/
  right: -2.357143vw;
  /*-33px*/
  width: 53.854167%;
  max-width: 1034px;
}

.sanzenkai-faq__wave_position_left {
  top: 29.714286vw;
  /*416px*/
  left: -17.928571vw;
  /*-251px*/
  width: 40.46875%;
  max-width: 777px;
}

.sanzenkai-faq__inner {
  position: relative;
}

.sanzenkai-faq__title {
  margin-bottom: 4.285714vw;
  /*60px*/
}

.sanzenkai-faq__list {
  width: 68.181818%;
  margin: 0 auto;
}

@media screen and (min-width: 1400px) {
  .sanzenkai-faq {
    padding: 99px 0 120px;
  }

  .sanzenkai-faq__wave_position_right {
    top: 22px;
    right: -33px;
    max-width: 1034px;
  }

  .sanzenkai-faq__wave_position_left {
    top: 416px;
    left: -251px;
    max-width: 777px;
  }

  .sanzenkai-faq__title {
    margin-bottom: 60px;
  }
}

@media screen and (max-width: 750px) {
  .sanzenkai-faq {
    padding: 12.266667vw 0 13.333333vw;
    /*92px 0 100px*/
  }

  .sanzenkai-faq__wave_position_right {
    top: 2.666667vw;
    /*20px*/
    right: auto;
    left: -13.866667%;
    width: 132.8%;
    max-width: none;
  }

  .sanzenkai-faq__wave_position_left {
    display: none;
  }

  .sanzenkai-faq__title {
    margin-bottom: 11.733333vw;
    /*88px*/
    letter-spacing: -.05em;
  }

  .sanzenkai-faq__list {
    width: auto;
  }

  dt.faq-list__term {
    padding: 0 0 0 1.866667vw;
    border-bottom: 1px solid var(--color-black);
  }

  button.faq-list__question {
    text-indent: -1.5em;
    padding-left: 1.5em;
    border: none;
  }
}

.schedule-table__date,
.schedule-table__event {
  white-space: pre-wrap;
}