@charset "UTF-8";


/* =================== */
/*       pubulic       */
/* =================== */
.slick-slider.slider-box { padding-bottom:0; }
.slick-slider { padding-bottom:1rem; }
.slick-dots {
  display:flex;
  justify-content:center;
  position:relative;
  margin-top:-1.5rem;
}
.slick-dots li {
  width:.5rem !important;
  height:.5rem !important;
  margin:0 .5rem !important;
  padding:0 !important;
  border-radius:100vmax;
  background:#d5d5d5;
}
.slick-dots li:last-child { margin-right:0 !important; }
.slick-dots li.slick-active { background:#6ba831; }
.slick-dots li button { display:none; }

#header { height:45rem; }
.kv-box { height:45rem; }
.kv-box .kv-pic { height:100%; }
.kv-box .kv-pic img { animation:kv-zoom 5s ease 0s forwards; }
@keyframes kv-zoom {
  0% {
    transform:scale(1.1);
    opacity:0;
  }
  100% {
    transform:scale(1);
    opacity:1;
  }
}
h1#page-ttl {
  position:absolute;
  top:22.5rem;
  right:5.5rem;
  text-align:right;
  color:#fff;
  font-weight:400;
}
h1#page-ttl .jp {
  font-size:2.5rem;
  display:block;
}
h1#page-ttl .en {
  font-size:1.3rem;
  display:block;
  margin-top:1rem;
}

.center-h .jp {
  font-size:max(20px, 1.75rem);
  display:block;
  text-align:center;
}
.center-h .jp .mini { font-size:1.5rem; }
.center-h .en {
  font-size:max(13px, 1.2rem);
  display:block;
  text-align:center;
  color:#6ba831;
  margin-top:.5rem;
}

.sec-deco {
  position:relative;
  padding:8rem 0;
}
.sec-deco::before {
  content:"";
  width:48rem;
  height:8.45rem;
  background:url(../img/access/sec_deco1.png) no-repeat;
  background-size:cover;
  position:absolute;
  left:0;
  top:0;
}
.sec-deco::after {
  content:"";
  width:48rem;
  height:8.45rem;
  background:url(../img/access/sec_deco2.png) no-repeat;
  background-size:cover;
  position:absolute;
  right:0;
  bottom:0;
}

.sec-top-txt {
  font-size:max(15px, 1rem);
  line-height:1.75;
  text-align:center;
  margin:1rem auto 2rem;
}

.line-h {
  font-size:max(20px, 1.75rem);
  border-bottom:2px solid #6ba831;
  padding-bottom:.5rem;
}
.line-h.non { border-bottom:0; }

.dflt-layout .main { width:50rem; }
.dflt-layout .txt-box { width:calc(100% - 50rem - 5.5rem); }
.dflt-layout.pic-r .txt-box { padding-left:2rem; }
.dflt-layout.pic-l .main { order:1; }
.dflt-layout.pic-l .txt-box { order:2; padding-right:2rem; }
.dflt-layout .txt-box .layout-ttl { margin-bottom:2rem; }
.dflt-layout .txt-box .layout-ttl .jp {
  display:block;
  font-size:1.75rem;
  text-align:center;
}
.dflt-layout .txt-box .layout-ttl .en {
  font-size:max(13px, 1.2rem);
  display:block;
  text-align:center;
  color:#6ba831;
  margin-top:.5rem;
}

.pic4-box {
  margin:2rem auto 5rem;
  justify-content:flex-start;
}
.pic4-box img {
  width:calc((100% - 3rem) / 4);
  margin-right:1rem;
}
.pic4-box img:last-child { margin-right:0; }

.two-box li { width:calc((100% - 5rem) / 2); }
.two-box li h4 { padding:1rem .5rem 0; }
.two-box li h4 .jp {
  display:block;
  font-size:1.75rem;
}
.two-box li h4 .en {
  font-size:max(13px, 1.2rem);
  display:block;
  color:#6ba831;
  margin-top:.5rem;
}

