@charset "utf-8";
* {
  box-sizing: border-box;
  transform-origin: 0 0;
}
body {
  font-family: "Noto Sans JP", sans-serif, "Helvetica Neue", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Meiryo";
  font-size: 13px;
  line-height: 1.5;
  margin: 0;
  color: #707070;
  background: #eaeaea;
  transform-origin: 0 0;
}
img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
a {
  text-decoration: none;
  color: #707070;
  cursor: pointer;
}

/** レイアウト **/
.relative {
  position: relative;
}
.center {
  text-align: center
}
.left {
  text-align: left;
}

/***********************************/
/** スマホ用ハンバーガーメニュー **/
/***********************************/
.sp_top_kanban {
  display: none;
}
.sp_menu {
  display: none;
  position: fixed;
  z-index: 5;
  top: 1.2em;
  right: 1em;
  width: 5em;
  height: 5em;
}
.sp_menu .hamburger-menu {
  position: relative;
}
.sp_menu #menu-toggle {
  opacity: 0;
}
.sp_menu .menu-btn {
  position: absolute;
  top: 1.8em;
  left: 1.4em;
  width: 2.2em;
  height: 1.3em;
  cursor: pointer;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
}
.sp_menu .menu-btn .menu-btn_bg {
  position: absolute;
  top: -1.8em;
  left: -1.4em;
  background: #FFFFFF;
  display: inline-block;
  width: 5em;
  height: 5em;
  border-radius: 50%;
  box-shadow: 0px 3px 6px 0px rgb(0 0 0 / 20%);
}
.sp_menu .menu-btn span {
  display: block;
  width: 100%;
  height: 2px;
  background-color: #707070;
  transition: all 0.3s ease-in-out;
  border-radius: 2px;
  z-index: 1;
}
/* アイコンの動き */
.sp_menu #menu-toggle:checked + .menu-btn span:nth-child(1) {
  transform: translateY(0.55em) rotate(45deg);
  transform-origin: center;
}
.sp_menu #menu-toggle:checked + .menu-btn span:nth-child(2) {
  opacity: 0;
}
.sp_menu #menu-toggle:checked + .menu-btn span:nth-child(3) {
  transform: translateY(-0.55em) rotate(-45deg);
  transform-origin: center;
}
.sp_menu .menu-box {
  position: fixed;
  top: 0;
  right: -120vw; /* 初期状態では画面右部に隠す */
  width: 100%;
  height: 120vh;
  background-color: #cd4d47;
  color: white;
  margin: 0;
  transition: all 0.8s ease-out;
}
.sp_menu #menu-toggle:checked ~ .menu-box {
  right: 0; /* チェックされたら上からスライドして表示 */
}

/** スマホ用ハンバーガーメニューの中身 **/
.sp_menu #inner {
  position: absolute;
  top: 0;
  left: 0;
  white-space: nowrap;
  width: 100vw;
  text-align: center;
}
.sp_menu #inner a {
  color: white;
}
.sp_menu .inner_box {
  display: inline-block;
  text-align: left;
  margin-top: 0.8em;
  margin-left: 0em;
}
.sp_menu #logo {
  margin: 0.3em 0 0 5.7em;
}
.sp_menu #logo img {
  width: 6.6em;
}
.sp_menu #page_navi {
  text-align: left;
  margin: 2em 0 0 0.2em;
}
.sp_menu #page_navi a {
  display: block;
  transform: scaleX(0.9);
  transform-origin: 0 0;
  line-height: 1;
}
.sp_menu #page_navi .right_navi_title {
  display: block;
  font-weight: bold;
  letter-spacing: 0.2em;
  margin-bottom: 0.62em;
}
.sp_menu #page_navi .right_navi_title_english {
  display: block;
  font-size: 0.7em;
  letter-spacing: 0.15em;
  margin-bottom: 2.3em;
}
.sp_menu #sns_link {
  margin: -0.2em 0 0 0em;
  width: 11.6em;
  height: 3.4em;
  border-top: 1px solid #ffffff;
  border-bottom: 1px solid #ffffff;
  vertical-align: middle;
}
.sp_menu #sns_link a.instagram {
  display: block;
  margin: 0.7em 0 0 0.3em;
  font-weight: bold;
  font-size: 0.81em;
  letter-spacing: 0.1em;
}
.sp_menu #sns_link a.instagram span {
  vertical-align: middle;
}
.sp_menu #sns_link a.instagram img {
  vertical-align: middle;
  width: 2.6em;
  margin-left: 3.6em;
}
.sp_menu #online_shop_link {
  margin: 1.6em 0 0 0;
}
.sp_menu #online_shop_link img {
  width: 17.7em;
}
.sp_menu #company_link {
  margin: 1em 0 0 0;
}
.sp_menu #company_link img {
  width: 17.7em;
}
/***********************************/

