.about {
  background: url("../img/common/deco_head_karakusa.png") no-repeat top center, linear-gradient(transparent, transparent 4rem, #FFFBE6 4rem);
  background-size: contain, auto;
}
@media screen and (min-width: 1024px) {
  .about {
    background: url("../img/common/pc_deco_head_karakusa.webp") no-repeat top center, linear-gradient(transparent, transparent 12.43vw, #FFFBE6 12.43vw);
    background-size: contain, auto;
    position: relative;
  }
  .about::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 52px;
    transform: translateX(-50%);
    width: 596px;
    height: 113px;
    background: url("../img/common/pc_deco_karakusa_head.png") no-repeat bottom center;
    background-size: contain;
  }
}
.about > .container {
  padding: 11.4rem 1.6rem 6.4rem;
}
@media screen and (min-width: 1024px) {
  .about > .container {
    width: 96%;
    max-width: 1150px;
    margin-inline: auto;
    padding: 170px 0 110px 0;
    background: none;
  }
}
@media screen and (min-width: 1024px) and (min-width: 1024px) and (max-width: 1199px) {
  .about > .container {
    width: 96%;
  }
}
.about__block .btn-primary {
  margin: 6.4rem auto;
}
@media screen and (min-width: 1024px) {
  .about__block {
    display: grid;
    grid-template-columns: 720fr 340fr;
    grid-template-rows: auto auto auto;
    grid-template-areas: "area-ttl area-illust" "area-text area-illust" "area-btn area-illust";
    gap: 0 100px;
    align-items: start;
  }
  .about__block .en-ttl {
    grid-area: area-ttl;
    text-align: left;
  }
  .about__block .en-ttl .ttl {
    margin-bottom: 40px;
  }
  .about__block .text {
    grid-area: area-text;
    line-height: 2.1;
    text-align: left;
    margin: 0 0 40px;
  }
  .about__block .btn-primary {
    grid-area: area-btn;
    text-align: left;
    margin: 0;
  }
}
@media screen and (min-width: 1024px) {
  .about__figure {
    grid-area: area-illust;
    text-align: center;
    margin: 0;
    align-self: start;
  }
  .about__figure img {
    width: 340px;
    height: auto;
  }
}

.jiin-header__title {
  font-size: 2.9rem;
  line-height: 1.3;
  margin-bottom: 3.2rem;
}
@media screen and (min-width: 1024px) {
  .jiin-header__title {
    font-size: 48px;
    line-height: 1.5;
    margin-bottom: 64px;
  }
}
.jiin-header__title::before, .jiin-header__title::after {
  width: 18.7rem;
}
@media screen and (min-width: 1024px) {
  .jiin-header__title::before, .jiin-header__title::after {
    width: 264px;
  }
}
.jiin-header__title::before {
  margin-bottom: 1.6rem;
}
.jiin-header__lead {
  color: #ffffff;
  font-size: 1.6rem;
  line-height: 1.7;
}

.temple-lead {
  font-size: 1.6rem;
  font-weight: 400;
  font-family: "Noto Sans", "BIZ UDGothic", sans-serif;
  letter-spacing: 0.08em;
  line-height: 2.1;
  line-height: 1.7;
  margin-bottom: 3.2rem;
}
@media screen and (min-width: 1024px) {
  .temple-lead {
    font-size: 17px;
    line-height: 2.1;
    margin-bottom: 40px;
  }
}

.about {
  background-image: url("../img/temple/deco_head_karakusa.webp"), linear-gradient(transparent, transparent 67.73vw, #FFFBE6 67.73vw);
  background-size: contain, auto;
  position: relative;
  z-index: 2;
  margin-top: -9.2rem;
  padding-top: 25.4rem;
}
@media screen and (min-width: 1024px) {
  .about {
    margin-top: -4rem;
    padding-top: 18rem;
  }
}
.about__block {
  padding-bottom: 6.4rem;
}
@media screen and (min-width: 1024px) {
  .about__block {
    padding-bottom: 88px;
  }
}
.about__block:last-child {
  padding-bottom: 5.6rem;
}
.about__block:has(+ .selection-temple) {
  padding-bottom: 0;
}
@media screen and (min-width: 1024px) {
  .about__block:has(.btn-primary):has(+ .about__block) {
    padding-bottom: 104px;
  }
}
.about__block .btn-primary {
  margin: 5.6rem auto 0.8rem;
}
@media screen and (min-width: 1024px) {
  .about__block .btn-primary {
    margin: 48px 0 0 0;
  }
}
.about .en-ttl + .text {
  margin-bottom: 3.2rem;
}
.about .en-ttl + .text:has(+ .about__figure img[src*="/ph_"]), .about .en-ttl + .text:has(+ .about__figure img[src*="/illust_group.png"]) {
  margin-bottom: 4rem;
}
@media screen and (min-width: 1024px) {
  .about .en-ttl + .text:has(+ .about__figure img[src*="/ph_"]), .about .en-ttl + .text:has(+ .about__figure img[src*="/illust_group.png"]) {
    margin-bottom: 24px;
  }
}
.about .affiliated-temple__catch {
  font-size: 1.8rem;
  font-weight: 400;
  font-family: "Noto Sans", "BIZ UDGothic", sans-serif;
  letter-spacing: 0.08em;
  line-height: 2.1;
  margin-bottom: 1.4rem;
  text-align: center;
  position: relative;
  position: relative;
  display: inline-block;
  padding: 0 0.2em 0 0.3em;
}
.about .affiliated-temple__catch::before, .about .affiliated-temple__catch::after {
  content: "";
  display: inline;
  width: 0.1rem;
  height: 1em;
  background-color: #318988;
  border-radius: 9999px;
  position: absolute;
  top: 20%;
}
.about .affiliated-temple__catch::before {
  transform: rotate(-30deg);
  transform-origin: left bottom;
  left: 0;
}
.about .affiliated-temple__catch::after {
  transform: rotate(30deg);
  transform-origin: right bottom;
  right: 0;
}
.about .affiliated-temple__catch::before, .about .affiliated-temple__catch::after {
  width: 0.2rem;
  height: 1.2em;
}
@media screen and (min-width: 1024px) {
  .about .affiliated-temple__catch {
    width: 320px;
    margin: 0 auto 14px;
    font-size: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .about__network-wrap {
    background: #fff;
    padding: 104px 0 0;
  }
}
@media screen and (min-width: 1024px) {
  .about__network-wrap .about__figure {
    align-self: center;
  }
}
@media screen and (min-width: 1024px) {
  .about__network-wrap .selection-temple::before {
    background: linear-gradient(90deg, #ffffff 0%, #ffffff 5%, rgba(255, 255, 255, 0) 50%);
  }
  .about__network-wrap .selection-temple::after {
    background: linear-gradient(270deg, #ffffff 0%, #ffffff 5%, rgba(255, 255, 255, 0) 50%);
  }
}
.about .btn-text-wrap {
  text-align: center;
  margin-top: 3.2rem;
  margin-bottom: 6.4rem;
}
@media screen and (min-width: 1024px) {
  .about .btn-text-wrap {
    padding: 40px 0 112px;
  }
  .about .btn-text-wrap a.btn-primary {
    width: 434px;
  }
}
.about > .container {
  padding: 0 1.6rem;
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 1024px) {
  .about > .container {
    padding: 0 0 6.4rem;
  }
}
.about > .about__network-wrap + .container {
  padding: 0 1.6rem;
}
@media screen and (min-width: 1024px) {
  .about > .about__network-wrap + .container {
    padding: 6rem 0 0;
  }
}
@media screen and (min-width: 1024px) {
  .about {
    background-image: url("../img/common/pc_deco_head_karakusa.webp"), linear-gradient(transparent, transparent 12.43vw, #FFFBE6 12.43vw);
  }
}

.temple-construction {
  background: linear-gradient(to bottom, #ffffff, #E2F5F3);
}
.temple-construction > .container {
  padding: 4.8rem 1.6rem 5.6rem;
  display: grid;
  grid-template-columns: 1fr 11.4rem;
  grid-template-areas: "ttl ttl" "text img" "btn .";
  gap: 0 1.6rem;
  align-items: start;
}
.temple-construction > .container .en-ttl {
  grid-area: ttl;
}
.temple-construction > .container .text {
  grid-area: text;
  margin-top: -0.5em;
  margin-bottom: 2rem;
}
.temple-construction > .container .btn-primary-s {
  grid-area: btn;
  margin-top: 0;
  justify-self: start;
}
@media screen and (min-width: 1024px) {
  .temple-construction > .container {
    padding: 176px 0 120px;
    grid-template-rows: 136px 82px 40px;
    grid-template-columns: 720fr 343fr;
    grid-template-areas: "ttl img" "text img" "btn img";
    gap: 0 80px;
  }
  .temple-construction > .container .en-ttl .ttl {
    margin-bottom: 24px;
  }
}
.temple-construction__figure {
  grid-area: img;
}
.temple-construction__figure img {
  width: 100%;
  height: auto;
}

.jiin-voice {
  background: linear-gradient(to bottom, #ffffff, #fff7d6);
}
.jiin-voice > .container {
  padding: 5rem 1.3rem 5.6rem;
}
@media screen and (min-width: 1024px) {
  .jiin-voice > .container {
    padding: 104px 0 72px;
  }
}
.jiin-voice > .container .en-ttl {
  margin-bottom: 0;
}
.jiin-voice > .container .en-ttl + .text {
  margin-bottom: 3.2rem;
}
@media screen and (min-width: 1024px) {
  .jiin-voice > .container .en-ttl + .text {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 1024px) {
  .jiin-voice__header {
    display: flex;
    justify-content: space-between;
    align-items: end;
    margin-bottom: 88px;
  }
  .jiin-voice__header .en-ttl {
    width: 350px;
  }
  .jiin-voice__header .en-ttl .ttl {
    margin-bottom: 0;
  }
  .jiin-voice__header .text {
    width: calc(100% - 345px - 80px);
    max-width: 730px;
    line-height: 2.1;
    transform: translateY(-20px);
  }
}
.jiin-voice .temple-voice-slider .swiper-slide img {
  width: 100%;
  aspect-ratio: 248/168;
  -o-object-fit: cover;
     object-fit: cover;
}
.jiin-voice .btn-primary {
  display: flex;
  margin: 6.4rem auto 0;
}

.president-profile {
  background: #E2F5F3;
}
.president-profile > .container {
  padding: 4.8rem 1.6rem 6.4rem;
}
@media screen and (min-width: 1024px) {
  .president-profile > .container {
    padding: 96px 0 112px;
  }
}
.president-profile__intro {
  margin-bottom: 3.6rem;
}
@media screen and (min-width: 1024px) {
  .president-profile__intro {
    display: grid;
    grid-template-rows: 140px 1fr;
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "lead photo" "body photo";
    -moz-column-gap: 80px;
         column-gap: 80px;
    align-items: start;
    margin-bottom: 80px;
  }
}
.president-profile__intro-lead {
  grid-area: lead;
}
.president-profile__intro-body {
  font-size: 1.6rem;
  font-weight: 400;
  font-family: "Noto Sans", "BIZ UDGothic", sans-serif;
  letter-spacing: 0.08em;
  line-height: 2.1;
  margin-top: 4rem;
  grid-area: body;
}
@media screen and (min-width: 1024px) {
  .president-profile__intro-body {
    font-size: 17px;
    margin-top: 0;
    align-self: start;
  }
}
.president-profile__photo {
  margin: 0.8rem 0 0;
  grid-area: photo;
}
.president-profile__photo img {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 1024px) {
  .president-profile__photo {
    margin: 0;
  }
}
.president-profile__mid-text {
  font-size: 1.6rem;
  font-weight: 400;
  font-family: "Noto Sans", "BIZ UDGothic", sans-serif;
  letter-spacing: 0.08em;
  line-height: 2.1;
  margin: 4rem 0;
}
@media screen and (min-width: 1024px) {
  .president-profile__mid-text {
    font-size: 17px;
    margin: 68px 0;
  }
}
@media screen and (min-width: 1024px) {
  .president-profile__pair {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    -moz-column-gap: 29px;
         column-gap: 29px;
    align-items: start;
  }
}
@media screen and (min-width: 1200px) {
  .president-profile__pair {
    grid-template-columns: 536px auto 536px;
  }
}
@media screen and (min-width: 1024px) {
  .president-profile__item {
    position: relative;
  }
}
.president-profile__item h3 {
  display: inline-block;
  color: #ffffff;
  background: linear-gradient(90deg, #004F4E 0%, #318988 100%);
  border-radius: 0 999px 999px 0;
  padding: 0.45rem 2.1rem 0.45rem 2.7rem;
  font-size: 1.7rem;
  line-height: 1.4;
  margin-left: -1.6rem;
  margin-bottom: 2.4rem;
  text-shadow: 0 0 10px #653B00;
}
@media screen and (min-width: 1024px) {
  .president-profile__item h3 {
    font-size: 22px;
    padding: 5px 18px 5px 32px;
    margin-left: 0;
    position: absolute;
    top: 34px;
    left: 0;
    z-index: 2;
  }
}
@media screen and (min-width: 1024px) {
  .president-profile__item figure {
    position: relative;
    z-index: 1;
  }
}
.president-profile__item figure img {
  width: 100%;
  height: auto;
}
.president-profile__arrow {
  display: block;
  width: 0;
  height: 0;
  border-left: 2.4rem solid transparent;
  border-right: 2.4rem solid transparent;
  border-top: 1.2rem solid #318988;
  margin: 2.4rem auto;
}
@media screen and (min-width: 1024px) {
  .president-profile__arrow {
    border-top: 3.1rem solid transparent;
    border-bottom: 3.1rem solid transparent;
    border-left: 1.5rem solid #318988;
    border-right: 0;
    margin: 0 auto;
    align-self: center;
  }
}

.line-cta {
  background: linear-gradient(180deg, #46C36E 0%, #9ACAB0 100%);
}
.line-cta > .container {
  padding: 2.4rem 1.6rem 0;
}
@media screen and (min-width: 1024px) {
  .line-cta > .container {
    display: flex;
    align-items: flex-end;
    padding: 40px 0;
    justify-content: space-between;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1200px) {
  .line-cta > .container {
    justify-content: space-around;
  }
}
.line-cta__card {
  background: #ffffff;
  border-radius: 1rem;
  padding: 2rem 1.6rem 2.4rem;
}
@media screen and (min-width: 1024px) {
  .line-cta__card {
    width: 735px;
    height: 205px;
    padding: 30px 40px 32px;
    display: grid;
    grid-template-columns: 77px 1fr 125px;
    grid-template-areas: "icon title qr" "icon rule  qr" "icon desc  qr";
    -moz-column-gap: 0;
         column-gap: 0;
    align-items: start;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1100px) {
  .line-cta__card {
    width: 655px;
    padding: 30px 16px 32px;
  }
}
.line-cta__card-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (min-width: 1024px) {
  .line-cta__card-top {
    display: contents;
  }
}
.line-cta__line-icon {
  width: 5.6rem;
  height: 5.6rem;
  flex-shrink: 0;
  margin-left: 1.6rem;
}
@media screen and (min-width: 1024px) {
  .line-cta__line-icon {
    grid-area: icon;
    width: 77px;
    height: 77px;
    margin-left: 0;
    align-self: start;
    margin-top: 0.5em;
  }
}
.line-cta__title {
  color: #019C41;
  font-size: 2.2rem;
  font-weight: 400;
  font-family: "Noto Sans", "BIZ UDGothic", sans-serif;
  letter-spacing: 0.08em;
  line-height: 2.1;
  font-weight: bold;
  line-height: 1.7;
  margin-top: -0.3em;
}
@media screen and (min-width: 1024px) {
  .line-cta__title {
    grid-area: title;
    font-size: 24px;
    white-space: nowrap;
    margin: 0 40px 0 20px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1200px) {
  .line-cta__title {
    font-size: 22px;
  }
}
.line-cta__rule {
  border: none;
  border-top: 1px solid #019C41;
  margin: 1rem 0;
}
@media screen and (min-width: 1024px) {
  .line-cta__rule {
    grid-area: rule;
    margin: 10px 40px 10px 20px;
  }
}
.line-cta__desc {
  font-size: 1.7rem;
  font-weight: 400;
  font-family: "Noto Sans", "BIZ UDGothic", sans-serif;
  letter-spacing: 0.08em;
  line-height: 2.1;
}
@media screen and (min-width: 1024px) {
  .line-cta__desc {
    grid-area: desc;
    margin: 0 40px 0 20px;
  }
}
.line-cta__qr {
  grid-area: qr;
  width: 120px;
  align-self: center;
}
@media screen and (min-width: 1024px) {
  .line-cta__qr {
    width: 125px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1100px) {
  .line-cta__qr {
    width: 115px;
  }
}
.line-cta__qr img {
  width: 100%;
  height: auto;
}
.line-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 5.6rem;
  margin-top: 2.6rem;
  padding: 0 1.6rem;
  background: linear-gradient(180deg, #8CD0AA 0%, #068831 100%);
  color: #ffffff;
  font-size: 1.7rem;
  font-weight: 400;
  font-family: "Noto Sans", "BIZ UDGothic", sans-serif;
  letter-spacing: 0.08em;
  line-height: 2.1;
  border-radius: 1rem;
  text-decoration: none;
}
.line-cta__btn::after {
  content: "";
  display: inline-flex;
  width: 3.4rem;
  height: 3.4rem;
  flex-shrink: 0;
  background: url("../img/common/icon_btn_primary.svg") no-repeat center/contain;
}
.line-cta__consult {
  display: flex;
  align-items: flex-start;
  gap: 1.2rem;
  margin-top: 3rem;
}
@media screen and (min-width: 1024px) {
  .line-cta__consult {
    align-items: flex-end;
    justify-content: space-between;
    margin-top: 0;
    flex-shrink: 0;
    width: 375px;
    gap: 0;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1200px) {
  .line-cta__consult {
    width: 305px;
  }
}
.line-cta__consult-bubble {
  flex: 1;
  background: #FFFDEA;
  border-radius: 1rem;
  padding: 0.6rem 0.6rem 0.6rem 1.2rem;
  position: relative;
}
.line-cta__consult-bubble::before {
  content: "";
  position: absolute;
  top: 50%;
  right: -1.5rem;
  width: 0;
  height: 0;
  transform: translateY(-50%);
  border-top: 1.5rem solid transparent;
  border-bottom: 1.5rem solid transparent;
  border-left: 2.5rem solid #FFFDEA;
  border-right: 0;
}
@media screen and (min-width: 1024px) {
  .line-cta__consult-bubble {
    width: 217px;
    height: 205px;
    flex: none;
    padding: 20px;
    padding: 12px 10px 12px 20px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1200px) {
  .line-cta__consult-bubble {
    width: 180px;
  }
}
@media screen and (min-width: 1024px) {
  .line-cta__consult-bubble::before {
    border-top: 1.4rem solid transparent;
    border-bottom: 1.4rem solid transparent;
    right: -2.2rem;
  }
}
.line-cta__consult-bubble p {
  font-size: 1.4rem;
  font-weight: 400;
  font-family: "Noto Sans", "BIZ UDGothic", sans-serif;
  letter-spacing: 0.08em;
  line-height: 2.1;
  line-height: 1.7;
}
@media screen and (min-width: 1024px) {
  .line-cta__consult-bubble p {
    font-size: 15px;
  }
}
.line-cta__operator {
  flex-shrink: 0;
  width: 9.6rem;
  align-self: flex-end;
}
.line-cta__operator img {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 1024px) {
  .line-cta__operator {
    width: 114px;
    align-self: flex-end;
    margin-bottom: -40px;
  }
}

.jiin-wrap {
  background: radial-gradient(#318988 0%, #025D5B 72%) center 1.5%/200rem 200rem no-repeat, #025D5B;
}
@media screen and (min-width: 1024px) {
  .jiin-wrap {
    background: radial-gradient(#318988 60%, #025D5B 95%);
  }
}

.jiin-wrap .achievement {
  margin-bottom: 0;
  background: none;
}
.jiin-wrap .achievement__note {
  padding-bottom: 2.4rem;
}
@media screen and (min-width: 1024px) {
  .jiin-wrap .achievement__note {
    margin: 30px auto 10px;
    padding-bottom: 0;
  }
}
.jiin-wrap .achievement > .container {
  padding: 8rem 1.4rem 0;
}
@media screen and (min-width: 1024px) {
  .jiin-wrap .achievement > .container {
    padding: 64px 0 112px;
  }
}
.jiin-wrap .achievement > .container::after {
  content: none;
}

@media screen and (min-width: 1024px) {
  .page-temple .form {
    padding: 88px 0 101px;
  }
  .page-temple .form .en-ttl .ttl {
    margin-bottom: 42px;
  }
  .page-temple .form .en-ttl + .text {
    margin-bottom: 0;
  }
  .page-temple .form .confirm_area {
    margin-top: 8px;
  }
}/*# sourceMappingURL=temple.css.map */