@media screen and (max-width: 960px) {
  .dflt-layout { max-width:700px; }
  .dflt-layout .txt-box { width:calc(100% - 45rem - 3.5rem); }
  .dflt-layout .main { width:45rem; }
  .pic4-box { max-width:700px; }
  .two-box { max-width:700px; }
  .dflt-layout .txt-box .sub.sp-on { margin-bottom:15px; display:block; }
}

@media screen and (max-width: 750px) {
  #header { height:auto; }
  .kv-box { height:auto; }
  h1#page-ttl { top:85px; line-height:1; right:30px; }
  .sec-deco { padding:60px 0; }
  .sec-deco::before { width:300px; height:53px; }
  .sec-deco::after { width:300px; height:53px; }
  .sec-top-txt { width:86.6%; padding:0 15px; text-align:left; line-height:1.66; }
  .dflt-layout { display:block; width:93.3%; }
  .dflt-layout .txt-box { width:100%; padding:0 !important; }
  .dflt-layout .txt-box .sub.sp-on { width:125px; margin:0 auto 15px; display:block; }
  .dflt-layout .main { width:100%; }
  .pic4-box { flex-wrap:wrap; margin-top:15px; margin-bottom:40px; width:93.3%; }
  .pic4-box img { width:calc((100% - 8px) / 2); margin-bottom:8px; margin-right:8px; }
  .pic4-box img:nth-child(2n) { margin-right:0; }
  .two-box { display:block; width:93.3%; }
  .two-box li { width:100%; display:flex; flex-wrap:wrap; margin-bottom:30px; }
  .two-box li .main { width:100%; order:2; margin-top:15px; }
  .two-box li h4 { padding:0; text-align:center; width:100%; }
}












/* =================== */
/*       body.access       */
/* =================== */
body.access .bk-box {
  background:url(../img/access/bk.jpg) no-repeat;
  background-size:cover;
  padding-top:7.5rem;
  padding-bottom:5rem;
}
body.access .bk-box .map-box {
  height:35rem;
  margin-bottom:3rem;
}
body.access .bk-box .map-box iframe {
  width:100%;
  height:100%;
}
body.access .bk-box .map-add-box {
  justify-content:center;
  margin-bottom:4.5rem;
}
body.access .bk-box .map-add-box .map-logo {
  width:12.75rem;
  margin-right:4.5rem;
}
body.access .bk-box .map-add-box address {
  font-size:max(15px, 1rem);
  line-height:1.5;
}
body.access .bk-box ul { align-items:flex-start; }
body.access .bk-box ul li { width:calc((100% - 4rem) / 3); }
body.access .bk-box ul li .txt-box { padding:1rem .75rem 0; }
body.access .bk-box ul li .txt-box .name .jp {
  font-size:max(20px, 1.5rem);
  display:block;
}
body.access .bk-box ul li .txt-box .name .en {
  font-size:max(13px, 1.2rem);
  color:#6ba831;
  display:block;
  margin-top:.5rem;
}
body.access .bk-box ul li .txt-box .txt {
  font-size:max(15px, 1rem);
  line-height:1.75;
  margin-top:1rem;
}
body.access #sec1 dl { margin-bottom:3rem; }
body.access #sec1 dl .line {
  display:flex;
  padding:1rem 2rem;
  border-bottom:1px solid #bbb;
  font-size:max(16px, 1.1rem);
  position:relative;
  align-items:center;
  line-height:1.2;
}
body.access #sec1 dl dt { font-weight:600; }
body.access #sec1 dl dd { color:#6ba831; }
body.access #sec1 .dl1 dt { width:20em; }
body.access #sec1 .dl1 dd { width:calc(100% - 20em); }
body.access #sec1 .dl2 dt { width:37em; }
body.access #sec1 .dl2 .line { padding-right:11rem; }
body.access #sec1 .dl2 dd { width:calc(100% - 37em); }
body.access #sec1 .dl2 dd.arrow {
  width:4.1rem;
  position:absolute;
  right:2rem;
  transition:0.5s ease all;
}
body.access #sec1 .dl2 dd.arrow:hover { right:1.5rem; }
body.access #sec1 ul.link-list { margin:.5rem auto 2rem; }
body.access #sec1 ul.link-list li { width:calc((100% - 4rem) / 3); }
body.access #sec1 ul.link-list li a:hover { opacity:.5; }
body.access #sec1 .bnr {
  width:25rem;
  margin:0 auto;
}
body.access #sec1 .bnr a:hover { opacity:.5; }
body.access #sec2 { margin-top:7rem; }
body.access #sec2 .bnr {
  width:25rem;
  margin:0 auto;
}
body.access #sec2 .bnr a:hover { opacity:.5; }
body.access #sec2 ul.list {
  flex-wrap:wrap;
  align-items:flex-start;
  margin-top:2rem;
}
body.access #sec2 ul.list > li {
  margin-bottom:3.5rem;
  width:calc((100% - 3rem) / 2);
}
body.access #sec2 ul.list > li .txt-box { padding:1rem 1rem 0; }
body.access #sec2 ul.list > li .txt-box h3 { font-size:max(20px, 1.5rem); }
body.access #sec2 ul.list > li .txt-box .time {
  color:#6ba831;
  font-size:max(15px, 1rem);
  margin:.8rem 0 .5rem;
}
body.access #sec2 ul.list > li .txt-box .txt {
  font-size:max(15px, 1rem);
  line-height:1.75;
  margin-bottom:1rem;
}
body.access #sec2 ul.list > li .txt-box .arrow-btn a {
  width:14rem;
  line-height:2.5rem;
  margin:0 auto;
}
body.access #sec2 ul.list > li .txt-box .arrow-btn a::after { top:.4rem; }

