@charset "UTF-8";
/************************************************
    Key Visual
*************************************************/
.keyVisual {
  color: #242424;
  font-size: 0.875em;
  font-family: "Noto Serif JP", serif;
}
@media (min-width: 48rem) {
  .keyVisual {
    font-size: 0.875em;
    -js-display: flex;
    display: flex;
  }
}
.keyVisual-text {
  box-sizing: border-box;
  padding-block: 4em;
  padding-inline: var(--gutter);
  border: 1px solid black;
}
@supports not (padding-block: 4em) {
  .keyVisual-text {
    -webkit-padding-before: 4em;
    padding-block-start: 4em;
    -webkit-padding-after: 4em;
    padding-block-end: 4em;
  }
}
@supports not (padding-inline: var(--gutter)) {
  .keyVisual-text {
    -webkit-padding-start: var(--gutter);
    padding-inline-start: var(--gutter);
    -webkit-padding-end: var(--gutter);
    padding-inline-end: var(--gutter);
  }
}
@media (min-width: 48rem) {
  .keyVisual-text {
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: 1fr auto 1fr;
    grid-template-rows: 1fr auto 1fr;
    inline-size: 50%;
  }
}
.keyVisual-photo {
  position: relative;
}
@media (min-width: 48rem) {
  .keyVisual-photo {
    inline-size: 50%;
  }
}
.keyVisual-photo::after {
  content: "";
  display: block;
  inline-size: 100%;
  block-size: 100%;
  outline: 1px solid #707070;
  outline-offset: -1px;
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  z-index: 2;
}
@supports not (inset-block-start: 0) {
  .keyVisual-photo::after {
    top: 0;
  }
}
@supports not (inset-inline-start: 0) {
  .keyVisual-photo::after {
    left: 0;
  }
}
.keyVisual__title {
  font-size: 2.25em;
  font-weight: 500;
  letter-spacing: 0.2em;
  line-height: 1.6666666667;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  -webkit-padding-start: 0.6em;
  padding-inline-start: 0.6em;
  margin-block: 0;
  margin-inline: auto;
}
@supports not (margin-block: 0) {
  .keyVisual__title {
    -webkit-margin-before: 0;
    margin-block-start: 0;
    -webkit-margin-after: 0;
    margin-block-end: 0;
  }
}
@supports not (margin-inline: auto) {
  .keyVisual__title {
    -webkit-margin-start: auto;
    margin-inline-start: auto;
    -webkit-margin-end: auto;
    margin-inline-end: auto;
  }
}
@media (min-width: 48rem) {
  .keyVisual__title {
    -ms-grid-row: 2;
    grid-row: 2;
  }
}
.keyVisual__content {
  font-size: 0.875em;
  font-weight: 500;
  line-height: 1.75;
  -ms-grid-row-align: start;
  align-self: start;
  background-color: #f5f2f2;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding-block: 0.5535714286em;
  padding-inline: 0.7857142857em;
  -webkit-margin-before: 1em;
  margin-block-start: 1em;
  margin-inline: auto;
}
@supports not (padding-block: 0.5535714286em) {
  .keyVisual__content {
    -webkit-padding-before: 0.5535714286em;
    padding-block-start: 0.5535714286em;
    -webkit-padding-after: 0.5535714286em;
    padding-block-end: 0.5535714286em;
  }
}
@supports not (padding-inline: 0.7857142857em) {
  .keyVisual__content {
    -webkit-padding-start: 0.7857142857em;
    padding-inline-start: 0.7857142857em;
    -webkit-padding-end: 0.7857142857em;
    padding-inline-end: 0.7857142857em;
  }
}
@supports not (margin-inline: auto) {
  .keyVisual__content {
    -webkit-margin-start: auto;
    margin-inline-start: auto;
    -webkit-margin-end: auto;
    margin-inline-end: auto;
  }
}
@media (min-width: 48rem) {
  .keyVisual__content {
    -ms-grid-row: 3;
    grid-row: 3;
  }
}
.keyVisual__content p {
  margin: 0;
}

