@charset "UTF-8";

body {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 400;
  font-style: normal;

  /* 基準のフォントサイズ */
  font-size: 20px;
  color: #737373;
}

@media screen and (max-width:960px) {

  body {
    font-size: 16px;
  }

}


@media screen and (max-width:600px) {

  body {
    font-size: 16px;

  }

}

/* ===================================================================== */
/* 共通項目 */

.inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1em;
}

h3 {
  font-size: 2em;
  font-weight: bold;
}

.top-1em {
  padding-top: 1em;
}

.u-400,
.u-600,
.u-960,
.u-1280 {
  display: none;
}

.o-600 {
  display: block;
}

/* ===================================================================== */
/* fixed */

.fixed-to-form {
  display: block;
  width: 200px;
  /* width: 13%; */
  position: fixed;
  right: 0;
  bottom: 160px;
  z-index: 10;
  transition: .3s;
}

.fixed-to-top {
  display: block;
  width: 200px;
  /* width: 13%; */
  position: fixed;
  right: 0;
  bottom: 100px;
  z-index: 10;
  transition: 0.3s;
}

.fixed-to-form:hover,
.fixed-to-top:hover {
  opacity: 0.7;
}

@media screen and (max-width:960px) {

  .fixed-to-form,
  .fixed-to-top {
    max-width: 180px;
  }
}

@media screen and (max-width:600px) {
  .sp-to-form {
    display: block;
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 64px;
    background-color: #EDCCD9;
    z-index: 10;
  }

  /* .sp-to-form:hover {
    opacity: 0.9;
  } */

  .sp-to-form p {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.25em;
    color: #fff;
    font-weight: bold;

    background-image: url(../img/to-form-img.png);
    background-size: auto 100%;
    background-position: 90% bottom;
  }

}

/* ===================================================================== */
/* #intro */

#intro {
  background-color: #fcfcfc;
  position: relative;
  margin-top: 133px;
}

#intro .mv {
  width: 95%;
  max-height: 100vh;
  margin: 0 auto 20px;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

#intro .top-mv {
  height: 100%;
  height: 100%;
  display: block;
  /* 画像下の隙間対策 */
  object-fit: cover;
  /* 埋めつつトリミング */
  object-position: center;
  /* 画像の中央を見せる */
  border-radius: 0 0 50px 50px;
}

#intro .school-name {
  text-align: center;
  padding: 30px 0;
  position: relative;
  margin-bottom: 30px;

}

/* 正方形 */
#intro .logo-square {
  position: absolute;
  top: 0px;
  left: 0;
  /* padding-left: 1em; */
  max-width: 120px;
}

/* 縦長 */
#intro .logo-portrait {
  position: absolute;
  top: 0px;
  left: 0;
  padding-left: 1em;
  max-width: 100px;
}

/* 横長 */
#intro .logo-lanscape {
  position: absolute;
  top: 0px;
  left: 0;
  padding-left: 1em;
  max-width: 200px;
}

#intro h2 {
  color: #A4B73F;
  font-weight: bold;
  font-size: 2em;
}

#intro .intro-text {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 1em;
  font-size: 1.2em;
  font-weight: 400;
  line-height: 1.8;
}



/* ===================================================================== */
/* page-in-nav */


/* foot-img */

.foot-img {
  max-width: 10%;
  position: absolute;
  top: 0;
  right: 10%;

  z-index: 2;
}

/* ===================================================================== */
.u-wave {
  width: 100%;
  position: relative;
}

/* ===================================================================== */
.page-nav {
  background-color: #E9F1BB;
}

.page-nav-inner {
  padding: 0 2em;
}

.page-nav-childs {
  width: 80%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3%;
  padding: 280px 0 150px 0;
}

.page-nav-childs a {
  display: block;
  transition: 0.3s;
}

.page-nav-childs a:hover {
  opacity: 0.7;
}

.nav-childs {
  max-width: 34%;
  margin: 0 auto;
  padding-bottom: 40px;
}

/* ===================================================================== */
.marquee {
  width: 100%;
  overflow: hidden;
  padding: 40px 0;
}

.marquee-track {
  display: flex;
  width: max-content;
  /* 中身の幅に合わせる */
  gap: 2rem;
  /* 文と文の間隔 */
  will-change: transform;
  animation: marquee-scroll 20s linear infinite;
}

