@charset "UTF-8";
.p-school.p-main {
  margin-top: calc(-220 / 1366 * 100vw);
}

.p-school-intro {
  overflow: hidden;
  padding-bottom: calc(120 / 375 * 100vw);
  padding-top: calc(57 / 375 * 100vw);
  position: relative;
}
.p-school-intro__bg-pict {
  overflow: hidden;
  position: absolute;
  z-index: 5;
}
.p-school-intro__bg-pict > img {
  -o-object-fit: contain;
     object-fit: contain;
}
.p-school-intro__bg-pict:nth-of-type(1) {
  aspect-ratio: 177/71;
  left: calc(493 / 1366 * 100vw);
  top: calc(18 / 1366 * 100vw);
  width: calc(177 / 1366 * 100vw);
}
.p-school-intro__bg-pict:nth-of-type(2) {
  aspect-ratio: 190/156;
  right: calc(-65 / 1366 * 100vw);
  top: calc(369 / 1366 * 100vw);
  width: calc(190 / 1366 * 100vw);
}
.p-school-intro__bg-pict:nth-of-type(3) {
  aspect-ratio: 148/161;
  right: calc(68 / 1366 * 100vw);
  top: calc(567 / 1366 * 100vw);
  width: calc(148 / 1366 * 100vw);
}
.p-school-intro__bg-pict:nth-of-type(4) {
  aspect-ratio: 271/203;
  left: calc(60 / 1366 * 100vw);
  top: calc(300 / 375 * 100vw);
  width: calc(271 / 1366 * 100vw);
}
.p-school-intro__bg-pict:nth-of-type(5) {
  aspect-ratio: 191/213;
  right: calc(132 / 1366 * 100vw);
  top: calc(829 / 1366 * 100vw);
  width: calc(191 / 1366 * 100vw);
}

.p-school-intro__contents {
  display: grid;
  grid-template-columns: auto auto;
  margin-inline: auto;
  row-gap: calc(80 / 375 * 100vw);
  width: 80%;
}

.p-school-intro__pict {
  aspect-ratio: 455/664;
  border-radius: 10px;
  overflow: hidden;
  width: calc(150 / 375 * 100vw);
}

.p-school-intro__head {
  align-items: flex-start;
  display: flex;
  flex-direction: row-reverse;
  gap: calc(19 / 1366 * 100vw);
  justify-content: flex-end;
}
.p-school-intro__head > p {
  -webkit-text-stroke: 0.5px #1a9f6a;
  background-image: url("../images/school_intro_bg.svg");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  color: #1a9f6a;
  font-size: calc(20 / 375 * 100vw);
  font-weight: 500;
  letter-spacing: 8px;
  line-height: 1.2;
  padding-block: calc(8 / 1366 * 100vw);
  padding-inline: calc(21 / 1366 * 100vw);
  writing-mode: vertical-rl;
}
.p-school-intro__head > p:nth-of-type(2) {
  margin-top: calc(73 / 1366 * 100vw);
}

.p-school-intro__cards {
  display: flex;
  flex-direction: column;
  gap: calc(30 / 375 * 100vw);
  grid-column: 1/span 2;
}

.p-school-intro__card {
  background-color: #ede99e;
  border-radius: 10px;
  padding: calc(10 / 375 * 100vw) calc(10 / 375 * 100vw) calc(10 / 375 * 100vw);
}
.p-school-intro__card p:nth-of-type(1) {
  color: #393939;
  font-size: calc(18 / 375 * 100vw);
  font-weight: 500;
  letter-spacing: 1.2px;
  line-height: 1.46;
  margin-left: calc(22 / 1366 * 100vw);
}
.p-school-intro__card p:nth-of-type(2) {
  background-color: #fff;
  border-radius: 5px;
  font-size: calc(14 / 375 * 100vw);
  font-weight: 500;
  letter-spacing: 1.44px;
  line-height: 2;
  margin-top: calc(10 / 375 * 100vw);
  padding: calc(15 / 375 * 100vw) calc(10 / 375 * 100vw);
  text-align: justify;
}

