#lead {
  padding: 61px 0 59px;
}

#lead h2 {
  display: flex;
  text-align: left;
  font-size: 19px;
  line-height: 42px;
  height: 185px;
  margin: 0 auto 0px;
  letter-spacing: 2px;
}

#lead .text {
  margin-bottom: 28px;
}

#lead .photo {
  height: 236px;
}

@media screen and (min-width: 768px) {
  #lead {
    padding: 67px 0 65px;
  }

  #lead h2 {
    font-size: 22px;
    line-height: 47px;
    height: 208px;
  }

  #lead .text {
    margin-bottom: 27px;
  }

  #lead .photo {
    height: 266px;
  }
}

#history {
  padding: 59px 0 59px;
  background: var(--bg-main);
}

#history .row-1 {
  margin-bottom: 0;
  padding-bottom: 21px;
  border-bottom: 1px solid #d1beb1;
  letter-spacing: 1px;
}

#history .row-1 h2 {
  margin-bottom: 19px;
}

#history .row-1 .photo {
  height: 222px;
  margin-bottom: 15px;
}

#history .row-2 {
  padding-top: 50px;
}

#history .row-2 .title-c {
  margin-bottom: 27px;
}

#history .row-2 .info {
  display: flex;
  gap: 26px;
  margin-bottom: 15px;
}

#history .row-2 .info h3 {
  font-size: 20px;
  width: 36px;
  height: 283px;
  letter-spacing: 1px;
  line-height: 36px;
}

#history .row-2 .info .photo {
  height: 283px;
  width: calc(100% - 40px);
}

#history .row-2 .text-2 {
  margin-bottom: 29px;
}

#history .row-2 .btn__a {
  width: 310px;
}

@media screen and (min-width: 768px) {
  #history {
    padding: 72px 0 67px;
  }

  #history .row-1 {
    margin-bottom: 0;
    padding-bottom: 17px;
  }

  #history .row-1 h2 {
    margin-bottom: 25px;
  }

  #history .row-1 .photo {
    height: 250px;
    margin-bottom: 18px;
  }

  #history .row-2 {
    padding-top: 57px;
  }

  #history .row-2 .title-c {
    margin-bottom: 30px;
  }

  #history .row-2 .info {
    gap: 36px;
    margin-bottom: 17px;
  }

  #history .row-2 .info h3 {
    font-size: 20px;
    letter-spacing: 4px;
    height: 295px;
  }

  #history .row-2 .info .photo {
    height: 319px;
    width: calc(100% - 54px);
    margin-left: auto;
  }

  #history .row-2 .text-2 {
    margin-bottom: 28px;
  }
}

#buddha {
  padding: 61px 0 61px;
  background: #fdfdfd;
}

#buddha h2 {
  margin-bottom: 0;
  letter-spacing: 5px;
  height: 130px;
}

#buddha .row .photo-1 {
  height: 225px;
  margin-bottom: 19px;
}

#buddha .row h3 {
  margin-bottom: 13px;
  font-size: 22px;
  letter-spacing: 2px;
}

#buddha .row h3 span {
  display: inline-block;
  line-height: 1;
  padding: 5px 8px;
  background: #ab6157;
  color: #fff;
  font-size: 15px;
  letter-spacing: 1px;
  margin-bottom: 10px;
}

#buddha .row .text {
  margin-bottom: 21px;
  line-height: 27px;
}

#buddha .row .info {
  text-align: center;
  background: #eee8d9;
  border-radius: 5px;
}

#buddha .row .info dl {
  padding: 12px 10px 19px;
  letter-spacing: 2px;
}

#buddha .row .info dl dt {
  text-align: center;
  font-size: 15px;
  margin-bottom: 5px;
}

#buddha .row .info dl dt span {
  position: relative;
  padding: 0 15px;
}

#buddha .row .info dl dt span::before,
#buddha .row .info dl dt span::after {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--cl-primary);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

#buddha .row .info dl dt span::before {
  left: 0;
}