.marquee-content {
  flex-shrink: 0;
  /* つぶれない */
  color: #fff;
  font-size: 2em;
  font-weight: bold;
  letter-spacing: .06em;
  /* 1.5 は px/em を付けましょう */
  white-space: nowrap;
  /* 必要なら左右に余白を追加 */
  /* padding-inline: 1rem; */
}

/* 2セット分の幅を半分だけ左へ＝継ぎ目なし */
@keyframes marquee-scroll {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

/* アクセシビリティ＆操作 */
@media (prefers-reduced-motion: reduce) {
  .marquee-track {
    animation: none;
  }
}

.marquee:hover .marquee-track {
  animation-play-state: paused;
}


.mission-wave-top {
  width: 100%;
}

/* ===================================================================== */
/* mission */

#mission {
  position: relative;
  background-color: #B6CB49;
  z-index: 2;
  color: #68524C;
}

#mission ol li {
  list-style: decimal;
}

#mission ul li {
  list-style: disc;
}


#mission .mission-sun-right {
  display: block;
  width: 20%;
  position: absolute;
  top: 15%;
  right: 0;
  z-index: 0;
}

#mission .mission-sun-left {
  display: block;
  width: 10%;
  position: absolute;
  top: 10%;
  left: 0;
  z-index: 0;
}

#mission .mission-mv {
  width: 100%;
  border-radius: 30px;
  aspect-ratio: 7/4;
  overflow: hidden;
  position: relative;
  margin-bottom: 100px;
}

#mission .mission-mv img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}

#mission h3 {
  padding-left: 1.12em;
  /* margin-left: 1em; */
  position: relative;
  margin-bottom: 30px;
  color: #fff;
}

#mission h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.4em;
  /* 位置微調整 */
  width: 0.7em;
  height: 0.7em;
  border-radius: 50%;
  background: #fff;
}

#mission .rinen p,
#mission .houshin p {
  font-weight: 500;
  /* font-size: 1.5em; */
  font-size: 1.2em;
  text-align: left;
  /* text-align: center;短いとき用 */
  line-height: 2;
  margin-bottom: 100px;
}

#mission .mokuhyou p {
  font-weight: 500;
  /* font-size: 1.5em; */
  font-size: 1.2em;
  text-align: left;
  /* text-align: center;短いとき用 */
  line-height: 2;
}

#mission .rinen ol,
#mission .houshin ol,
#mission .mokuhyou ol {
  padding-left: 2.3em;
  padding-bottom: 100px;
}

#mission .rinen ul,
#mission .houshin ul,
#mission .mokuhyou ul {
  padding-left: 2.3em;
  padding-bottom: 100px;
}

#mission .rinen li,
#mission .houshin li,
#mission .mokuhyou li {
  font-weight: 500;
  font-size: 1.2em;
  text-align: left;
  line-height: 2;
  /* margin-left: 1em; */
  margin-bottom: 1em;
}

#mission .mokuhyou-ttl {
  font-weight: 500;
  font-size: 1.5em;
  width: 40%;
  text-align: center;
}

#mission .mokuhyou-subttl {
  font-weight: 500;
  font-size: 1.5em;
  width: 60%;
}


#mission .mokuhyou-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

#mission .mission-dotted {
  width: 100%;
  text-align: center;
  margin-bottom: 30px;
}


#mission .mokuhyou-text {
  font-weight: 500;
  width: 60%;
  margin-left: auto;
  padding-bottom: 50px;
}

#mission .mission-sentence {
  font-size: 1.2em;
  padding: 0 0 1em 0.8em;
  font-weight: bold;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
.mission-bottom {
  display: block;
  width: 100%;
  margin-top: -20%;
}



/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */


/* ===================================================================== */
/* point */

#point {
  background-image: url(../img/point-bg.jpg);
  background-repeat: repeat;
  background-size: 100px 100px;
  overflow-x: hidden;
  margin-top: -1%;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* 丸画像切り抜き用 */

/* １・３共通 */

