/* CSS Document */
/*======================== MV ========================*/
#main {
  width: 100%;
  height: 36vw;
  position: relative;
  overflow: hidden;
  z-index: 10;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 768px) {
  #main {
    height: 68vw;
    background-repeat: no-repeat;
    background-size: cover;
    overflow: hidden;
  }
}
/*======================== CONSEPT ========================*/
.concept {
  width: 1080px;
  height: 223px;
  margin: 70px auto 125px;
  background-image: url(../images/top/concept_bg.png);
  background-size: 1080px auto;
  background-repeat: no-repeat;
  position: relative;
}
.buffet {
  margin: 60px auto 60px;
  width: 1000px;
}
.buffet li:first-child {
  float: left;
}
.buffet li:last-child {
  float: right;
}
.buffet li:first-child a {
  width: 470px;
  height: 156px;
  transition: all 0.4s;
  background-image: url(../images/top/autumn_pc_out.png);
  background-size: cover;
  background-repeat: no-repeat;
  display: block;
}
.buffet li:first-child a:hover {
  background-image: url(../images/top/autumn_pc_hover.png);
  background-size: cover;
  background-repeat: no-repeat;
}
.buffet li:last-child a {
  width: 470px;
  height: 156px;
  transition: all 0.4s;
  background-image: url(../images/top/banner02_pc_out.png);
  background-size: cover;
  background-repeat: no-repeat;
  display: block;
}
.buffet li:last-child a:hover {
  background-image: url(../images/top/banner02_pc_hover.png);
  background-size: cover;
  background-repeat: no-repeat;
}
.concept h2 {
  width: 124px;
  position: absolute;
  top: 90px;
  left: 70px;
}
.concept p {
  position: absolute;
  top: 65px;
  left: 330px;
  font-size: 15px;
}
@media screen and (max-width: 768px) {
  .concept {
    width: 100%;
    height: 45vw;
    margin: 16vw auto 10vw;
    background-image: url(../images/top/concept_bg_sp.png);
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position-y: 15vw;
    position: relative;
  }
  .buffet02 {
    margin: 8vw auto 4vw;
    width: 90%;
  }
  .concept h2 {
    width: 17vw;
    position: absolute;
    top: 26vw;
    left: 8vw;
  }
  .concept p {
    position: absolute;
    top: -4.5vw;
    left: 35vw;
    font-size: 3.4vw;
    margin-right: 20px;
  }
}
/*======================== MENU ========================*/
.menu_contents {
  width: 100%;
  padding-top: 100px;
  background-color: #f5f5f5;
}
.menu_contents .menu {
  margin-bottom: 100px;
}
.menu_contents .menu .ttl {
  width: 1080px;
  margin: 0 auto;
  position: relative;
  padding: 0;
}
.menu_contents .menu .ttl h2 {
  font-size: 40px;
  padding-left: 70px;
  background-image: url(../images/top/menu_icon.png);
  background-repeat: no-repeat;
  background-size: 39px auto;
  background-position: 0 23px;
  color: #333333;
  font-weight: 400;
  margin-left: 40px;
}
.menu_contents .menu .ttl h2:after {
  content: "";
  display: block;
  height: 2px;
  width: 17px;
  background: #333333;
  position: absolute;
  top: 40px;
  left: 0px;
  overflow: hidden;
}
.menu_contents .menu .ttl .ruby {
  font-size: 12px;
  position: absolute;
  top: 60px;
  left: 185px;
  font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}
