
/* -------------------- banner */

div.banner {
  width: 100%;
  max-width: 1080px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 0 14px;
  margin: 0 auto 100px auto;
}

div.cell {
  position: relative;
  width: 100%;
  max-width: 500px;
  border-radius: 42px;
  padding: 12px;
}
div.cell.green {
  background-color: #deebc1;
}
div.cell.pink {
  background-color: #f8e0e0;
}

div.cell > p {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 200px;
  height: 38px;
  color: #fff;
  font-size: 0.9em;
  text-align: center;
  border-radius: 0 0 16% 16% /0 0 100% 100%;
  padding: 5px 0 0 0;
  margin: 0 auto;
}
div.cell.green > p {
  background-color: #91bf26;
}
div.cell.pink > p {
  background-color: #ff8080;
}

div.cell > div {
  background-color: #fff;
  border-radius: 30px;
  padding: 40px 12px 20px 12px;
}

div.green > div figure:nth-of-type(1) {
  width: 100%;
  max-width: 330px;
  margin: 0 auto 0 auto;
}
div.green > div p {
  font-size: 0.9em;
  font-weight: 700;
  text-align: center;
  margin: 0 0 10px 0;
}
div.green > div figure:nth-of-type(2) {
  width: 100%;
  max-width: 296px;
  margin: 0 auto 12px auto;
}
div.green > div a {
  color: #fff;
  background-color: #91bf26;
  border-radius: 10px;
  padding: 8px 14px;
  width: 200px;
  display: block;
  text-align: center;
  font-size: 0.875em;
  margin: 0 auto;
}

div.pink > div figure:nth-of-type(1) {
  width: 100%;
  max-width: 340px;
  margin: 0 auto 20px auto;
}
div.pink > div p {
  font-size: 0.9em;
  font-weight: 700;
  text-align: center;
  margin: 0 0 24px 0;
}
div.pink > div a {
  color: #fff;
  background-color: #6d5b4c;
  border-radius: 10px;
  padding: 8px 14px;
  width: 200px;
  display: block;
  text-align: center;
  font-size: 0.875em;
  margin: 0 auto;
}

@media screen and (max-width: 1060px) {
  
  div.banner {
    justify-content: space-around;
    margin: 0 auto 60px auto;
  }
  div.cell {
    max-width: 400px;
  }

}
@media screen and (max-width: 855px) {

  div.cell {
    max-width: 500px;
  }
  div.cell.green {
    margin: 0 0 20px 0;
  }
  
  div.green > div figure:nth-of-type(1) {
    max-width: 260px;
  }
  div.pink > div figure:nth-of-type(1) {
    max-width: 280px;
  }
  div.green > div figure:nth-of-type(2) {
    max-width: 180px;
  }

}

/* -------------------- policy */