@media screen and (max-width: 1400px) {
  body.access #sec1 .dl2 dd { width:5em; }
  body.access #sec1 .dl2 dt { width:calc(100% - 5em); }
}
@media screen and (max-width: 750px) {
  body.access .bk-box { padding-top:60px; background:url(../img/access/bk_sp.jpg) no-repeat; background-size:cover; }
  body.access .bk-box .map-box { height:250px; }
  body.access .bk-box .map-add-box { display:block; margin-bottom:35px; }
  body.access .bk-box .map-add-box .map-logo { margin:0 auto 10px; }
  body.access .bk-box .map-add-box address { text-align:center; }
  body.access .bk-box ul { display:block; width:63%; }
  body.access .bk-box ul li { width:100%; margin-bottom:20px; }
  body.access .bk-box ul li .txt-box .txt { line-height:1.33; }
  body.access #sec1 dl .line { display:block; }
  body.access #sec1 dl dd { margin-top:5px; }
  body.access #sec1 .dl1 dt { width:100%; }
  body.access #sec1 .dl1 dd { width:100%; }
  body.access #sec1 .dl2 dt { width:100%; }
  body.access #sec1 .dl2 dd { width:100%; }
  body.access #sec1 .dl2 .line { padding-right:70px; }
  body.access #sec1 .dl2 dd.arrow { top:0; bottom:0; height:20px; margin:auto 0; }
  body.access #sec1 ul.link-list { display:block; width:100%; }
  body.access #sec1 ul.link-list li { width:100%; margin-bottom:15px; }
  body.access #sec2 ul.list { display:block; }
  body.access #sec2 ul.list > li { width:100%; }
  body.access #sec2 ul.list > li .txt-box .txt { line-height:1.66; }
  body.access #sec2 ul.list > li .txt-box .arrow-btn a { width:170px; line-height:35px; }
  body.access #sec2 ul.list > li .txt-box .arrow-btn a::after { top:10px; }
}