.menu_contents .menu .ttl .txt {
  font-size: 15px;
  position: absolute;
  left: 345px;
  top: 3px;
}
@media screen and (max-width: 768px) {
  .menu_contents {
    padding-top: 12vw;
  }
  .menu_contents .menu {
    margin-bottom: 0;
  }
  .menu_contents .menu .ttl {
    width: 86%;
    margin: 0 auto 44vw;
    position: relative;
  }
  .menu_contents .menu .ttl h2 {
    font-size: 8vw;
    padding-left: 12vw;
    background-size: 8vw auto;
    background-position: 0 2.5vw;
  }
  .menu_contents .menu .ttl h2:after {
    top: 6vw;
    left: 0px;
  }
  .menu_contents .menu .ttl .ruby {
    font-size: 2vw;
    position: absolute;
    top: 12vw;
    left: 37vw;
  }
  .menu_contents .menu .ttl .txt {
    font-size: 3.4vw;
    position: absolute;
    left: 0;
    top: 20vw;
  }
}
/*======================== MAP ========================*/
.map_contents {
  width: 1080px;
  margin: 100px auto 110px;
}
.map_contents .ttl {
  width: 1080px;
  margin: 0 auto;
  position: relative;
  padding: 0;
}
.map_contents .ttl h2 {
  font-size: 40px;
  padding-left: 70px;
  background-image: url(../images/top/map_icon.png);
  background-repeat: no-repeat;
  background-size: 40px auto;
  background-position: 0 20px;
  color: #333333;
  font-weight: 400;
  margin-left: 40px;
}
.map_contents .ttl h2:after {
  content: "";
  display: block;
  height: 2px;
  width: 17px;
  background: #333333;
  position: absolute;
  top: 40px;
  left: 0px;
  overflow: hidden;
}
.map_contents .ttl .ruby {
  font-size: 12px;
  position: absolute;
  top: 60px;
  left: 165px;
  font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}
