div.pankuzu.bk-beige{
  background-color: #F6F3E7;
}

/* -------------------- カリキュラム一覧 */
/* carriculum */
div.curriculum{
  width: 100%;
}
div.curriculum.kanai{
  padding: 0 14px 0 14px;
  margin: 0 auto 50px;
}
div.curriculum.kagai{
  background-color: #F6F3E7;
  padding: 50px 14px 80px 14px;
  margin: 0 auto 0;
}
div.curriculum h2{
  margin: 0 auto 20px;
}
div.curriculum > p{
  text-align: center;
  margin: 0 auto 20px;
}
div.curriculum ul{
  width: 100%;
  max-width: 1280px;
  margin: 0 auto 0;
}
div.curriculum ul li{
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px dotted #CFC0B3;
  padding: 0 0 50px 0;
  margin: 0 auto 50px;
}
div.curriculum ul li:last-of-type{
  margin-bottom: unset;
  padding-bottom: unset;
  border-bottom: unset;
}
div.curriculum ul li figure{
  width: 100%;
  max-width: 400px;
  margin: 0 50px 0 0;
}
div.curriculum ul li figure img{
  object-fit: cover;
  width: 100%;
  border-radius: 20px;
}
div.curriculum ul li div{
  width: 100%;
  max-width: 800px;
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
}
div.curriculum ul li div p.title{
  font-size: 1.5em;
  font-weight: bold;
  line-height: 36px;
  /* margin: 0 0 20px; */
  margin: 0 20px 0 0;
}
div.curriculum ul li div span{
  width: 100px;
  display: inline-block;
  font-size: 0.875em;
  line-height: 24px;
  text-align: center;
  color: #fff;
  background-color: #FF8080;
  border-radius: 30px;
  /* margin: 6px 0 20px 20px; */
  margin: 6px 0 20px 0;
}
div.curriculum ul li div p.detail{
  width: 100%;
  line-height: 26px;
}

@media screen and (max-width: 768px) {
  div.curriculum ul li{
    flex-wrap: wrap;
    align-items: flex-start;
  }
  div.curriculum ul li figure{
    width: 48%;
    margin-right: unset;
  }
  div.curriculum ul li figure img{
    height: 240px;
  }
  div.curriculum ul li div{
    width: 48%;
  }
  div.curriculum ul li div p.title{
    font-size: 1.25em;
  }
}
@media screen and (max-width: 600px) {
  div.curriculum ul{
    max-width: 400px;
  }
  div.curriculum ul li figure{
    width: 100%;
    margin: 0 auto 20px;
  }
  div.curriculum ul li div{
    width: 100%;
  }

  div.curriculum ul li div span{
    order: 1;
  }
  div.curriculum ul li div p.title{
    order: 2;
    width: 100%;
    margin-right: unset;
  }
  div.curriculum ul li div p.detail{
    order: 3;
  }
}

/* -------------------- 自然は友だち */
/* nature */
div.nature{
  width: 100%;
  background-color: #F6F3E7;
  padding: 80px 14px 80px;
}
div.midashi p.sub{
  padding: 0 14px 0;
}
div.nature div.gallery{
  width: 100%;
  max-width: 1040px;
  
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: 1fr 1fr;
  column-gap: 30px;
  row-gap: 30px;
  margin: 0 auto 0;
}
div.nature div.gallery div{
  display: inline-block;
}
div.nature div.gallery div img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
div.nature div.gallery div.text{
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 20px;
}
div.nature div.gallery div.text p{
  font-size: clamp(12px, 1.82vw, 14px);
  font-weight: bold;
  color: #fff;
}

/* box-01 */
div.nature div.gallery.box-01{
  margin: 0 auto 80px;
}
div.nature div.gallery.box-01 div.pic-01{
  grid-column: 1 / 3;
  grid-row: 1 / 3;
}
div.nature div.gallery.box-01 div.text{
  background-color: #6D5B4C;
}

/* box-02 */
div.nature div.gallery.box-02{
  margin: 0 auto 80px;
}
div.nature div.gallery.box-02 div.pic-02{
  grid-column: 3 / 5;
  grid-row: 1 / 3;
}
div.nature div.gallery.box-02 div.text{
  background-color: #91BF26;
}

