@charset "utf-8";

/* --------------------------------------------------

【メモ】
・スマホ、タブレット表示の左右のpaddingは 2.14286rem

-------------------------------------------------- */

@media screen and (max-width: 63.9375em) {

/* ==================================================

	common

================================================== */

/* フォントサイズを15pxに変更 */
p, table {
  font-size: 0.9375rem;
}

/* ここから：スマホサイズのみの表示（639px以下） */
}
@media screen and (max-width: 39.9375em) {
  /* ボタンを横幅いっぱいに表示 */
  .btn-link {
    width: 100%;
    padding: 0.85em 0;
  }
}
@media screen and (max-width: 63.9375em) {
/* ここまで：スマホサイズのみの表示（639px以下） */

/* ナビゲーション
-------------------------------------------------- */
.nav-list {
  display: none;
  width: auto;
}
.nav-list li {
  display: block;
}
.nav-list a {
  display: inline-block;
  margin: 3px 0;
}
.nav-list-reserve {
  margin: 10px 0 15px;
}
.nav-list .ico-instagram {
  display: inline-block;
}
.nav-list-instagram {
  padding: 0 0 0 22px;
}

/* ハンバーガーメニューボタン */
.navsp-btn{
  position: fixed;
  right: 20px;
  top: 20px;
  height: 20px;
  width: 30px;
  z-index: 99;
}
.navsp-btn-line{
  display: block;
  position: absolute;
  height: 2px;
  width: 100%;
  background: #000;
  transition:transform .3s;
}
.navsp-btn-line-center{
  top: 9px;
}
.navsp-btn-line-bottom{
  bottom: 0;
}
.navsp-btn-line-top.active{
  top: 8px;
  transform: rotate(45deg);
}
.navsp-btn-line-center.active{
  transform:scaleX(0);
}
.navsp-btn-line-bottom.active{
  bottom: 10px;
  transform: rotate(135deg);
}

/* フルスクリーンナビゲーション */
.navsp{
  background: rgba(255,255,255,0.95);
  display: none;
  position: fixed;
  height: 100%;
  width: 100%;
  z-index: 98;
}
.navsp-wrap{
  display: flex;
  position: absolute;
  height: 100%;
  width: 100%;
  align-items:center;
  justify-content: center;
}
.navsp .nav-list {
  display: block;
}

/* footer
-------------------------------------------------- */
.footer-nav .nav-list {
  display: block;
}

/* ==================================================

	index

================================================== */

/* メイン画像
-------------------------------------------------- */
.index-top-bg {
  height: 500px;
}
.index-top-bg-img {
  background-size: auto 100%;
  height: 500px;
}

/* ここから：タブレットサイズ（640px以上）の画像設定 */
}
@media screen and (min-width: 40em) {
  .index-top-bg-img {
    background-size: 100% auto;
  }
}
@media screen and (max-width: 63.9375em) {
/* ここまで：タブレットサイズの画像設定 */

.index-top-logo img {
  width: auto;
  height: 160px;
}

/* メッセージ
-------------------------------------------------- */
.index-message-box {
  padding: 20px 0;
}
.index-message {
  padding: 15px 2.14286rem;
}
.index-message-ttl {
  padding: 0 0 0 20px;
  font-size: 1.5rem;
}
.index-message p {
  line-height: 2.2;
}

/* indexコンテンツ共通
-------------------------------------------------- */
.index-content-txt {
  padding: 20px 2.14286rem 80px;
}

/* ここから：スマホサイズのみの表示（639px以下） */
}
@media screen and (max-width: 39.9375em) {
  /* centerからleftに変更 */
  .index-content-txt p { text-align: left; }
}
@media screen and (max-width: 63.9375em) {
/* ここまで：スマホサイズのみの表示（639px以下） */

/* アクセス
-------------------------------------------------- */
.index-access {
  padding: 0 0 20px;
}
.index-access img {
  width: 100%;
}
.index-access .index-ttl {
  margin: 30px 0 0 0;
}
.index-access-box {
  width: 100%;
}
.index-access-box-txt {
  padding: 0 2.14286rem;
  text-align: center;
}
.index-access-box-txt .index-ttl {
  padding: 0 0 20px;
  color: #000;
}

/* ここから：スマホサイズのみの表示（639px以下） */
}
@media screen and (max-width: 39.9375em) {
  /* p要素のみ、centerからleftに変更 */
  .index-access-box-txt p { text-align: left; }
}
@media screen and (max-width: 63.9375em) {
/* ここまで：スマホサイズのみの表示（639px以下） */

/* instagram
-------------------------------------------------- */
.index-instagram {
  padding: 50px 10px 0;
}
.index-instagram .index-ttl {
  font-size: 1.5rem;
}
.index-instagram .index-ttl-line {
  width: 50px;
  height: 4px;
}
.index-instagram-box {
    padding: 40px 0 20px;
}

/* ==================================================

	page（下層ページ共通）

================================================== */

/* 下層ページヘッダー
-------------------------------------------------- */
.header-top-bg {
  height: 200px;
}
.header-top-logo img {
  height: 130px;
}

/* 下層ページ共通
-------------------------------------------------- */
.page-ttl {
  padding: 15px 0 20px 0;
  font-size: 1.5rem;
}
.page-ttl-line {
  width: 50px;
}
.page-ttl-center-first,
.page-ttl-center {
  margin: 50px 0 20px;
  font-size: 1.5rem;
}
.page-ttl-center-first { margin-top: 0; }

.page-top-txt {
  padding: 25px 2.14286rem 40px;
}

/* ここから：スマホサイズのみの表示（639px以下） */
}
@media screen and (max-width: 39.9375em) {
  /* centerからleftに変更 */
  .page-top-txt { text-align: left; }
}
@media screen and (max-width: 63.9375em) {
/* ここまで：スマホサイズのみの表示（639px以下） */

/* コンテンツ幅width:1000pxをautoに変更 */
.page-content-big {
  width: auto;
  padding: 0 2.14286rem;
}
/* ここから：コンテンツ幅が760px以下のときに適用 */
}
@media screen and (max-width: 47.5em) {
  /* コンテンツ幅width:700pxをautoに変更 */
  .page-content-normal {
    width: auto;
    padding: 0 2.14286rem;
  }
}
@media screen and (max-width: 63.9375em) {
/* ここまで：コンテンツ幅が699px以下のときに適用 */

/* ==================================================

	access

================================================== */

.page-access-map {
  width: 100%;
  margin: 0 0 50px;
}



/* 以下はmediaの閉じかっこなので削除しない */
}
