@charset "UTF-8";
.has-greenLight-gradient-background {
  background: linear-gradient(170deg, rgb(239, 255, 201) 0%, rgb(255, 249, 211) 100%);
}

/* ===========================================================
   # BASE
=========================================================== */
html {
  font-size: 10px;
  -webkit-text-size-adjust: 100%;
}

body:not(.wp-admin),
.is-root-container {
  background: #fff;
  color: #1C1C1C;
  font: 400 clamp(1.6rem, .6vw + 1rem, 1.8rem)/1 "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  letter-spacing: 0.08em;
}

.entryBody, .is-root-container {
  line-height: clamp(1.8em, 5vw, 2em);
}

/* FONTS */
.barlow {
  font-family: "Barlow", sans-serif;
}

/* FLEX */
.flex {
  display: flex;
  flex-wrap: wrap;
}

/* ===========================================================
   # CONTENTS
=========================================================== */
.entryBody > :where(*:not(:first-child)),
.entryBody :where(.wp-block-group > *:not(:first-child)) {
  margin-top: clamp(1.5em, 3.6vw, 2em);
}
.entryBody > *:first-child {
  margin-top: 0;
}

/* = PAGINATION
----------------------------------------------------------- */
.wp-block-query-pagination a {
  text-decoration: none;
}

/* ===========================================================
   # HEADING
=========================================================== */
.blockTtl {
  gap: 1.5em;
  width: 34rem;
}
.blockTtl h2.barlow {
  line-height: 1;
  margin: 0;
}
.blockTtl p.ja {
  border-top: 1px solid;
  font-weight: 700;
  line-height: 1;
  margin: 0;
  padding-top: 1.5em;
}

