@charset "UTF-8";


/* =================== */
/*       pubulic       */
/* =================== */
.slick-slider { padding-bottom:1rem; }
.slick-dots {
  display:flex;
  justify-content:center;
  position:relative;
  margin-top:-1.3rem;
}
.slick-dots li {
  width:.45rem !important;
  height:.45rem !important;
  margin:0 .45rem !important;
  padding:0 !important;
  border-radius:100vmax;
  border:1px solid #fff;
}
.slick-dots li.slick-active { background:#3d62ad; border:0; }
.slick-dots li button { display:none; }

.kv-box { margin-bottom:8.5rem; }
.kv-box .kv-pic { height:39rem; border-radius:2.5rem; }
.kv-box #page-ttl { margin:0 auto 3rem; padding-top:3rem; }
.kv-box .deco1 {
  width:11.2rem;
  position:absolute;
  top:4rem;
  left:20rem;
}
.kv-box .deco2 {
  width:20.9rem;
  position:absolute;
  bottom:-3.5rem;
  right:-3.5rem;
}

.center-h { margin:0 auto 2rem; }
.center-h::before {
  content:"";
  width:3.35rem;
  height:3.1rem;
  background:url(../img/ttl_deco.png) no-repeat;
  background-size:contain;
  display:block;
  margin:0 auto .5rem;
}
.center-h.wht::before {
  background:url(../img/facilities/deco_wht1.png) no-repeat;
  background-size:contain;
}

main {
  background:url(../img/facilities/bg.png) no-repeat center top 10rem;
  background-size:100% auto;
}

.layout.pic-r .main { order:2; }
.layout.pic-r .txt-box { order:1; }
.layout .main { width:50rem; }
.layout .txt-box { width:calc(100% - 4.5rem - 50rem); }
.layout .txt-box .layout-ttl {
  font-size:max(20px, 1.75rem);
  font-weight:bold;
  letter-spacing:.1em;
}
.layout .txt-box .layout-ttl .clr { font-size:2.5rem; color:#fb5a03; }
.layout .txt-box .deco1 {
  width:4.9rem;
  margin-left:-3rem;
  margin-bottom:.5rem;
}
.layout .txt-box .deco2 {
  width:8.5rem;
  margin-left:calc(100% - 8.5rem + 3.5rem);
  margin-top:.5rem;
}
.layout .txt-box .num {
  font-size:max(15px, 1.1rem);
  margin:3rem 0 1.5rem;
}
.layout .txt-box .num span {
  color:#fff;
  font-weight:bold;
  padding:.1rem .5rem .2rem;
  background:#3d62ad;
  border-radius:.25rem;
  margin-right:1rem;
}
.layout .txt-box .txt {
  line-height:1.8;
  font-size:max(15px, 1.1rem);
}

.pic3-box { margin-top:2rem; flex-wrap:wrap; }
.pic3-box .box { width:calc((100% - 4rem) / 3); }

@media screen and (max-width: 960px) {
  main { background-size:960px auto; }
  .layout .main { width:45rem; }
  .layout .txt-box { width:calc(100% - 3rem - 45rem); }
}
@media screen and (max-width: 750px) {
  main {
    background: url(../img/facilities/bg_sp.png) no-repeat center top 6rem;
    background-size:100% auto;
  }
  .kv-box { margin-bottom:30px; }
  .kv-box .kv-pic { height:auto; border-radius:1.5rem; }
  .kv-box .deco1 { width:90px; left:-10px; top:30px; }
  .kv-box .deco2 { width:124px; right:-15px; bottom:-20px; }
  .kv-box #page-ttl { padding-top:10px; margin-bottom:10px; }

  .layout { display:block; }
  .layout .main { width:100%; }
  .layout .txt-box { width:100%; padding:0 20px; margin-top:-30px; }
  .layout .txt-box .txt { line-height:1.66; }
  .layout .txt-box .deco2 { margin-left:calc(100% - 8.5rem + 3.5rem); margin-top:-20px; position:relative; z-index:1; }
  .pic3-box { justify-content:center; }
  .pic3-box .box { width:calc((100% - 10px) / 2); margin-bottom:10px; margin-right:10px; }
  .pic3-box .box:nth-child(2n) { margin-right:0; }
}








/* =================== */
/*       body.access       */
/* =================== */
body.access #page-ttl { width:29.1rem; }
body.access main {
  background:url(../img/access/bg.png) no-repeat center top 10rem;
  background-size:100% auto;
}
body.access #map-box {
  height:35rem;
  border-radius:2.5rem;
  overflow:hidden;
}
body.access #map-box iframe {
  width:100%;
  height:100%;
}
body.access .map-add-box {
  justify-content:center;
  align-items:flex-start;
  margin-top:2.5rem;
}
body.access .map-add-box .map-logo { width:10rem; }
body.access .map-add-box address {
  font-size:max(15px, 1.1rem);
  color:#fff;
  line-height:1.5;
  margin-left:3rem;
}
body.access .map-add-box address .name { font-weight:bold; margin-bottom:.2rem; }
body.access .map-add-box address .mt { margin-top:.5rem; }
body.access .map-add-box .deco1 {
  width:4.9rem;
  position:absolute;
  left:7.5rem;
  top:-2rem;
}
body.access .map-add-box .deco2 {
  width:8.5rem;
  position:absolute;
  right:7.5rem;
  bottom:-1rem;
}
body.access #sec1 { margin:10rem auto 6.5rem; }
body.access #sec1 h2 { width:16.55rem; }
body.access #sec1 li {
  display:flex;
  justify-content:space-between;
  border-bottom:1px solid #3d62ad;
  padding:1rem 8rem 1rem 3rem;
  font-size:max(15px, 1.25rem);
}
body.access #sec1 li .name { font-weight:bold; }
body.access #sec1 li .name::before {
  content:"●";
  font-size:60%;
  color:#bbe2f1;
  margin-right:.5rem;
}
body.access #sec2 h2 { width:29.3rem; }
body.access #sec2 li {
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid #3d62ad;
  padding:4rem 3rem;
}
body.access #sec2 li:first-child { padding-top:0; }
body.access #sec2 li .pic { width:37.5rem; position:relative; }
body.access #sec2 li .pic .deco2 {
  position:absolute;
  right:-2rem;
  bottom:.5rem;
  width:8.5rem;
}
body.access #sec2 li .txt-box { width:calc(100% - 37.5rem - 6rem); }
body.access #sec2 li .txt-box h3 {
  font-size:max(20px, 1.75rem);
  font-weight:bold;
  letter-spacing:.1em;
}
body.access #sec2 li .txt-box .deco1 {
  width:4.9rem;
  margin-left:-3rem;
  margin-bottom:.5rem;
}
body.access #sec2 li .txt-box .time { margin:1.5rem 0 1rem; }
body.access #sec2 li .txt-box .time span {
  font-size:max(15px, 1.1rem);
  color:#fff;
  font-weight:bold;
  border-radius:.25rem;
  background:#3d62ad;
  padding:.3rem 0 .4rem;
  width:max(70px, 5.5rem);
  text-align:center;
  display:block;
}
body.access #sec2 li .txt-box .txt {
  font-size:max(15px, 1.1rem);
  line-height:1.8;
  margin-bottom:2rem;
}
body.access #sec2 li .txt-box .btn a {
  width:20rem;
  padding:1.4rem 0 1.3rem;
  border-radius:100vmax;
  background:#3d62ad;
  display:block;
  text-align:center;
  margin:0 auto;
}
body.access #sec2 li .txt-box .btn a img { width:14.2rem; }
body.access #sec2 li .txt-box .btn a:hover { opacity:.5; }