/* =================== */
/*       body.cuisine       */
/* =================== */
body.cuisine #top-box {
  background:url(../img/cuisine/top_bk.jpg) no-repeat center;
  background-size:cover;
  padding:7rem 0;
}
body.cuisine #top-box .txt {
  font-size:max(15px, 1.1rem);
  line-height:2.27;
  text-align:center;
}
body.cuisine #top-box .att {
  font-size:max(15px, 1rem);
  width:31rem;
  min-width:450px;
  margin:2rem auto 0;
  line-height:1.5;
  text-indent:-1em;
  padding-left:1em;
}
body.cuisine main h2 {
  font-size:2rem;
  text-align:center;
  margin-bottom:3rem;
}
body.cuisine main h3 .jp { font-size:1.75rem; }
body.cuisine main section {
  padding-top:6.5rem;
  position:relative;
}
body.cuisine main section::before {
  content:"";
  width:48rem;
  height:8.45rem;
  background:url(../img/access/sec_deco1.png) no-repeat;
  background-size:cover;
  position:absolute;
  left:0;
  top:0;
}
body.cuisine #art2 { margin-top:6rem; }
body.cuisine #sec1 { margin-bottom:7rem; }
body.cuisine #sec2 {
  background:url(../img/cuisine/bg_2.jpg) repeat-y;
  background-size:100% auto;
  padding-bottom:6rem;
}
body.cuisine #sec2 h3 .jp { font-size:max(16px, 1.25rem); }
body.cuisine #sec3 { padding-bottom:6rem; }
body.cuisine #sec4 {
  background:url(../img/cuisine/bg_3.jpg) repeat-y;
  background-size:100% auto;
  padding-bottom:6rem;
}
body.cuisine #sec4::before { display:none; }
body.cuisine #sec4 h2 {
  font-size:1.75rem;
  margin-bottom:0;
}
body.cuisine #sec4 h2::after {
  content:"";
  width:30rem;
  min-width:340px;
  height:2px;
  background:#6ba831;
  display:block;
  margin:1rem auto 0;
}
body.cuisine #sec4 dl {
  width:30rem;
  min-width:340px;
  margin:0 auto 5rem;
}
body.cuisine #sec4 dl .line {
  display:flex;
  justify-content:space-between;
  padding:1rem 7rem;
  border-bottom:1px solid #bbbbbb;
  font-size:max(15px, 1.1rem);
}
body.cuisine #sec4 dl .line dt {
  color:#6ba831;
  font-weight:600;
}
body.cuisine #sec4 dl .line dd { width:calc(100% - 5em); }
body.cuisine #sec4 h3 {
  font-size:1.75rem;
  text-align:center;
}
body.cuisine #sec4 .txt {
  font-size:max(15px, 1rem);
  text-align:center;
}
body.cuisine #sec4 .txt1 { margin:1.5rem 0; }
body.cuisine #sec4 .txt2 { margin-top:1rem; }
body.cuisine #sec4 .tel a {
  width:17.5rem;
  line-height:3.5rem;
  background:#6ba831;
  border-radius:100vmax;
  color:#fff;
  font-size:max(17px, 1.5rem);
  display:block;
  margin:0 auto;
  text-align:center;
}
body.cuisine #sec4 .tel a span { font-size:max(15px, 1.25rem); }
body.cuisine #sec4 .tel a:hover { opacity:.5; }
body.cuisine #sec5 { padding-bottom:9.5rem; }
body.cuisine #sec5 h2 { margin-bottom:2rem; }
body.cuisine #sec5 .main {
  width:50rem;
  margin:0 auto;
}