#point .circle-img-left {
  /* position: absolute; */
  top: 0.1em;
  left: 1.5em;
  /* 上下の位置は自由に */
  width: 100%;
  aspect-ratio: 1 / 1;
  /* 正円 */
  object-fit: cover;
  /* 画像を中央でトリム */
  object-position: 50% 50%;
  /* 見せたい位置に調整 */
  border-radius: 50%;
  /* 円形トリミング */
  box-shadow: 0 10px 30px rgba(0, 0, 0, .18);

  left: 0;
  /* 左が見切れる */
  transform: translate(-15%);
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* point 共通 */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
#point .point1-area {
  margin-top: -10%;
}

#point .point1-area,
#point .point2-area {
  display: flex;
  margin-bottom: 100px;
}

#point .point-icon-img {
  width: 25%;
  margin: 0 auto;
}

#point .point-text {
  font-weight: 500;
  line-height: 2;
  text-align: left;
}

#point .point-bottom-sun {
  width: 40%;
  margin: 0 auto;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* point1 */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

#point .point1-left-box {
  flex: 1;
  position: relative;
  z-index: 4;
}

/* #point .right-inner1 {
  width:100%;
  margin-right: auto;
} */

#point .point1-img {
  position: relative;
  z-index: 3;
  overflow: visible;
}

#point .point1-img img {
  display: block;
}

#point .point1-img-bg {
  position: absolute;
  top: -5%;
  left: 0;
  z-index: 2;
  pointer-events: none;
  overflow: visible;
}

#point .point1-right-box {
  flex: 1;
  margin-top: 5%;
  text-align: center;
  padding-right: 1em;
}

#point .point1-right-inner {
  /* width: 90%; */
  max-width: 640px;
  margin: 0 auto;
}

#point .point-icon-img {
  margin-bottom: 20px;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* ふきだし */

#point .point1-bubble {
  display: inline-block;
  width: 40%;
  margin: 0 auto 40px;
  font-size: 1.5em;
  border: solid 3px #8cb885;
  border-radius: 20px;
  padding: 20px 0;
  text-align: center;
  background-color: #fff;
  position: relative;

  font-weight: bold;
}

#point .point1-bubble::before {
  content: "";
  position: absolute;
  width: 18px;
  height: 15px;
  background: #8cb885;
  bottom: -15px;
  top: 100%;
  left: 45%;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  margin: auto;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

/* 丸画像切り抜き用 */

/* 2 */

#point .circle-img-right {
  /* position: absolute; */
  top: 0.1em;
  right: 1.5em;
  /* 上下の位置は自由に */
  width: 100%;
  aspect-ratio: 1 / 1;
  /* 正円 */
  object-fit: cover;
  /* 画像を中央でトリム */
  object-position: 50% 50%;
  /* 見せたい位置に調整 */
  border-radius: 50%;
  /* 円形トリミング */
  box-shadow: 0 10px 30px rgba(0, 0, 0, .18);
  z-index: 2;

  right: 0;
  /* 右が見切れる */
  transform: translate(15%);
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* point2 */

/* #point .left-inner2 {
  width:100%;
  margin-right: auto;
} */

#point .point2-img {
  position: relative;
  z-index: 3;
  overflow: visible;
}

#point .point2-img img {
  display: block;
}

#point .point2-img-bg {
  position: absolute;
  top: 25%;
  left: 5%;
  width: 70%;
  z-index: 1;
  pointer-events: none;
}

#point .point2-left-box {
  flex: 1;
  text-align: center;
  padding-left: 1em;
  position: relative;
  z-index: 4;
}

#point .point2-left-inner {
  /* width: 90%; */
  max-width: 640px;
  margin: 0 auto;
}

#point .point2-right-box {
  flex: 1;
  position: relative;
  z-index: 5;
}

#point .point2-area .point-text {
  background-color: rgba(255, 255, 255, .3);
  position: relative;
  z-index: 0;
}

/* 文字背景図形 */
#point .point2-text-bg {
  position: absolute;
  top: -10%;
  left: -5%;
  display: block;
  width: 60%;
  z-index: -1;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* ふきだし */

#point .point2-bubble {
  display: inline-block;
  width: 50%;
  margin: 0 auto 40px;
  font-size: 1.5em;
  border: solid 3px #F1CCE1;
  border-radius: 20px;
  padding: 20px 0;
  text-align: center;
  background-color: #fff;
  position: relative;

  font-weight: bold;
}

#point .point2-bubble::before {
  content: "";
  position: absolute;
  width: 18px;
  height: 15px;
  background: #F1CCE1;
  bottom: -15px;
  top: 100%;
  left: 45%;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  margin: auto;
}