div.policy {
  position: relative;
  width: 100%;
  background: linear-gradient(180deg, #fff 0%, #fff 35%, #FFEF88 35%, #FFEF88 100%);
  padding: 0 0 150px 0;
}

div.policy figure.wave {
  position: absolute;
  top: 200px;
  width: 100%;
}
div.policy figure.wave img {
  object-fit: cover;
  width: 100%;
  height: 240px;
  object-position: top;
}

div.policy div.lead {
  position: relative;
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 878px;
  margin: 0 auto 50px auto;
}
div.policy div.lead figure.flag {
  width: 100%;
  max-width: 244px;
}
div.policy div.lead figure.text {
  width: 390px;
  padding: 110px 0 0 0;
}

div.policy > p {
  position: relative;
  text-align: center;
  font-weight: 700;
  margin: 0 auto 50px;
}
div.policy > p span {
  color: #E54F5F;
}

div.policy figure.main {
  position: relative;
  width: 100%;
  max-width: 1220px;
  margin: 0 auto;
  padding: 0 14px 0;
}

div.policy a.midoka {
  display: block;
  position: absolute;
  bottom: 60px;
  right: 63%;
  width: 332px;
  z-index: 10;
}
div.policy a.midoka figure{
  width: 100%;
}

@media screen and (max-width: 969px) {

  div.policy a.midoka {
    right: unset;
    left: 30px;
    bottom: 50px;
    width: 220px;
  }

}
@media screen and (max-width: 878px) {

  div.policy div.lead figure.flag {
    position: absolute;
  }
  div.policy div.lead figure:nth-of-type(1) {
    left: 0;
  }
  div.policy div.lead figure:nth-of-type(3) {
    right: 0;
  }
  div.policy > p {
    padding: 0 14px;
  }

}
@media screen and (max-width: 768px) {
  div.policy div.lead figure.flag {
    max-width: 170px;
  }
  div.policy div.lead{
    max-width: 600px;
    margin: 0 auto 20px auto;
  }
  div.policy div.lead figure.text {
    width: 292px;
  }

}
@media screen and (max-width: 602px) {

  div.policy {
    background: linear-gradient(180deg, #fff 0%, #fff 40%, #FFEF88 40%, #FFEF88 100%);
  }
  div.policy figure.wave img {
    height: 140px;
  }

}
@media screen and (max-width: 590px) {

  div.policy > p {
    text-align: left;
    margin: 0 auto 10px;
  }
  div.policy > p br {
    display: none;
  }
  div.policy a.midoka {
    bottom: 20px;
    width: 180px;
  }

}
@media screen and (max-width: 390px) {

  div.policy div.lead figure.flag {
    max-width: 150px;
  }
  div.policy a.midoka {
    left: 14px;
    bottom: 0px;
  }

}

/* -------------------- about */

div.about {
  position: relative;
  width: 100%;
  margin: 0 0 140px 0;
}

div.about figure.wave {
  position: absolute;
  top: -120px;
  width: 100%;
}
div.about figure.wave img {
  object-fit: cover;
  width: 100%;
  height: 120px;
  object-position: top;
}
div.about figure.illust-01 {
  position: absolute;
  right: 50px;
  top: -200px;
  width: 180px;
}
div.about figure.illust-02 {
  position: absolute;
  left: 50px;
  top: 0px;
  width: 270px;
}
div.about figure.illust-03 {
  position: absolute;
  right: 12px;
  top: 477px;
  width: 320px;
}
div.about figure.illust-04 {
  position: absolute;
  left: 12px;
  bottom: -120px;
  width: 372px;
}

div.about h2 {
	width: 100%;
  position: relative;
	margin: 0 0 50px 0;
  z-index: 10;
}
div.about h2 img {
  width: 100%;
  height: 94px;
  object-fit: contain;
  margin: 0 auto;
}
div.about h2 span {
	display: block;
	width: 100%;
	font-weight: 700;
	text-align: center;
}

div.about ul {
  position: relative;
  z-index: 10;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 1080px;
  margin: 0 auto 0 auto;
  list-style: none;
}
div.about ul li {
  width: 100%;
  max-width: 353px;
  transition: all 0.2s ease 0s;
}
div.about ul li:nth-child(2) ,
div.about ul li:nth-child(5) {
  padding: 34px 0 0 0;
}
div.about ul li:hover {
  transform: translateY(-0.6em);
}

div.about ul li a p {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6c5a4b;
  font-weight: 700;
  text-align: center;
}
div.about ul li a p img {
  width: 36px;
  margin: 0 0 0 12px;
}

@media screen and (max-width: 1460px) {
  div.about ul {
    max-width: 780px;
  }
  div.about ul li {
    width: 30%;
    max-width: unset;
  }
  div.about figure.illust-01 {
    width: 130px;
  }
  div.about figure.illust-02 {
    width: 170px;
  }
  div.about figure.illust-03 {
    position: absolute;
    right: -112px;
    top: 330px;
    width: 320px;
  }
  div.about figure.illust-04 {
    position: absolute;
    left: -112px;
    width: 372px;
  }
}
@media screen and (max-width: 1000px) {
  div.about ul {
    max-width: 630px;
  }
  div.about figure.illust-03 {
    right: -92px;
    width: 220px;
  }
  div.about figure.illust-04 {
    left: -65px;
    width: 230px;
  }
}
@media screen and (max-width: 960px) {

  div.about h2 img {
    height: 76px;
  }

}
@media screen and (max-width: 768px) {
  div.about figure.illust-01 {
    width: 90px;
    right: 14px;
  }
  div.about figure.illust-02 {
    width: 130px;
    left: 14px;
  }
}
@media screen and (max-width: 730px) {
  div.about{
    margin: 0 0 100px 0;
  }
  div.about ul {
    max-width: 400px;
    justify-content: space-around;
  }
  div.about ul li {
    width: 46%;
    margin: 0 0 30px;
  }
  div.about ul li:nth-child(5),
  div.about ul li:nth-child(6){
    margin-bottom: 0;
  }
  div.about ul li:nth-child(2) ,
  div.about ul li:nth-child(5) {
    padding: 0 0 0 0;
  }
  div.about ul li a p img {
    width: 20px;
    margin: 0 0 0 12px;
  }
}
@media screen and (max-width: 620px) {
  div.about figure.illust-01 ,
  div.about figure.illust-02 {
    display: none;
  }
  div.about figure.illust-03 {
    top: -122px;
    right: -30px;
    width: 154px;
  }
  div.about figure.illust-04 {
    left: -46px;
    width: 204px;
    bottom: -170px;
  }
}

/* -------------------- news */

div.news {
  position: relative;
  width: 100%;
  margin: 0 0 140px 0;
}

div.news figure.illust-05 {
  width: 300px;
  top: -114px;
  right: 12px;
  position: absolute;
}

div.news h2 {
	width: 100%;
	margin: 0 0 50px 0;
}
div.news h2 img {
  width: 100%;
  height: 94px;
  object-fit: contain;
  margin: 0 auto;
}
div.news h2 span {
	display: block;
	width: 100%;
	font-weight: 700;
	text-align: center;
}

div.news ul {
  width: 100%;
  max-width: 1070px;
  margin: 0 auto 60px auto;
  list-style: none;
}
div.news ul li {
  width: 100%;
  border-bottom: 1px dotted #CFC0B3;
}
div.news ul li a {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  color: #6c5a4b;
  padding: 16px 14px 16px;
}
div.news ul li:first-child a{
  padding-top: unset;
}

div.news ul li a p.date {
  width: 120px;
  font-weight: 500;
  margin: 0 14px 0 0;
}
div.news ul li a span.icon {
  display: block;
  width: 140px;
  font-weight: 500;
  text-align: center;
  padding: 4px 0;
  border-radius: 20px;
  color: #fff;
  margin: 0 14px 0 0;
}
/* icon-color */
span.icon.important{
  background-color: #FF8080;
}
span.icon.acorn{
  background-color: #91BF26;
}
span.icon.tanpopo{
  background-color: #FF8D29;
}
span.icon.guide{
  background-color: #6D5B4C;
}

div.news ul li a p.title {
  width: calc(100% - 288px);
  font-weight: 500;
}

div.news > a {
  display: block;
  width: 100%;
  max-width: 230px;
  background-color: #91BF26;
  color: #fff;
  font-weight: 500;
  padding: 12px 12px;
  text-align: center;
  border-radius: 30px;
  margin: 0 auto 0 auto;
}

@media screen and (max-width: 1460px) {

  div.news figure.illust-05 {
    right: -120px;
  }

}
@media screen and (max-width: 1070px) {

  div.news ul {
    padding: 0 14px;
  }

}
@media screen and (max-width: 768px) {
  
  div.news h2 img {
    height: 76px;
  }
  div.news ul li a p.title {
    width: 100%;
  }
  div.news ul li a p.date{
    margin: 0 14px 10px 0;
  }
  div.news ul li a span.icon {
    margin: 0 0 10px 0;
  }
}
@media screen and (max-width: 620px) {

  div.news figure.illust-05 {
    display: none;
  }

}
@media screen and (max-width: 580px) {
  div.news {
    margin: 0 0 80px 0;
  }
  div.news ul li a {
    padding: 16px 8px 16px;
  }
  div.news ul li a p.date{
    margin: 0 14px 10px 0;
  }
  div.news ul li a span.icon {
    margin: 0 0 10px 0;
  }

}

/* -------------------- blog */

div.blog {
  position: relative;
  width: 100%;
  padding: 0 14px 140px 14px;
}

div.blog figure.illust-06 {
  position: absolute;
  left: 12px;
  width: 150px;
  top: -200px;
}
div.blog figure.illust-07 {
  position: absolute;
  right: 12px;
  width: 244px;
  top: 250px;
}

div.blog ul {
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: 1270px;
  margin: 0 auto 60px auto;
  list-style: none;
}
div.blog ul li {
  width: 100%;
  max-width: 280px;
}
div.blog ul li a {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  color: #6c5a4b;
}
div.blog ul li a figure {
  width: 100%;
  margin: 0 0 8px 0;
}
div.blog ul li a figure img{
  object-fit: cover;
  width: 100%;
  height: 170px;
  border-radius: 20px;
  background-color: #6c5a4b;
}

div.blog ul li a p.category {
  background: transparent;
  border-left: solid 4px;
  padding: 0 0 0 12px;
  margin: 0 12px 8px 0;
}
div.blog ul li a p.date {
  margin: 0 0 8px 0;
}
div.blog ul li a p.title{
  width: 100%;
}

div.blog > a {
  display: block;
  width: 100%;
  max-width: 230px;
  background-color: #91BF26;
  color: #fff;
  font-weight: 500;
  padding: 12px 12px;
  text-align: center;
  border-radius: 30px;
  margin: 0 auto 0 auto;
}
p.green{
  border-color: #91BF26;
  color: #91BF26;
}
p.pink{
  border-color: #FF8080;
  color: #FF8080;
}
p.brown{
  border-color: #6D5B4C;
  color: #6D5B4C;
}

@media screen and (max-width: 1270px) {
  div.blog ul {
    flex-wrap: wrap;
  }
  div.blog ul li {
    width: 24%;
  }
}
@media screen and (max-width: 1024px) {
  div.blog ul {
    max-width: 600px;
  }
  div.blog ul li {
    width: 48%;
  }
  div.blog ul li:first-child {
    margin: 0 auto 50px;
  }
  div.blog figure.illust-07 {
    display: none;
  }
}
@media screen and (max-width: 960px) {
  div.blog {
    padding: 0 14px 40px 14px;
  }

}
@media screen and (max-width: 720px) {

  div.blog ul li:nth-of-type(3),
  div.blog ul li:nth-of-type(4){
    display: none;
  }

}
@media screen and (max-width: 510px) {

  div.blog figure.illust-06 {
    display: none;
  }

}
@media screen and (max-width: 430px) {

  div.blog figure.illust-06 {
    display: none;
  }
  div.blog ul li {
    width: 100%;
  }
  div.blog ul li:nth-child(2){
    margin: 0 auto 0;
  }

}

/* -------------------- contact */

div.contact {
  position: relative;
  width: 100%;
  padding: 140px 0 140px 0;
  background-image: url("../images/bk-dot.webp");
  background-repeat: repeat;
}

div.contact figure.wave {
  position: absolute;
  top: 0px;
  width: 100%;
}
div.contact figure.wave img {
  object-fit: cover;
  width: 100%;
  height: 152px;
  object-position: top;
}

div.contact h2 {
	width: 100%;
	margin: 0 0 50px 0;
}
div.contact h2 img {
  width: 100%;
  height: 94px;
  object-fit: contain;
  margin: 0 auto;
}
div.contact h2 span {
	display: block;
	width: 100%;
	font-weight: 700;
	text-align: center;
}

div.contact p.text {
  font-weight: 500;
  text-align: center;
  margin: 0 0 20px 0;
}
div.contact p.tel {
  font-weight: 700;
  font-size: 1.6em;
  text-align: center;
  margin: 0 0 50px 0;
}

div.contact div.btn {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 540px;
  margin: 0 auto;
}
div.contact div.btn a {
  width: 100%;
  max-width: 230px;
  color: #6c5a4b;
  text-align: center;
  border: 1px solid #6c5a4b;
  border-radius: 30px;
  padding: 12px;
}
div.contact div.btn a:nth-of-type(2) {
  background-color: #6D5B4C;
  color: #fff;
}

@media screen and (max-width: 960px) {

  div.contact {
    padding: 70px 0 120px 0;
  }
  div.contact h2 img {
    height: 94px;
  }

}
@media screen and (max-width: 768px) {

  div.contact h2{
    margin: 0 0 30px 0;
  }
  div.contact h2 img {
    height: 76px;
  }

}
@media screen and (max-width: 600px) {
  div.contact {
    padding: 50px 0 120px 0;
  }
  div.contact figure.wave img {
    height: 20px;
  }
  div.contact p.text {
    padding: 0 14px;
  }
  div.contact p.tel {
    padding: 0 14px;
    font-size: 1.4em;
  }
  div.contact div.btn {
    flex-direction: column;
  }
  div.contact div.btn a:nth-of-type(1) {
    margin: 0 0 20px 0;
  }
}

/* -------------------- recruit */

div.recruit {
  position: relative;
  width: 100%;
  background-color: #91BF26;
  padding: 140px 0 80px 0;
}

div.recruit figure.wave {
  position: absolute;
  top: -100px;
  width: 100%;
}
div.recruit figure.wave img {
  object-fit: cover;
  width: 100%;
  height: 200px;
  object-position: top;
}

div.recruit figure.illust-09 {
  position: absolute;
  left: 350px;
  width: 170px;
  top: -100px;
}
div.recruit figure.illust-08 {
  position: absolute;
  right: 350px;
  width: 230px;
  top: -100px;
}

div.recruit h2 {
	width: 100%;
	margin: 0 0 50px 0;
}
div.recruit h2 img {
  width: 100%;
  height: 94px;
  object-fit: contain;
  margin: 0 auto;
}
div.recruit h2 span {
	display: block;
	width: 100%;
	font-weight: 700;
  color: #fff;
	text-align: center;
}
div.recruit p {
  color: #fff;
  text-align: center;
  margin: 0 auto 50px auto;
}

div.recruit > a {
  display: block;
  width: 100%;
  max-width: 230px;
  background-color: #fff;
  color: #91BF26;
  font-weight: 500;
  padding: 12px 12px;
  text-align: center;
  border-radius: 30px;
  margin: 0 auto 0 auto;
}

@media screen and (max-width: 1700px) {

  div.recruit figure.illust-09 {
    left: 100px;
  }
  div.recruit figure.illust-08 {
    right: 100px;
  }

}
@media screen and (max-width: 900px) {

  div.recruit {
    padding: 80px 0 60px 0;
  }
  div.recruit figure.illust-08 {
    right: 20px;
    width: 160px;
  }
  div.recruit figure.illust-09 {
    display: none;
  }
  div.recruit p {
    padding: 0 14px;
  }

}
@media screen and (max-width: 768px) {

  div.recruit h2{
    margin: 0 0 30px 0;
  }
  div.recruit h2 img {
    height: 76px;
  }

}




/* 20260428 */
div.mv {
  position: relative;
  width: 100%;
}
div.mv a.news-btn {
  position: absolute;
  right: 6%;
  bottom: 160px;

  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #E54F5F;
  border: 4px solid #ffffff;
  border-radius: 100px;
  color: #ffffff;
  font-size: 1.12em;
  font-weight: bold;

  width: 32%;
  max-width: 320px;
  z-index: 10;
  padding: 24px 20px 24px 50px;
}

div.mv a.news-btn svg {
  display: block;
  width: 28px;
  height: 28px;
  fill: #ffffff;
  stroke: none;
}
div.mv a.news-btn span {
  display: block;
  flex-grow: 1;
  text-align: center;
  margin-right: 10px;
}
div.mv a.news-btn img {
  position: absolute;
  left: -30px;
  top: -20px;
  width: 80px;
}
div.mv a.news-btn:hover {
  background-color: #6d5b4c;
  color: #ffffff;
}
/* div.mv a.news-btn:hover svg {
  fill: #6c5a4b;
} */

@media screen and (max-width: 1300px) {
  div.mv a.news-btn {
    bottom: 150px;
    right: 20px;
    padding: 14px 20px 14px 50px;
  }
}
@media screen and (max-width: 855px) {
  /* div.mv a.news-btn {
    bottom: 150px;
    right: 20px;
    padding: 14px 20px 14px 50px;
  } */
}
@media screen and (max-width: 855px) {
  div.mv ul.slider.slick-dotted.slick-slider {
    margin-bottom: 50px;
  }
  div.mv a.news-btn {
    position: relative;
    bottom: unset;
    right: unset;
    width: 80%;
    max-width: 500px;
    padding: 24px 20px 24px 50px;
    margin: 0 auto 30px auto;
    /* bottom: 0;
    right: 50%;
    transform: translateX(calc(50% + 10px)); */
  }
}
@media screen and (max-width: 510px) {
  div.mv a.news-btn {
    padding: 24px 10px 24px 40px;
  }
  div.mv a.news-btn img {
    width: 70px;
  }

}



