@charset "utf-8";
/* CSS Document */
*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
p{
	line-height: 1.8;
	margin: 0.8em 0;
}
h2{
	margin: 1em 0;
	font-size: 180%;
}
@media (min-width: 768px){
}
@media (max-width: 767px){
}

/* ヘッダー */
header {
	position: relative;
	top: 0;
	z-index: 1000;
	padding: 1em 0 2em 0;
}
header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #FFFFFF;
  clip-path: ellipse(80% 100% at 50% 0%);
  z-index: -1;
}
#header-logo {
	white-space: nowrap;
}
.header-container {
	width: 100%;
	margin: 0 auto;
	padding: 0 20px;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between; 
}

#nav-left {
	flex: 1;
}
#nav-left ul {
	display: flex;
	list-style: none;
	gap: 20px;
}
@media (min-width: 768px){
#header-nav{
	padding-left: 2em;
	white-space: nowrap;
}
}
@media (max-width: 767px){
#nav-left {
	display: none;
}
}

@media (min-width: 768px){
#sp_nav{
	display: none;
}
}
@media (max-width: 767px){
#sp_nav{
	z-index: 2000;
}
}



@media (min-width: 768px){
#btn-header {
  display: flex;
  justify-content: space-between;
  gap: 6px;
}
}
@media (max-width: 767px){
#btn-header {
	display: none;
}
}

.site-logo {
	flex: 1;
	text-align: center;
}
.site-logo h1 {
	font-size: 24px;
	color: var(--primary-color);
	letter-spacing: 2px;
	cursor: pointer;
}

.nav-right {
	flex: 1;
	display: flex;
	justify-content: flex-end;
}
@media (max-width: 767px){
.nav-right {
	display: none;
}
}

@media (max-width: 767px){
}
/* --- 1. 左側：メインメニュー (PC用) --- */


.nav-overlay {
  width: 60%;
  height: 90vh;
  background-color: rgba(255,255,255,0.95);
}
.nav-overlay__list{
	margin-top: 50px;
}
.nav-overlay__item{
	width: 90%;
  border-bottom: 1px solid #000000;
	text-align: left;
	margin: auto;
}
.nav-overlay__content {
	height: auto;
}
.nav-overlay__link {
  display: inline-block;
  padding: 15px;
  font-size: 24px;
  transition: color .3s;
}
/* スマホnav-保育園リンク */
.nav-overlay__item_l{
	margin: 1.5em auto;
	border: none;
	text-align: center;
}
.nav-overlay__link_l {
  display: inline-block;
  padding: 10px;
  font-size: 20px;
  transition: color .3s;
}

/* トップページ */
.section-topimg{
	z-index: 30;
	position: relative;
	margin-top: -40px;
}
.section-topimg img {
  width: 100%;
  object-fit: fill;
}
@media (min-width: 768px){
.sti-sp {
	display: none;
}
}
@media (max-width: 767px){
.sti-pc {
	display: none;
}
.section-topimg img {
	width: 100%;
  height: auto;
}
}


.content-card {
	margin-bottom: 2.5rem;
	box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.2);
	position: relative;
	}