@media screen and (max-width: 960px) {
  body.access .map-add-box address .pc-on { display:initial; }
  body.access .map-add-box address .sp-on { display:none; }
  body.access #sec1 { max-width:650px; }
  body.access #sec2 { max-width:750px; }
  body.access #sec2 li { padding:1rem 1rem 3rem; }
  body.access #sec2 li .pic { width:35rem; }
  body.access #sec2 li .txt-box { width:calc(100% - 35rem - 3rem); }
  body.access #sec2 li .txt-box .txt { line-height:1.66; }
  body.access main { background-size:960px auto; }
}
@media screen and (max-width: 750px) {
  body.access main {
    background: url(../img/access/bg_sp.png) no-repeat center top 8rem;
    background-size:100% auto;
  }
  body.access #map-box { height:200px; border-radius:1.5rem; }
  body.access .map-add-box { display:block; margin-top:20px; }
  body.access .map-add-box .map-logo { margin:0 auto 10px; }
  body.access .map-add-box address { margin-left:0; text-align:center; }
  body.access .map-add-box address .pc-on { display:none; }
  body.access .map-add-box address .sp-on { display:initial; }
  body.access .map-add-box .deco1 { left:-15px; }
  body.access .map-add-box .deco2 { bottom:initial; top:-30px; right:-15px; }
  body.access #sec1 { margin-top:50px; margin-bottom:45px; }
  body.access #sec1 li { display:block; padding:10px; }
  body.access #sec1 li .time { margin-left:14px; margin-top:5px; }
  body.access #sec2 { margin-bottom:50px; }
  body.access #sec2 li { display:block; padding:20px 10px; }
  body.access #sec2 li .pic { width:100%; }
  body.access #sec2 li .txt-box { width:100%; padding:0 20px; margin-top:-35px; }
}