.map_contents .map {
  width: 1080px;
  height: 700px;
  margin: 50px 0 0;
  position: relative;
}
.map_contents .ttl .txt {
  font-size: 15px;
  position: absolute;
  left: 300px;
  top: 28px;
}
.map_contents .map .map_img img {
  width: 830px;
  display: block;
  position: absolute;
  top: 0;
  left: 25px;
}
.map_contents .map .map_img .box a {
  width: 120px;
  height: 25px;
  display: block;
  position: absolute;
  cursor: pointer;
  opacity: 1;
  background-size: 0;
}
.map_contents .map .map_img .box a:hover {
  width: 200px;
  height: 163px;
  display: block;
  position: absolute;
  cursor: pointer;
  opacity: 0;
  background-size: 200px;
  background-repeat: no-repeat;
  background-position: 0 0;
}
.map_contents .map .map_img .box .link1 {
  top: 78px;
  left: 600px;
}
.map_contents .map .map_img .box .link1:hover {
  top: -55px;
  left: 608px;
  background-image: url(../images/top/map_sum01.png);
}
.map_contents .map .map_img .box .link2 {
  top: 570px;
  left: 50px;
}
.map_contents .map .map_img .box .link2:hover {
  top: 433px;
  left: -24px;
  background-image: url(../images/top/map_sum02.png);
}
.map_contents .map .map_img .box .link3 {
  top: 235px;
  left: 525px;
}
.map_contents .map .map_img .box .link3:hover {
  top: 100px;
  left: 434px;
  background-image: url(../images/top/map_sum03.png);
}
.map_contents .map .map_img .box .link4 {
  top: 365px;
  left: 85px;
}
.map_contents .map .map_img .box .link4:hover {
  top: 230px;
  left: 23px;
  background-image: url(../images/top/map_sum04.png);
}
.map_contents .map .map_img .box .link5 {
  top: 390px;
  left: 310px;
}
.map_contents .map .map_img .box .link5:hover {
  top: 255px;
  left: 243px;
  background-image: url(../images/top/map_sum05.png);
}
.map_contents .map .map_img .box .link6 {
  top: 343px;
  left: 495px;
}
.map_contents .map .map_img .box .link6:hover {
  top: 205px;
  left: 419px;
  background-image: url(../images/top/map_sum06.png);
}
.map_contents .map .map_img .box .link7 {
  top: 177px;
  left: 247px;
}
.map_contents .map .map_img .box .link7:hover {
  top: 40px;
  left: 234px;
  background-image: url(../images/top/map_sum07.png);
}
.map_contents .map .map_img .box .link8 {
  top: 270px;
  left: 366px;
}
.map_contents .map .map_img .box .link8:hover {
  top: 135px;
  left: 292px;
  background-image: url(../images/top/map_sum08.png);
}
.map_contents .map .map_img .box .link9 {
  top: 100px;
  left: 255px;
}
.map_contents .map .map_img .box .link9:hover {
  top: -35px;
  left: 186px;
  background-image: url(../images/top/map_sum09.png);
}
.map_contents .map .map_img .box .link10 {
  top: 210px;
  right: 310px;
}
.map_contents .map .map_img .box .link10:hover {
  top: 70px;
  right: 232px;
  background-image: url(../images/top/map_sum10.png);
}
.map_contents .map .map_img .box a:hover {
  opacity: 1;
}
.map_contents .map .map_txt {
  position: absolute;
  bottom: 0;
  left: 880px;
}
.map_contents .map .map_txt p {
  margin-bottom: 20px;
  font-size: 15px;
}
.map_contents .map .map_txt p a:hover {
  transition: all 0.4s;
  color: #c50044;
}
.map_contents .map .map_txt p a {
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  .map_contents {
    width: 100%;
    padding-top: 12vw;
    margin: 0;
  }
  .map_contents {
    margin-bottom: 8vw;
  }
  .map_contents .ttl {
    width: 86%;
    margin: 0 auto;
    position: relative;
  }
  .map_contents .ttl h2 {
    font-size: 8vw;
    padding-left: 12vw;
    background-size: 8vw auto;
    background-position: 0 2.5vw;
  }
  .map_contents .ttl h2:after {
    top: 6vw;
    left: 0px;
  }
  .map_contents .ttl .ruby {
    font-size: 2vw;
    position: absolute;
    top: 12vw;
    left: 32.5vw;
  }
  .map_contents .ttl .txt {
    font-size: 3.4vw;
    position: absolute;
    left: 0;
    top: 20vw;
  }
  .map_contents .map {
    width: 90vw;
    height: 130vw;
    margin: 25vw 5vw 0;
  }
  .map_contents .map .map_img img {
    width: 100%;
    left: 0;
  }
  .map_contents .map .map_img .box a {
    width: 15vw;
    height: 4vw;
    display: block;
    position: absolute;
    cursor: pointer;
    opacity: 0;
    background-size: 0;
  }
  .map_contents .map .map_img .box a:hover {
    width: 0;
    height: 0;
    background-repeat: no-repeat;
    background-size: 0 !important;
  }
  .map_contents .map .map_img .box .link1 {
    top: 8vw;
    left: 61vw;
  }
  .map_contents .map .map_img .box .link2 {
    top: 61vw;
    left: 1vw;
  }
  .map_contents .map .map_img .box .link3 {
    top: 25vw;
    left: 53vw;
  }
  .map_contents .map .map_img .box .link4 {
    top: 39vw;
    left: 6vw;
  }
  .map_contents .map .map_img .box .link5 {
    top: 41.5vw;
    left: 31vw;
  }
  .map_contents .map .map_img .box .link6 {
    top: 36.5vw;
    left: 49.5vw;
  }
  .map_contents .map .map_img .box .link7 {
    top: 18.5vw;
    left: 23vw;
  }
  .map_contents .map .map_img .box .link8 {
    top: 28.5vw;
    left: 36vw;
  }
  .map_contents .map .map_img .box .link9 {
    top: 10vw;
    left: 25vw;
  }
  .map_contents .map .map_img .box .link10 {
    top: 21.5vw;
    right: 7.5vw;
  }
  .map_contents .map .map_txt {
    position: absolute;
    top: 85vw;
    left: 0;
  }
  .map_contents .map .map_txt div {
    float: left;
    padding-right: 6vw;
  }
  .map_contents .map .map_txt p {
    margin-bottom: 4vw;
    font-size: 3vw;
  }
}
@media screen and (max-width: 320px) {
  .map_contents .map {
    height: 174vw;
  }
}
/*======================== ABOUT ========================*/
.about_contents {
  width: 100%;
  padding: 100px 0 150px;
  background-color: #f5f5f5;
  position: relative;
}
.about_contents .image01 {
  width: 20%;
  position: absolute;
  top: 300px;
  left: -80px;
  z-index: 1;
}
.about_contents .image02 {
  width: 25%;
  position: absolute;
  top: 70px;
  right: -80px;
  z-index: 1;
}
.about_contents .image03 {
  width: 30%;
  position: absolute;
  top: 425px;
  right: -170px;
  z-index: 1;
}
.about_contents .about {
  width: 1080px;
  margin: 0 auto;
  z-index: 100;
  position: relative;
}
.about_contents .about .ttl {
  position: relative;
  margin-bottom: 40px;
}
.about_contents .about .ttl h2 {
  font-size: 40px;
  padding-left: 70px;
  background-image: url(../images/top/about_icon.png);
  background-repeat: no-repeat;
  background-size: 50px auto;
  background-position: 0 17px;
  color: #333333;
  font-weight: 400;
  margin-left: 40px;
}
.about_contents .about .ttl h2:after {
  content: "";
  display: block;
  height: 2px;
  width: 17px;
  background: #333333;
  position: absolute;
  top: 40px;
  left: 0px;
  overflow: hidden;
}
.about_contents .about .ttl .ruby {
  font-size: 12px;
  position: absolute;
  top: 60px;
  left: 145px;
  font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}