.section-facility{
	z-index: 10;
	background: linear-gradient( #fefde2, #f2e8fc, #d8eff9);
	padding: 60px 10% 80px;
	margin-top: -40px;
}

.section-message{
	z-index: 20;
	background: #ffffff; 
	margin-top: -80px;
	border-radius: 40px 40px 0 0;
	padding: 30px 5% 80px;
}
.section-philosophy{
	z-index: 40;
	background: linear-gradient( #fefde2, #f2e8fc, #d8eff9);
	margin-top: -80px;
	border-radius: 40px;
	padding: 30px 10% 80px;
}
.section-compliance{
	z-index: 30;
	background: #ffffff;
	margin-top: -80px;
	padding: 60px 10% 100px;
}
.text-box1{
	border: 1px solid #606060;
	border-radius: 3em;
	margin: 3em 0;
	padding: 2em 3em;
}
.section-infomation{
	z-index: 50;
	background: linear-gradient( #fefde2, #f2e8fc, #d8eff9);
	margin-top: -80px;
	border-radius: 40px 40px 0 0;
	padding: 30px 10% 80px;
}
.sec-base{
	width: 100%;
	justify-content: space-between;
	padding: 0 0 2em 0;
}
@media (min-width: 768px){
}
@media (max-width: 767px){
}

/* トップページ　インフォ表 */
.table1 table{
	border-collapse: collapse; 
	margin: 0 auto;
	box-sizing: border-box;
}
.table1 th,
.table1 td{
	border-bottom: 2px solid #000000;
	text-align: left;
	padding: 20px 0;
}
.table1 th{
	width: 30%;
	font-weight: bold;
	white-space: nowrap;
}
.table1 td{
	width: 70%;
}
.fac_img{
	margin: 2em;
}
.fac_img img{
	width: 100%;
	height: auto;
}
@media (min-width: 768px){
.fac_img{
	display: flex;
	justify-content: center;
	gap: 40px;
}
.fac_img img{
	width: 50%;
}
}
@media (max-width: 767px){
.fac_img{
	
}
.fac_img img:first-child{
	margin-bottom: 3em;
}
}



#facility,
#information,
#philosophy{
	padding: 30px 20px;
	background: linear-gradient(0deg, #CDF3FD 0%, #F2EBFA 56%, #FCFEE4 100%);
}
#philosophy{
	border-radius: 50px;
}
#facility{
	border-radius: 50px 50px 0 0;
}
#information{
	padding-bottom: 5em;
}


/* トップ　表*/

.media-box{	
	display: flex;
  flex-direction: column;
  gap: 20px;
  margin-bottom: 40px;
    padding: 0;
    margin: 2em 0;
    width: 100%;
}
.mb_image img {
  width: 100%;
  height: auto;
}
.media-box.reverse-sp {
  flex-direction: column-reverse;
}
@media (min-width: 768px) {
.media-box {
    flex-direction: row;
    align-items: center;
  }
.media-box.reverse-sp {
    flex-direction: row; 
  }
.mb_text {
   flex: 65;
  }
.mb_image{
	flex: 35;
	}
.move-up-mess {
  transform: translateY(-100px);
}
.move-up-phil {
  transform: translateY(200px);
}
}

.phil_list{	
	list-style: none;
    padding: 0;
    margin: 2em 0;
    width: 100%;
}
.phil_list-item {
    align-items: center;
    margin-bottom: 24px;
}
.phil_list-item p{
	text-align: left;
}
.phil_list-item:last-child {
    margin-bottom: 0;
}
.phil_list-img {
     flex-shrink: 0;
     display: flex;
     justify-content: center;
     align-items: center;
}
.phil_list-text {
}
@media (min-width: 768px){
.phil_list-item {
	width: 100%;
    display: flex;
	justify-content: center;
     align-items: center;
}
.phil_list-img{	
	width: 35%;
}
.phil_list-text{	
	width: 65%;
}
.phil_list-text{	
	padding: 1em;
}
.phil_list-img-1 img{
     width: 100%;
     height: auto;
	margin-top: -150px;
}
}
@media (max-width: 767px){
.phil_list-img img{
     width: 150px;
     height: 150px;
	margin: 1em 0;
}
.phil_list-img-1 img{
     width: 100%;
     height: auto;
	margin: 2em 0;
}
}


/*インフォ表 */
@media (min-width: 768px){
.info_link {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin: 5em 0 0 0;
}
.info_link img {
  height: auto;
}
}
@media (max-width: 767px){
.info_link {
  margin: 2em 0;
	text-align: center;
}
.info_link img {
 margin: 1em 0;
}
}

/* ダウンロード*/
.download_list{	
	list-style: none;
    padding: 0;
    margin: 2em 0;
    width: 100%;
}
.download_list li{	
	border: 1px solid #606060;
	border-radius: 1em;
	margin: 1em 0;
}
.download_list li a{
	width: 100%;
	padding: 2em 2.5em;
	display: block;
}


/* ul内のPDFに自動でアイコン追加*/
.download_list li a[href$=".pdf" i] {
  position: relative;
  display: inline-block;
}
.download_list li a[href$=".pdf" i]::before {
  content: "";
  position: absolute;
  left: 5%;
  top: 50%;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  background-image: url("../img/pdf-icon.png"); 
  background-size: contain;
  background-repeat: no-repeat;
}
@media (min-width: 768px){
.download_list li a[href$=".pdf" i] {
  padding-left: 12%;
}
}
@media (max-width: 767px){
.download_list li a[href$=".pdf" i] {
  padding-left: 17%;
}
}