#point .point-icon-img {
  margin-bottom: 20px;
}

/* ===================================================================== */
/* facility */

#facility {
  background-color: #CAD975;
  color: #fff;
  padding: 50px 0 80px 0;
}

#facility h3 {
  text-align: center;
  margin-bottom: 50px;
}

#facility .facility-top {
  display: flex;
  align-items: center;
  margin-bottom: 4em;
}

#facility .top-left,
#facility .bottom-right {
  width: 50%;
  font-weight: bold;
  /* font-size: 1.2em; */
  /* margin-top: 80px; */
}

#facility .left-wrapper {
  width: 100%;
  padding-left: auto;
  display: grid;
  align-items: center;
  grid-template-columns: 50% 50%;
  row-gap: 1.5em;
}

#facility .top-right {
  width: 46%;
  margin-left: auto;
  border-radius: 40px 0 0 40px;
  overflow: hidden;
  object-fit: cover;
}

#facility .top-right img {
  width: 100%;
}

#facility .f-left {
  text-align: center;
}

/* ========================================= */

#facility .facility-bottom {
  display: flex;
  align-items: center;
  flex-wrap: wrap;

}

#facility .bottom-left {
  width: 46%;
}

#facility .map {
  width: 100%;
  aspect-ratio: 4 / 3;
  /* margin-right: auto; */
  border-radius: 0 40px 40px 0;
  overflow: hidden;
}


#facility .bottom-right {
  width: 50%;
}

#facility .bottom-right a {
  pointer-events: none;
  color: #fff;
}

#facility .right-wrapper {
  width: 100%;
  padding-left: 2em;
  margin-right: auto;
  display: grid;
  grid-template-columns: 30% 70%;
  row-gap: 1.5em;
}

#facility .bottom-left iframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
  border-radius: inherit;
}

#facility .facility-childs {
  width: 15%;
  margin-left: 60%;
}

/* ========================================= */
/* manager */
/* #message {
  
} */

#message .inner {
  position: relative;
}


/* ring */

#message .message-ring {
  width: 100%;

  position: absolute;
  top: -2.5%;
  left: 0;
}

/* ring ここまで */

#message .manager {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: center;
  padding: 200px 0 140px;
}

/* ====================================== */

#message .manager-left {
  width: 50%;
}

#message h4 {
  font-size: 2em;
  text-align: center;
  color: #A4B73F;
  margin-bottom: 45px;
}

#message .manager-message {
  /* font-size: 1.2em; */
  line-height: 2;
  margin-bottom: 100px;
  font-weight: 500;
}


#message .manager-area-childs {
  width: 41%;
}


/* ====================================== */

#message .manager-right {
  width: 50%;
}

#message .manager-photo {
  width: 86%;
  margin-top: 5%;
  margin-left: auto;
}

/* ====================================== */
#message .staff-slick-area {
  overflow: hidden;
}

#message .staff-subline {
  height: 50px;
  background-color: #D0EEE0;
}

#message .staff-ttl img {
  display: block;
  width: 5%;
}

#message .staff-ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5%;
  padding: 25px 0;
  color: #fff;
  background-color: #95CCB3;
}

/* ====================================== */
/* ====================================== */
/* slik-slider */
.slider {
  /* ボックスの横幅指定 */
  width: 90%;
  margin: 0 auto;
  padding: 100px 0;
}

.slider .staff {
  display: inline-block;
  width: 100%;
  height: auto;
  background-color: #fff;
  border: 1px solid #c3c3c3;
}

.slider .slick-slide {
  margin: 0 20px;
}

.slick-prev,
.slick-next {
  position: absolute;
  top: 42%;
  cursor: pointer;
  outline: none;
  border-top: 5px solid #a1d5c1;
  border-right: 5px solid #a1d5c1;
  border-radius: 3px;
  height: 20px;
  width: 20px;
  z-index: 5;
}

.slick-prev {
  left: -5%;
  transform: rotate(-135deg);
}

.slick-next {
  right: -5%;
  transform: rotate(45deg)
}

/* ドットナビゲーション */
.slick-dots {
  text-align: center;
  margin: 2em 0 0 0;
}

.slick-dots li {
  display: inline-block;
  margin: 0 0.5em;
}

