@charset "utf-8";

/* ------- TOP PAGE ---------------------------------------------- */
#top-image-main .image{
  background-repeat: no-repeat;
  background-size: cover;
}
@media print, screen and (min-width:1366px) {
  #top-image-main .image{
    background-image: url("../images/img_main.jpg");
    padding-bottom: 61.979166%;
  }
}
@media screen and (min-width:781px) and (max-width:1365px) {
  #top-image-main .image{
    background-image: url("../images/img_main_tab.jpg");
    padding-bottom: 87.04245%;
  }
}
@media screen and (max-width: 780px) {
  #top-image-main .image{
    background-image: url("../images/img_main_sp.jpg");
    padding-bottom: 200%;
  }
}


.top-info{
  background-color: #FFF;
}
.top-info p{
  font-weight: 500;
}
.top-info .sns > dt{
  font-weight: 500;
  line-height: 1;
}
.top-info .sns > dd > ul > li{
  font-weight: 500;
}
.ic-instagram:before{
  background-image: url("../common/images/ic_instagram.png");
}
.ic-facebook:before{
  background-image: url("../common/images/ic_facebook.png");
}
@media print, screen and (min-width:781px) {
  .top-info{
    padding: 35px 35px 50px;
  }
  .top-info .inner > p{
    text-align: center;
  }
  .top-info .sns{
    display: flex;
    align-items: center;
    margin-left: auto;
    margin-right: auto;
    margin-top: 30px;
    max-width: 845px;
    width: 100%;
  }
  .top-info .sns > dt{
    background-image: url("../images/bg_sns.svg");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    padding: 20px 45px 20px 35px;
    margin-right: 20px;
  }
  .top-info .sns > dd > ul{
    display: flex;
  }
  .top-info .sns > dd > ul > li{
    font-size: 2.0rem;
    white-space: nowrap;
  }
  .top-info .sns > dd > ul > li:nth-child(n + 2){
    margin-left: 37px;
  }
  .top-info .sns > dd > ul > li .icon:before{
    margin-right: 15px;
  }
  .ic-instagram:before{
    height: 50px;
    width: 50px;
  }
  .ic-facebook:before{
    height: 50px;
    width: 50px;
  }
}
@media screen and (max-width: 780px) {
  .top-info{
    padding: 35px 5% 50px;
  }
  .top-info .inner > p{
  }
  .top-info .sns{
    margin-top: 30px;
  }
  .top-info .sns > dt{
    background-color: #EBEEE6;
    padding: 10px;
    text-align: center;
  }
  .top-info .sns > dd > ul{
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .top-info .sns > dd > ul > li{
    font-size: 2.0rem;
    white-space: nowrap;
    margin-top: 15px;
  }
  .top-info .sns > dd > ul > li .icon:before{
    margin-right: 10px;
  }
  .ic-instagram:before{
    height: 25px;
    width: 25px;
  }
  .ic-facebook:before{
    height: 25px;
    width: 25px;
  }
}


#top-map-section{
  background-image: url("../images/bg_map.jpg");
  background-position: center center;
  background-size: cover;
  position: relative;
}
#top-map-section:before,
#top-map-section:after{
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: block;
  position: absolute;
}
#top-map-section:before{
  background-image: url("../images/img_map_cloud1.png");
}
#top-map-section:after{
  background-image: url("../images/img_map_cloud2.png");
}
#top-map-section .image{
  background-color: #FFF;
  box-shadow: 5px 5px 30px rgba(0,0,0,.16);
  position: relative;
  z-index: 2;
}
@media print, screen and (min-width:781px) {
  #top-map-section{
    padding: 100px 0;
  }
  #top-map-section:before{
    padding-bottom: 6.9%;
    width: 23.8%;
    right: 0;
    top: 96px;
  }
  #top-map-section:after{
    padding-bottom: 10.963%;
    width: 21.276%;
    left: 0;
    bottom: 67px;
  }
  #top-map-section .image{
    padding: 30px;
    margin-top: 90px;
  }
}
@media screen and (max-width: 780px) {
  #top-map-section{
    padding: 50px 5%;
  }
  #top-map-section:before{
    padding-bottom: 6.9%;
    width: 23.8%;
    right: 0;
    top: 30px;
  }
  #top-map-section:after{
    padding-bottom: 10.963%;
    width: 21.276%;
    left: 0;
    bottom: 30px;
  }
  #top-map-section .image{
    padding: 15px;
    margin-top: 45px;
  }
}