@media screen and (max-width: 960px) {
  body.cuisine #sec4 .txt1 .sp-on { display:none; }
}
@media screen and (max-width: 750px) {
  body.cuisine #top-box {
    background:url(../img/cuisine/top_bk_sp.jpg) no-repeat center;
    background-size:cover;
    padding:50px 0;
  }
  body.cuisine #top-box .txt { width:86.6%; padding:0 15px; line-height:1.66; text-align:left; margin:0 auto; }
  body.cuisine #top-box .att { width:86.6%; padding:0 15px 0 calc(15px + 1em); font-size:13px; min-width:inherit; }
  body.cuisine main section { padding-top:60px; }
  body.cuisine main section::before { width:300px; height:53px; }
  body.cuisine #sec4 h2::after { width:86.6%; min-width:inherit; }
  body.cuisine #sec4 dl { width:86.6%; min-width:inherit; }
  body.cuisine #sec4 dl .line { padding:10px 50px; }
  body.cuisine #sec4 .txt { line-height:1.66; }
  body.cuisine #sec4 .txt1 .sp-on { display:inherit; }
  body.cuisine #sec4 .tel a { width:200px; line-height:40px; }
  body.cuisine #sec5 .main { width:93.3%; }
}









/* =================== */
/*       body.facilities       */
/* =================== */
body.facilities #top-box {
  background:url(../img/facilities/top_bk.jpg) no-repeat center;
  background-size:cover;
  padding:7rem 0;
}
body.facilities #top-box .big-txt {
  font-size:max(20px, 1.5rem);
  text-align:center;
  margin-bottom:1.5rem;
}
body.facilities #top-box .txt {
  font-size:max(15px, 1.1rem);
  line-height:2.27;
  text-align:center;
}
body.facilities #top-box .bdr-box {
  width:32.5rem;
  min-width:500px;
  border:1px solid #fff;
  padding:1.5rem 0;
  margin:3rem auto 0;
}
body.facilities #top-box .bdr-box .txt1 {
  font-size:max(17px, 1.25rem);
  text-align:center;
}
body.facilities #top-box .bdr-box .txt2 {
  font-size:max(15px, 1rem);
  line-height:1.75;
  text-align:center;
  margin:1rem auto;
}
body.facilities #top-box .bdr-box .tel a {
  width:17.5rem;
  line-height:2.5rem;
  background:#6ba831;
  border-radius:100vmax;
  color:#fff;
  font-size:max(17px, 1.5rem);
  display:block;
  margin:0 auto;
  text-align:center;
}
body.facilities #top-box .bdr-box .tel a span { font-size:max(15px, 1.25rem); }
body.facilities main section {
  padding-top:6.5rem;
  position:relative;
}
body.facilities main section::before {
  content:"";
  width:48rem;
  height:8.45rem;
  background:url(../img/access/sec_deco1.png) no-repeat;
  background-size:cover;
  position:absolute;
  left:0;
  top:0;
}
body.facilities .dflt-layout dl {
  margin-left:1.5rem;
  margin-bottom:2rem;
}
body.facilities .dflt-layout .line {
  display:flex;
  align-items:center;
  font-size:max(13px, 1rem);
  margin-bottom:.5rem;
}
body.facilities .dflt-layout .line dt {
  padding:.3rem 0;
  background:#fbf8d9;
  width:5.5rem;
  text-align:center;
  margin-right:1rem;
}
body.facilities #art5 .txt {
  font-size:max(15px, 1.1rem);
  line-height:1.59;
  margin:1rem 2rem;
}
body.facilities #art6 { margin-bottom:7.5rem; margin-top:5rem; }
body.facilities #art6 .line {
  display:flex;
  padding:1rem 2rem;
  border-bottom:1px solid #bbbbbb;
  font-size:max(15px, 1.1rem);
  line-height:1.5;
}
body.facilities #art6 .line dt { color:#6ba831; width:12em; }
body.facilities #art6 .line dd { width:calc(100% - 12em); }
body.facilities #sec2 {
  background:url(../img/cuisine/bg_2.jpg) repeat-y;
  background-size:100% auto;
  padding-bottom:6rem;
}
body.facilities #sec2 h2 .jp { font-size:2rem; }
body.facilities #sec2 h3 .jp {
  font-size:1.75rem;
  margin-top:2.5rem;
}
body.facilities #sec2 dl {
  width:35rem;
  margin:0 auto;
  min-width:500px;
}
body.facilities #sec2 .line {
  display:flex;
  align-items:center;
  font-size:max(15px, 1rem);
  margin-bottom:.5rem;
}
body.facilities #sec2 .line dt {
  background:#fff;
  padding:.5rem 1rem;
  margin-right:1rem;
}
body.facilities #sec2 ul.list1 { margin:2rem auto 7rem; }
body.facilities #sec2 ul.list1 .name {
  font-size:1.75rem;
  text-align:center;
  margin-top:1.5rem;
}
body.facilities #sec2 ul.list2 { align-items:flex-start; }
body.facilities #sec2 ul.list2 .name .jp {
  font-size:1.75rem;
  display:block;
}
body.facilities #sec2 ul.list2 .name .en {
  font-size:max(13px, 1.2rem);
  color:#6ba831;
  display:block;
  margin-top:.5rem;
}
body.facilities #sec2 ul.list2 .txt {
  font-size:max(15px, 1.1rem);
  line-height:1.33;
  margin-top:1rem;
}
body.facilities #sec2 ul.list2 .txt-box { margin:1.5rem 1rem 0; }
body.facilities #sec2 #art8 { margin-top:7rem; margin-bottom:2rem; }
body.facilities #sec2 #art8 > ul { margin-top:2rem; align-items:flex-start; }
body.facilities #sec2 #art8 ul li { width:calc((100% - 3rem) / 4); }
body.facilities #sec2 #art8 ul li .name { padding:1rem .5rem 0; }
body.facilities #sec2 #art8 ul li .name .jp {
  font-size:1.5rem;
  display:block;
}
body.facilities #sec2 #art8 ul li .name .jp .mini { font-size:1rem; }
body.facilities #sec2 #art8 ul li .name .en {
  font-size:max(13px, 1.2rem);
  color:#6ba831;
  display:block;
  margin-top:.5rem;
}