.maps {	
    width: 500px;
    float: left;
  margin-left: 80px;
}
.googlemap {
  width: 500px;
  height: 500px;
  background-color: #FFFFFF;
  margin-bottom: 40px;
}
.googlemap iframe {
  width: 100%;
  height: 100%;
}
.maps_parking {
	width: 100%;
}
.about_contents .about div dl {
  width: 400px;
  padding-left: 75px;
  float: left;
}
.about_contents .about div dt {
  font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-weight: bold;
  font-size: 15px;
  margin-bottom: 10px;
}
.about_contents .about div dd {
  font-size: 15px;
  margin-bottom: 30px;
}
.about_contents .about div dd a {
  text-decoration: none;
  color: #000000;
}
.about_contents .about div dd td a {
  text-decoration: underline;
}
.about_contents .about div dd td a:hover {
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .about_contents {
    padding: 12vw 0 12vw;
    width: 100%;
  }
  .about_contents .image01 {
    width: 30vw;
    position: absolute;
    top: 50vw;
    left: -8vw;
    z-index: 1;
  }
  .about_contents .image02 {
    width: 35vw;
    position: absolute;
    top: 20vw;
    right: -10vw;
    z-index: 1;
  }
  .about_contents .image03 {
    width: 40vw;
    position: absolute;
    top: 90vw;
    right: -10vw;
    z-index: 1;
  }
  .about_contents .about {
    width: 100%;
    margin-bottom: 0;
  }
  .about_contents .about .ttl {
    width: 86%;
    margin: 0 auto 8vw;
    position: relative;
  }
  .about_contents .about .ttl h2 {
    font-size: 8vw;
    padding-left: 12vw;
    background-size: 8vw auto;
    background-position: 0 2.5vw;
  }
  .about_contents .about .ttl h2:after {
    top: 6vw;
    left: 0px;
  }
  .about_contents .about .ttl .ruby {
    font-size: 2vw;
    position: absolute;
    top: 12vw;
    left: 30vw;
  }
.maps {	
    width: 90vw;
    float: none;
  margin-left: 5vw;
}
  .googlemap {
    width: 70vw;
    height: 70vw;
    background-color: #FFFFFF;
    /*margin-left: 15vw;*/
    margin-left: 10vw;
  }
  .about_contents .about div dl {
    width: 80vw;
    padding: 10vw 10vw 0;
    float: none;
  }
  .about_contents .about div dt {
    font-size: 3.2vw;
    margin-bottom: 2vw;
  }
  .about_contents .about div dd {
    font-size: 3.4vw;
    margin-bottom: 10vw;
  }
}
/*************** 2018/08/06 ********************/
#main {
  position: relative;
  height: calc(100vh - 126px);
}
#main ul.slide {
  margin-top: 126px;
}
#main ul.slide li {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: calc(100vh - 126px);
  background-size: 100% auto !important;
  transform: scale(1.3);
  z-index: 1;
  transition: transform 10s linear;
  opacity: 0;
}
#main ul.slide li.active {
  opacity: 1;
  z-index: 1;
  transform: scale(1);
}
#main ul.slide li:nth-child(1) {
  opacity: 1;
}
#main ul.slide li.active2 {
  /*opacity:0 !important;	*/
}
#main ul.slide li:nth-child(1) {
  background: url(../images/top/main01.jpg) no-repeat center center;
}
#main ul.slide li:nth-child(2) {
  background: url(../images/top/main02.jpg) no-repeat center center;
}
#main ul.slide li:nth-child(3) {
  background: url(../images/top/main04.jpg) no-repeat center center;
}
#main ul.slide li:nth-child(4) {
  background: url(../images/top/main04.jpg) no-repeat center center;
}
#main ul.slide li:nth-child(5) {
  background: url(../images/top/main05.jpg) no-repeat center center;
}
#main ul.icon {
  position: absolute;
  left: 25px;
  bottom: 10px;
  z-index: 100;
  width: 15px;
}
#main ul.icon li {
  margin-bottom: 15px;
}
#main ul.icon li a {
  display: block;
  height: 15px;
  background: #FFF;
}
#main ul.icon li.active a {
  background: #000;
}
.menu_btn_list {
  width: 1040px;
  padding: 70px 0;
  margin: 0 auto;
}
.menu_btn_list li {
  width: 320px;
  float: left;
  margin-right: 40px;
}
.menu_btn_list li:last-child {
  margin-right: 0;
}
.menu_btn_list li a {
  display: block;
  background: #000;
  font-size: 23px;
  color: #ffffff;
  text-align: center;
  padding: 5px;
  text-decoration: none;
  transition: all 0.4s;
}
.menu_btn_list li:nth-child(1) a {
  background: url(../images/top/bg_btn01.jpg) no-repeat center center !important;
  background-size: cover !important;
}
.menu_btn_list li:nth-child(2) a {
  background: url(../images/top/bg_btn02.jpg) no-repeat center center !important;
  background-size: cover !important;
}
.menu_btn_list li:nth-child(3) a {
  background: url(../images/top/bg_btn03.jpg) no-repeat center center !important;
  background-size: cover !important;
}
.menu_btn_list li a > span:before {
  content: "";
  display: inline-block;
  background: url(../images/top/icon_menu_right.png) no-repeat left top;
  background-size: 7px 11px;
  width: 7px;
  height: 11px;
  position: relative;
  top: -4px;
  right: 10px;
  transition: all 0.4s;
}
.menu_btn_list li a:hover > span:before {
  right: 5px;
}
.menu_btn_list li a > span {
  display: block;
  border: solid 1px #FFF;
  padding: 35px 0 32px;
}
.menu_btn_list li:last-child {
  margin-right: 0;
}
@media screen and (max-width: 768px) {
  #main {
    position: relative;
    height: calc(100vh - 5vw);
  }
  #main ul.slide {
    margin-top: 5vw;
  }
  #main ul.slide li {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: calc(100vh - 5vw);
    background-size: cover !important;
  }
  #main ul.slide li:nth-child(1) {
    background: url(../images/top/main01_sp.jpg) no-repeat center center;
  }
  #main ul.slide li:nth-child(2) {
    background: url(../images/top/main02_sp.jpg) no-repeat center center;
  }
  #main ul.slide li:nth-child(3) {
    background: url(../images/top/main04_sp.jpg) no-repeat center center;
  }
  #main ul.slide li:nth-child(4) {
    background: url(../images/top/main04_sp.jpg) no-repeat center center;
  }
  #main ul.slide li:nth-child(5) {
    background: url(../images/top/main05_sp.jpg) no-repeat center center;
  }
  #main ul.icon {
    left: 15px;
    bottom: 0px;
  }
  .menu_btn_list {
    width: 84%;
    padding: 8vw 0 8vw;
    margin: 0 auto;
  }
  .menu_btn_list li {
    width: 100%;
    float: none;
    margin-right: 0px;
    margin-bottom: 5vw;
  }
  .menu_btn_list li:last-child {
    margin-bottom: 0;
  }
  .menu_btn_list li a {
    display: block;
    background: #000;
    font-size: 5.2vw;
    color: #ffffff;
    text-align: center;
    padding: 5px;
    text-decoration: none;
    transition: all 0.4s;
  }
  .menu_btn_list li a:hover {
    background: rgba(0, 0, 0, 0.6)
  }
  .menu_btn_list li a > span:before {
    content: "";
    display: inline-block;
    background: url(../images/top/icon_menu_right.png) no-repeat left top;
    background-size: 100% auto;
    width: 2vw;
    height: 4vw;
    position: relative;
    top: 0.4vw;
    right: 10px;
    transition: all 0.4s;
  }
  .menu_btn_list li a:hover > span:before {
    right: 10px;
  }
  .menu_btn_list li a > span {
    display: block;
    border: solid 1px #FFF;
    padding: 5vw 0 4.5vw;
  }
  .menu_btn_list li:last-child {
    margin-right: 0;
  }
}
@media screen and (max-width: 320px) {
  .menu_btn_list {
    padding-top: 16vw;
  }
}
.head_news {
  border: solid 1px #000;
  width: 760px;
  margin: 50px auto 0;
  font-size: 14px;
  padding: 20px 30px;
  text-align: center;
  background: #FFE3DA;
}
@media screen and (max-width: 768px) {
  .head_news {
    border: solid 1px #000;
    width: 90%;
    margin: 8vw auto 10vw;
    font-size: 3.4vw;
    padding: 3vw 6vw;
    box-sizing: border-box;
    text-align: center;
  }
}
.top_news {
  margin-top: 20px;
  background: #fffcf6;
}
.top_news .inner {
  width: 765px;
  margin: 0 auto;
  padding: 40px 0 40px;
  position: relative;
}
/*.top_news .inner:before {
  content: "";
  display: block;
  background: url(../images/top/top_news_icon01.png) no-repeat left top;
  background-size: 100% auto;
  width: 82px;
  height: 185px;
  position: absolute;
  left: -105px;
  bottom: 15px;
}
.top_news .inner:after {
  content: "";
  display: block;
  background: url(../images/top/top_news_icon02.png) no-repeat left top;
  background-size: 100% auto;
  width: 175px;
  height: 204px;
  position: absolute;
  right: -181px;
  bottom: 12px;
}*/
.top_news .inner h2 {
  font-size: 28px;
  color: rgb(0, 0, 0);
  line-height: 1.7;
  text-align: center;
  left: 115px;
}
.top_news .inner p {
  margin-top: 15px;
  font-size: 15px;
  color: rgb(0, 0, 0);
  line-height: 2;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .top_news {
    height: 47vw;
    margin-top: 5vw;
    background: #fffcf6;
  }
  .top_news .inner {
    width: 90%;
    margin: 0 auto;
    padding: 5vw 0;
    position: relative;
  }
  /*.top_news .inner:before {
    content: "";
    display: block;
    background: url(../images/top/top_news_icon01.png) no-repeat left top;
    background-size: 100% auto;
    width: 10vw;
    height: 25vw;
    position: absolute;
    left: -0;
    top: 20vw;
  }*/
   /*.top_news .inner:after {
    content: "";
    display: block;
    background: url(../images/top/top_news_icon02.png) no-repeat left top;
    background-size: 100% auto;
    width: 20vw;
    height: 30vw;
    position: absolute;
    right: -0;
    top: 20vw;
  }*/
  .top_news .inner h2 {
    position: relative;
    font-size: 5.2vw;
    color: rgb(0, 0, 0);
    text-align: center;
    z-index: 2;
    left: 0px;
  }
  .top_news .inner p {
    text-align: center;
    margin-top: 4vw;
    font-size: 3.2vw;
    position: relative;
    z-index: 2;
  }
}
/*************** /2018/08/06 ********************/