@charset "UTF-8";

a {
  color: var(--white-color);
  text-decoration: none;
}

.a-black {
  color: var(--black2-color);
  background-color: var(--accent2-color);
}

.c-font {
  font-weight: 700;
}

.title-c-font {
  font-size: 28px;
}

.a-black:hover {
  color: var(--white-color);
  background: var(--black2-color);
  transition: all 0.3s;
}

/* .zen-kaku-gothic-new-regular {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.yuji-syuku-regular {
    font-family: "Yuji Syuku", serif;
    font-weight: 400;
    font-style: normal;
}

.hina-mincho-regular {
    font-family: "Hina Mincho", serif;
    font-weight: 400;
    font-style: normal;
} */

/*色管理用の変数*/
:root {
  --white-color: #fffffd;
  --gray-color: #e6e6e6;
  --gray2-color: #999999;
  --gray3-color: #cfcfcf;
  --black-color: #000000;
  --black2-color: #231f20;
  --accent-color: #ff0000;
  --accent2-color: #ffd700;
}

/*z-index管理用の変数*/
:root {
  --z-index-back2: -2;
  --z-index-back: -1;
  --z-index-default: 1;
  --z-index-front: 2;
  --z-index-header: 100;
  --z-index-menu: 150;
  --z-index-modal: 200;
}

body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  color: var(--black2-color);
  background-color: var(--white-color);
}

