@charset "utf-8";

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
}

body {
  background-color: #f2f9ff;
  font-family: "Bradley Hand ITC", "Noto Sans JP", sans-serif;
}

header,
nav,
#breadcrumb,
#container {
  margin: 0 auto;
  width: 1000px;
}

#top {
  text-align: center;
}

#top a {
  margin: 0 auto;
  display: inline-block;
}
#top img {
  width: 100%;
}

#top h1 {
  height: 100px;
  /* margin: 0;
    padding-top: 0;
    text-align: center; */

  display: inline-block;
  width: 344px;
}

/* ナビここから */
#top nav ul {
  overflow: hidden;
  margin: 0;
  list-style: none;
  padding-left: 0;
}

#top nav ul li {
  float: left;
  /* width: 160px; */
}

#top nav ul li a {
  overflow: hidden;
  display: block;
  width: 165px;
  padding-top: 60px;
  height: 0;
  background-repeat: no-repeat;
}
#top nav ul li:last-child a {
  width: 160px;
}

#top nav ul li#header_nav_index a {
  background-image: url(../images/base/home.webp);
}

#top nav ul li#header_nav_location a {
  background-image: url(../images/base/location.webp);
}

#top nav ul li#header_nav_facilities a {
  background-image: url(../images/base/facilities.webp);
}

#top nav ul li#header_nav_loghouse a {
  background-image: url(../images/base/loghouse.webp);
}

#top nav ul li#header_nav_pricelist a {
  background-image: url(../images/base/pricelist.webp);
}

#top nav ul li#header_nav_access a {
  background-image: url(../images/base/access.webp);
}

#top nav img:hover,
#top nav a:hover {
  opacity: 0.5;
}

@media (max-width: 960px) {
  .slider-container {
    height: 50vh;
  }

  .slider-img {
    background-size: contain;
    background-color: #f2f9ff;
  }
}

/* それぞれのCSSに書く　↓↓↓ */

/* #top #header_nav_index a,
#top #header_nav_location a,
#top #header_nav_facilities a,
#top #header_nav_loghouse a,
#top #header_nav_pricelist a,
#top #header_nav_access a {
    background-position: 0 -60px;
    pointer-events: none;
} */

/* ぱんくずここから */

#breadcrumb ul {
  list-style-type: none;
  display: flex;
  padding: 0;
}

#breadcrumb ul li {
  margin-right: 10px;
}

#breadcrumb ul li a {
  text-decoration: none;
}

#breadcrumb ul li:not(:last-child)::after {
  content: ">";
  margin-left: 10px;
}

/* フッターここから */
#container {
  margin: 0 auto;
  height: inherit;
  position: relative;
}

#footer ul li {
  list-style-type: none;
}

#footer ul li a {
  text-decoration: none;
  color: #f2f9ff;
  font-size: 25px;
  line-height: 1.5;
}

#place small {
  color: #f2f9ff;
  font-size: 25px;
}

#place p {
  position: absolute;
  color: #f2f9ff;
  font-size: 25px;
  margin-top: 1em;
}

#footer {
  background-image: url(../images/base/footer.webp);
  height: 450px;
  background-repeat: repeat no-repeat;
  width: 100%;
  background-position: center center;
}

#sns img {
  width: 30px;
}

#info_container {
  position: absolute;
  width: 100%;
  text-align: center;
  padding-bottom: 0.5em;
  bottom: 0;
  color: #fff;
}

.footer {
  display: flex;
  flex-direction: column;
  width: 100px;
  position: absolute;
  right: 7%;
  top: 50px;
}

.footer_content {
  display: flex;
  justify-content: flex-end;
}

.footer_content nav {
  width: 100px;
}

.footer_content nav ul {
  width: 100px;
  padding-left: 0;
}

#top_B {
  display: flex;
  justify-content: center;
}

#info p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 15px;
  font-weight: 300;
  padding-left: 1em;
  padding-right: 3.7em;
}

#info p,
#copyright {
  background-color: #ffffff96;
  display: inline-block;
  color: rgb(3, 77, 3);
  margin-bottom: 10px;
}

html {
  scroll-behavior: smooth;
}

.pagetop {
  height: 50px;
  width: 50px;
  position: fixed; /*画面に対して位置が固定*/
  right: 30px;
  bottom: 30px;
  background-image: url(../images/base/top_B.webp);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 99;
  transition: opacity 0.3s ease;
/* ▼ここを追加・調整してください▼ */
  background-size: contain;       /* 画像が切れないように枠内に収める */
  background-repeat: no-repeat;   /* 画像の繰り返しを防ぐ */
  background-position: center;    /* 画像を中央に配置する */
}

/* フッターの手前で止まった時（JavaScriptでクラスを付与する場合）のスタイル */
.pagetop.is-absolute {
  position: absolute; /* 追従を解除して絶対配置に切り替え */
  bottom: 470px; /* フッターの高さ(450px)＋αの隙間を指定 */
}

@media (max-width: 960px) {
  .pagetop {
    right: 50px;
    bottom: 50px;
    opacity: 0.85;
  }
}

@media (max-width: 800px) {
  .header_nav ul {
    display: block;
    text-align: center;
  }
}
.header_nav li {
  margin-top: 20px;
}

@media (max-width: 960px) {
  header,
  nav,
  #breadcrumb,
  #container {
    width: 100%;
  }

  #top nav ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
  }

  #top nav ul li {
    float: none;
    width: 100%;
  }

  #top nav ul li a,
  #top nav ul li:last-child a {
    width: 100%;
    box-sizing: border-box;
  }

  #footer {
    width: 100%;
  }

  .pagetop {
    right: 15px;
    bottom: 15px;
    opacity: 0.85;
  }
}