/* box-03 */
div.nature div.gallery.box-03{
  margin: 0 auto 80px;
}
div.nature div.gallery.box-03 div.pic-01{
  grid-column: 1 / 3;
  grid-row: 1 / 3;
}
div.nature div.gallery.box-03 div.text{
  background-color: #6D5B4C;
}

/* box-04 */
div.nature div.gallery.box-04{
  margin: 0 auto 0;
}
div.nature div.gallery.box-04 div.pic-02{
  grid-column: 3 / 5;
  grid-row: 1 / 3;
}
div.nature div.gallery.box-04 div.text{
  background-color: #91BF26;
}


@media screen and (max-width: 768px){
  div.nature div.gallery{
    column-gap: 14px;
    row-gap: 14px;
  }
}

@media screen and (max-width: 600px) {
  div.nature div.gallery{
    max-width: 430px;
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: repeat(4, 1fr);
  }
  div.nature div.gallery.box-02 div.pic-02{
    grid-column: 1 / 3;
    grid-row: 1 / 3;
  }
  div.nature div.gallery.box-04 div.pic-02{
    grid-column: 1 / 3;
    grid-row: 1 / 3;
  }
}

/* -------------------- 食育活動 */
/* food */
div.shokuiku{
  width: 100%;
  margin: 0 auto 80px;
}
div.shokuiku figure.visual{
  width: 100%;
  max-width: 1068px;
  padding: 0 14px;
  margin: 0 auto 80px;
}
div.shokuiku figure.visual img{
  width: 100%;
  object-fit: cover;
  border-radius: 20px;
}

div.shokuiku div.sdgs{
  width: 100%;
  max-width: 928px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 0 14px 0;
  margin: 0 auto 80px;
}
div.shokuiku div.sdgs div{
  width: calc(95% - 150px);
}
div.shokuiku div.sdgs div p{
  line-height: 30px;
  text-indent: 1em;
}
div.shokuiku div.sdgs figure{
  width: 150px;
  height: 150px;
}
div.shokuiku div.box-01{
  margin: 0 auto 50px;
}
div.shokuiku div.box-01.mb-0{
  margin: 0 auto 0;
}
div.shokuiku div.box-02{
  margin: 0 auto 0;
}

