@charset "utf-8";
/* CSS Document */
/*
---------------------------------------------------共通
*/
article {}
section {}
#pageTitle {
  display: block;
  position: relative;
  width: 100%;
  height: 240px;
  margin-bottom: 80px;
}
#pageTitle.page01 {
  background-image: url(../images/pagetitle01.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
#pageTitle.page02 {
  background-image: url(../images/pagetitle02.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
#pageTitle.page03 {
  background-image: url(../images/pagetitle03.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
#pageTitle.page04 {
  background-image: url(../images/pagetitle04.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
#pageTitle h1 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: "Noto Serif JP", serif;
  font-size: 2rem;
  font-weight: bold;
  color: #fff;
  text-shadow: #000 1px 0 10px;
}
main h2 {
  display: block;
  position: relative;
  text-align: center;
  margin-bottom: 80px;
  clear: both;
}
main h2::after {
  content: url("../images/subtitle_icon.png");
  position: relative;
  width: 16px;
  height: 16px;
  bottom: -10px;
  right: 20px;
}
.split {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.split2 {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
}
.photo img {
  width: 100%;
  height: auto;
}
/*
---------------------------------------------------ホーム
*/
#topv {
  position: relative;
  margin-bottom: 3rem;
}
#topv .photo {
  width: 100%;
  height: auto;
}
#topv .text {
  position: absolute;
	pointer-events: none;
  width: 100%;
  height: 100%;
  z-index: 10;
  top: 0;
  left: 0;
  font-family: "Noto Serif JP", serif;
}
#topv .text p {
  display: inline-block;
  font-size: 1.5em;
  background-color: #162F7F;
  color: #fff;
  padding: 1rem;
}
#topv .text p:first-child {
  position: absolute;
  bottom: 120px;
  right: 20px;
}
#topv .text p:last-child {
  position: absolute;
  bottom: 40px;
  right: 40px;
}
#news {
  width: 60%;
  height: 12em;
  margin: 0 auto 100px;
  background-color: rgba(255, 255, 255, 0.20);
  padding: 1em;
  overflow-x: hidden;
  overflow-y: scroll;
  border: 1px solid #999;
}
#news div {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.5em;
  line-height: 1.5em;
  border-top: 1px dashed #999;
}
#news div:last-child {
  border-bottom: 1px dashed #999;
}
#news h3 {
  font-size: 1em;
  text-align: center;
  margin-bottom: 1em;
  letter-spacing: 0.25em;
}
#news div h4 {
  width: 20%;
  font-size: 1em;
  font-weight: normal;
  color: #666;
  margin: 0.5em 0;
}
#news div p {
  width: 75%;
  font-size: 1em;
  margin: 0.5em 0;
}
#about {
  width: 100%;
  margin: 0 auto 100px;
}
#about .gaiyou {
  width: 80%;
  margin: 0 auto 80px;
}
#about .text {
  width: 60%;
}
#about .photo {
  width: 32%;
}
#about .photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#about .text dl {
  border-top: 1px dashed #999;
}
#about .text dl dt {
  width: 30%;
  padding: 0.5rem 0;
  border-bottom: 1px dashed #999;
}
#about .text dl dd {
  width: 70%;
  padding: 0.5rem 0;
  border-bottom: 1px dashed #999;
  position: relative;
}
#about .gmap {
  width: 100%;
  height: 40vh;
}
#about .gmap iframe {
  width: 100%;
  height: 100%;
  border: none;
}
#about span {
  position: relative;
  font-size: 1.2em;
  top: 0.25rem;
}
/*
---------------------------------------------------れきし
*/
#history .historyTable {
  width: 80%;
  margin: 0 auto 150px;
  border-bottom: 1px dashed #999;
}
#history .historyTable th {
  width: 25%;
  text-align: left;
  font-weight: normal;
  white-space: nowrap;
  padding: 0.5em 0;
  border-top: 1px dashed #999;
}
#history .historyTable td {
  width: 75%;
  text-align: left;
  padding: 0.5em 0;
  border-top: 1px dashed #999;
}
/*
---------------------------------------------------園のご案内
*/
#aim {
  width: 80%;
  margin: 0 auto 150px;
}
#aim section p {
  margin-bottom: 1rem;
}
#whatsKodomoen {
  width: 80%;
  margin: 0 auto 150px;
}
#whatsKodomoen p {
  line-height: 2em;
  text-align: justify;
}
#aboutUs {
  width: 80%;
  margin: 0 auto 150px;
}
#aboutUs section {
  margin-bottom: 80px;
}
#aboutUs h3 {
  border-bottom: 1px solid #6FBA2C;
  color: #555;
  font-size: 1.1em;
  margin: 1rem 0;
}
#aboutUs p {
  line-height: 2em;
  text-align: justify;
}
/*
---------------------------------------------------入園をお考えの方へ
*/
#enrollment {
  width: 80%;
  margin: 0 auto 150px;
}
#enrollment section {
  margin-bottom: 80px;
}
#enrollment h3 {
  border-bottom: 1px solid #999;
  color: #555;
  font-size: 1.1em;
  margin: 1rem 0;
}
#enrollment p {
  line-height: 2em;
  text-align: justify;
}
#enrollment .pdf {
  margin-top: 1em;
}
#enrollment .pdf li {
  margin-bottom: 1rem;
  text-indent: -1em;
  padding-left: 2em;
  text-align: justify;
}
#enrollment .pdf li::before {
  content: url("../images/icon04.png");
  display: inline-block;
  padding-right: 1em;
}
#inquiry {
  width: 60%;
  height: auto;
  margin: 0 auto 100px;
  background-color: rgba(255, 255, 255, 0.20);
  padding: 1em;
  border: 1px solid #999;
  text-align: center;
}
#inquiry .phone a {
  display: inline-block;
  font-size: 1.5rem;
  padding: 0.25rem 2rem;
  color: #DD0000;
}
#inquiry .phone span {
  font-size: 2rem;
  padding-right: 0.5rem;
  vertical-align: -0.5rem;
}
#inquiry .phone a:hover {
  color: #FF0000
}
/*
---------------------------------------------------おしらせ
*/
#blogContents {
  width: 100%;
  margin: 0 auto;
}
#blogContents section {
  margin-bottom: 5em;
}
#blogContents h3 {
  font-size: 1.5em;
  font-weight: bold;
  margin: 1rem 0 2rem;
  vertical-align: middle;
  display: flex;
  align-items: center;
}
#blogContents h3::before {
  content: url("../images/icon02.png");
  padding-right: 1rem;
}
#blogContents h3::after {
  content: "";
  flex-grow: 1;
  height: 1px;
  display: block;
  margin-left: 2rem;
  background: #dd0000;
}
#blogContents .date {
  width: 80%;
  margin: 0 auto 1rem;
  font-size: 0.9em;
  font-weight: bold;
  text-align: left;
}
#blogContents .blogKiji {
  width: 80%;
  margin: 0 auto 2rem;
  line-height: 2em;
  text-align: justify;
}
#blogContents .blogKiji ul {
  margin: 0 auto 1rem;
}
#blogContents .blogKiji ul li {
  padding: 0.5rem 0 0.5rem 1rem;
  vertical-align: middle;
  text-indent: -1em;
}
#blogContents .blogKiji ul li::before {
  content: url("../images/icon03.png");
  padding-right: 1rem;
}
#blogContents .blogKiji ol {
  margin: 0 auto 1rem;
  list-style-position: inside;
}
#blogContents .blogKiji ol li {
  padding: 0.5rem 0 0.5rem 1rem;
  vertical-align: middle;
  text-indent: -1em;
}
#blogContents .blogKiji ol li::marker {
  color: #DD0000;
}
#blogContents .blogKiji table {
  width: 100%;
  border: 2px solid #666;
  border-collapse: collapse;
}
#blogContents .blogKiji table tr th {
  padding: 0.5rem 1rem;
  border: 1px solid #666;
  text-align: left;
}
#blogContents .blogKiji table tr td {
  padding: 0.5rem 1rem;
  border: 1px solid #666;
}
#blogContents .blogPdf {
  width: 80%;
  margin: 0 auto 2rem;
}
#blogContents .blogPdf li {
  padding: 0.5rem 0 0.5rem 1rem;
  vertical-align: middle;
  text-indent: -1em;
}
#blogContents .blogPdf li::before {
  content: url("../images/icon01.png");
  padding-right: 1rem;
}
#blogContents .blogPdf li a {
  color: #444;
}
#blogContents .blogPdf li a:hover {
  color: #000;
}
#blogContents .blogPhoto figure {
  width: 32%;
  margin-bottom: 2.5rem;
  line-height: 1em;
}
#blogContents .blogPhoto img {
  width: 100%;
  height: auto;
}
#blogContents .blogPhoto figcaption {
  font-size: 0.8em;
}
#blogContents .youtube {
  background-color: #fff;
  line-height: 0;
}
#blogContents .youtube iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}
#blogContents .number {
  display: block;
}
#blogContents .number ul li {
  margin: 50px 5px;
}
#blogContents .number a {
  border: 1px solid #333;
  color: #333;
  padding: 0 0.5rem;
}
#blogContents .number .active {
  background-color: #333;
  color: #fff;
}
#blogContents .number a:hover {
  background-color: rgba(255, 255, 255, 0.5);
}
#categoly {
  width: 50%;
  margin: 50px auto;
  background-color: rgba(255, 255, 255, 0.3);
  padding: 2rem;
  border-radius: 4px;
}
#categoly h3 {
  font-size: 1.2rem;
  text-align: center;
  padding: 0 0 1rem;
  letter-spacing: 0.2rem;
}
#categoly ul {
  border-top: 1px dashed #aaa;
}
#categoly ul li {
  border-bottom: 1px dashed #aaa;
  text-align: center;
  padding: 0.5rem 0;
  font-size: 0.95rem;
}
#categoly ul li a {
  color: #333;
}
#categoly ul li a:hover {
  color: #DD0000;
}
/*
---------------------------------------------------レスポンシブ1366
*/
@media screen and (max-width:1366px) {
  #about .text dl dt {
    width: 20%;
    padding: 0.5rem 0;
    border-bottom: 1px dashed #999;
  }
  #about .text dl dd {
    width: 80%;
    padding: 0.5rem 0;
    border-bottom: 1px dashed #999;
    position: relative;
  }
  #info {
    width: 80%;
  }
  /*
---------------------------------------------------768ここまで
*/
}
/*
---------------------------------------------------レスポンシブ768
*/
@media screen and (max-width:768px) {
  #news {
    width: 80%;
  }
  #aim section div {
    width: 80%;
  }
  #about .gaiyou {
    width: 100%;
  }
  #info {
    width: 100%;
  }
  /*
---------------------------------------------------768ここまで
*/
}
/*
---------------------------------------------------レスポンシブ480
*/
@media screen and (max-width:480px) {
  #pageTitle h1 {
    width: 100%;
    height: auto;
    margin-bottom: 20px;
  }
  main h2 {
    display: block;
    position: relative;
    text-align: center;
    margin: 0 auto 60px;
    width: 120px;
    height: 120px;
  }
  main h2 img {
    width: 100%;
    height: auto;
  }
  main h2::after {
    content: url("../images/subtitle_icon2.png");
    position: relative;
    width: 24px;
    height: 24px;
    bottom: 20px;
    right: -60px;
  }
  /*---*/
  #topv {
    position: relative;
    margin-bottom: 3rem;
  }
  #topv .photo {
    width: 100%;
    height: auto;
    overflow: hidden;
  }
  #topv .photo img {
    aspect-ratio: 1/1;
    object-fit: cover;
  }
  #topv .text {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 10;
    top: 0;
    left: 0;
    font-family: "Noto Serif JP", serif;
  }
  #topv .text p {
    display: inline-block;
    font-size: 1em;
    background-color: #162F7F;
    color: #fff;
    padding: 0.5rem;
  }
  #topv .text p:first-child {
    position: absolute;
    bottom: 80px;
    right: 10px;
  }
  #topv .text p:last-child {
    position: absolute;
    bottom: 20px;
    right: 20px;
  }
  /*----*/
  #news {
    width: 100%;
  }
  #news div {
    display: flex;
    flex-wrap: wrap;
  }
  #news div h4 {
    width: 100%;
    margin: 0.5em 0;
  }
  #news div p {
    width: 100%;
    font-size: 1em;
    margin: 0.5em 0;
  }
  #aim section div {
    display: block;
    width: 90%;
    clear: both;
    background-color: rgba(255, 255, 255, 0.30);
    border: 1px solid #aaa;
    padding: 8rem 1rem 1rem 1rem;
    margin-bottom: 2rem;
  }
  #aim .frame1 {
    background-image: url("../images/aim_photo04.png");
    background-repeat: no-repeat;
    background-position: left top;
    background-size: contain;
  }
  #aim .frame2 {
    background-image: url("../images/aim_photo05.png");
    background-repeat: no-repeat;
    background-position: left top;
    background-size: contain;
  }
  #aim .frame3 {
    background-image: url("../images/aim_photo06.png");
    background-repeat: no-repeat;
    background-position: left top;
    background-size: contain;
  }
  #about .text {
    width: 100%;
    margin-bottom: 1rem;
  }
  #about .photo {
    width: 100%;
  }
  #info ul li {
    width: 100%;
  }
  #info .btn:first-child {
    margin-bottom: 1rem;
  }
  #history .historyTable {
    width: 100%;
  }
  #history .historyTable th {
    display: block;
    width: 100%;
    padding-bottom: 0;
    font-weight: bold;
  }
  #history .historyTable td {
    display: block;
    width: 100%;
    padding-top: 0;
    border-top: none;
  }
  #enrollment {
    width: 100%;
  }
  #inquiry {
    width: 100%;
  }
  #blogContents .blogKiji {
    width: 100%;
  }
  #blogContents .blogPdf {
    width: 100%;
  }
  #blogContents .blogPhoto figure {
    width: 100%;
  }
  #categoly {
    width: 100%;
  }
  /*
---------------------------------------------------480ここまで
*/
}