@charset "utf-8";

/* header
---------------------------------------------*/
.index-head {
  background: url("../images/top/mainvisual-bg.png"),
    url("../images/share/bg-white.jpg");
  background-repeat: no-repeat, repeat;
  background-position: center 110px, right top;
}
@media (max-width: 768px) {
  .index-head {
    background: url("../images/top/mainvisual-bg.png"),
      url("../images/share/bg-white.jpg");
    background-repeat: no-repeat, repeat;
    background-position: center 75px, right top;
    background-size: auto 80%, auto;
  }
}
/* mainvisual
---------------------------------------------*/
#mainvisual {
  position: relative;
  margin: 0 auto;
  width: 1060px;
  height: 470px;
}
.mainVisual-box {
  margin: 0 auto;
  padding-top: 20px;
  width: 980px;
  overflow: hidden;
}
.mainVisual-box div {
  position: relative;
  float: left;
  width: 293px;
  height: 400px;
}
.mainVisual-box-inr1,
.mainVisual-box-inr2 {
  margin-right: 50px;
}
.mv-inr-ttl1,
.mv-inr-ttl3 {
  position: absolute;
  bottom: 0;
  right: 75px;
}
.mv-inr-img2 {
  position: absolute;
  bottom: 0;
  left: 0;
}
.mv-inr-ttl2 {
  position: absolute;
  right: 75px;
  bottom: 220px;
}
.mainvisual-bg-ground {
  height: 30px;
  background: url("../images/top/mainvisual-bg-ground.jpg") right top repeat-x;
}
.mv-sun,
.mv-garden,
.mv-children,
.mv-flower,
.mv-squirrel {
  position: absolute;
}
.mv-sun {
  top: 20px;
  right: 0;
}
.mv-garden {
  bottom: 0;
  left: 0;
}
.mv-children {
  bottom: -10px;
  left: 230px;
}
.mv-flower {
  right: 0;
  bottom: 0;
}
.mv-squirrel {
  bottom: 0;
  left: 670px;
}
/* animation */
.item1,
.item2,
.item3,
.item4,
.item5,
.item6 {
  opacity: 0;
  transform: translateY(-100%);
}
.item1 {
  animation: example 0.5s ease 0.5s 1 forwards;
}
.item2 {
  animation: example 0.5s ease 1s 1 forwards;
}
.item3 {
  animation: example 0.5s ease 1.5s 1 forwards;
}
.item4 {
  animation: example 0.5s ease 2s 1 forwards;
}
.item5 {
  animation: example 0.5s ease 2.5s 1 forwards;
}
.item6 {
  animation: example 0.5s ease 3s 1 forwards;
}
@keyframes example {
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (max-width: 768px) {
  #mainvisual {
    width: 100%;
    height: auto;
  }
  .mainVisual-box {
    padding-top: 0;
    width: 100%;
  }
  .mainVisual-box-inr1,
  .mainVisual-box-inr2,
  .mainVisual-box-inr3 {
    margin-right: 0;
    padding: 20px 10% 0 10%;
  }
  .mv-inr-img1,
  .mv-inr-img2,
  .mv-inr-img3 {
    position: relative;
    top: 0;
    left: 0;
    padding-bottom: 40px;
    width: 90%;
  }
  .mv-inr-ttl1,
  .mv-inr-ttl2,
  .mv-inr-ttl3 {
    bottom: 40px;
    right: 5%;
    width: 30%;
  }
  .mainvisual-bg-ground {
    height: 20px;
    background-size: auto 20px;
  }
  .sp-mv-sun,
  .sp-mv-illust {
    position: absolute;
  }
  .sp-mv-sun {
    top: 10px;
    right: 2.5%;
  }
  .sp-mv-illust {
    bottom: 0;
    left: 2.5%;
    width: 95%;
  }
  .item1,
  .item2,
  .item3,
  .item4,
  .item5,
  .item6 {
    opacity: 1;
    transform: none;
    animation: none;
  }
  #slide1,
  #slide2,
  #slide3 {
    -webkit-animation-duration: 10s;
    animation-duration: 10s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
  }
  #slide1 {
    -webkit-animation-name: slide1;
    animation-name: slide1;
    position: relative;
    width: 100%;
    height: auto;
  }
  #slide2 {
    -webkit-animation-name: slide2;
    animation-name: slide2;
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: auto;
  }
  #slide3 {
    -webkit-animation-name: slide3;
    animation-name: slide3;
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: auto;
  }
  @-webkit-keyframes slide1 {
    0% {
      left: 0px;
      top: 0px;
      opacity: 0;
    }
    10% {
      left: 0px;
      top: 0px;
      opacity: 1;
    }
    30% {
      left: 0px;
      top: 0px;
      opacity: 1;
    }
    40% {
      left: -100%;
      top: 0px;
      opacity: 0;
    }
    100% {
      left: -100%;
      top: 0px;
      opacity: 0;
    }
  }
  @-webkit-keyframes slide2 {
    0% {
      left: -100%;
      top: 0px;
      opacity: 0;
    }
    30% {
      left: -100%;
      top: 0px;
      opacity: 0;
    }
    40% {
      left: 0px;
      top: 0px;
      opacity: 1;
    }
    60% {
      left: 0px;
      top: 0px;
      opacity: 1;
    }
    70% {
      left: -100%;
      top: 0px;
      opacity: 0;
    }
    100% {
      left: -100%;
      top: 0px;
      opacity: 0;
    }
  }
  @-webkit-keyframes slide3 {
    0% {
      left: -100%;
      top: 0px;
      opacity: 0;
    }
    60% {
      left: -100%;
      top: 0px;
      opacity: 0;
    }
    70% {
      left: 0px;
      top: 0px;
      opacity: 1;
    }
    90% {
      left: 0px;
      top: 0px;
      opacity: 1;
    }
    100% {
      left: 0px;
      top: 0px;
      opacity: 0;
    }
  }
  @keyframes slide1 {
    0% {
      left: 0px;
      top: 0px;
      opacity: 0;
    }
    10% {
      left: 0px;
      top: 0px;
      opacity: 1;
    }
    30% {
      left: 0px;
      top: 0px;
      opacity: 1;
    }
    40% {
      left: -100%;
      top: 0px;
      opacity: 0;
    }
    100% {
      left: -100%;
      top: 0px;
      opacity: 0;
    }
  }
  @keyframes slide2 {
    0% {
      left: -100%;
      top: 0px;
      opacity: 0;
    }
    30% {
      left: -100%;
      top: 0px;
      opacity: 0;
    }
    40% {
      left: 0px;
      top: 0px;
      opacity: 1;
    }
    60% {
      left: 0px;
      top: 0px;
      opacity: 1;
    }
    70% {
      left: -100%;
      top: 0px;
      opacity: 0;
    }
    100% {
      left: -100%;
      top: 0px;
      opacity: 0;
    }
  }
  @keyframes slide3 {
    0% {
      left: -100%;
      top: 0px;
      opacity: 0;
    }
    60% {
      left: -100%;
      top: 0px;
      opacity: 0;
    }
    70% {
      left: 0px;
      top: 0px;
      opacity: 1;
    }
    90% {
      left: 0px;
      top: 0px;
      opacity: 1;
    }
    100% {
      left: 0px;
      top: 0px;
      opacity: 0;
    }
  }
}
/* info
---------------------------------------------*/
#info {
  position: relative;
  margin: 0 auto;
  padding-top: 30px;
  width: 980px;
  overflow: hidden;
}
.info-list {
  width: 100%;
  background: #fff;
  border-collapse: collapse;
  font-size: 1.6em;
  overflow: hidden;
}
.info-list th {
  padding: 5px 13px 0 13px;
  width: 160px;
  height: 100%;
  background: #00a08c;
  vertical-align: top;
}
.info-ttl {
  width: 133px;
  /*
    position: relative;
	top: -3px;
*/
}
/* accordion */
.accordion-box {
  position: relative;
}
.accordion-box input {
  display: none;
}
.accordion-box label {
  display: block;
  position: absolute;
  top: 7px;
  right: 8px;
  cursor: pointer;
}
.accordion-box label:before {
  display: inline-block;
  position: absolute;
  top: -2px;
  left: 8px;
  font-family: "FontAwesome";
  content: "\f13a";
  font-size: 150%;
  color: #fff;
  z-index: 1;
}
.accordion-box input:checked + label:before {
  content: "\f139";
}
.accordion-box label:after {
  display: block;
  position: relative;
  padding: 2px 0 0 18px;
  width: 145px;
  height: 35px;
  background: url("../images/share/dot-s-bg.png") top left repeat #56b432;
  border-radius: 20px;
  content: "続きを読む";
  font-size: 16px;
  color: #fff;
  text-align: center;
  line-height: 2;
  letter-spacing: 1.5px;
}
.accordion-box input:checked + label:after {
  content: "閉じる";
}
.accordion-box .accordion-container {
  padding-top: 12px;
  height: 50px;
}
.accordion-box input:checked ~ .accordion-container {
  height: auto;
  overflow: hidden;
}
.info-list-inr {
  margin: 10px 0;
}
.info-list-inr-list {
  /*width: 650px;*/
  font-size: 16px;
  line-height: 1.8;
  overflow: hidden;
}
.info-list-inr-list-date {
  float: left;
  padding: 0 20px;
}
.info-list-inr-list-update-ttl,
.info-list-inr-list-update-txt {
  float: right;
  width: 650px;
}
.info-list-inr-list-update-ttl {
  padding: 0 20px 5px 0;
  font-weight: bold;
  color: #6a3906;
}
.info-list-inr-list-update-ttl:before {
  display: inline-block;
  padding-right: 10px;
  font-weight: normal;
  font-family: "FontAwesome";
  content: "\f0a1";
  color: #448cd7;
}
.info-list-inr-list-update-txt {
  padding: 10px 20px 20px 0;
}
@media (max-width: 768px) {
  #info {
    padding-top: 0;
    width: 100%;
  }
  .accordion-box label {
    top: -42px;
    right: 5%;
  }
  .accordion-box label:after {
    width: 120px;
    background: url("../images/share/dot-s-bg.png") top left repeat #8fc746;
    font-size: 14px;
    line-height: 2.4;
  }
  .accordion-box .accordion-container {
    padding-top: 10px;
    height: 68px;
  }
  .info-list tr,
  .info-list th,
  .info-list td {
    display: block;
  }
  .info-list th {
    padding: 13px 0 15px 5%;
    width: 100%;
    height: auto;
    text-align: left;
  }
  .info-list-inr-list {
    width: 100%;
    font-size: 14px;
  }
  .info-list-inr-list-date,
  .info-list-inr-list-update-ttl,
  .info-list-inr-list-update-txt {
    float: none;
    width: auto;
  }
  .info-list-inr-list-date,
  .info-list-inr-list-update-ttl {
    padding: 0 5%;
  }
  .info-list-inr-list-update-txt {
    padding: 5% 5% 20px 5%;
  }
}
/* pickup
---------------------------------------------*/
#pickup {
  position: relative;
  margin-top: 55px;
  padding: 5px 0;
  background-image: url("../images/top/wave-top.png"),
    url("../images/top/wave-bottom.png");
  background-position: top, bottom;
  background-repeat: repeat-x, repeat-x;
}
.pickup-inr {
  background: #fff;
}
.pickup-inr-area {
  position: relative;
  margin: 0 auto;
  width: 980px;
}
.pickup-list {
  padding: 40px 0;
  overflow: hidden;
}
.pickup-list li {
  float: left;
  margin-right: 40px;
}
.pickup-list li:last-child {
  margin-right: 0;
}
.tree-left,
.tree-right,
.grass1,
.grass2 {
  position: absolute;
}
.tree-left {
  top: -20px;
  left: 0;
}
.tree-right {
  top: -20px;
  right: 0;
}
.grass1 {
  bottom: -15px;
  left: 0;
}
.grass2 {
  right: 0;
  bottom: -15px;
}
@media (max-width: 768px) {
  #pickup {
    margin-top: 40px;
    padding: 0;
    background-image: none;
  }
  .pickup-inr {
    padding: 0 5%;
    background: none;
  }
  .pickup-inr-area {
    width: 100%;
  }
  .pickup-list {
    padding: 0;
  }
  .pickup-list li {
    margin-right: 5%;
    width: 30%;
  }
  .pickup-list li:nth-child(3),
  .pickup-list li:nth-child(6) {
    margin-right: 0;
  }
  .pickup-list li:nth-child(1),
  .pickup-list li:nth-child(2),
  .pickup-list li:nth-child(3) {
    margin-bottom: 5%;
  }
  .pickup-list li img {
    width: 100%;
  }
}
/* news
---------------------------------------------*/
#news-sns {
  margin-top: 60px;
}
#news {
  position: relative;
  margin: 5px 0 66px 0;
  padding: 10px 20px 30px 20px;
  width: 470px;
  background: #fcd575;
  border-radius: 4px;
}
.news-inr {
  padding: 30px 20px 20px 20px;
  background: url("../images/share/bg-lightyellow.jpg") repeat;
}
#news .info-list {
  margin-top: 10px;
  background: inherit;
  border-top: 1px dashed #cfa972;
}
#news .info-list li {
  padding: 15px 10px;
  border-bottom: 1px dashed #cfa972;
}
#news .info-list li a {
  color: #6a3906;
}
.news-list-date {
  margin-bottom: 5px;
  font-size: 0.8rem;
}
.news-list-detail {
  font-size: 1rem;
  line-height: 1.8;
}
#news .info-list a {
  display: inline-block;
}
#news .info-list.toppage-info-close {
  display: none;
}