/* =================== */
/*       body.facilities       */
/* =================== */
body.facilities #page-ttl { width:15.6rem; }
body.facilities #sec1 h2 { width:6.1rem; }
body.facilities #sec2 h2 { width:9.6rem; }
body.facilities #sec3 h2 { width:6.7rem; }
body.facilities #art2 { margin:6rem auto; }
body.facilities #art3 .layout .txt-box .layout-ttl { font-size:2.5rem; }
body.facilities #art4 { margin:4.5rem auto 7rem; min-width:700px; }
body.facilities #art4 h4 { width:15.4rem; }
body.facilities #art4 .txt {
  border-top:2px solid #3d62ad;
  border-bottom:2px solid #3d62ad;
  text-align:center;
  padding:1.5rem 0;
  margin-top:-1rem;
  font-size:max(15px, 1.1rem);
}
body.facilities #sec2 {
  background:url(../img/facilities/sec2_bg.jpg) no-repeat;
  background-size:cover;
  border-radius:2.5rem;
  padding:5.5rem 0;
}
body.facilities #sec2 .pic-box {
  width:40rem;
  margin:0 auto;
  position:relative;
}
body.facilities #sec2 .pic-box .deco1 {
  width:4.9rem;
  position:absolute;
  left:-5rem;
  bottom:-.5rem;
}
body.facilities #sec2 .pic-box .deco2 {
  width:8.5rem;
  position:absolute;
  right:-5rem;
  bottom:-.5rem;
}
body.facilities #sec2 .txt {
  font-size:max(15px, 1.1rem);
  margin:2rem 0 1.5rem;
  text-align:center;
}
body.facilities #sec2 .time {
  font-size:max(15px, 1.1rem);
  text-align:center;
}
body.facilities #sec2 .time span {
  color:#fff;
  font-weight:bold;
  padding:.1rem .5rem .2rem;
  background:#3d62ad;
  border-radius:.25rem;
  margin-right:1rem;
}
body.facilities #sec3 { margin:6rem auto; }
body.facilities #sec3 li { margin-bottom:3rem; width:calc((100% - 2rem) / 2); }
body.facilities #sec3 li .name {
  font-size:1.75rem;
  font-weight:bold;
  text-align:center;
  display:flex;
  justify-content:center;
  align-items:center;
  padding-right:4rem;
}
body.facilities #sec3 li .name::before {
  content:"";
  width:3.5rem;
  height:3.5rem;
  background:url(../img/ttl_deco2.png) no-repeat;
  background-size:contain;
  display:block;
  margin-right:.5rem;
}

@media screen and (max-width: 960px) {
  body.facilities #sec2 .time .sp-on { display:none; }
}
@media screen and (max-width: 750px) {
  body.facilities #art1 .pic3-box { margin-top:-20px; }
  body.facilities #art2 { margin:40px auto; }
  body.facilities #art4 { min-width:initial; margin:2.5rem auto 5rem; }
  body.facilities #art4 .txt { text-align:left; line-height:1.66; }
  body.facilities #sec2 { border-radius:1.5rem; padding:20px 15px 30px; }
  body.facilities #sec2 .pic-box { width:100%; }
  body.facilities #sec2 .txt { padding:0 20px; text-align:left; }
  body.facilities #sec2 .time { padding:0 20px; display:flex; align-items:baseline; text-align:left; line-height:1.66; }
  body.facilities #sec2 .time span { width:8em; text-align: center; padding:4px 7px 5px; }
  body.facilities #sec2 .time .sp-on { display:initial; }
  body.facilities #sec2 .pic-box .deco2 { right:-1.5rem; }
  body.facilities #sec2 .pic-box .deco1 { left:-1.5rem; }
  body.facilities #sec3 li { margin-bottom:20px; }
  body.facilities #sec3 li .name { padding-right:2rem; }
}