@media screen and (max-width: 1000px) {
  body.facilities .dflt-layout dl { margin-left:0; }
}
@media screen and (max-width: 960px) {
  body.facilities .dflt-layout .line { display:block; margin-bottom:10px; }
  body.facilities .dflt-layout .line dt { width:100%; margin-bottom:5px; text-align:center; }
  body.facilities .dflt-layout .line dd { text-align:center; }
  body.facilities .sec-top-txt .pc-on { display:inherit; }
  body.facilities #top-box .bdr-box .sp-on { display:none; }
}
@media screen and (max-width: 750px) {
  body.facilities #top-box {
    background:url(../img/facilities/top_bk_sp.jpg) no-repeat center;
    background-size:cover;
    padding:50px 0;
  }
  body.facilities #top-box .txt { width:86.6%; padding:0 15px; line-height:1.66; text-align:left; margin:0 auto; }
  body.facilities #top-box .big-txt { font-size:18px; }
  body.facilities #top-box .bdr-box { width:calc(86.6% - 30px); min-width:inherit; }
  body.facilities #top-box .bdr-box .sp-on { display:inherit; }
  body.facilities #top-box .bdr-box .tel a { line-height:30px; width:190px; }
  body.facilities .dflt-layout dl { width:50%; margin:0 auto 20px; }
  body.facilities .dflt-layout .line { font-size:15px; }
  body.facilities #art5 .txt { line-height:1.66; }
  body.facilities #art6 .line { display:block; }
  body.facilities #art6 .line dt { width:100%; text-align:center; margin-bottom:5px; }
  body.facilities #art6 .line dd { width:100%; }
  body.facilities #art7 .sec-top-txt { width:100%; }
  body.facilities #sec2 dl { width:100%; min-width:inherit; }
  body.facilities #sec2 .line { display:block; margin-bottom:10px; line-height:1.5; }
  body.facilities #sec2 .line dt { text-align:center; margin-bottom:5px; margin-right:0; }
  body.facilities .two-box li { display:block; }
  body.facilities #sec2 #art8 > ul { flex-wrap:wrap; display:block; width:70%; }
  body.facilities #sec2 #art8 > ul > li { width:100%; margin-bottom:30px; }


}