/* フッター */
#footer{
	z-index: 200;
  padding: 30px 20px 40px;
	background: #37A331;
	margin-top: -80px;
	position: relative;
}
#footer p{
	color: #fff;
	font-weight: bold;
	text-align: center;
}
#footer ul li a{
	color: #fff;
	text-decoration: none;
	font-size: 110%;
}
#footer ul{
	display: flex;
	list-style: none;
	color: #FFFFFF;
	margin: 0 auto;
	justify-content: center;
	padding: 3em;
}
#footer li {
  margin: 0 15px;
}
#footer li + li {
  border-left: 1px solid #ccc;
  margin-left: 0;   /* 必要に応じて調整 */
  padding-left: 15px; 
}
@media (min-width: 768px){
}
@media (max-width: 767px){
#footer ul{
	padding: 3em 0;
}
.footer_link{
	flex-direction: column;
    align-items: stretch;
	justify-content: center;
}
}


/* その他 */
.font_bold{
	font-weight: bold;
	font-size: 110%;
	line-height: 1.9;
}
.font-green {
	color: #3FA036;
	padding: 1.5em 0;
}

.green-line {
	border: none; 
	height: 1px; 
	margin: 3em 0;
	background-color: #3FA036;
}
@media (min-width: 768px){
}
@media (max-width: 767px){
}


/* リンクボタン */
.btn-link {
  display: inline-block;
  text-decoration: none;
  border-radius: 25px;
  font-weight: bold;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
  transition: background-color 0.3s; 
	white-space: nowrap;
}
.btn-lg {
  color: #ffffff;
  background-color: #3FA037;
}
.btn-lw {
  color: #2D8128;
  background-color: #FFFFFF;
}
.btn-lg:hover {
  background-color: #388B31;
}
.btn-lw:hover {
  background-color: #A8A8A8;
}
@media (min-width: 768px){
.btn-link {
  padding: 10px 30px;
}
}
@media (max-width: 767px){
.btn-link {
  padding: 10px 20px;
	margin: 0 auto;
	text-align: center;
}
}



/* 年表 */
.chronology-table{
	list-style: none;
	padding: 0;
}
.chronology-table p{
	margin: 0;
	padding: 0;
}
.chronology-table li{
	display: flex;
	padding: 0.5em 0 1em 0;
}
.chronology-item {
   display: flex;
   align-items: stretch;
   position: relative;
        }
.chronology-date {
  text-align: center;
	white-space: nowrap;
}
.chronology-line{
  flex-shrink: 0;
  position: relative;
  display: flex;
  justify-content: center;
}
.chronology-line::before {
   content: "";
   position: absolute;
   top: 0;
   bottom: 0;
   left: 50%;
   transform: translateY(70%);
   width: 2px;
	height: 3em;
   background-color: #cbd5e1;
   z-index: 1;
}
.chronology-line:last-child .chronology-line::before {
  bottom: auto;
  height: 20px;
}
.chronology-dot {
   position: absolute;
   top: 10px;
   left: 50%;
   transform: translateX(-50%);
   width: 18px;
   height: 18px;
   background-color: #3f9f42;
   border-radius: 50%;
   z-index: 2;
 }
.chronology-dot::after {
	content: "";
    position: absolute;
    top: 50%;
    left: 130%;
    transform: translateY(-50%); 
    height: 1px;
    background-color: #3f9f42;
}

.chronology-content {
  padding-left: 30px;
  display: flex;
  align-items: center;
}
@media (min-width: 768px){
.chronology-date {
  width: 15%;
}
.chronology-line {
  width: 10%;
}
.chronology-content {
  width: 75%;
}
.chronology-dot::after {
   width: 30px;
}
}
@media (max-width: 767px){
.chronology-date {
  width: 25%;
}
.chronology-line {
  width: 5%;
}
.chronology-content {
  width: 70%;
}
.chronology-dot::after {
   width: 20px;
}
}