.slick-dots button {
  color: transparent;
  outline: none;
  width: 2em;
  height: 1em;
  display: block;
  border-radius: 20px;
  background: #fef1e6;
}

.slick-dots .slick-active button {
  background: #A4B73F;
}





/* ===================================================================== */
/* recruit-change */
.change-bg {
  background-image: url(../img/staff-message-bg.jpg);
  background-size: auto;
  background-repeat: repeat;
  padding: 100px 0;
  margin-bottom: 50px;
}

.recruit-change {
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 900;
  flex-shrink: 0;
  /* つぶれない */
  color: #B4C461;
  font-size: 7em;
  letter-spacing: .06em;
  /* 1.5 は px/em を付けましょう */
  white-space: nowrap;
  /* 必要なら左右に余白を追加 */
  /* padding-inline: 1rem; */
}

/* ===================================================================== */
/* recruit */
#recruit {
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 400;
  font-style: normal;
}


#recruit h4 {
  font-weight: bold;
  font-size: 2em;
}

#recruit h4 span {
  font-size: 0.5em;
}

#recruit .recruit-heading {
  background-color: #A4B73F;
  color: #fff;
  text-align: center;

  font-size: 1.2em;
  font-weight: 500;

  width: 46%;
  padding: 10px 0;
  margin-bottom: 1.5em;
  border-radius: 15px;
}

#recruit .ttl-flex {
  display: flex;
  align-items: center;
  margin-top: 80px;
  margin-bottom: 80px;
}

#recruit .recruit-ttl,
#recruit .btn-box {
  width: 50%;
}

/* #recruit .recruit-id {
  font-size: 0.5em;
} */

#recruit .recruit-flex {
  display: flex;
  align-items: flex-start;
  margin-bottom: 40px;
}

#recruit .top-recruit-flex {
  display: flex;
  align-items: flex-start;
  margin-bottom: 40px;
}


.btn-box1,
.btn-box2 {
  display: inline-block;
  width: 40%;
  margin: 0 auto;
  color: #A4B73F;
  border: 2px solid #A4B73F;
  border-radius: 15px;
  text-align: center;
  /* font-size: 1em; */
  padding: 10px 0;
  position: relative;
  overflow: hidden;
}


.btn-box2 {
  margin-bottom: 40px;
}

.btn-box1::before,
.btn-box2::before {
  content: '';
  width: 10px;
  height: 10px;
  border: 0;
  border-top: solid 2px #A4B73F;
  border-right: solid 2px #A4B73F;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  right: 1em;
  bottom: 0;
  margin: auto;
}

.btn-box1:hover,
.btn-box2:hover {
  color: #fff;
  border: 2px solid #fff;
  background-color: #A4B73F;
  transition: .3s;
}

/* ================= */

#recruit .recruit-text {
  margin-bottom: 1em;
}

#recruit .recruit-intext {
  margin-bottom: 0.5em;
}

#recruit .recruit-box,
#recruit .advisor {
  width: 50%;
}

#recruit .recruit-img {
  width: 86%;
  margin-left: auto;
  margin-bottom: 80px;
}

#recruit .advisor-coment {
  width: 86%;
  margin-left: auto;
}

#recruit .coment-text {
  padding: 10px 20px;
  font-size: 0.9em;
  margin-bottom: 50px;
  background-color: #F1CCE1;
  position: relative;
  font-weight: 500;
}

#recruit .coment-text::before {
  content: "";
  border: 10px solid transparent;
  border-top: 10px solid #F1CCE1;
  margin-left: -10px;
  top: 100%;
  left: 10%;
  position: absolute;
}

#recruit .advisor-img {
  display: block;
  width: 16%;
  border-radius: 50%;
}

#recruit .advisor-flex {
  display: flex;
  align-items: center;
  gap: 5%;
}

h5 {
  font-size: 1em;
}

#recruit ul {
  width: 95%;
  margin: 0 auto;
}

#recruit ul li {
  list-style-type: disc;
  list-style-position: inside;
  text-indent: -1.2em;
  padding: 0 0 0.5em 1em;
}

#recruit ol {
  width: 95%;
  margin: 0 auto;
}

#recruit ol li {
  list-style-type: decimal;
  list-style-position: inside;
  text-indent: -1.2em;
  padding: 0 0 0 1em;
}