div.shokuiku div.box-01,
div.shokuiku div.box-02{
  width: 100%;
  max-width: 1200px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
div.shokuiku > div div.text.w-50{
  width: 100%;
  max-width: 530px;
}
div.shokuiku > div div.text.w-100{
  width: 100%;
  max-width: 900px;
}
div.shokuiku > div div.text h3{
  font-size: 1.25em;
  font-weight: bold;
  margin: 0 0 16px;
}
div.shokuiku > div div.text p{
  line-height: 30px;
  text-indent: 1em;
}
div.shokuiku > div div.picture{
  width: calc(94% - 530px);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
div.shokuiku > div div.picture.w-50 figure{
  width: calc((100% - 20px)/2);
}
div.shokuiku > div div.picture.w-50 figure img{
  object-fit: cover;
  width: 100%;
}
div.shokuiku > div div.picture.w-100 figure{
  width: 100%;
}
div.shokuiku > div div.picture.w-100 figure img{
  object-fit: cover;
  width: 100%;
  /* height: 320px; */
}
div.shokuiku div.box-01 div.picture{
  margin-right: 6%;
}
div.shokuiku div.box-02 div.picture{
  margin-left: 6%;
}
div.shokuiku div.tab-content.ume div.box-02 div.picture{
  margin-left: unset;
  margin-right: 6%;
}

div.shokuiku div.gallery{
  width: 100%;
  max-width: 1920px;
  margin: 0 auto 0;
}
div.shokuiku div.gallery h2.first-color{
  padding: 0 14px 0;
  margin: 0 auto 50px;
}
div.shokuiku div.gallery ul li div{
  margin: 0 4px;
}
div.shokuiku div.gallery ul li div img{
  height: 250px;
  border-radius: 20px;
  object-fit: cover;
}

@media screen and (max-width: 1280px) {
  div.shokuiku > div div.text.w-50{
    width: 48%;
  }
  div.shokuiku > div div.picture{
    width: 48%;
    margin: 0 0 0;
  }
  div.shokuiku > div div.picture figure{
    width: calc((100% - 10px)/2);
  }
  div.shokuiku div.box-01 div.picture{
    margin-right: 4%;
  }
  div.shokuiku div.box-02 div.picture{
    margin-left: 4%;
  }
  div.shokuiku div.tab-content.ume div.box-02 div.picture{
    margin-right: 4%;
  }
}
@media screen and (max-width: 768px) {
  div.shokuiku div.box-01,
  div.shokuiku div.box-02{
    max-width: 530px;
  }
  div.shokuiku > div div.text.w-50{
    width: 100%;
    order: 2;
  }
  div.shokuiku > div div.text h3 br{
    display: none;
  }
  div.shokuiku > div div.picture{
    width: 100%;
    order: 1;
    margin: 0 auto 20px;
  }
  div.shokuiku > div div.picture.w-50 figure{
    width: calc((100% - 10px)/2);
  }
  div.shokuiku div.box-01 div.picture{
    margin-right: 0;
  }
  div.shokuiku div.box-02 div.picture{
    margin-left: 0;
  }
  div.shokuiku div.tab-content.ume div.box-02 div.picture{
    margin-right: 0;
  }
  div.shokuiku div.gallery ul li div img{
    height: 180px;
  }
}
@media screen and (max-width: 600px) {
  div.shokuiku figure.visual{
    margin: 0 auto 20px;
  }
  div.shokuiku div.sdgs{
    margin: 0 auto 80px;
  }
  div.shokuiku div.sdgs div{
    width: 100%;
    margin: 0 auto 50px;
  }
  div.shokuiku div.sdgs P br.spNone{
    display: none;
  }
  div.shokuiku div.sdgs figure{
    width: 100%;
    max-width: 150px;
    margin: 0 auto 0;
  }
}
@media screen and (max-width: 510px) {
  div.shokuiku figure.visual img{
    height: 180px;
    object-position: 56% 20%;
  }
  div.shokuiku > div div.picture.w-100 figure img{
    height: 180px;
  }
}


/* bus-area district tab-btn */
div.shokuiku div.activity{
  position: relative;
  width: 100%;
  /* max-width: 1280px; */
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0 auto 100px;
}
div.shokuiku input{
  display: none;
}
div.shokuiku label{
  order: -1;

  width: 100%;
  max-width: 196px;
  text-align: center;
  font-weight: bold;
  background-color: #efefef;
  color: #8a8a8a;
  border-radius: 50px;
  padding: 14px 0 14px;
  margin: 0 10px 10px 10px;
}
div.shokuiku .tab-btn:checked+.tab-label{
  background-color: #FF8080;
  color: #fff;
}

/* bus-area district tab-content */
div.shokuiku div.tab-content{
  display: none;
  
  width: 100%;
  background-color: #F6F3E7;
  padding: 80px 14px;
  margin-top: 50px;
}
div.shokuiku .tab-btn:checked+.tab-label+.tab-content{
  display: block;
}

div.shokuiku div.tab-content table{
  width: 100%;
  max-width: 920px;
  border: 1px solid #CFC0B3;
  margin: 0 auto 0;
}
div.shokuiku div.tab-content table:last-child{
  margin-bottom: unset;
}
div.shokuiku div.tab-content table tr{
  width: 100%;
  border-bottom: 1px solid #CFC0B3;
  vertical-align: middle;
}
div.shokuiku div.tab-content table tr:last-child{
  border-bottom: unset;
}
div.shokuiku div.tab-content table tr th{
  width: 230px;
  border-right: 1px solid #CFC0B3;
  background-color: #F6F3E7;
  padding: 16px 16px;
}
div.shokuiku div.tab-content table tr td{
  background-color: #fff;
  padding: 16px 16px;
}
@media screen and (max-width: 1080px){
  div.shokuiku div.tab-content{
    margin-top: 20px;
  }
}
@media screen and (max-width: 510px){
  div.shokuiku div.tab-content{
    padding: 50px 14px;
  }
}
@media screen and (max-width: 510px){
  div.shokuiku label{
    max-width: 300px;
  }
}