#buddha .row .info dl dt span::after {
  right: 0;
}

#buddha .row+.row {
  margin-top: 51px;
}

@media screen and (min-width: 768px) {
  #buddha {
    padding: 70px 0 71px;
  }

  #buddha h2 {
    margin-bottom: 0;
    height: 142px;
    padding-top: 47px;
  }

  #buddha .row .photo-1 {
    height: 255px;
    margin-bottom: 20px;
  }

  #buddha .row h3 {
    margin-bottom: 19px;
    font-size: 24px;
    letter-spacing: 5px;
  }

  #buddha .row h3 span {
    padding: 5px 7px;
    letter-spacing: 4px;
    font-size: 17px;
  }

  #buddha .row .text {
    margin-bottom: 25px;
    line-height: 30px;
  }

  #buddha .row .info dl {
    padding: 12px 10px 19px;
  }

  #buddha .row .info dl dt {
    font-size: 15px;
  }

  #buddha .row .info dl dt span {
    padding: 0 15px;
  }

  #buddha .row+.row {
    margin-top: 59px;
  }
}

#singonsyu {
  padding: 59px 0 53px;
  background: var(--bg-main);
}

#singonsyu .heading__icon {
  margin-bottom: 11px;
}

#singonsyu .photo {
  height: 316px;
  margin-bottom: 20px;
}

#singonsyu dl dt {
  margin-bottom: 15px;
}

#singonsyu dl dt span {
  display: inline-block;
  font-size: 19px;
  padding: 0px 8px;
  line-height: 1;
  letter-spacing: 1px;
}

#singonsyu dl dd {
  line-height: 27px;
}

#singonsyu dl+dl {
  margin-top: 30px;
}

@media screen and (min-width: 768px) {
  #singonsyu {
    padding: 71px 0 57px;
  }

  #singonsyu .heading__icon {
    margin-bottom: 20px;
    padding-top: 28px;
    font-size: 28px;
  }

  #singonsyu .heading__icon::before {
    width: 27px;
    height: 27px;
  }

  #singonsyu .photo {
    height: 358px;
    margin-bottom: 24px;
  }

  #singonsyu dl dt {
    margin-bottom: 17px;
  }

  #singonsyu dl dt span {
    padding: 2px 8px;
    letter-spacing: 4px;
  }

  #singonsyu dl dd {
    line-height: 30px;
  }

  #singonsyu dl+dl {
    margin-top: 38px;
  }
}

#highlights {
  position: relative;
  padding: 65px 0;
  background: var(--bg-secondary);
}

#highlights .heading__icon {
  width: 45px;
  height: 153px;
  line-height: 45px;
  letter-spacing: 7px;
}

#highlights .text-1 {
  margin-bottom: 29px;
}

#highlights .row {
  padding-bottom: 72px;
}

#highlights .row .title-c {
  margin-bottom: 24px;
}

#highlights .row .slider__s {
  position: relative;
  margin-left: -30px;
  margin-right: -30px;
}

#highlights .row .slider__s .slick-slide {
  margin: 0 10px;
}

#highlights .row .slider__s .item {
  padding-bottom: 50px;
}

#highlights .row .slider__s .item .photo {
  height: 309px;
  margin-bottom: 20px;
  border-radius: 5px;
  overflow: hidden;
}

#highlights .row .slider__s .item dl dt {
  position: relative;
  line-height: 32px;
  font-size: 19px;
  margin-bottom: 12px;
  padding-left: 14px;
}

#highlights .row .slider__s .item dl dt::before {
  content: "";
  border-left: 3px solid #261205;
  width: 3px;
  position: absolute;
  top: 6px;
  left: 0;
  bottom: 0;
}

#highlights .row .slider__s .item dl dd {
  line-height: 27px;
}

#highlights .row .slider__s .slick-prev,
#highlights .row .slider__s .slick-next {
  top: auto;
  bottom: -43px;
}

#highlights .row .slider__s .slick-prev {
  left: calc(50% - 100px);
}