#top-banner-area{
  background-color: #FFF;
  position: relative;
  z-index: 1;
}
.banner-list{
  display: flex;
  flex-wrap: wrap;
}
.banner-list > li > a{
  display: block;
}
@media print, screen and (min-width:781px) {
  #top-banner-area{
    padding: 145px 0;
  }
  .banner-list{
    margin-left: auto;
    margin-right: auto;
    max-width: 960px;
    width: 90%;
  }
  .banner-list > li{
    margin-right: 3.125%;
    width: 31.25%;
  }
  .banner-list > li:nth-child(n + 4){
    margin-top: 3.125%;
  }
  .banner-list > li:nth-child(3n){
    margin-right: 0;
  }
  .banner-list > li > a{
    transition: .3s;
  }
  @media (hover: hover) and (pointer: fine){
    .banner-list > li > a:hover{
      opacity: .6;
    }
  }
}
@media screen and (max-width: 780px) {
  #top-banner-area{
    padding: 70px 5% 140px;
  }
  .banner-list{
    justify-content: space-between;
  }
  .banner-list > li{
    width: 48%;
  }
  .banner-list > li:nth-child(n + 3){
    margin-top: 4%;
  }
}


#top-whatis-section{
  background-color: #677D42;
  background-image: url("../images/bg_whatis.png");
  background-size: cover;
  position: relative;
  z-index: 2;
}
#top-whatis-section:before,
#top-whatis-section:after{
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
}
#top-whatis-section:before{
  background-image: url("../images/bg_whatis1.png");
}
#top-whatis-section:after{
  background-image: url("../images/bg_whatis2.png");
}
#top-whatis-section .section-head{
  color: #FFF;
}
#top-whatis-section .section-head:after{
  background-color: #D6D600;
}
.box-whatis {
  position: relative;
  z-index: 2;
}
.box-whatis .box-whatis-wrap1 p{
  color: #FFF;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  line-height: 2.25;
}
.box-whatis .box-whatis-wrap2 .origin{
  background-image: url("../images/bg_origin.jpg");
  background-position: center center;
  background-size: cover;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.box-whatis .box-whatis-wrap2 .origin dt{
  font-family: "Noto Serif JP", serif;
  font-weight: 800;
}
.box-whatis .box-whatis-wrap2 .origin dd{
  display: flex;
  flex-direction: column;
  align-items: center;
}
.box-whatis .box-whatis-wrap2 .origin dd > p{
  background-image: url("../images/bg_fukidashi.svg");
  background-size: 100% 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.28;
}
.box-whatis .box-whatis-wrap2 .origin dd a{
  background-color: #5F9703;
  border-radius: 5px;
  color: #FFF;
  display: flex;
  align-items: center;
  line-height: 1;
  transition: .3s;
}
@media (hover: hover) and (pointer: fine){
  .box-whatis .box-whatis-wrap2 .origin dd a:hover{
    background-color: #6FB200;
  }
}
.box-whatis .box-whatis-wrap2 .origin dd > a > span{
  display: flex;
  align-items: center;
}
.box-whatis .box-whatis-wrap2 .origin dd > a > span:after{
  background-image: url("../common/images/ic_arrow.svg");
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: block;
}
.box-whatis .box-whatis-wrap2 .theme-logo{
  background-color: #FFF;
}
.box-whatis .box-whatis-wrap2 .theme-logo dd{
  line-height: 1.68;
}
@media print, screen and (min-width:781px) {
  #top-whatis-section{
    padding-top: 130px;
    padding-bottom: 220px;
  }
  #top-whatis-section:before{
    padding-bottom: 24.947916%;
    width: 40.3125%;
    left: 0;
    top: -8.88516%;
  }
  #top-whatis-section:after{
    padding-bottom: 17.760415%;
    width: 38.17708%;
    right: -17.03125%;
    bottom: -9.8802075%;
  }
  #top-whatis-section .inner{
    max-width: 1080px;
    width: 90%;
  }
  .box-whatis{
    margin: 115px auto 0;
    max-width: 1080px;
  }
  .box-whatis .box-whatis-wrap1,
  .box-whatis .box-whatis-wrap2{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  .box-whatis .box-whatis-wrap1 p{
    font-size: min(1.317vw,1.8rem);
    width: 45.1851%;
  }
  .box-whatis .box-whatis-wrap1 .image{
    width: 50.9259%;
  }
  
  .box-whatis .box-whatis-wrap2{
    margin-top: 110px;
    flex-direction: row-reverse;
  }
  .box-whatis .box-whatis-wrap2 .origin{
    padding: 20px;
    width: 50.9259%;
  }
  .box-whatis .box-whatis-wrap2 .origin dt{
    font-size: min(2.562vw,3.5rem);
  }
  .box-whatis .box-whatis-wrap2 .origin dd > p{
    font-size: min(1.46vw,2.0rem);
    padding: 25px 85px 55px;
    white-space: nowrap;
  }
  .box-whatis .box-whatis-wrap2 .origin dd > a{
    font-size: min(1.61vw,2.2rem);
    padding: 15px 40px;
    margin-top: 15px;
  }
  .box-whatis .box-whatis-wrap2 .origin dd > a > span:after{
    margin-left: 30px;
    height: 17px;
    width: 13px;
  }
  
  .box-whatis .box-whatis-wrap2 .theme-logo{
    padding: 30px 35px;
    width: 45.1851%;
  }
  .box-whatis .box-whatis-wrap2 .theme-logo dt{
    margin: 0 auto;
    width: 26.79425%;
  }
  .box-whatis .box-whatis-wrap2 .theme-logo dd{
    margin-top: 30px;
  }
}
@media screen and (max-width: 780px) {
  #top-whatis-section{
    padding: 25% 5% 60px;
  }
  #top-whatis-section:before{
    background-image: url("../images/bg_whatis1_sp.png");
    padding-bottom: 39.2849472%;
    width: 72.428%;
    left: 0;
    top: -6.88516%;
  }
  #top-whatis-section:after{
    padding-bottom: 17.760415%;
    width: 38.17708%;
    right: -17.03125%;
    bottom: -2.81601%;
  }
  #top-whatis-section .inner{
  }
  .box-whatis{
    margin-top: 50px;
  }
  .box-whatis  .box-whatis-wrap1 p{
    font-size: min(3.2vw,2.5rem);
  }
  .box-whatis .box-whatis-wrap1 .image{
    margin-top: 45px;
  }
  .box-whatis .box-whatis-wrap2 .origin{
    padding: 20px 10px;
    margin-top: 45px;
  }
  .box-whatis .box-whatis-wrap2 .origin dt{
    font-size: min(4.48vw,3.5rem);
  }
  .box-whatis .box-whatis-wrap2 .origin dd > p{
    font-size: min(3.2vw,2.5rem);
    padding: 25px 50px 50px;
    margin-top: 15px;
  }
  .box-whatis .box-whatis-wrap2 .origin dd a{
    font-size: min(2.82vw,2.2rem);
    padding: 10px 40px;
    margin-top: 15px;
  }
  .box-whatis .box-whatis-wrap2 .origin dd > a > span:after{
    margin-left: 15px;
    height: 14px;
    width: 10px;
  }
  
  .box-whatis .box-whatis-wrap2 .theme-logo{
    padding: 30px 35px;
    margin-top: 45px;
  }
  .box-whatis .box-whatis-wrap2 .theme-logo dt{
    margin: 0 auto;
    width: 26.79425%;
  }
  .box-whatis .box-whatis-wrap2 .theme-logo dd{
    margin-top: 30px;
  }
}


#top-access-section{
  background-image: url("../images/bg_map.jpg");
  background-position: center center;
  background-size: cover;
  position: relative;
}
#top-access-section .image{
  background-color: #FFF;
  box-shadow: 5px 5px 30px rgba(0,0,0,.16);
  position: relative;
  z-index: 2;
}
@media print, screen and (min-width:781px) {
  #top-access-section{
    padding: 95px 0 250px;
  }
  #top-access-section .image{
    display: flex;
    padding: 30px;
    margin-top: 90px;
  }
}
@media screen and (max-width: 780px) {
  #top-access-section{
    padding: 45px 5% 20px;
  }
  #top-access-section .image{
    padding: 15px;
    margin-top: 45px;
  }
}



@media print, screen and (min-width:781px) {
}
@media screen and (max-width: 780px) {
}