/** 背景色 **/
.bg_light_gray {
  background-color: #F8F8F8;
}
/** 文字 **/
.section_title {
  font-size: 1.7em;
  letter-spacing: 0.2em;
  margin: 0;
  padding: 2em 0 0.1em 0
}
.section_title_english {
  font-size: 1em;
  letter-spacing: 0.2em;
}
.section_title_setsumei {
  font-size: 1.4em;
  letter-spacing: 0.1em;
  margin: 0;
}
.text{
  font-size: 1em;
  letter-spacing: 0.1em;
  line-height: 1.45;
}
.text.left{
  letter-spacing: 0.03em;
  line-height: 2;
  width: 83%;
  margin: 0 auto;
}

/** 商品紹介 **/
.product_title {
  font-size: 1.14em;
  font-weight: bold;
  letter-spacing: 0.05em;
  margin: 0;
  padding: 1.2em 0 1em 0;
}
.product_text{
  letter-spacing: 0.03em;
  line-height: 1.7;
  width: 83%;
  margin: 0 auto;
}
.product_table {
   border-collapse: separate;
   border-spacing: 1.4em;
}
.product_table td {
  width: 50%;
  padding: 0 0em;
  vertical-align: top;
}
.product_table .product_title {
  padding: 0em 0 1em 0;
}
.product_table .product_text {
  width: 100%;
  padding-bottom: 2.2em;
  letter-spacing: 0em;
}

/** お知らせ **/
#oshirase-slider-container {
  margin: 0 auto;
  width: 77%;
  position: relative;
}
#prev-oshirase {
  position: absolute;
  top: 0em;
  left: -2.5em;
  cursor: pointer;
  height: 18.1em;
  width: 2.5em;
  text-align: center;
}
#next-oshirase {
  position: absolute;
  top: 0em;
  right: -2.5em;
  cursor: pointer;
  height: 18.1em;
  width: 2.5em;
  text-align: center;
}
#prev-oshirase::after {
  content: '';
  display: inline-block;
  width: 0.7em;
  height: 0.7em;
  border-left: 2px solid #707070;
  border-bottom: 2px solid #707070;
  transform: rotate(45deg);
  margin-top: 8.5em;
}
#next-oshirase::after {
  content: '';
  display: inline-block;
  width: 0.7em;
  height: 0.7em;
  border-right: 2px solid #707070;
  border-bottom: 2px solid #707070;
  transform: rotate(-45deg);
  margin-top: 8.5em;
}
#oshirase-slider {
  min-height: 31em;
  position: relative;
  overflow: hidden;
  display: flex;
  /**
  flex-direction: column;
  **/
}
.flex-direction__row {
  flex-direction: row;
}
.flex-direction__row-reverse {
  flex-direction: row-reverse;
}
.oshirase-item {
  top: 0;
  left: 0;
  width: 100%;
  transition: transform 0.5s ease-in-out;
}
.oshirase-item.active {
  transform: translateX(0%);
  flex-basis: 200%;
}
.oshirase-item.prev {
  transform: translateX(-100%);
}
.oshirase-item.next {
  transform: translateX(100%);
}
.oshirase-thumbnail {
  height: 18.1em;
  margin-bottom: 1em;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.oshirase-item .post-date {
  font-size: 1.15em;
  font-weight: bold;
  margin: 2em 0 0 0;
}
.oshirase-item h3 {
  font-size: 1.2em;
  margin: 0em 0 0 0;
}
.oshirase-item h3 a {
  color: #707070;
  text-decoration: none;
}
.oshirase-item .post-content {
  font-size: 1em;
  margin: 0.1em 0 0 0;
  padding-bottom: 3em;
  line-height: 1.7;
  overflow: hidden;
  text-overflow: ellipsis;
  /* height: Npx; */ /* 必要に応じて高さを固定すると、内容の少ない記事でもレイアウトが崩れにくい */
}

/** 店舗紹介 **/
.tenpo_syoukai_table {
  width: 87%;
  margin: 2em auto 2.4em auto;
}
.tenpo_syoukai_table th {
  border-bottom: 1px solid #D9D9D9;
  text-align: left;
  padding-left: 0.8em;
  padding-right: 0.8em;
  width: 1%;
  white-space: nowrap;
}
.tenpo_syoukai_table td {
  border-bottom: 1px solid #D9D9D9;
  text-align: left;
  padding-right: 0.8em;
  padding-top: 1em;
  padding-bottom: 1em;
}

/** Instagram **/
.instagram-feed {
  padding: 0 0.8em;
}

/** 右：サイドメニューの中身 **/
.block_right #inner {
  position: absolute;
  top: 2.1em;
  left: 2.3em;
  white-space: nowrap;
  color: white;
}
.block_right #inner a {
  color: white;
}
.block_right #logo {
  margin: -1.1em 0 0 3.5em;
}
.block_right #logo img {
  width: 6.1em;
}
.block_right #page_navi {
  margin: 2em 0 0 1.4em;
}
.block_right #page_navi a {
  display: block;
  transform: scaleX(0.9);
  transform-origin: 0 0;
  line-height: 1;
}
.block_right #page_navi .right_navi_title {
  display: block;
  font-weight: bold;
  letter-spacing: 0.2em;
  margin-bottom: 0.8em;
}
.block_right #page_navi .right_navi_title_english {
  display: block;
  font-size: 0.7em;
  letter-spacing: 0.15em;
  margin-bottom: 1.45em;
}
.block_right #sns_link {
  margin: 1.55em 0 0 1.4em;
  width: 10.45em;
  height: 3.2em;
  border-top: 1px solid #ffffff;
  border-bottom: 1px solid #ffffff;
  vertical-align: middle;
}
.block_right #sns_link a.instagram {
  display: block;
  margin: 0.8em 0 0 0.2em;
  font-weight: bold;
  font-size: 0.81em;
  letter-spacing: 0.1em;
}
.block_right #sns_link  a.instagram span {
  vertical-align: middle;
}
.block_right #sns_link  a.instagram img {
  vertical-align: middle;
  width: 2.36em;
  margin-left: 2.6em;
}
.block_right #qr_link {
  margin: 1em 0 0 1.4em;
  width: 10.45em;
  text-align: center;
}
.block_right #qr_link span {
  display: block;
  font-size: 0.88em;
  transform: scaleX(0.65);
  transform-origin: left;
  letter-spacing: 0.04em;
  margin-left: 0.45em;
}
.block_right #qr_link img {
  margin: 0.7em 0 0 0;
  width: 7.4em;
}
.block_right #online_shop_link {
  margin: 0.95em 0 0 -1.2em;
}
.block_right #online_shop_link img {
  width: 15.5em;
}
.block_right #company_link {
  margin: 0.7em 0 0 -1.2em;
}
.block_right #company_link img {
  width: 15.5em;
}