#highlights .row .slider__s .slick-next {
  right: calc(50% - 98px);
}

#highlights .row .slider__s .slick-dots {
  bottom: -6px;
}

#highlights .row+.row {
  padding-top: 50px;
  border-top: 1px solid #d1beb1;
  padding-bottom: 0;
}

@media screen and (min-width: 768px) {
  #highlights {
    padding: 70px 0 86px;
  }

  #highlights .heading__icon {
    width: 45px;
    height: 167px;
    line-height: 45px;
    letter-spacing: 6px;
    padding-top: 52px;
  }

  #highlights .text-1 {
    margin-bottom: 30px;
  }

  #highlights .row {
    padding-bottom: 74px;
  }

  #highlights .row .title-c {
    margin-bottom: 28px;
  }

  #highlights .row .slider__s {
    margin-left: -30px;
    margin-right: -30px;
  }

  #highlights .row .slider__s .slick-slide {
    margin: 0 10px;
  }

  #highlights .row .slider__s .item {
    padding-bottom: 63px;
  }

  #highlights .row .slider__s .item .photo {
    height: 351px;
    margin-bottom: 20px;
  }

  #highlights .row .slider__s .item dl dt {
    line-height: 32px;
    font-size: 22px;
    margin-bottom: 28px;
    padding-left: 28px;
  }

  #highlights .row .slider__s .item dl dd {
    line-height: 30px;
  }

  #highlights .row .slider__s .slick-prev,
  #highlights .row .slider__s .slick-next {
    bottom: -41px;
    width: 50px;
    height: 50px;
  }

  #highlights .row .slider__s .slick-prev {
    left: calc(50% - 115px);
  }

  #highlights .row .slider__s .slick-next {
    right: calc(50% - 111px);
  }

  #highlights .row .slider__s .slick-dots {
    bottom: 0;
  }

  #highlights .row+.row {
    padding-top: 57px;
  }
}

#message {
  padding: 58px 0 19px;
}

#message .heading__icon {
  margin-bottom: 18px;
}

#message .photo {
  height: 211px;
  margin-bottom: 38px;
}

#message dl {
  display: flex;
  gap: 40px;
  flex-direction: row-reverse;
  padding-right: 19px;
}

#message dl dt {
  font-size: 19px;
  line-height: 35px;
  letter-spacing: 0.075px;
  width: 60px;
  height: 324px;
}

#message dl dd {
  height: 292px;
  line-height: 31px;
}

@media screen and (min-width: 768px) {
  #message {
    padding: 71px 0 48px;
  }

  #message .heading__icon {
    margin-bottom: 24px;
  }

  #message .photo {
    height: 237px;
    margin-bottom: 45px;
  }

  #message dl {
    gap: 57px;
  }

  #message dl dt {
    font-size: 22px;
    line-height: 41px;
    width: 60px;
    height: 338px;
    letter-spacing: 1px;
  }

  #message dl dd {
    height: 330px;
    line-height: 34px;
  }
}

#landscape {
  position: relative;
  padding: 57px 0 30px;
  background: var(--bg-main);
}

#landscape .heading__icon {
  width: 40px;
  height: 213px;
  margin: 0 auto 0px;
  letter-spacing: 5px;
}

#landscape .photo-1 {
  height: 251px;
  margin-bottom: 35px;
}

#landscape .text-1 {
  display: flex;
  flex-direction: row-reverse;
  font-size: 17px;
  line-height: 31px;
  letter-spacing: 0.1em;
  margin-bottom: 40px;
  justify-content: center;
  gap: 32px;
}

#landscape .text-1 .txt-1 {
  width: 50px;
  height: 136px;
}

#landscape .text-1 .txt-2 {
  width: 50px;
  height: 126px;
  padding-top: 35px;
}

#landscape .photo-2 {
  width: 210px;
  margin-left: auto;
  margin-right: 12px;
  height: 211px;
  margin-bottom: 30px;
}

