@charset "UTF-8";
/* ---------------------------------
 旧ページにヘッダーだけを表示させるためのCSS
 base.cssからheader部分を抜粋したもの。後日削除。
--------------------------------- */
/* ---------------------------------
 header & navi
--------------------------------- */
header {
  position: fixed;
  z-index: 999;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  margin: 0 auto;
  padding: 10px 20px;
  -webkit-transition-duration: 300ms;
  transition-duration: 300ms;
  height: 80px;
  background-color: #fff;
}
header h1{
  margin: 0;
  padding: 0;
}

@media (min-width: 1025px) {
  header {
    padding: 10px 30px;
    background-color: #fff;
    height: 90px;
  }
/*  header.change-color {
    background-color: rgba(255,255,255,0.6);
  }
  header.change-color .menu-link{
    color: #3F3F3F;
  }
  header.change-color .menu-link.menu-btn{
    color: #fff;
  } */
}

@media (max-width: 768px) and (orientation: landscape) {
  header {
    padding: 15px 30px;
  }
}
.header-container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.header-logo {
  width: 80px;
}
@media (max-width: 768px) and (orientation: landscape) {
  .header-logo {
    width: 20%;
  }
}
.logo-link {
  display: block;
  -webkit-transition-duration: 300ms;
  transition-duration: 300ms;
}
.logo-link:hover {
  opacity: 0.6;
}
@media (max-width: 1024px) {
  .nav-menu {
    position: fixed;
    z-index: -1;
    top: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    height: calc(var(--vh, 1vh) * 100);
    padding-right: clamp(30px, 8vw, 60px);
    padding-bottom: clamp(30px, 8vw, 60px);
    padding-left: clamp(30px, 8vw, 60px);
    transition-duration: 300ms;
    transform: translateX(200%);
    overflow: auto;
    /* ナビメニューの背景色を変えたい時 */
    background-color: rgba(0, 0, 0, 0.7);
  }
  .nav-menu.active {
    transform: translateX(0);
  }
}
@media (min-width: 1025px) {
  .nav-menu {
    padding-top: 0 !important;
    flex: 1;
  }
}
@media (min-width: 1025px) {
  .menu-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    gap: clamp(20px, 2.0833333333333335vw, 40px);
  }
}
@media (max-width: 1024px) {
  .menu-item {
    /* 各ナビメニューの下線を変えたい時 */
    border-style: none;
  }
}
.menu-link {
  display: block;
/*  color: #fff; */
  color: #3F3F3F;
  text-decoration: none !important;
  -webkit-transition-duration: 300ms;
  transition-duration: 300ms;
}
.menu-link:hover {
  opacity: 0.6 !important;
  color: #3F3F3F !important;
}
.menu-link.menu-btn {
  padding: 5px 15px;
  background-color: rgb(55, 130, 8, 0.9);
  border-radius: 10px;
  color: #fff !important;
}
.nav-menu.active .menu-link {
  color: #fff;
}
@media (max-width: 1024px) {
  .menu-link {
    font-size: clamp(16px, 1.0416666666666667vw, 20px);
    padding-top: clamp(15px, 2.6666666666666665vw, 20px);
    padding-bottom: clamp(10px, 2.6666666666666665vw, 20px);
    text-align: center;
    /* ナビメニューの文字色を変えたい時 */
    color: #3F3F3F;
    text-decoration: none !important;
  }
  .menu-link.menu-btn {
    padding: 10px;
    width: 70%;
    margin: 20px auto 0 auto;
  }
}
@media (min-width: 1025px) {
  .menu-link {
    font-size: clamp(14px, 1.0416666666666667vw, 17px);
    text-decoration: none !important;
  }
}
.hamburger-button {
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content;
  height: clamp(13px, 3.466666666666667vw, 26px);
  margin-right: 0;
  margin-left: auto;
  cursor: pointer;
  background-color: transparent;
  border: none;
}
.hamburger-lines {
  position: relative;
  width: clamp(40px, 10.666666666666666vw, 90px);
  height: clamp(13px, 3.466666666666667vw, 26px);
  -webkit-transition-duration: 300ms;
  transition-duration: 300ms;
}
@media (max-width: 1024px) {
  .hamburger-lines {
    width: clamp(40px, 10.666666666666666vw, 90px);
    height: clamp(13px, 3.466666666666667vw, 26px);
  }
}
@media (max-width: 768px) and (orientation: landscape) {
  .hamburger-lines {
    width: clamp(30px, 7.496251874062969vw, 50px);
    height: clamp(15px, 2.998500749625187vw, 20px);
  }
}
.hamburger-lines.active {
  height: 1px;
}
.hamburger-lines .line {
  position: absolute;
  right: 0;
  left: 0;
  display: block;
  width: 100%;
  height: clamp(1px, .26666666666666666vw, 2px);
  margin: auto;
  -webkit-transition-duration: 300ms;
  transition-duration: 300ms;
  /* ハンバーガーメニューの線の色を変えたい時 */
  background-color: #3F3F3F;
}
.hamburger-lines.active .line {
  /* ハンバーガーメニューオープン時の線の色を変えたい時 */
  background-color: #fff;
}
.hamburger-lines .line:nth-child(1) {
  top: 0;
}
.hamburger-lines .line:nth-child(2) {
  bottom: 0;
}
@media (min-width: 1025px) {
  /* タブレットサイズ以上でハンバーガーメニューを丸ごと非表示 */
  .hamburger-button {
    display: none;
  }
}

/* ---------------------------------
 oldpage_head : 旧サイトページに新ヘッダーを乗せる処理
--------------------------------- */
.oldpage_head{
  margin-top: 100px;
}

/* ---------------------------------
 indoor  indoorページ用CSSをここに
--------------------------------- */
.indoor_photo {
  width: 100%;
  overflow: hidden;
}
.indoor_photo .swiper {
    width: 100%;
}
.indoor_photo .swiper-main .swiper-slide img {
  height: auto;
  width: 100%;
}
.indoor_photo .swiper-thumbnail .swiper-slide {
    opacity: .5;
}
.indoor_photo .swiper-thumbnail .swiper-slide-thumb-active {
  opacity: .6;
}
.indoor_photo .swiper-thumbnail .swiper-slide img {
    width: 100%;
    height: 100px;
    vertical-align: middle;
    object-fit: cover;
}
.indoor_photo .swiper-button-next,
.indoor_photo .swiper-button-prev{
  color:#fff;
  --swiper-navigation-size: 22px;
}

.br_pc{
  display: block;
}
.br_sp{
  display: none;
}
@media screen and (max-width: 896px) {
  .br_pc{
    display: none;
  }
  .br_sp{
    display: block;
  }
}