/* =================== */
/*       body.cuisine       */
/* =================== */
body.cuisine #page-ttl { width:6.15rem; }
body.cuisine #sec1 h2 { width:6.05rem; }
body.cuisine #sec2 h2 { width:16.6rem; }
body.cuisine #sec2 { margin:7rem auto; }
body.cuisine #art1 .pic3-box .box { margin-bottom:2rem; }

@media screen and (max-width: 750px) {
  body.cuisine .pic3-box { margin-top:-20px; }
  body.cuisine #sec2 { margin-top:30px; }
  body.cuisine #art1 .pic3-box .box { margin-bottom:10px; }
}









/* =================== */
/*       body.price       */
/* =================== */
body.price #page-ttl { width:6.85rem; }
body.price #sec1 h2 { width:12.75rem; }
body.price #sec1 ul {
  width:50rem;
  margin:0 auto 1rem;
}
body.price #sec1 li {
  display:flex;
  justify-content:space-between;
  border-bottom:1px solid #3d62ad;
  padding:1rem 8rem 1rem 2rem;
  font-size:max(15px, 1.25rem);
}
body.price #sec1 li .name { font-weight:bold; }
body.price #sec1 li .name::before {
  content:"●";
  font-size:60%;
  color:#bbe2f1;
  margin-right:.5rem;
}
body.price #sec1 .att {
  font-size:max(15px, 1.1rem);
  line-height:1.6;
  width:50rem;
  margin:0 auto;
  padding:0 2rem;
}
body.price #sec2  { margin-bottom:15rem; }
body.price #sec2 .in-box {
  background: url(../img/facilities/sec2_bg.jpg) no-repeat;
  background-size: cover;
  border-radius: 2.5rem;
  padding: 5.5rem 0 25rem;
  margin-top:5rem;
}
body.price #sec2 h2 { width:23.85rem; }
body.price #sec2 .txt {
  font-size:max(15px, 1.1rem);
  text-align:center;
}
body.price #sec2 ul {
  width:50rem;
  margin:2rem auto 0;
}
body.price #sec2 li {
  display:flex;
  justify-content:space-between;
  border-bottom:1px solid #fff;
  padding:1rem 8rem 1rem 2rem;
  font-size:max(15px, 1.25rem);
}
@media screen and (max-width: 600px){
    body.price #sec1 li,
    body.price #sec2 li {
      padding:1rem 2rem;  
    }
}
body.price #sec2 li .name { font-weight:bold; }
body.price #sec2 li .name::before {
  content:"●";
  font-size:60%;
  color:#fff;
  margin-right:.5rem;
}
body.price #sec2 .pic-box { margin-top:-21.5rem; }
body.price #sec2 .pic-box .pic { width:calc((100% - 5rem) / 3); }

@media screen and (max-width: 960px) {
  body.price #sec2 .in-box { max-width:600px; }
  body.price #sec2 .txt .sp-on { display:none; }
}
@media screen and (max-width: 750px) {
  body.price #sec1 ul { width:86.6%; }
  body.price #sec1 .att { width:86.6%; text-indent:-1em; padding-left:calc(1em + 2rem); }
  body.price #sec2 .txt .sp-on { display:initial; }
  body.price #sec2 .txt { line-height:1.66; }
  body.price #sec2 {
    background: url(../img/facilities/sec2_bg.jpg) no-repeat;
    background-size: cover;
    border-radius: 2.5rem;
    width:86.6%;
    margin:50px auto 0;
    padding:40px 0 30px;
  }
  body.price #sec2 .in-box { background:none; border-radius:0; padding:0; margin-top:0; }
  body.price #sec2 ul { width:86.6%; }
  body.price #sec2 .pic-box { display:block; width:70%; margin-top:20px; }
  body.price #sec2 .pic-box .pic { width:100%; margin-bottom:10px; }
}