.news-parts,
.grass3 {
  position: absolute;
}
.news-parts {
  top: -5px;
  left: 40px;
}
.grass3 {
  left: 10px;
  bottom: -66px;
}
/* ボタン */
.news-btn-more {
  position: relative;
  margin: 0 auto;
  margin-top: 20px;
  padding: 0 0 0 20px;
  width: 200px;
  height: 40px;
  border-radius: 20px;
  font-size: 1.8em;
  color: #6a3906;
  text-align: center;
  text-decoration: none;
  /* line-height: 2.0; */
  line-height: 40px;
  letter-spacing: 1.5px;
}
.news-btn-more:before {
  display: inline-block;
  position: absolute;
  /* top: -10px; */
  top: 0;
  left: 8px;
  font-family: "FontAwesome";
  content: "\f138";
  font-size: 170%;
  color: #fff;
}
@media (max-width: 768px) {
  #news-sns {
    margin-top: 40px;
  }
  #news {
    margin: 0 2.5%;
    padding: 10px 2.5% 30px 2.5%;
    width: 95%;
  }
  .news-inr {
    padding: 30px 5% 20px 5%;
  }
  .news-inr h2 img {
    width: 100%;
  }
  #news .info-list li {
    padding: 15px 2.5%;
  }
  .news-list-detail {
    font-size: 0.9rem;
  }
  .news-parts {
    top: 0;
    left: 5%;
    width: 90%;
  }
  .sp-grass3 {
    position: relative;
    top: -30px;
    margin-bottom: -10px;
    padding: 0 2.5%;
    width: 95%;
  }
  .news-btn-more {
    width: 60%;
    height: 35px;
    font-size: 1.4em;
    line-height: 2.4;
  }
  .news-btn-more:before {
    top: -12px;
    font-size: 180%;
  }
}
/* sns
---------------------------------------------*/
#sns {
  position: relative;
  margin: 5px 0 40px 0;
  padding: 10px;
  width: 470px;
  background: url("../images/share/bg-wood.jpg") repeat;
  border-radius: 4px;
}
.sns-inr {
  background: #fff;
}
.sns-box {
  padding: 10px;
  height: 400px;
  overflow-y: hidden;
}
.sns-parts,
.grass4 {
  position: absolute;
}
.sns-parts {
  top: -5px;
  left: 20px;
}
.grass4 {
  left: 40px;
  bottom: -40px;
}
@media (max-width: 768px) {
  #sns {
    margin: 0 2.5%;
    width: 95%;
  }
  .sns-inr h2 img {
    width: 100%;
  }
  .sns-box {
    padding: 10px 0 10px 10px;
  }
  .sns-parts {
    left: 2.5%;
    width: 95%;
  }
  .sp-grass4 {
    padding: 0 10%;
    width: 80%;
  }
}
/* bn-entry
---------------------------------------------*/
#bn-entry {
  margin-top: 60px;
  padding: 40px 0;
  background: #fff4df;
}
.bn-entry-area {
  position: relative;
  margin: 0 auto;
  width: 980px;
  box-sizing: border-box;
}