/************************************************
    Post
*************************************************/
.post {
  max-inline-size: 50em;
  margin-inline: auto;
}
@supports not (margin-inline: auto) {
  .post {
    -webkit-margin-start: auto;
    margin-inline-start: auto;
    -webkit-margin-end: auto;
    margin-inline-end: auto;
  }
}
@media (min-width: 48rem) {
  @supports (display: flow-root) {
    .post {
      display: flow-root;
    }
  }
  @supports not (display: flow-root) {
    .post::after {
      content: "";
      display: block;
      clear: both;
    }
  }
  _:-ms-lang(x)::-ms-backdrop, .post::after {
    content: "";
    display: block;
    clear: both;
  }
}
.post + .post {
  -webkit-margin-before: 3.125em;
  margin-block-start: 3.125em;
}
@media (min-width: 48rem) {
  .post + .post {
    -webkit-margin-before: 1.25em;
    margin-block-start: 1.25em;
  }
}
.section__title + .post {
  -webkit-margin-before: 5em;
  margin-block-start: 5em;
}
.post__time {
  font-size: 1.125em;
  font-weight: 500;
  line-height: 1.5;
  display: block;
  -webkit-margin-before: 1em;
  margin-block-start: 1em;
}
@media (min-width: 48rem) {
  .post__time {
    inline-size: 46.25%;
    -webkit-margin-before: 0;
    margin-block-start: 0;
    float: inline-start;
  }
  @supports not (float: inline-start) {
    .post__time {
      float: left;
    }
  }
}
.post__title {
  font-size: 1.5em;
  font-weight: 700;
  line-height: 1.5;
  margin-block: 0.2083333333em 0;
}
@supports not (margin-block: 0.2083333333em 0) {
  .post__title {
    -webkit-margin-before: 0.2083333333em;
    margin-block-start: 0.2083333333em;
    -webkit-margin-after: 0;
    margin-block-end: 0;
  }
}
@media (min-width: 48rem) {
  .post__title {
    inline-size: 46.25%;
    float: inline-start;
  }
  @supports not (float: inline-start) {
    .post__title {
      float: left;
    }
  }
}
.post__checkbox {
  display: none;
}
.post__content {
  font-size: 1em;
  line-height: 1.625;
  -webkit-line-clamp: 5;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-margin-before: 1.3125em;
  margin-block-start: 1.3125em;
}
@media (min-width: 48rem) {
  .post__content {
    inline-size: 46.25%;
    float: inline-start;
  }
  @supports not (float: inline-start) {
    .post__content {
      float: left;
    }
  }
}
.post__checkbox:checked + .post__content {
  -webkit-line-clamp: initial;
}
.post__content p {
  margin: 0;
}
.post__button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: white;
  font-weight: 700;
  display: inline-block;
  background-color: var(--theme-color);
  padding-block: 1em;
  padding-inline: 2.25em;
  border: 1px solid var(--theme-color);
  border-radius: 1.875em;
  -webkit-margin-before: 1.5em;
  margin-block-start: 1.5em;
  cursor: pointer;
}
@supports not (padding-block: 1em) {
  .post__button {
    -webkit-padding-before: 1em;
    padding-block-start: 1em;
    -webkit-padding-after: 1em;
    padding-block-end: 1em;
  }
}
@supports not (padding-inline: 2.25em) {
  .post__button {
    -webkit-padding-start: 2.25em;
    padding-inline-start: 2.25em;
    -webkit-padding-end: 2.25em;
    padding-inline-end: 2.25em;
  }
}
@media (min-width: 48rem) {
  .post__button {
    float: inline-start;
  }
  @supports not (float: inline-start) {
    .post__button {
      float: left;
    }
  }
}
.post__button:hover {
  color: var(--theme-color);
  background-color: white;
}
.post__button::before {
  content: "詳細を見る";
}
.post__checkbox:checked ~ .post__button::before {
  content: "閉じる";
}
@media (min-width: 48rem) {
  .post-photo {
    inline-size: 50%;
    float: inline-end;
  }
  @supports not (float: inline-end) {
    .post-photo {
      float: right;
    }
  }
}
.post-photo-swiper {
  position: relative;
}
.post-photo-swiper .swiper-button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: white;
  font-size: 0.8125em;
  line-height: 1;
  background-color: #2a99fb;
  padding: 1.0384615385em;
  border: none;
  border-radius: 0.25em;
  cursor: pointer;
  position: absolute;
  inset-block-start: 50%;
  z-index: 2;
  transform: translateY(-50%);
}
@supports not (inset-block-start: 50%) {
  .post-photo-swiper .swiper-button {
    top: 50%;
  }
}
.post-photo-swiper .swiper-button:hover {
  color: #2a99fb;
  background-color: white;
}
.post-photo-swiper .swiper-button::before {
  font-family: "icomoon";
  font-weight: normal;
}
.post-photo-swiper .swiper-button--prev {
  inset-inline-start: 0;
}
@supports not (inset-inline-start: 0) {
  .post-photo-swiper .swiper-button--prev {
    left: 0;
  }
}
.post-photo-swiper .swiper-button--prev::before {
  content: '\e901';
}
.post-photo-swiper .swiper-button--next {
  inset-inline-end: 0;
}
@supports not (inset-inline-end: 0) {
  .post-photo-swiper .swiper-button--next {
    right: 0;
  }
}
.post-photo-swiper .swiper-button--next::before {
  content: '\e902';
}

/************************************************
    協会理念
*************************************************/
.section-Philosophy__content {
  font-size: 1.25em;
  font-weight: 500;
  line-height: 2.1;
  text-align: center;
  -webkit-margin-before: 0.9em;
  margin-block-start: 0.9em;
}
.section-Philosophy__content p {
  margin: 0;
}
/*# sourceMappingURL=../maps/front-page.css.map */