/** 全体のレイアウト　縦900×横1560（左：800[50%] + 中央：460[30%] + 右：300[20%]） **/
/** 左：PCの背景画像 **/
.block_left {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  background: url("../img/top/left_pic_ホーム.webp.jpg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
/** 中央：メインコンテンツ **/
.block_center {
  position: relative;
  height: 100%;
  box-shadow: 0px 0px 15px 0px #bdbdbd;
  background-color: #ffffff;
}
/** 右：サイドメニュー **/
.block_right {
  position: fixed;
  top: 0;
  right: 0;
  height: 100%;
}


/** レスポンシブ **********************************************************/
/** デスクトップパソコン大 **/
.block_left {
  width: 50%;
}
.block_center {
  width: 30%;
  margin-left: 50%;
}
.block_right {
  width: 20%;
}

.movie {
  height: 52em;
}
.movie video {
  margin-top: 0em;
}

/** デスクトップパソコン中以下 **/
@media (max-width: 1400px) {
  .block_left {
    width: 50%;
  }
  .block_center {
    width: 30%;
    margin-left: 50%;
  }
  .block_right {
    width: 20%;
  }
}
/** ノートパソコン以下 **/
@media (max-width: 1200px) {
  .block_left {
    display: none;
  }
  .block_center {
    width: 75%;
    margin: 0;
  }
  .block_right {
    width: 25%;
  }
}
/** 小型ノートパソコン以下 **/
@media (max-width: 992px) {
  .block_left {
    display: none;
  }
  .block_center {
    width: 70%;
    margin: 0;
  }
  .block_right {
    width: 30%;
  }
}
/** タブレット 768以下 **/
@media (max-width: 768px) {
  .block_left {
    display: none;
  }
  .block_center {
    width: 100%;
    margin: 0;
  }
  .block_right {
    display: none;
  }
  .sp_top_kanban{
    display: block;
  }
  .sp_menu {
    display: block;
  }
  .movie {
    height: 43.8em;
  }
  .movie video {
    margin-top: -8.2em;
  }
}