.bn-entry-area img {
  width: 100%;
  height: auto;
}

.bn-entry-area + .bn-entry-area {
  margin-top: 40px;
}
.bn-entry-area a .bnr-line {
  transition: 0.3s;
  border-radius: 16px;
  box-shadow: 0 0 0 4px #ce9860;
}
.bn-entry-area a:hover .bnr-line {
  box-shadow: 0 0 0 4px #f4538c;
}
.grass5 {
  position: absolute;
  bottom: -50px;
  left: 290px;
}
@media (max-width: 768px) {
  #bn-entry {
    margin-top: 40px;
    padding: 20px 5%;
  }
  .bn-entry-area,
  .bn-entry-area img {
    width: 100%;
  }
  .bn-entry-area + .bn-entry-area {
    margin-top: 30px;
  }
}
/* bn-topics
---------------------------------------------*/
#bn-topics {
  margin-top: 60px;
}
.bn-topics-area {
  position: relative;
  margin: 0 auto;
  width: 980px;
}
.bn-topics-list {
  overflow: hidden;
}
.bn-topics-list li {
  float: left;
}
.bn-topics-list li:first-child {
  margin: 0 40px 0 256px;
}
.tree-rabbit,
.tree-three {
  position: absolute;
  bottom: 0;
  z-index: 1;
}
.tree-rabbit {
  left: 0;
}
.tree-three {
  right: 0;
}
@media (max-width: 768px) {
  #bn-topics {
    margin-top: 40px;
  }
  .bn-topics-area {
    margin: 20px 2.5% 0 2.5%;
    width: auto;
  }
  .bn-topics-list li {
    width: 48.55%;
  }
  .bn-topics-list img {
    width: 100%;
  }
  .bn-topics-list li:first-child {
    margin: 0 2.5% 0 0;
  }
}
/* banner
---------------------------------------------*/
#banner {
  margin-top: 60px;
}
.group-list {
  margin-top: 20px;
  overflow: hidden;
}
.group-list li {
  float: left;
}
.group-list li:first-child {
  margin-right: 40px;
}
@media (max-width: 768px) {
  #banner {
    margin-top: 40px;
  }
  .group-ttl,
  .facility-ttl {
    padding: 0 2.5%;
    width: 95%;
  }
  #facility {
    margin-top: 40px;
  }
  .group-list {
    margin: 20px 2.5% 0 2.5%;
  }
  .group-list li {
    width: 48.55%;
  }
  .group-list li img {
    width: 100%;
  }
  .group-list li:first-child {
    margin-right: 2.5%;
  }
}