#recruit .to-form-bubble {
  width: 40%;
  margin: 100px auto 60px;
  border-radius: 10px;
  background-color: #F1CCE1;
  padding: 30px 0;
  text-align: center;
  position: relative;
}

#recruit .to-form-bubble::before {
  content: "";
  border: 10px solid transparent;
  border-top: 10px solid #F1CCE1;
  margin-left: -10px;
  top: 100%;
  left: 50%;
  position: absolute;
}

.to-form-box {
  text-align: center;
}

/* ======================== */
.object-fit-cover {
  object-fit: cover;
  object-position: top;
}

.object-fit-bottom {
  object-fit: cover;
  object-position: bottom;
}

/* ======================== */

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width:1280px) {
  .u-1280 {
    display: block;
  }

}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width:960px) {

  .u-960 {
    display: block;
  }

  .inner {
    padding: 0 1.5em;
  }


  /* ===================================================================== */
  /* #intro */

  #intro {
    background-color: #fcfcfc;
    position: relative;
    margin-top: 80px;
  }

  #intro .mv {
    width: 100%;
    aspect-ratio: auto;
    /* 比率固定を解除 */
    /* height: 80vh;  */
  }

  #intro .mv img {
    border-radius: 0 0 50px 50px;
  }

  #intro .school-name {
    position: static;

    margin-bottom: 30px;
  }

  #intro .logo-lanscape,
  #intro .logo-portrait,
  #intro .logo-square {
    position: static;
    margin: 0 auto;
    padding-left: 0;
    padding-bottom: 1em;
  }

  #intro .intro-text {
    padding: 0 1em 3em;
    line-height: 1.5;
    margin: 0 auto;
  }

  /* ===================================================================== */
  /* page-in-nav */

  .page-nav-inner {
    padding: 0 1em;
  }

  /* foot-img */

  /* ======================================================== */

  .foot-img {
    max-width: 15%;
    position: absolute;
    top: 0;
    right: 10%;
    z-index: 2;
  }

  .page-nav-childs {
    width: 100%;
    margin: 0 auto;
    grid-template-columns: repeat(2, 1fr);
    padding: 200px 0 100px 0;
  }

  /* ==================================================================== */

  .nav-childs {
    max-width: 60%;
  }

  /* ==================================================================== */
  /*  */


  #mission .rinen li,
  #mission .houshin li,
  #mission .mokuhyou li {
    font-size: 1em;
  }

  #mission .rinen p,
  #mission .houshin p {
    font-size: 1em;
  }

  /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
  /* point 共通 */
  /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

  #point .point1-area,
  #point .point3-area {
    display: block;
  }

  #point .point2-area {
    flex-direction: column-reverse;
  }

  /* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

  #point .point1-left-box,
  #point .point3-left-box {
    margin-bottom: 80px;
  }

  #point .point1-right-box,
  #point .point3-right-box {
    padding-right: 0;
  }

  #point .point1-right-inner,
  #point .point3-right-inner {
    width: 90%;
  }

  /* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
  /* point2 */

  #point .point2-right-box {
    margin-bottom: 80px;
  }

  #point .point2-left-box {
    padding-right: 0;
  }

  #point .point2-left-inner {
    width: 90%;
  }

  /* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
  #point .point-bottom-sun {
    width: 50%;
    margin: 0 auto;
  }

  /* ===================================================================== */
  /* mission */

  #mission .mission-sun-left,
  #mission .mission-sun-right {
    display: none;
  }

  #mission .inner {
    padding: 0 1em;
  }

  #mission h3 {
    text-align: center;
    padding-left: 0;
    margin-left: 0;
  }

  #mission h3::before {
    content: none;
  }


  #mission .mokuhyou-inner {
    display: block;
  }

  #mission .mission-dotted {
    width: 80%;
    margin: 0 auto 22px;
  }

  #mission .mokuhyou-ttl {
    width: 100%;
  }

  #mission .mokuhyou-ttl,
  #mission .mokuhyou-subttl {
    text-align: center;
    margin: 0 auto 20px;
  }

  #mission .mokuhyou-text {
    width: 80%;
    margin: 0 auto;
    padding-bottom: 40px;
  }

  #mission .mokuhyou-subttl {

    width: 100%;
  }

  /* ===================================================================== */
  /* facility */

  #facility .right-wrapper {
    place-content: 1.5em;
    padding-left: 0;
  }

  #facility h3 {
    margin-bottom: 2em;
  }



  /* ===================================================================== */
  /* message */

  /* manager */
  #message .manager {
    flex-direction: column-reverse;
    padding: 60px 0 40px;
  }

  #message .manager-left {
    width: 90%;
    margin: 0 auto;
  }

  #message h4 {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    /* 折り返し防止 */
    border: 0;
  }

  .u-960-ttl {
    font-size: 2em;
    text-align: center;
    color: #A4B73F;
    margin: 1em 0;
    font-weight: bold;
    letter-spacing: 0.05em;
  }

  #message .manager-right {
    width: 100%;
    margin: 0 auto 40px;
  }

  #message .manager-photo {
    width: 42%;
    margin: 5% auto 0;
  }

  #message .manager-area-childs {
    margin: 0 auto;
  }


  /* ===================================================================== */
  /* recruit-change */

  .recruit-change-img {
    padding: 1em 0;
    margin-bottom: 40px;
  }

  .change-bg {
    padding: 50px 0;
    margin-bottom: 20px;
  }

  .recruit-change {
    font-size: 5em;
  }



  /* ===================================================================== */
  /* recruit */

  #recruit .ttl-flex,
  #recruit .recruit-flex {
    display: block;
  }

  #recruit .ttl-flex {
    text-align: center;
  }

  #recruit .top-recruit-flex {
    display: flex;
    flex-direction: column-reverse;
  }

  #recruit .recruit-heading {
    font-size: 1.12em;
    width: 52%;
  }

  #recruit .ttl-flex {
    margin-top: 40px;
    margin-bottom: 40px;
  }

  #recruit .recruit-box {
    width: 90%;
    margin: 0 auto 45px;
  }

  #recruit .recruit-ttl {
    width: 100%;
    margin: 0 auto 40px;
    text-align: center;
  }

  #recruit .top-recruit-flex {
    margin-bottom: 0;
  }

  #recruit .recruit-ttl,
  #recruit .btn-box {
    width: 100%;
  }

  /* #recruit button {
  width: 60%;
} */



  #recruit .btn-box {
    margin: 0 auto;
  }

  #recruit .recruit-box,
  #recruit .advisor {
    width: 100%;
  }

  #recruit .recruit-img {
    width: 100%;
    margin: 0 auto 50px;
  }

  #recruit .advisor-coment {
    width: 100%;
    margin: 0 auto 40px;
  }

  #recruit .to-form-bubble {
    width: 60%;
  }

  #recruit .btn-box2 {
    width: 70%;
  }

}