.is-root-container :where(h2.wp-block-heading) {
  font-size: clamp(1.5em, 6.4vw, 2em);
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.3;
  margin-top: clamp(1.5em, 10vw, 2em);
}
.is-root-container :where(h2.wp-block-heading).wp-block-heading + * {
  margin-top: clamp(1em, 4vw, 2em);
}
.is-root-container h3.wp-block-heading {
  background: #289760;
  color: #fff;
  font-size: 1.2em;
  line-height: inherit;
  margin-top: clamp(2em, 6vw, 2.5em);
  padding: 0 0.5em 0.1em;
}
.is-root-container h3.wp-block-heading + * {
  margin-top: clamp(0.5em, 2vw, 1em);
}
.is-root-container h4.wp-block-heading {
  border-bottom: 2px solid #ccc;
  font-size: 1.2em;
  font-weight: 500;
  line-height: inherit;
  position: relative;
}
.is-root-container h4.wp-block-heading::after {
  background: #E86B79;
  content: " ";
  width: 2em;
  height: 2px;
  position: absolute;
  left: 0;
  bottom: -2px;
}
.is-root-container h4.wp-block-heading + * {
  margin-top: clamp(0.5em, 2vw, 1em);
}
.is-root-container h5.wp-block-heading {
  border-left: 0.2em solid #289760;
  font-size: 1.1em;
  font-weight: 500;
  line-height: 1;
  padding: 0 0 0.1em 0.5em;
}
.is-root-container h5.wp-block-heading + * {
  margin-top: clamp(0.3em, 1vw, 0.5em);
}
.is-root-container h6.wp-block-heading {
  border: 1px solid;
  display: inline-block;
  font-weight: 500;
  line-height: 1.2;
  padding: 0 1em 0.1em;
}
.is-root-container h6.wp-block-heading + * {
  margin-top: 0.3em;
}
.is-root-container h6.wp-block-heading.block-editor-block-list__block:not(.has-text-align-center) {
  transform: translateX(calc(-490px + 50%));
}
.is-root-container h6.wp-block-heading.block-editor-block-list__block.has-text-align-right {
  transform: translateX(calc(490px - 50%));
}
/* ===========================================================
   # ENTRY LIST
=========================================================== */
.entryList ul {
  padding: 0;
}
.entryList ul li * {
  margin: 0;
}
.entryList ul li .info {
  line-height: 1.1;
}
.entryList ul li .date {
  letter-spacing: 0.03em;
  opacity: 0.5;
  width: 5.5em;
}
.entryList ul li .ttl {
  line-height: 1.4;
  width: 100%;
}
.entryList ul li .ttl a {
  color: inherit;
  text-decoration: none;
}
.entryList ul.is-layout-flow li {
  border-top: 1px dashed #ccc;
  padding: 1.5rem 0;
}
.entryList ul.is-layout-flow li:first-child {
  border: none;
  padding-top: 0;
}
.entryList ul.is-layout-flow li .linkWrap {
  gap: clamp(.3em, 1.8vw, 1em);
}
.entryList ul.is-layout-grid .slick-list {
  margin-left: -1em;
  margin-right: -1em;
}
.entryList ul.is-layout-grid .slick-list li {
  padding: 0 1em;
}
.entryCat a {
  background: #289760;
  border-radius: 0.2em;
  color: #fff !important;
  display: inline-block;
  font-size: 1.4rem;
  padding: 0 1em 0.1em;
  text-decoration: none !important;
  transform: translateY(0.05em);
}
.entryCat a.news {
  background: #00558F;
}
@media (min-width: 1024px) {
  .entryList ul.is-layout-flow li .ttl {
    overflow: hidden;
    width: calc(100% - 12em);
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
/* ===========================================================
   # EDITOR
=========================================================== */
body .editor-visual-editor {
  background: transparent;
}
body .editor-visual-editor__post-title-wrapper {
  border-bottom: 1px solid;
  margin-top: 0 !important;
  margin-bottom: 5em;
  padding-top: 3em;
  padding-bottom: 3em;
}
body .editor-visual-editor__post-title-wrapper h1 {
  font-size: 3em;
  font-weight: 500;
  line-height: 1.4;
}

/* ===========================================================
   # HOME
=========================================================== */
.homeCont {
  margin-top: 1em;
  margin-bottom: clamp(2em, 8vw, 4em);
}
.homeIntro.is-layout-flex {
  gap: 1em 3em;
  font-size: clamp(0.88em, 3.8vw, 1.1em);
}
.homeIntro.is-layout-flex figure {
  max-width: 60vw;
}
.homeIntro.is-layout-flex strong {
  font-size: clamp(1.19em, 4.5vw, 1.2em);
}
.homeIntro.is-layout-flex .en {
  font-size: 0.8em;
  font-weight: 500;
  line-height: 1.3;
  margin-top: -0.5em;
  opacity: 0.7;
}
.homeSlick::after {
  background: rgba(40, 151, 96, 0.3);
  content: "";
  width: 100%;
  height: 100%;
  mix-blend-mode: multiply;
  position: absolute;
  top: 0;
  left: 0;
}
.homeSlick figure {
  margin: 0;
}
.homeSlick figure img {
  width: auto;
  height: 30vw;
}
@media (min-width: 768px) {
  .homeSlick figure img {
    height: 20vw;
  }
}
@media (min-width: 1024px) {
  .homeSlick figure img {
    height: 14vw;
  }
}
.homeCard {
  gap: 1em;
  margin-top: clamp(3em, 12vw, 4em);
  padding-bottom: 1em;
}
.homeCard .item {
  border-top-right-radius: 2em;
  border-bottom-left-radius: 2em;
  box-shadow: 3px 3px 20px 0 rgba(28, 28, 28, 0.2);
  gap: 1em;
  padding: 1em 2em;
}
.homeCard .item figure {
  width: 100%;
}
.homeCard .item .blockTtl {
  width: 100%;
}
.homeCard .item .blockTtl h2 {
  font-size: 2em;
}
.homeCard .item .blockTtl p {
  padding-top: 0.6em;
}
.homeCard .item .txt {
  font-size: 1.6rem;
  line-height: 1.8;
}
.homeCard .item .url a {
  border: 1.5px solid;
  border-radius: 50%;
  color: #289760;
  display: inline-block;
  font-size: 0;
  width: 4rem;
  height: 4rem;
  position: relative;
  transition: all 500ms 0s ease;
}
.homeCard .item .url a::before, .homeCard .item .url a::after {
  border-bottom: 1px solid;
  content: "";
  margin: auto;
  width: 50%;
  height: 1px;
  position: absolute;
  left: 0;
  right: 0;
  top: 53%;
}
.homeCard .item .url a::after {
  width: 25%;
  transform: translate(0.4rem, 0) rotate(45deg);
  transform-origin: right bottom;
}
.homeCard .item:hover a {
  background: #289760;
}
.homeCard .item:hover a::before, .homeCard .item:hover a::after {
  border-color: #fff;
}
@media (min-width: 768px) {
  .homeCard .item {
    padding: 1em 0.5em;
    width: calc(50% - 0.38em);
  }
  .homeCard .item .url a {
    width: clamp(3rem, 4vw, 4rem);
    height: clamp(3rem, 4vw, 4rem);
  }
}
@media (min-width: 1024px) {
  .homeCard {
    gap: 2em;
  }
  .homeCard .item {
    flex: 1;
    padding: clamp(1em, 1.5vw, 1.5em);
  }
  .homeCard .item .txt {
    font-size: clamp(1.2rem, 1.23vw, 1.6rem);
  }
}
/* ===========================================================
   # NEWS
=========================================================== */
.news.is-layout-flex {
  flex-direction: column;
  gap: 1em;
}
.news .ttl {
  border-bottom: 1px solid;
  font-size: 1.3em;
  letter-spacing: 0.2em;
}
.newsList {
  flex-direction: column;
  gap: 1em;
  justify-content: center;
}
.newsList li, .newsList li a {
  color: #1C1C1C;
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 0.5em 1em;
  line-height: 1;
  text-decoration: none;
}
.newsList.contBody {
  border-bottom: 1px solid #fafafa;
  gap: 0;
  max-width: 700px;
  margin-bottom: clamp(2em, 8vw, 5em);
  padding-bottom: 0;
}
.newsList.contBody li {
  padding: 1em;
}
.newsList.contBody li:nth-child(odd) {
  background: #fafafa;
}
.news .wp-block-buttons {
  width: 100%;
  margin-top: 1em;
}
@media (min-width: 768px) {
  .news.is-layout-flex {
    gap: 1.5em;
  }
  .newsList {
    gap: 1.5em;
  }
}
@media (min-width: 1024px) {
  .news.is-layout-flex {
    flex-direction: row;
    gap: 1em 3em;
    padding-top: 2em;
  }
  .newsList {
    gap: 1em;
  }
  .newsList li, .newsList li a {
    flex-direction: row;
  }
}
/* ===========================================================
   # GREETING
=========================================================== */
.greetingItem.is-layout-flex {
  gap: clamp(1.5em, 4vw, 2em);
  max-width: 98rem;
  margin-left: auto;
  margin-right: auto;
}
.greetingItem.is-layout-flex:not(:first-child) {
  margin-top: clamp(2em, 8vw, 5em);
}
.greetingItem.is-layout-flex .ttl {
  font-size: clamp(2em, 8vw, 2.12em);
  letter-spacing: 0.1em;
  line-height: 1.5;
}
.greetingItem.is-layout-flex .body {
  gap: 2em;
}
.greetingItem.is-layout-flex .body figure {
  max-width: 50vw;
  margin: 0 auto;
}
.greetingItem.is-layout-flex .body .wp-block-media-text__content {
  padding: 0;
}
.greetingItem.is-layout-flex .body .info {
  font-size: 0.9em;
  line-height: 1.6;
}
.greetingItem.is-layout-flex .body .name {
  font-size: 26px;
  margin-top: 0.5em;
}

/* ===========================================================
   # HISTORY
=========================================================== */
.historyList {
  background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 70%, rgb(252, 255, 217) 90%, rgb(245, 255, 235) 100%);
  gap: 0;
  padding: 0 1em;
  position: relative;
}
.historyList::before {
  background: linear-gradient(180deg, rgb(40, 151, 96) 0%, rgb(40, 151, 96) 95%, rgba(40, 151, 96, 0) 100%);
  content: "";
  height: 100%;
  width: 0.2em;
  position: absolute;
  left: 1em;
  top: 1em;
  z-index: 1;
}
.historyList .item {
  gap: 0;
  transform: translateX(-1em);
  z-index: 1;
}
.historyList .item > * {
  line-height: 1.6;
  padding-left: 4em;
  position: relative;
}
.historyList .item .body {
  gap: 0;
}
.historyList .item .body::before {
  background: #fff;
  border: 0.2em solid #289760;
  border-radius: 50%;
  content: "";
  height: 1em;
  width: 1em;
  position: absolute;
  left: 0.6em;
  top: 0.77em;
}
.historyList .item .body figure {
  margin-top: 1em;
}
.historyList .item .body p {
  margin-top: 0;
}
.historyList .item .body p.date {
  position: relative;
}
.historyList .item .body p.date::before {
  border-top: 0.2em dotted #ccc;
  content: "";
  width: 1.7em;
  position: absolute;
  left: -2em;
  top: 1.2em;
}
.historyList .item .body .txt {
  font-size: 0.8em;
}
.historyList .item .body .txt strong {
  font-size: 1.2em;
}
.historyList .item .hasImg {
  position: relative;
}
.historyList .item .hasImg._194604 img {
  max-width: clamp(75px, 10vw, 120px);
  position: absolute;
  right: 0;
  bottom: 0;
}
.historyFoot {
  margin-top: 0;
}
.historyFoot p {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: clamp(100px, 20vw, 200px) 50vw 0 50vw;
  border-color: #F5FFEB transparent transparent transparent;
}
.historyFoot_txt {
  font-size: clamp(2em, 6vw, 3.28em);
  margin-bottom: 2em;
}
@media (min-width: 768px) {
  .historyList {
    align-items: center !important;
    gap: 0;
    padding-bottom: 100px;
  }
  .historyList::before {
    left: calc(50% - 0.1em);
  }
  .historyList .item {
    transform: translateX(-1.1em);
  }
  .historyList .item:has(img) + * {
    margin-top: -3em;
  }
  .historyList .item > * {
    flex: 1;
    width: clamp(23em, 48vw, 28em);
  }
  .historyList .item:nth-child(even) {
    transform: translateX(1.1em);
  }
  .historyList .item:nth-child(even) > * {
    padding: 0 4em 0 0;
  }
  .historyList .item:nth-child(even) .body {
    text-align: right;
  }
  .historyList .item:nth-child(even) .body::before {
    left: auto;
    right: 0.6em;
  }
  .historyList .item:nth-child(even) .body p.date::before {
    left: auto;
    right: -2em;
  }
  .historyFoot {
    margin-top: -100px;
  }
}
@media (min-width: 1024px) {
  .historyList .item > * {
    padding-left: 5em;
  }
  .historyList .item .body p.date::before {
    width: 2.7em;
    left: -3em;
  }
  .historyList .item:nth-child(even) > * {
    padding-right: 5em;
  }
  .historyList .item:nth-child(even) .body p.date::before {
    right: -3em;
  }
}
/* ===========================================================
   # PROJECT
=========================================================== */
.projectLogo {
  max-width: 70vw;
}
.projectItem {
  gap: 1em;
  max-width: 93rem;
  margin-left: auto;
  margin-right: auto;
}
.projectItem:first-of-type {
  margin-top: clamp(2em, 8vw, 5em);
}
.projectItem:not(:first-of-type) {
  border-top: 1px solid;
  padding-top: clamp(1.5em, 5vw, 3em);
}
.projectItem .wp-block-embed, .projectItem iframe {
  aspect-ratio: 16/9;
  width: 100%;
  height: 100%;
}
.projectItem p {
  margin-top: 0;
}
.projectItem .ttl {
  font-size: clamp(1em, 4vw, 1.22em);
  line-height: 1.6;
}
.projectItem .ttl strong {
  font-size: 1.28em;
}
.projectItem .campusSt img {
  max-height: 400px;
  width: auto;
}

/* ===========================================================
   # DONATION
=========================================================== */
.donation.wp-block-media-text {
  gap: 0;
}
.donation.wp-block-media-text > figure {
  height: 100%;
  text-align: right;
  z-index: 1;
}
.donation.wp-block-media-text > figure img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 30% 0;
     object-position: 30% 0;
  width: 100%;
  height: 100%;
  max-width: 64rem;
}
.donation.wp-block-media-text .wp-block-media-text__content {
  padding: 0;
}
.donation.wp-block-media-text .body {
  gap: 1em;
  max-width: 64rem;
}
.donation.wp-block-media-text .bodyWrap::before {
  background: inherit;
  border-bottom-left-radius: 3em;
  content: "";
  width: 25em;
  height: 100%;
  position: absolute;
  top: 0;
  left: -25em;
}
.donation.wp-block-media-text .body .ttl {
  font-weight: 700;
  line-height: 0.7;
}
.donation.wp-block-media-text .body .ttl strong {
  font-family: "Barlow", sans-serif;
  font-size: 2em;
  font-weight: 500;
}
@media (min-width: 1024px) {
  .donation.wp-block-media-text > figure {
    padding-bottom: 5em;
  }
  .donation.wp-block-media-text .body {
    padding: 2em 2em 3em;
  }
}
/* ===========================================================
   # MESSAGE
=========================================================== */
.message.is-layout-flex {
  gap: 1em;
}
.messageMov.is-layout-flex {
  gap: 1em clamp(1em, 3vw, 2em);
  width: 100%;
  margin-bottom: clamp(1em, 4vw, 3em);
}
.home .messageMov.is-layout-flex {
  margin-top: clamp(1em, 3vw, 3em);
}
.messageMov.is-layout-flex .item {
  gap: 0;
  width: 100%;
  margin: 0;
}
.messageMov.is-layout-flex .item .mov {
  width: 100%;
}
.messageMov.is-layout-flex .item .mov .wp-block-embed__wrapper {
  aspect-ratio: 16/9;
  position: relative;
}
.messageMov.is-layout-flex .item .mov .wp-block-embed__wrapper iframe {
  position: absolute;
  height: 100%;
  width: 100%;
}
.messageMov.is-layout-flex .item .name {
  background: #fafbd0;
  margin: -1em 0 0;
  padding: 0 2em;
  z-index: 1;
}
.messageTag {
  gap: 0.5em;
  justify-content: center;
  margin: 0 !important;
}
.messageTag a {
  background: #289760;
  border-radius: 3em;
  color: #fff;
  font-size: 0.8em;
  padding: 0 1em 0.16em;
  text-decoration: none;
  transition: all 500ms 0s ease;
}
.messageTag a::before {
  content: "#";
}
.messageTag a.archive {
  background: rgba(40, 151, 96, 0.6);
}
.messageTag a.archive.current, .messageTag a.archive:hover {
  background: #289760;
}
.messageList > ul.is-layout-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  padding-bottom: 1em;
}
.messageList > ul.is-layout-grid > li {
  width: calc(50% - 0.5em);
}
.messageList .item {
  align-items: stretch;
  flex-direction: column;
  transition: all 500ms 0s ease;
}
.messageList .item:hover {
  transform: scale(1.1);
  z-index: 2;
}
.messageList .item .thumb {
  padding: 0 1.5em;
  z-index: 1;
}
.messageList .item .thumb a img {
  aspect-ratio: 17/16;
  border-radius: 0;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.messageList .item .body {
  background: linear-gradient(170deg, rgb(239, 255, 201) 0%, rgb(255, 249, 211) 100%);
  border-top-right-radius: 2em;
  border-bottom-left-radius: 2em;
  align-items: center;
  flex-direction: column;
  gap: 0.3em;
  line-height: 1;
  margin-top: -4em;
  padding: 4em 0.5em 1em;
}
.messageList .item .body > * {
  margin-top: 0;
  text-align: center;
}
.messageList .item .body .meta01 {
  font-size: 0.8em;
}
.messageList .item .body .meta02 {
  font-size: 0.7em;
  letter-spacing: 0.1em;
}
.messageList .item .body .name {
  font-size: 1.2em;
  padding: 0.4em 0 0.2em;
}
.messageList .item .body .name::after {
  content: "さん";
  font-size: 0.6em;
  padding-left: 0.2em;
}
.messageList .item .body .meta03 {
  font-size: 0.8em;
  font-weight: 500;
  line-height: 1.2;
  padding-bottom: 1em;
  text-align: center;
}
.messageList .item .body .messageTag {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  line-height: 1.6;
  pointer-events: none;
}
.messageList .item .body .messageTag span {
  display: none;
}
.messageBody {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1em 2em;
  justify-items: center;
}
.messageBody .txt {
  align-items: stretch;
  flex-direction: column;
  gap: 1em;
}
.messageBody .txt .info, .messageBody .txt .has-text-align-right {
  flex-direction: column;
  font-size: 0.9em;
  line-height: 1.5;
  padding-top: 1em;
  width: 100%;
}
.messageBody .txt .info strong, .messageBody .txt .has-text-align-right strong {
  font-size: 1.8em;
  font-weight: 500;
  line-height: 1.5;
  margin-top: 0.3em;
}
.messageBody .img {
  padding-top: 0.5em;
  order: -1;
  max-width: 60vw;
}
@media (min-width: 768px) {
  .messageMov .item {
    flex: 1;
  }
  .messageTag a {
    font-size: 0.9em;
    padding: 0 1.5em 0.16em;
  }
  .messageList > ul.is-layout-grid > li {
    width: calc(25% - 0.75em);
  }
  .messageBody {
    grid-template-columns: auto 20rem;
  }
  .messageBody .img {
    order: 1;
  }
}
@media (min-width: 1024px) {
  .messageList > ul.is-layout-grid {
    padding: 1em 0 2em;
  }
  .messageList .item .body {
    padding: 5em 1em 2em;
  }
  .messageList .item .body .messageTag {
    font-size: 0.8em;
  }
}
/* ===========================================================
   # ESSAYS
=========================================================== */
.essaysHead {
  gap: 1.5em clamp(2em, 5vw, 3em);
}
.essaysHead .body {
  margin-top: 0;
}
.essaysHead .body * {
  margin-top: 0;
}
.essaysHead .body .btns a {
  padding: 1em 3em;
}
@media (min-width: 768px) {
  .essaysHead {
    flex-wrap: nowrap;
  }
  .essaysHead .cover {
    max-width: 47%;
  }
  .essaysHead .body {
    align-items: flex-start;
  }
  .essaysHead .body * {
    text-align: left;
  }
}/*# sourceMappingURL=contents.css.map */