.bn-insta-area {
  margin: 50px auto 0;
  padding: 0;
  width: 980px;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  box-sizing: border-box;
}

.bn-insta-area div {
  margin: 0;
  padding: 0;
  width: 48%;
  border-radius: 16px;
  box-shadow: 0 0 0 4px #ce9860;
}

@media (max-width: 768px) {
  .bn-insta-area {
    margin: 0px auto 0;
    padding: 0;
    width: 100%;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    box-sizing: border-box;
  }

  .bn-insta-area div {
    margin: 30px 0 0;
    padding: 0;
    width: 100%;
    border-radius: 16px;
    box-shadow: 0 0 0 4px #ce9860;
  }
}

.bn-insta-area div:hover {
  box-shadow: 0 0 0 4px #f4538c;
}

.bn-insta-area div img {
  width: 100%;
  height: auto;
  border-radius: 16px;
}

/* ----------------------------------------------------------------------
　表示・非表示設定
------------------------------------------------------------------------*/
/* PC版非表示設定 */
.is-pc{
  display: block !important;
}

.is-sp {
  display: none !important;
}

/* SP版非表示設定 */
@media screen and (max-width: 768px) {
  .is-pc {
    display: none !important;
  }
  .is-sp {
    display: block !important;
  }
}

.x-banner {
  margin: 4px auto 0;
	position: relative;
	width: 470px;
	height: 515px;
	display: block;
	overflow: hidden;
	cursor: pointer;
}
.x-banner img {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 100%;
	display: block;
	-webkit-transition: .4s ease-in-out;
	transition: .4s ease-in-out;
}
.x-banner:hover img:nth-of-type(2) {
	opacity: 0;
}

.x-banner-note{
  margin: 15px 0 0;
  padding: 0;
  font-size: 15px;
  text-align: center;
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
.sp-x-banner{
  margin: 0 auto;
  padding: 0;
  width: 94%;
}

.sp-x-banner img{
  width: 100%;
  height: auto;
}

.x-banner-note{
  margin: 10px 0 0;
  padding: 0;
  font-size: 13px;
  text-align: center;
  line-height: 1.5;
}

}