@charset "UTF-8";
.areaSect__head {
  text-align: center;
}

.areaSect__head .heading {
  line-height: 2;
}

.areaSect__head .heading:before {
  content: '';
  margin-top: calc((1 - 2) * .5em);
}

.areaSect__head .heading:after {
  margin-bottom: calc((1 - 2) * .5em);
}

.areaSect__head .heading:before, .areaSect__head .heading:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media print, screen and (min-width: 768px) {
  .areaSect__head .heading {
    font-size: 26px;
    letter-spacing: .38em;
    font-weight: 500;
  }
}

@media screen and (max-width: 768px) {
  .areaSect__head .heading {
    font-size: calc(28 / 750 * 100vw);
    letter-spacing: .05em;
    font-weight: 500;
  }
}

@media print, screen and (min-width: 768px) {
  .areaSect__head + .areaSect__cont {
    margin-top: 72px;
  }
}

@media screen and (max-width: 768px) {
  .areaSect__head + .areaSect__cont {
    margin-top: calc(70 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .areaSect__cont {
    margin: auto;
    width: 1034px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .areaSect__cont {
    max-width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .areaSect__cont {
    margin-left: calc(-60 / 750 * 100vw);
    width: 100vw;
  }
}

.communityCard {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

@media screen and (max-width: 768px) {
  .communityCard {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    width: calc(450 / 750 * 100vw);
  }
}

.communityCard__head {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  z-index: 2;
}

@media print, screen and (min-width: 768px) {
  .communityCard__head {
    margin-right: -95px;
    padding-top: 68px;
    width: 400px;
  }
}

@media screen and (max-width: 768px) {
  .communityCard__head {
    margin: auto;
    margin-top: calc(-50 / 750 * 100vw);
    width: calc(350 / 750 * 100vw);
  }
}

.communityCard__head .txt {
  letter-spacing: .05em;
}

@media print, screen and (min-width: 768px) {
  .communityCard__head .txt {
    font-size: 16px;
    padding-right: 95px;
  }
}

.communityCard__ttl {
  background-color: #ffffff;
  border: 2px solid rgba(0, 0, 0, 0.7);
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .communityCard__ttl {
    padding: 37px 0;
    width: 400px;
  }
}

@media screen and (max-width: 768px) {
  .communityCard__ttl {
    margin: auto;
    padding: calc(40 / 750 * 100vw) 0;
  }
}

.communityCard__ttl .inner {
  line-height: 1;
}

.communityCard__ttl .inner:before {
  content: '';
  margin-top: calc((1 - 1) * .5em);
}

.communityCard__ttl .inner:after {
  margin-bottom: calc((1 - 1) * .5em);
}

.communityCard__ttl .inner:before, .communityCard__ttl .inner:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media print, screen and (min-width: 768px) {
  .communityCard__ttl .inner {
    font-size: 30px;
  }
}

@media screen and (max-width: 768px) {
  .communityCard__ttl .inner {
    font-size: calc(30 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .communityCard__ttl + .txt {
    margin-top: 32px;
  }
}

@media screen and (max-width: 768px) {
  .communityCard__ttl + .txt {
    margin-top: calc(40 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .communityCard__cont {
    width: 393px;
  }
}

@media screen and (max-width: 768px) {
  .communityCard__cont {
    margin: auto;
    margin-top: calc(50 / 750 * 100vw);
  }
}

.communityCard__cont .photo {
  overflow: hidden;
}

@media print, screen and (min-width: 768px) {
  .communityCard__cont .photo {
    border-radius: 15px;
  }
}

@media screen and (max-width: 768px) {
  .communityCard__cont .photo {
    border-radius: calc(30 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .communityCard + .communityCard {
    margin-top: 73px;
  }
}

@media screen and (max-width: 768px) {
  .communityCard + .communityCard {
    margin-top: calc(50 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .communityCard:nth-child(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

@media print, screen and (min-width: 768px) {
  .communityCard:nth-child(even) .communityCard__head {
    margin-left: -95px;
    margin-right: 0;
  }
}

.communityCard:nth-child(even) .communityCard__head .txt {
  margin-left: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

@media print, screen and (min-width: 768px) {
  .communityCard:nth-child(even) .communityCard__head .txt {
    padding-left: 95px;
    padding-right: 0;
  }
}

@media print, screen and (min-width: 768px) {
  .communitySect__head .communityTtl + .headingCombi {
    margin-top: 60px;
  }
}

@media screen and (max-width: 768px) {
  .communitySect__head .communityTtl + .headingCombi {
    margin-top: calc(70 / 750 * 100vw);
  }
}

.communitySect__head .headingCombi .heading {
  font-weight: 500;
  text-align: center;
  line-height: 2;
}

.communitySect__head .headingCombi .heading:before {
  content: '';
  margin-top: calc((1 - 2) * .5em);
}

.communitySect__head .headingCombi .heading:after {
  margin-bottom: calc((1 - 2) * .5em);
}

.communitySect__head .headingCombi .heading:before, .communitySect__head .headingCombi .heading:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media screen and (max-width: 768px) {
  .communitySect__head .headingCombi .heading {
    font-size: calc(28 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .communitySect__head .headingCombi .txt {
    margin-left: auto;
    margin-right: auto;
    width: 610px;
  }
}

@media print, screen and (min-width: 768px) {
  .communitySect__head .headingCombi + .photo {
    margin-top: 75px;
  }
}

@media screen and (max-width: 768px) {
  .communitySect__head .headingCombi + .photo {
    margin-top: calc(80 / 750 * 100vw);
  }
}

.communitySect__head .photo {
  overflow: hidden;
}

@media print, screen and (min-width: 768px) {
  .communitySect__head .photo {
    border-radius: 30px;
  }
}

@media screen and (max-width: 768px) {
  .communitySect__head .photo {
    border-radius: calc(30 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .communitySect__head + .communitySect__cont {
    margin-top: 110px;
  }
}

@media screen and (max-width: 768px) {
  .communitySect__head + .communitySect__cont {
    margin-top: calc(30 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .communitySect__head + .communitySect__col {
    margin-top: 45px;
  }
}

@media screen and (max-width: 768px) {
  .communitySect__head + .communitySect__col {
    margin-top: calc(50 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .communitySect__col {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 45px;
  }
}

.communitySect__col .photo__image {
  overflow: hidden;
}

@media print, screen and (min-width: 768px) {
  .communitySect__col .photo__image {
    border-radius: 30px;
  }
}

@media screen and (max-width: 768px) {
  .communitySect__col .photo__image {
    border-radius: calc(30 / 750 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .communitySect__col .photo + .photo {
    margin-top: calc(50 / 750 * 100vw);
  }
}

.communityTtl {
  margin: auto;
  position: relative;
}

@media print, screen and (min-width: 768px) {
  .communityTtl {
    width: 180px;
  }
}

@media screen and (max-width: 768px) {
  .communityTtl {
    width: calc(250 / 750 * 100vw);
  }
}

.communityTtl__img {
  width: 100%;
}

.communityTtl__inner {
  left: 50%;
  position: absolute;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  white-space: nowrap;
  z-index: 2;
}

@media print, screen and (min-width: 768px) {
  .communityTtl__inner {
    top: 75px;
  }
}

@media screen and (max-width: 768px) {
  .communityTtl__inner {
    top: calc(95 / 750 * 100vw);
  }
}

.communityTtl__inner .ttl {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  letter-spacing: .3em;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .communityTtl__inner .ttl {
    font-size: 52px;
    top: 75px;
  }
}

@media screen and (max-width: 768px) {
  .communityTtl__inner .ttl {
    font-size: calc(70 / 750 * 100vw);
  }
}

.historyArea__head {
  text-align: center;
}

.historyArea__head .enHeading {
  font-weight: 650;
}

@media print, screen and (min-width: 768px) {
  .historyArea__head .enHeading {
    font-size: 70px;
  }
}

@media screen and (max-width: 768px) {
  .historyArea__head .enHeading {
    font-size: calc(100 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .historyArea__head + .historyArea__cont {
    margin-top: 97px;
  }
}

@media screen and (max-width: 768px) {
  .historyArea__head + .historyArea__cont {
    margin-top: calc(100 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .historyArea__cont .generalSect {
    margin-left: auto;
    margin-right: auto;
    width: 700px;
  }
}

.historyArea__cont .generalSect__head .headingCombi .heading {
  font-weight: 500;
  line-height: 2;
}

.historyArea__cont .generalSect__head .headingCombi .heading:before {
  content: '';
  margin-top: calc((1 - 2) * .5em);
}

.historyArea__cont .generalSect__head .headingCombi .heading:after {
  margin-bottom: calc((1 - 2) * .5em);
}

.historyArea__cont .generalSect__head .headingCombi .heading:before, .historyArea__cont .generalSect__head .headingCombi .heading:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media print, screen and (min-width: 768px) {
  .historyArea__cont .generalSect__head .headingCombi .heading {
    font-size: 26px;
  }
}

@media screen and (max-width: 768px) {
  .historyArea__cont .generalSect__head .headingCombi .heading {
    font-size: calc(30 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .historyArea__cont .generalSect__head .headingCombi .heading + .txt {
    margin-top: 70px;
  }
}

@media screen and (max-width: 768px) {
  .historyArea__cont .generalSect__head .headingCombi .heading + .txt {
    margin-top: calc(70 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .historyArea__cont .generalSect__head .headingCombi .txt {
    padding: 0 50px;
  }
}

.historyArea__cont .generalSect__cont .photo__image {
  overflow: hidden;
}

@media print, screen and (min-width: 768px) {
  .historyArea__cont .generalSect__cont .photo__image {
    border-radius: 30px;
  }
}

@media screen and (max-width: 768px) {
  .historyArea__cont .generalSect__cont .photo__image {
    border-radius: calc(30 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .keyVisual__ttl {
    width: 575px;
  }
}

@media screen and (max-width: 768px) {
  .keyVisual__ttl {
    width: calc(575 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .treeSect__head {
    margin: auto;
    width: 703px;
  }
}

@media print, screen and (min-width: 768px) {
  .treeSect__head + .treeSect__cont {
    margin-top: 40px;
  }
}

@media screen and (max-width: 768px) {
  .treeSect__head + .treeSect__cont {
    margin-top: calc(50 / 750 * 100vw);
  }
}

.treeSect__cont {
  position: relative;
}

.treeSect__cont .enHeading {
  font-weight: 650;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .treeSect__cont .enHeading {
    font-size: 60px;
  }
}

@media screen and (max-width: 768px) {
  .treeSect__cont .enHeading {
    font-size: calc(80 / 750 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .treeSect__cont .photo {
    margin-left: calc(-70 / 750 * 100vw);
    width: 100vw;
  }
}

@media print, screen and (min-width: 768px) {
  .treeSect__cont .photo + .caption {
    margin-top: 60px;
  }
}

@media screen and (max-width: 768px) {
  .treeSect__cont .photo + .caption {
    margin-top: calc(80 / 750 * 100vw);
  }
}

/* --------------------------------------
.page-sectNameに背景を設定する場合は指定
.page-sectName内を.wrap(コンテンツ幅指定)で囲みます。
※このメモは制作時削除してください。
-------------------------------------- */
@media print, screen and (min-width: 768px) {
  .community-area {
    padding-top: 150px;
  }
}

@media screen and (max-width: 768px) {
  .community-area {
    padding-top: calc(140 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .community-meet {
    padding-top: 150px;
  }
}

@media screen and (max-width: 768px) {
  .community-meet {
    padding-top: calc(140 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .community-connect {
    padding-top: 200px;
  }
}

@media screen and (max-width: 768px) {
  .community-connect {
    padding-top: calc(200 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .community-spread {
    padding-bottom: 230px;
    padding-top: 200px;
  }
}

@media screen and (max-width: 768px) {
  .community-spread {
    padding-bottom: calc(150 / 750 * 100vw);
    padding-top: calc(200 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .community-history {
    padding-top: 160px;
  }
}

@media screen and (max-width: 768px) {
  .community-history {
    padding-top: calc(200 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .community-tree {
    margin-top: 115px;
    padding-bottom: 77px;
  }
}

@media screen and (max-width: 768px) {
  .community-tree {
    padding-bottom: calc(100 / 750 * 100vw);
    padding-top: calc(115 / 750 * 100vw);
  }
}