/* container */
.container {
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

/*--------------------------------------------------------------------------

    global => header

--------------------------------------------------------------------------*/

.header {
  /* background-color: rgba(0, 0, 0, 0.2); */
  width: 100%;
  height: 70px;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: var(--z-index-header);
}

.header__inner {
  padding: 0 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: inherit;
  position: relative;
}

.header__title {
  display: block;
  width: 58px;
}

@media screen and (min-width: 960px) {
  .header__title {
    width: 120px;
  }
}

.header-logo {
  height: 60px;
  width: 260px;
  background: url("/img/heder_logo.png") center / cover;
}

.header__nav {
  position: absolute;
  right: 0;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  transform: translateX(100%);
  background-color: rgba(255, 255, 255, 0.9);
  transition: ease 0.4s;
}

/*--------------------------------------------------------------------------

    global => header__nav

--------------------------------------------------------------------------*/
.nav-items {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 0;
}

.nav-items__item a {
  color: var(--black2-color);
  display: inline-block;
  font-size: 18px;
  margin-bottom: 24px;
  position: relative;
}

.nav-items__item a::after {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: var(--black2-color);
  bottom: -1px;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform 0.3s;
}

.nav-items__item:last-child a {
  margin-bottom: 0;
}

.nav-items__item a:hover::after {
  transform: scale(1, 1);
}

/*--------------------------------------------------------------------------

    global => header__hamburger

--------------------------------------------------------------------------*/
.header__hamburger {
  width: 32px;
  height: 32px;
  position: relative;
  top: -15px;
  right: 10px;
}

.hamburger {
  background-color: transparent;
  border-color: transparent;
  z-index: var(--z-index-menu);
}

.hamburger span {
  width: 100%;
  height: 3px;
  background-color: var(--black2-color);
  position: relative;
  transition: ease 0.4s;
  display: block;
  z-index: var(--z-index-menu);
}

.hamburger::before {
  display: block;
  content: "menu";
  position: relative;
  top: 34px;
  width: 30px;
  font-size: 12px;
  font-weight: bold;
  margin: 0 auto;
  text-align: center;
  color: var(--black2-color);
  z-index: var(--z-index-menu);
}

.hamburger::after {
  display: block;
  content: "";
  position: relative;
  padding: 30px;
  border-radius: 5px;
  top: -36px;
  right: 14px;
  background-color: var(--gray-color);
  z-index: var(--z-index-header);
}

.hamburger span:nth-child(1) {
  top: 0;
}

.hamburger span:nth-child(2) {
  margin: 6px 0;
}

.hamburger span:nth-child(3) {
  top: 0;
}

/* ハンバーガーメニュークリック後のスタイル */
.header__nav.active {
  transform: translateX(0);
}

.hamburger.active span:nth-child(1) {
  top: 6px;
  transform: rotate(45deg);
}

.hamburger.active span:nth-child(2) {
  opacity: 0;
}

.hamburger.active span:nth-child(3) {
  top: -12px;
  transform: rotate(-45deg);
}

/*--------------------------------------------------------------------------

    global => footer

--------------------------------------------------------------------------*/
.footer {
  margin-top: 100px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  color: var(--black2-color);
  font-family: "Hina Mincho", serif;
  background-color: var(--gray-color);
}

@media screen and (min-width: 768px) {
  .footer {
    margin-top: 200px;
  }
}

/* footer_nav_group
--------------------------------------------------------------------------*/
.footer_nav_group {
  width: 100%;
  margin: 60px 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* footer_nav_list
--------------------------------------------------------------------------*/
@media screen and (min-width: 768px) {
  .footer_nav_list {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
  }
}

/* footer_nav_item
--------------------------------------------------------------------------*/
.footer_nav_item:not(:last-child) {
  padding-bottom: 20px;
}

@media screen and (min-width: 768px) {
  .footer_nav_item:not(:last-child) {
    padding-bottom: 0px;
  }
}

.footer_nav_item a {
  display: inline-block;
  color: var(--black2-color);
  position: relative;
}

.footer_nav_item a::before {
  content: "";
  position: absolute;
  top: 12px;
  left: -12px;
  width: 8px;
  height: 1px;
  margin: auto;
  background-color: var(--black2-color);
}

@media screen and (min-width: 768px) {
  .footer_nav_item a::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 0;
    right: 0;
    width: 1px;
    height: 8px;
    margin: auto;
    background-color: var(--black2-color);
  }
}

.footer_nav_item a::after {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: var(--black2-color);
  bottom: -1px;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform 0.3s;
}

@media screen and (min-width: 768px) {
  .footer_nav_item a::after {
    position: absolute;
    right: 0;
    content: "";
    width: 1px;
    height: 100%;
    background: var(--black2-color);
    left: -1px;
    transform: scale(1, 0);
    transform-origin: right top;
    transition: transform 0.3s;
  }
}

.footer_nav_item a:hover::after {
  transform: scale(1, 1);
}

@media screen and (min-width: 768px) {
  .footer_nav_item a {
    padding: 20px 5px;
    margin: 30px 20px 0px;
  }
}

/* footer-logo_unit
--------------------------------------------------------------------------*/
/* footer-logo
--------------------------------------------------------------------------*/
.footer-logo {
  height: 60px;
  width: 105px;
  margin-top: 50px;
  background: url("/img/footer_logo.png") center / cover;
}

/* footer-copylight
--------------------------------------------------------------------------*/
.footer-copylight {
  margin-bottom: 8px;
}

/*--------------------------------------------------------------------------

    index.html => main-visual

--------------------------------------------------------------------------*/
.main__visual-group {
  position: relative;
}

/* top__kv
--------------------------------------------------------------------------*/
.top__kv {
  height: 88vh;
  max-width: 768px;
  background: url("/img/top_page.jpg") top/cover;
  background-position: 60%;
  border-radius: 0;
  margin: 0 auto;
  position: relative;
}

@media screen and (min-width: 700px) {
  .top__kv {
    border-radius: 0 0 5px 5px;
  }
}

.top__kv_large_logo {
  width: 130px;
  height: 380px;
  z-index: var(--z-index-front);
  background-image: url("/img/index_title_logo.png");
  background-size: 100%;
  background-repeat: no-repeat;
  margin: 0 auto;
  top: 53%;
  left: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
}

.top_kv-slideshow {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

/* news-bar
--------------------------------------------------------------------------*/
.news-bar {
  position: relative;
  z-index: var(--z-index-front);
}

@media screen and (min-width: 424px) {
  .news-bar {
    max-width: 700px;
    width: 100%;
  }
}

@media screen and (min-width: 700px) {
  .news-bar_set {
    position: absolute;
    top: 95%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
  }
}

.news-bar_btn {
  display: inline-block;
  padding: 10px 20px;
  background: var(--gray-color);
  display: flex;
  flex-direction: column;
  color: var(--black-color);
}

.news-bar_btn:hover {
  color: var(--white-color);
  background: var(--black2-color);
  transition: all 0.3s;
}

@media screen and (min-width: 700px) {
  .news-bar_btn {
    border-radius: 5px;
  }
}

.news-bar__font {
  padding-bottom: 5px;
  border-bottom: 1px solid var(--white-color);
  font-size: 16px;
}

.news-bar__date_font {
  width: 100%;
  padding-top: 5px;
  text-align: center;
  font-size: 16px;
}

/*greeting__group
--------------------------------------------------------------------------*/
.greeting__group {
  margin: 100px 0 100px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

@media screen and (min-width: 700px) {
  .greeting__group {
    display: none;
  }
}

.greeting__group2 {
  display: none;
}

@media screen and (min-width: 700px) {
  .greeting__group2 {
    margin: 100px 0 100px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
}

.greeting__text-group {
  position: absolute;
  z-index: var(--z-index-front);
}

.greeting-title {
  font-family: "Yuji Syuku", serif;
  font-size: 20px;
  margin: 40px 0;
  text-align: center;
}

.greeting-text {
  font-family: "Hina Mincho", serif;
  text-align: center;
  line-height: 24px;
}

.greeting__bg {
  background-image: url("/img/index_hello_bg.jpg");
  background-position: 0 15%;
  background-repeat: no-repeat;
  background-size: cover;
  height: 570px;
  width: 100%;
  max-width: 768px;
  position: relative;
}

/*banner__link-group
--------------------------------------------------------------------------*/
.banner__link-group {
  display: flex;
  flex-direction: column;
  max-width: 768px;
  position: relative;
}

@media screen and (min-width: 425px) {
  .banner__link-group {
    margin: 56px auto 0;
  }
}

/*banner-item__L & banner-item__R
--------------------------------------------------------------------------*/
.banner-item__L {
  cursor: pointer;
  overflow: hidden;
  position: relative;
  width: 100%;
  max-width: 580px;
  border-radius: 0 5px 5px 0;
}

.banner-item__R {
  cursor: pointer;
  overflow: hidden;
  position: relative;
  width: 100%;
  max-width: 580px;
  border-radius: 5px 0 0 5px;
}

.banner-item_R_set {
  display: flex;
  justify-content: flex-end;
}

/*banner__text__L & banner__text__R
--------------------------------------------------------------------------*/
.banner__text__L {
  display: flex;
  justify-content: flex-start;
  padding-bottom: 10px;
  font-family: "Hina Mincho", serif;
  font-size: 20px;
  font-weight: bold;
  color: var(--black2-color);
}

.banner__text__R {
  display: flex;
  justify-content: flex-end;
  padding-bottom: 10px;
  font-family: "Hina Mincho", serif;
  font-size: 20px;
  font-weight: bold;
  color: var(--black2-color);
}

/*banner__detail-text__L & banner__detail-text__R
--------------------------------------------------------------------------*/

.banner__detail-text__L {
  display: flex;
  justify-content: flex-start;
  padding-top: 10px;
  padding-bottom: 20px;
}

.banner__detail-text__R {
  display: flex;
  justify-content: flex-end;
  padding-top: 10px;
  padding-bottom: 20px;
}

.banner__detail-text {
  display: flex;
  justify-content: center;
  padding-top: 10px;
  padding-bottom: 20px;
}

/* banner__bg-about
--------------------------------------------------------------------------*/
.banner__bg-about {
  background-image: url("/img/index_about_banner.jpg");
  background-position: 0 45%;
  background-repeat: no-repeat;
  background-size: cover;
  transition: transform 0.6s ease;
  height: 140px;
  width: 100%;
}

.banner-item__L:hover .banner__bg-about {
  transform: scale(1.1);
}

/* banner__bg-event
--------------------------------------------------------------------------*/
.banner__bg-event {
  background-image: url("/img/index_event_banner.jpg");
  background-position: 0 15%;
  background-repeat: no-repeat;
  background-size: cover;
  height: 140px;
  transition: transform 0.6s ease;
  width: 100%;
}

.banner-item__R:hover .banner__bg-event {
  transform: scale(1.1);
}

/* banner__bg-ceremoney
--------------------------------------------------------------------------*/
.banner__bg-ceremoney {
  background-image: url("/img/index_butuji_banner.jpg");
  background-position: 0 50%;
  background-repeat: no-repeat;
  background-size: cover;
  height: 140px;
  transition: transform 0.6s ease;
  width: 100%;
}

.banner-item__L:hover .banner__bg-ceremoney {
  transform: scale(1.1);
}

/* banner__bg-grave
--------------------------------------------------------------------------*/
.banner__bg-grave {
  background-image: url("/img/index_grave_banner.jpg");
  background-position: 0 17%;
  background-repeat: no-repeat;
  background-size: cover;
  height: 140px;
  transition: transform 0.6s ease;
  width: 100%;
}

.banner-item__R:hover .banner__bg-grave {
  transform: scale(1.1);
}

/* banner__bg-volunteer
--------------------------------------------------------------------------*/
.banner__bg-volunteer {
  background-image: url("/img/index_charity_banner.jpg");
  background-position: 0 40%;
  background-repeat: no-repeat;
  background-size: cover;
  height: 140px;
  transition: transform 0.6s ease;
  width: 100%;
}

.banner-item__L:hover .banner__bg-volunteer {
  transform: scale(1.1);
}

/* access-title
--------------------------------------------------------------------------*/
.access-title {
  margin: 80px 0 20px 0;
  font-family: "Hina Mincho", serif;
  font-size: 20px;
  color: var(--black2-color);
  font-weight: bold;
}

.access-map {
  display: flex;
  justify-content: center;
  align-items: center;
}

/* access_address_box
--------------------------------------------------------------------------*/
.access_address_box {
  margin-bottom: 100px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
}

/* access_address__item
--------------------------------------------------------------------------*/
.access_address__item {
  margin-top: 25px;
  width: 95%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

@media screen and (min-width: 768px) {
  .access_address__item {
    flex-direction: row;
  }
}

/* access_adress
--------------------------------------------------------------------------*/
.access_adress {
  color: var(--black2-color);
  font-size: 14px;
}

/* banner__bg-facility_information
--------------------------------------------------------------------------*/
.banner__link-group2 {
  max-width: 768px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 700px) {
  .banner__link-group2 {
    display: flex;
    flex-direction: column;
  }
}

.banner__link-unit {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.banner__link-unit2 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-top: 20px;
}

@media screen and (min-width: 700px) {
  .banner__link-unit2 {
    margin-top: 0;
  }
}

.banner-item {
  cursor: pointer;
  overflow: hidden;
  position: relative;
  width: 95%;
  max-width: 350px;
  border-radius: 10px;
}

.banner__text2 {
  font-family: "Hina Mincho", serif;
  font-size: 20px;
  font-weight: bold;
  color: var(--black2-color);
  flex-shrink: 0;
  align-items: center;
  display: flex;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: var(--z-index-front);
}

.banner__bg-facility_information {
  background-image: url("/img/index_facility_btm350×140.png");
  background-position: 0 80%;
  background-repeat: no-repeat;
  background-size: cover;
  height: 140px;
  transition: transform 0.6s ease;
  width: 350px;
  flex-shrink: 0;
}

@media screen and (max-width: 700px) {
  .banner__bg-facility_information {
    height: 50px;
  }
}

.banner-item:hover .banner__bg-facility_information {
  transform: scale(1.1);
}

.banner__bg-contact {
  background-image: url("/img/index_contact_btm350×140.png");
  background-position: 0 80%;
  background-repeat: no-repeat;
  background-size: cover;
  height: 140px;
  transition: transform 0.6s ease;
  width: 350px;
  flex-shrink: 0;
}

@media screen and (max-width: 700px) {
  .banner__bg-contact {
    height: 50px;
  }
}

.banner-item:hover .banner__bg-contact {
  transform: scale(1.1);
}

/*--------------------------------------------------------------------------

     about(お寺について）

--------------------------------------------------------------------------*/
.top__bg {
  height: auto;
  width: 100%;
  background-position: 60%;
  border-radius: 0 0 5px 5px;
  margin: 0 auto;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

@media screen and (min-width: 767px) {
  .top__bg img {
    border-radius: 0 0 1% 1%;
  }
}

.top__bg::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 82%;
  background: var(--gray2-color);
  width: 3px;
  height: 150px;
}

@media screen and (max-width: 767px) {
  .top__bg::before {
    left: 50%;
    top: 90%;
    height: 80px;
  }
}

.top__bg-title {
  color: var(--black2-color);
  font-family: "Hina Mincho", serif;
  font-size: 25px;
  font-weight: bold;
  letter-spacing: 15px;
  padding: 10px;
  position: absolute;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

/* out-line_nav_group
--------------------------------------------------------------------------*/
.out-line_nav_group {
  width: 100%;
  margin: 100px 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* out-line_nav_list
--------------------------------------------------------------------------*/
@media screen and (min-width: 767px) {
  .out-line_nav_list {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
  }
}

/* out-line_nav_item
--------------------------------------------------------------------------*/
.out-line_nav_item:not(:last-child) {
  padding-bottom: 20px;
}

@media screen and (min-width: 767px) {
  .out-line_item:not(:last-child) {
    padding-bottom: 0px;
  }
}

.out-line_nav_item a {
  display: inline-block;
  color: var(--black2-color);
  position: relative;
}

.out-line_nav_item a::before {
  content: "";
  position: absolute;
  top: 12px;
  left: -12px;
  width: 8px;
  height: 1px;
  margin: auto;
  background-color: var(--black2-color);
}

@media screen and (min-width: 767px) {
  .out-line_nav_item a::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 0;
    right: 0;
    width: 1px;
    height: 8px;
    margin: auto;
    background-color: var(--black2-color);
  }
}

.out-line_nav_item a::after {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: var(--black2-color);
  bottom: -1px;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform 0.3s;
}

@media screen and (min-width: 767px) {
  .out-line_nav_item a::after {
    position: absolute;
    right: 0;
    content: "";
    width: 1px;
    height: 100%;
    background: var(--black2-color);
    left: -1px;
    transform: scale(1, 0);
    transform-origin: right top;
    transition: transform 0.3s;
  }
}

.out-line_nav_item a:hover::after {
  transform: scale(1, 1);
}

@media screen and (min-width: 767px) {
  .out-line_nav_item a {
    padding: 20px 5px;
    margin: 30px 20px 0px;
  }
}

/* about-content__item
--------------------------------------------------------------------------*/
.about-content__item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 100px;
}

.about-content__item:nth-child(4) {
  margin-bottom: 0;
}

@media screen and (min-width: 767px) {
  .about-content__item img {
    border-radius: 1%;
  }
}

.item-bg {
  object-fit: cover;
}

.item-title {
  font-family: "Hina Mincho", serif;
  font-size: 28px;
  margin: 40px 0;
}

.item-text {
  max-width: 768px;
  width: 95%;
  line-height: 24px;
}

/* event-content__item
--------------------------------------------------------------------------*/
.event-content__item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 40px;
}

.event-content__item:nth-child(6) {
  margin-bottom: 0;
}

@media screen and (min-width: 767px) {
  .event-content__item {
    margin-bottom: 100px;
  }
}

.event-content__item img {
  margin-top: 20px;
}

@media screen and (min-width: 767px) {
  .event-content__item img {
    border-radius: 1%;
  }
}

.item-bg {
  object-fit: cover;
}

.item-title2 {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 28px;
  margin: 70px 0 40px 0;
}

.item-text {
  max-width: 768px;
  width: 95%;
  line-height: 24px;
}

/* butuji-content
--------------------------------------------------------------------------*/
.butuji-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 100px;
}

.butuji__text-group {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  width: 90%;
}

.butuji-content__group {
  font-size: 28px;
  text-align: center;
  margin: 70px 0 40px 0;
}

.butuji-content__group2 {
  font-size: 28px;
  text-align: center;
  margin: 70px 0 40px 0;
}

.group-detail {
  max-width: 768px;
  margin-bottom: 60px;
}

.group-item {
  width: 95%;
  max-width: 768px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0 auto 20px;
}

.group-item-title {
  font-size: 28px;
  padding: 20px;
  background-color: var(--gray-color);
  margin-bottom: 1px;
  border-radius: 5px 5px 0 0;
}

.group-item-detail {
  padding: 20px;
  background-color: var(--gray-color);
  border-radius: 0 0 5px 5px;
}

.ps-text {
  padding: 20px;
  max-width: 768px;
  color: var(--white-color);
  background-color: var(--gray2-color);
  border-radius: 5px;
}

.ps-text2-group {
  padding: 20px 0;
  width: 95%;
  max-width: 768px;
  background-color: var(--gray-color);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 0 auto 20px;
  border-radius: 5px;
}

.ps-text2-group2 {
  width: 95%;
  max-width: 768px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 0 auto 20px;
}

.ps-text2 {
  margin: 0 auto 20px;
  width: 95%;
  max-width: 768px;
}

.img-group {
  display: flex;
  justify-content: center;
  width: 95%;
}

@media screen and (max-width: 424px) {
  .img-group {
    flex-direction: column;
  }
}

.img-group-item:nth-child(2) {
  margin-left: 10px;
}

@media screen and (max-width: 424px) {
  .img-group-item:nth-child(2) {
    margin-top: 10px;
    margin-left: 0px;
  }
}

/* garve-content
--------------------------------------------------------------------------*/
.grave-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.grave-content__text-group {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  width: 90%;
}

.grave-content__group {
  font-size: 28px;
  text-align: center;
  margin: 100px 0 40px 0;
}

.group-detail {
  max-width: 768px;
  margin-bottom: 60px;
}

.grave-text-group {
  padding: 20px 0;
  width: 100%;
  max-width: 768px;
  background-color: var(--gray-color);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 0 auto 20px;
}

@media screen and (min-width: 767px) {
  .grave-text-group {
    border-radius: 5px;
  }
}

.grave-text {
  margin: 0 auto 20px;
  width: 95%;
  max-width: 768px;
}

/* charity-content
--------------------------------------------------------------------------*/
.charity-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 100px;
}

.charity__text-group {
  width: 100%;
  max-width: 768px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  width: 90%;
}

.charity-content__title {
  font-size: 28px;
  text-align: center;
  margin: 70px 0 40px 0;
}

.item-title3 {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 28px;
  text-align: left;
  margin: 70px auto 40px;
  width: 95%;
  max-width: 768px;
}

@media screen and (min-width: 769px) {
  .item-title3 {
    width: 100%;
  }
}

.item-text2 {
  max-width: 768px;
  width: 95%;
  line-height: 24px;
}

@media screen and (min-width: 769px) {
  .item-text2 {
    width: 100%;
  }
}

.charity-content__group {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
}

.charity-content__item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.charity-content__item:nth-child(3) {
  margin-bottom: 0;
}

@media screen and (min-width: 767px) {
  .charity-content__item {
    margin-bottom: 100px;
  }
}

.charity-content__item img {
  margin-top: 20px;
}

@media screen and (min-width: 767px) {
  .charity-content__item img {
    border-radius: 1%;
  }
}

/* facility-content
--------------------------------------------------------------------------*/
.facility-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 100px;
}

.facility__text-group {
  width: 100%;
  max-width: 768px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  width: 90%;
}

.facility-content__title {
  font-size: 28px;
  text-align: center;
  margin-bottom: 40px;
}

.facility-content__group {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
}

.facility-content__item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.facility-content__item:nth-child(5) {
  margin-bottom: 0;
}

@media screen and (min-width: 767px) {
  .facility-content__item {
    margin-bottom: 100px;
  }
}

.facility-content__item img {
  margin-top: 20px;
}

@media screen and (min-width: 767px) {
  .facility-content__item img {
    border-radius: 1%;
  }
}

.facility-ps-text-box {
  width: 100%;
}

.facility-ps-text {
  margin-top: 20px;
  padding: 20px;
  max-width: 768px;
  color: var(--white-color);
  background-color: var(--gray2-color);
  /* border-radius: 5px; */
}

@media screen and (min-width: 767px) {
  .facility-ps-text {
    border-radius: 5px;
  }
}

/* contents-container
--------------------------------------------------------------------------*/
.contents-container {
  width: 95%;
  max-width: 768px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* contents_title
--------------------------------------------------------------------------*/
.contents_title {
  width: 100%;
  font-size: 28px;
  margin: 70px auto 40px;
}

.cotents_text {
  margin-bottom: 20px;
  text-align: center;
}

/* contact_tel_box
--------------------------------------------------------------------------*/
.contact_tel_box {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

/* contact_tel_text-box
--------------------------------------------------------------------------*/
.contact_tel_text-box {
  width: 95%;
  max-width: 768px;
  color: var(--black2-color);
  background: var(--gray-color);
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

/* contact_tel_text
--------------------------------------------------------------------------*/
.contact_tel_text {
  padding: 20px 0 20px;
  line-height: 1.7;
}

/* contact_tel_namber
--------------------------------------------------------------------------*/
.contact_tel_namber {
  font-size: 24px;
  font-weight: bold;
}

/* contact-form_group
--------------------------------------------------------------------------*/
.contact-form_group {
  width: 100%;
}

/* contact-form_box
--------------------------------------------------------------------------*/
.contact-form_box {
  width: 100%;
  max-width: 768px;
  margin: 0 auto 56px;
}

/* contact-form
--------------------------------------------------------------------------*/
.contact-form {
  padding: 0 8px 72px;
}

/* form-body
--------------------------------------------------------------------------*/
/* contact-form_unit
--------------------------------------------------------------------------*/
.contact-form_unit:not(:first-child) {
  padding-top: 30px;
}

/* form-unit-head
--------------------------------------------------------------------------*/
.form-unit-head {
  color: var(--black2-color);
  font-weight: bold;
  padding-bottom: 8px;
  max-width: 640px;
  display: flex;
  align-items: center;
  margin: 0 auto;
}

/* form-unit-example
--------------------------------------------------------------------------*/
.form-unit-example {
  margin-left: 5px;
  display: inline-block;
  color: var(--accent-color);
  font-weight: bold;
  font-weight: normal;
}

/* form-unit-contents
--------------------------------------------------------------------------*/
.form-unit-contents {
  color: var(--black3-color);
  display: flex;
  align-items: center;
  justify-content: center;
}

/* form-input
--------------------------------------------------------------------------*/
.form-input {
  font-weight: bold;
  letter-spacing: 0.1em;
  max-width: 640px;
  width: 100%;
  padding: 8px;
  background: var(--gray-color);
  border: 1px solid var(--black-color);
  border-radius: 5px;
  box-sizing: border-box;
}

/* form-unit-contents_radio
--------------------------------------------------------------------------*/
.form-unit-contents_radio {
  max-width: 640px;
  margin: 0 auto;
}

/* form-radio-list
--------------------------------------------------------------------------*/
.form-radio-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: start;
  flex-direction: column;
}

/* form-label 　備考＝ホバーした時、マウスカーソルを変更する
--------------------------------------------------------------------------*/
.form-label {
  cursor: pointer;
}

/* form-label-txt
--------------------------------------------------------------------------*/
.form-label-txt {
  color: var(--black2-color);
}

/* form-radio　備考＝ラジオボタンの見た目を指定
--------------------------------------------------------------------------*/
.form-radio {
  appearance: button;
}

/* form-unit-contents-textarea
--------------------------------------------------------------------------*/
.form-unit-contents-textarea {
  max-width: 640px;
  margin: 0 auto;
}

/* form-textare
--------------------------------------------------------------------------*/
.form-textare {
  font-weight: bold;
  letter-spacing: 0.1em;
  padding: 8px;
  color: var(--black2-color);
  background: var(--gray-color);
  border: 1px solid var(--black-color);
  border-radius: 5px;
  box-sizing: border-box;
}

/* form-checkbox-item
--------------------------------------------------------------------------*/
.form-checkbox-item {
  max-width: 640px;
  margin: 0 auto;
}

/* form-checkbox-item 備考＝ラジオボタンの見た目を指定
--------------------------------------------------------------------------*/
.form-checkbox {
  appearance: button;
}

/* accent-underline 備考＝個人情報保護法の下線
--------------------------------------------------------------------------*/
.accent-underline {
  text-decoration: underline;
}

/* contact-form-btn
--------------------------------------------------------------------------*/
.contact-form-btn {
  width: 100%;
  max-width: 296px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.contact-form-btn {
  color: var(--black2-color);
  font-weight: bold;
  vertical-align: middle;
  text-decoration: none;
  position: relative;
  margin: 50px auto 0;
  cursor: pointer;
  transition: 0.3s ease-in-out;
}

.contact-form-btn::before {
  content: "";
  position: absolute;
  top: -5px;
  left: -5px;
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  border: 1px solid var(--black2-color);
  transition: 0.2s;
}

.contact-form-btn::after {
  content: "";
  position: absolute;
  top: 5px;
  right: -5px;
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  border: 1px solid var(--black2-color);
  transition: 0.2s;
}

.contact-form-btn:hover {
  color: var(--white-color);
  background: var(--black2-color);
  transition: all 0.3s;
}

.contact-form-btn:hover::before {
  content: "";
  top: 0;
  left: 0;
}

.contact-form-btn:hover::after {
  content: "";
  top: 0;
  right: 0;
}

/* input_btn
--------------------------------------------------------------------------*/
.input_btn {
  display: block;
  cursor: pointer;
  width: 100%;
  height: 60px;
  z-index: var(--z-index-front);
}

.contact_thanks_box {
  width: 100%;
  max-width: 768px;
  margin: 200px auto 0;
}

.contact_thanks_text {
  font-size: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.contact_thanks_text2 {
  margin: 40px;
  line-height: 20px;
  display: flex;
  text-align: center;
  justify-content: center;
  align-items: center;
}

/* info_nav_group
--------------------------------------------------------------------------*/
.info_nav_group {
  width: 100%;
  max-width: 768px;
  margin: 100px auto;
}

.info_nav_list {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.info_nav_item {
  width: 100%;
  max-width: 768px;
  background: var(--gray-color);
}

.info_btm {
  display: inline-block;
  padding: 10px 20px;
  display: flex;
  flex-direction: column;
  color: var(--black2-color);
}

.info_btm:hover {
  color: var(--white-color);
  background: var(--black2-color);
  transition: all 0.3s;
}

@media screen and (min-width: 767px) {
  .info_nav_item {
    max-width: 768px;
  }
}

.info_nav_item__font {
  font-size: 16px;
}

.info_nav_item:nth-child(even) {
  background: var(--gray3-color);
}

/*info_date*/
.info_content_group {
  width: 100%;
  max-width: 768px;
  margin: 100px auto;
  padding: 20px 0;
  background-color: var(--gray-color);
}

@media screen and (min-width: 767px) {
  .info_content_group {
    border-radius: 1%;
  }
}

.info_contents {
  width: 95%;
  display: flex;
  margin: 0 auto;
  flex-direction: column;
  justify-content: center;
}

.info_date {
  margin-bottom: 5px;
}

.info_title {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 20px;
}

.info_document {
  margin-bottom: 20px;
}

.info_btm_set {
  margin-top: 20px;
  display: flex;
  justify-content: center;
}

.info_back_btm {
  color: var(--black2-color);
  padding: 10px;
  border-radius: 10px;
  max-width: 200px;
  background-color: var(--white-color);
  text-align: center;
}

.info_back_btm:hover {
  color: var(--white-color);
  background-color: var(--black2-color);
  transition: all 0.3s;
}