.p-school-contents {
  display: flex;
  flex-direction: column;
  gap: calc(100 / 375 * 100vw);
  padding-bottom: calc(130 / 375 * 100vw);
  padding-top: calc(100 / 375 * 100vw);
  position: relative;
}

.school-section--gallery .section__contents {
  margin-top: calc(80 / 1366 * 100vw);
}
.school-section--gallery .slide__slide {
  aspect-ratio: 382/349;
  flex-shrink: 0;
  overflow: hidden;
  width: calc(150 / 375 * 100vw);
}
.school-section--lunch .c-section--cards p {
  letter-spacing: 1.8px;
}
.school-section--lunch .section__contents {
  margin-top: calc(70 / 1366 * 100vw);
}
.school-section--lunch .c-section--cards {
  gap: calc(40 / 375 * 100vw);
  grid-template-columns: auto;
}
.school-section--lunch .c-section--cards .c-head-cycle > h3 {
  font-size: calc(18 / 375 * 100vw);
}@media (min-width: 768px) {
  .school-section--lunch .c-section--cards p {
    letter-spacing: 1.28px;
  }
}
@media (min-width: 1024px) {
  .p-school-intro {
    padding-bottom: calc(308 / 1366 * 100vw);
    padding-top: calc(50 / 1366 * 100vw);
  }
  .p-school-intro__bg-pict:nth-of-type(4) {
    top: calc(834 / 1366 * 100vw);
  }
  .p-school-intro__contents {
    display: block;
    position: relative;
    width: 100%;
  }
  .p-school-intro__pict {
    left: 0;
    position: absolute;
    top: calc(38 / 1366 * 100vw);
    width: calc(455 / 1366 * 100vw);
  }
  .p-school-intro__head {
    justify-content: flex-start;
    position: absolute;
    right: calc(100 / 1366 * 100vw);
    top: 0;
  }
  .p-school-intro__head > p {
    font-size: calc(40 / 1366 * 100vw);
  }
  .p-school-intro__cards {
    gap: calc(59 / 1366 * 100vw);
    margin-left: calc(412 / 1366 * 100vw);
    padding-top: calc(173 / 1366 * 100vw);
  }
  .p-school-intro__card {
    padding: calc(22 / 1366 * 100vw) calc(10 / 1366 * 100vw) calc(10 / 1366 * 100vw);
  }
  .p-school-intro__card {
    width: calc(510 / 1366 * 100vw);
  }
  .p-school-intro__card:nth-of-type(1) {
    margin-left: calc(80 / 1366 * 100vw);
  }
  .p-school-intro__card:nth-of-type(2) {
    margin-left: calc(139 / 1366 * 100vw);
  }
  .p-school-intro__card p:nth-of-type(1) {
    font-size: calc(24 / 1366 * 100vw);
  }
  .p-school-intro__card p:nth-of-type(2) {
    border-radius: 10px;
    font-size: calc(18 / 1366 * 100vw);
    margin-top: calc(18 / 1366 * 100vw);
    padding: calc(7 / 1366 * 100vw) calc(40 / 1366 * 100vw) calc(10 / 1366 * 100vw) calc(45 / 1366 * 100vw);
    text-align: left;
  }
  .p-school-contents {
    gap: calc(140 / 1366 * 100vw);
    padding-bottom: calc(180 / 1366 * 100vw);
    padding-top: calc(118 / 1366 * 100vw);
  }
  .school-section--gallery .slide__slide {
    width: calc(382 / 1366 * 100vw);
  }
  .school-section--lunch .c-section--cards p {
    letter-spacing: 1px;
  }
  .school-section--lunch .c-section--cards {
    -moz-column-gap: calc(40 / 1366 * 100vw);
         column-gap: calc(40 / 1366 * 100vw);
    grid-template-columns: repeat(3, 1fr);
    row-gap: calc(55 / 1366 * 100vw);
  }
  .school-section--lunch .c-section--cards .c-head-cycle > h3 {
    font-size: calc(20 / 1366 * 100vw);
  }
}

@media (min-width: 1366px) {
  .school-section--lunch .c-section--cards p {
    letter-spacing: 1.28px;
  }
}