#landscape .text-2 {
  display: flex;
  flex-direction: row-reverse;
  font-size: 17px;
  line-height: 31px;
  letter-spacing: 0.1em;
  margin-bottom: 0;
  justify-content: center;
  width: 136px;
  margin-left: auto;
  margin-right: 64px;
  gap: 31px;
}

#landscape .text-2 .txt-1 {
  width: 120px;
  height: 146px;
}

#landscape .text-2 .txt-2 {
  padding-top: 32px;
  width: 82px;
  height: 204px;
}

#landscape .photo-3 {
  width: 214px;
  height: 267px;
  margin-bottom: 31px;
}

#landscape .text-3 {
  display: flex;
  flex-direction: row-reverse;
  font-size: 17px;
  line-height: 31px;
  letter-spacing: 0.1em;
  margin-bottom: 0;
  justify-content: center;
  width: 184px;
  margin-right: 20px;
  gap: 54px;
}

#landscape .text-3 .txt-1 {
  width: 20px;
  height: 156px;
}

#landscape .text-3 .txt-2 {
  padding-top: 29px;
  width: 95px;
  height: 172px;
}

#landscape .photo-4 {
  width: 171px;
  height: 131px;
  margin-left: auto;
  margin-right: 24px;
  margin-bottom: 26px;
}

#landscape .text-4 {
  display: flex;
  flex-direction: row-reverse;
  font-size: 17px;
  line-height: 31px;
  letter-spacing: 0.1em;
  justify-content: center;
  width: 136px;
  margin-left: auto;
  margin-right: 42px;
  gap: 28px;
}

#landscape .text-4 .txt-1 {
  width: 20px;
  height: 146px;
}

#landscape .text-4 .txt-2 {
  padding-top: 32px;
  width: 58px;
  height: 194px;
}

@media screen and (min-width: 768px) {
  #landscape {
    padding: 73px 0 24px;
  }

  #landscape .heading__icon {
    width: 40px;
    height: 239px;
    letter-spacing: 8px;
  }

  #landscape .photo-1 {
    height: 284px;
    margin-bottom: 40px;
  }

  #landscape .text-1 {
    font-size: 19px;
    line-height: 34px;
    margin-bottom: 52px;
    gap: 34px;
    letter-spacing: 2px;
  }

  #landscape .text-1 .txt-1 {
    width: 62px;
    height: 150px;
  }

  #landscape .text-1 .txt-2 {
    width: 71px;
    height: 138px;
    padding-top: 40px;
  }

  #landscape .photo-2 {
    width: 242px;
    margin-right: 15px;
    height: 239px;
    margin-bottom: 30px;
  }

  #landscape .text-2 {
    font-size: 19px;
    line-height: 38px;
    margin-bottom: 17px;
    width: 136px;
    margin-right: 75px;
    gap: 16px;
  }

  #landscape .text-2 .txt-1 {
    width: 137px;
    height: 187px;
  }

  #landscape .text-2 .txt-2 {
    padding-top: 38px;
    width: 120px;
    height: 218px;
  }

  #landscape .photo-3 {
    width: 245px;
    height: 303px;
  }

  #landscape .text-3 {
    font-size: 19px;
    line-height: 35px;
    margin-bottom: 4px;
    width: 204px;
    margin-right: 22px;
    gap: 50px;
  }

  #landscape .text-3 .txt-1 {
    width: 20px;
    height: 186px;

  }

  #landscape .text-3 .txt-2 {
    padding-top: 35px;
    width: 120px;
    height: 188px;
  }

  #landscape .photo-4 {
    width: 194px;
    height: 149px;
    margin-left: auto;
    margin-right: 32px;
    margin-bottom: 34px;
  }

  #landscape .text-4 {
    font-size: 19px;
    line-height: 35px;
    width: 136px;
    margin-right: 62px;
    gap: 41px;
  }

  #landscape .text-4 .txt-1 {
    width: 20px;
    height: 167px;
  }

  #landscape .text-4 .txt-2 {
    padding-top: 35px;
    width: 90px;
    height: 218px;
  }
}