@media screen and (max-width:600px) {
  .u-600 {
    display: block;
  }

  .o-600 {
    display: none;
  }

  h3 {
    font-size: 1.75em;
  }

  /* ===================================================================== */
  /* #intro */

  #intro .mv {
    width: 100%;
    height: auto;
    margin-bottom: 3em;
  }


  #intro .mv img {
    border-radius: 25px;
  }

  #intro h2 {
    font-size: 1.5em;
  }

  #intro .intro-text {
    font-size: 1.2em;
    line-height: 1.5;

  }

  #intro .inner {
    padding: 0;
  }

  #intro .school-name {
    margin-bottom: 0;
  }

  /* ===================================================================== */
  .page-nav-childs {
    padding: 100px 0 50px 0;
  }

  /* ================================================================ */
  #mission .mission-mv {
    margin-bottom: 50px;
  }


  #mission .rinen ol,
  #mission .houshin ol,
  #mission .mokuhyou ol {
    padding-left: 1.5em;
    padding-bottom: 50px;
  }

  #mission .mission-sentence {
  font-size: 1em;
  padding: 0 0 1em 0;
  font-weight: bold;
}

  /* ================================================================ */

  .nav-childs {
    max-width: 65%;
    padding-bottom: 20px;
  }


  /* ==================================================================== */
  /* point */
  #point .point-area,
  #point .point2-area {
    margin-bottom: 80px;
  }

  #point .point-text {
    line-height: 1.8;
    font-weight: bold;
  }


  #point .point1-left-box,
  #point .point3-left-box {
    margin-bottom: 40px;
  }

  #point .point1-bubble,
  #point .point2-bubble,
  #point .point3-bubble {
    width: 50%;
    padding: 10px 0;
  }

  #point .point-bottom-sun {
    width: 60%;
  }

  /* ===================================================================== */
  /* mission */

  #mission h3 {
    margin-bottom: 40px;
  }


  #mission .mokuhyou-ttl {
    font-size: 1.25em;
    /* font-weight: bold; */
  }

  #mission .mokuhyou-subttl {
    font-size: 1em;
    /* font-weight: bold; */
  }

  #mission .mokuhyou-text {
    width: 70%;
    padding-bottom: 3em;
  }

  /* ===================================================================== */
  /* facility */

  #facility .facility-top {
    display: flex;
    flex-direction: column-reverse;
    margin-bottom: 0;
  }

  #facility .top-right {
    width: 90%;
    padding: 0;
  }

  #facility .bottom-left {
    width: 90%;
  }

  #facility .map {
    margin-bottom: 40px;
  }

  #facility .top-left {
    width: 90%;
    margin: 0 auto 40px;
  }

  #facility .bottom-right {
    width: 90%;
    margin: 0 auto 80px;
  }

  #facility .top-right,
  #facility .top-left {
    margin-bottom: 40px;
  }

  #facility .left-wrapper {
    grid-template-columns: 40% 60%;
  }

  #facility .right-wrapper {
    padding-left: 0;
  }



  #facility .facility-childs {
    width: 25%;
    margin: 0 auto;
  }

  /* ===================================================================== */
  /* message */
  #message .message-ring {
    top: -1.5%;
  }

  /* manager */
  #message .manager {
    flex-direction: column-reverse;
    padding: 40px 0 20px;
  }

  .u-960-ttl {
    font-size: 1.5em;
    letter-spacing: 0;
  }

  #message .manager-photo {
    width: 60%;
  }

  #message .manager-message {
    font-size: 1em;
    font-weight: 500;
    margin-bottom: 30px;
  }

  /* #message .staff-slick-area {
  padding-bottom: 80px;
} */


  /* ===================================================================== */
  /* Topic */

  #topic h3 {
    padding: 5px 0;
  }

  #topic .tour-1-img,
  #topic .tour-2-img,
  #topic .tour-1-textarea,
  #topic .tour-2-textarea,
  #topic .tour-4-textarea,
  #topic .tour-3-img,
  #topic .tour-3-textarea,
  #topic .tour-4-textarea {
    width: 100%;
  }

  #topic .tour-ttl {
    font-size: 1.12em;
  }

  #topic .tour-3-textarea {
    margin: 0 auto;
  }

  #topic .tour-4-imagearea {
    width: 100%;
  }

  #topic .tour-1-text,
  #topic .tour-2-text,
  #topic .tour-3-text,
  #topic .tour-4-text {
    width: 100%;
    text-align: left;
  }

  #topic .tour-flexbox,
  #topic .tour-flexbox2,
  #topic .tour-3-text,
  #topic .tour-4-box {
    margin-bottom: 80px;
  }

  /* ===================================================================== */
  /* recruit-change */

  .recruit-change-img {
    margin-bottom: 20px;
  }

  .change-bg {
    padding: 20px 0;
  }

  .recruit-change {
    font-size: 3em;
  }


  /* ===================================================================== */

  #recruit h4 {
    font-size: 1.5em;
  }

  #recruit h4 span {
    font-size: 16px;
  }

  #recruit .ttl-flex {
    margin-top: 40px;
    margin-bottom: 20px;
  }



  #recruit .to-form-bubble {
    width: 80%;
  }

  #recruit .btn-box1,
  #recruit .btn-box2 {
    width: 80%;
  }

}


@media screen and (max-width:400px) {

  .o-400 {
    display: none;
  }

  .u-400 {
    display: block;
  }

  #mission .mokuhyou-text {
    width: 80%;

  }


  #facility .left-wrapper,
  #facility .right-wrapper {
    grid-template-columns: 1fr;
    padding-left: 1em;
  }

  #facility .f-left {
    text-align: left;
  }

  #facility .f-right {
    font-weight: 500;
    padding-left: 1em;
  }

  /* #facility .left-wrapper .f-right {
  padding-left: 2em;
} */

  #recruit .to-form-bubble {
    width: 100%;
  }

  #recruit .btn-box1,
  #recruit .btn-box2 {
    width: 90%;
  }


}