@charset "utf-8";
/* CSS Document */
@import url("layout.css");
#pagehead {
  /*background-image: url("../img/pagehead_bg.png");*/
}
/************************************************************ pagehead */
#pagehead {
  background: -webkit-linear-gradient(45deg, rgba(239, 172, 192, 0.4), rgba(235, 146, 131, 0.4), rgba(247, 220, 149, 0.3), transparent 60%), url("../img/pagehead_bg.png");
  background: linear-gradient(45deg, rgba(239, 172, 192, 0.4), rgba(235, 146, 131, 0.4), rgba(247, 220, 149, 0.3), transparent 60%), url("../img/pagehead_bg.png");
}
#pagehead .inner {
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
  padding: 0;
}
/**/
#pagehead .category {
  position: relative;
  text-align: center;
  padding: 105px 0 70px 0;
  font-size: 3.2rem;
  font-weight: 400;
  font-family: 'Roboto';
  letter-spacing: 0.1em;
  color: #858585;
}
#pagehead .category::before {
  position: absolute;
  content: "";
  width: 52px;
  height: 52px;
  background-repeat: no-repeat;
  top: 40px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
#pagehead .category::after {
  position: absolute;
  font-size: 1.6rem;
  font-family: 'NotoSans JP';
  letter-spacing: 0;
  bottom: 40px;
  left: 0;
  right: 0;
  margin: 0 auto;
  color: #9A2E74;
}
/* ---------- カテゴリ別*/
/*ショップニュース*/
#pagehead .category.shopnews::before {
  background-image: url("../img/pagehead_shopnews.png");
}
#pagehead .category.shopnews::after {
  content: "ショップニュース";
}
/*イベント*/
#pagehead .category.event::before {
  background-image: url("../img/pagehead_event.png");
}
#pagehead .category.event::after {
  content: "イベント";
}
/*フロアガイド*/
#pagehead .category.floor::before {
  background-image: url("../img/pagehead_floor.png");
}
#pagehead .category.floor::after {
  content: "フロアガイド";
}
/*施設案内*/
#pagehead .category.about::before {
  background-image: url("../img/pagehead_about.png");
}
#pagehead .category.about::after {
  content: "施設案内";
}
/**/
/*交通アクセス*/
#pagehead .category.access::before {
  background-image: url("../img/pagehead_access.png");
}
#pagehead .category.access::after {
  content: "交通アクセス";
}
/*グルメ*/
#pagehead .category.gourmet::before {
  background-image: url("../img/pagehead_gourmet.png");
}
#pagehead .category.gourmet::after {
  content: "グルメ";
}
/*ショップ*/
#pagehead .category.shop::before {
  background-image: url("../img/pagehead_shop.png");
}
#pagehead .category.shop::after {
  content: "ショップ";
}
/*その他*/
#pagehead .category.other::before {
  background-image: url("../img/pagehead_other.png");
}
#pagehead .category.other::after {
  content: "サービス・その他";
}
/*プライバシーポリシー*/
#pagehead .category.privacy::before {
  background-image: url("../img/pagehead_privacy.png");
}
#pagehead .category.privacy::after {
  content: "プライバシーポリシー";
}
/*テナント募集*/
#pagehead .category.tenant::before {
  background-image: url("../img/pagehead_tenant.png");
}
#pagehead .category.tenant::after {
  content: "テナント募集";
}
/*サイトマップ*/
#pagehead .category.sitemap::before {
  background-image: url("../img/pagehead_sitemap.png");
}
#pagehead .category.sitemap::after {
  content: "サイトマップ";
}
/*お知らせ*/
#pagehead .category.info::before {
  background-image: url("../img/pagehead_info.png");
}
#pagehead .category.info::after {
  content: "お知らせ";
}
/*お問い合わせ*/
#pagehead .category.contact::before {
  background-image: url("../img/pagehead_contact.png");
}
#pagehead .category.contact::after {
  content: "お問い合わせ";
}
/************************************************************ breadcrumb */
#breadcrumb {
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
  padding: 15px 20px;
}
#breadcrumb ol {
  width: calc(100% - 60px);
  text-align: left;
  margin: 0 auto;
  padding: 0;
  /*padding: 0 300px 0 0;*/
}
#breadcrumb ol li {
  display: inline-block;
  margin: 0px;
  padding: 0px;
  list-style: none;
  font-size: 1.2rem;
  color: #999999;
}
#breadcrumb ol li a, #breadcrumb ol li span {
  position: relative;
  display: inline-block;
  padding-right: 20px;
  margin-right: 10px;
  color: #999999;
}
#breadcrumb ol li a::before, #breadcrumb ol li span::before {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  content: "";
  margin: auto;
  vertical-align: middle;
  width: 8px;
  height: 8px;
  border-top: 1px solid #999999;
  border-right: 1px solid #999999;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transition: .4s;
}
/************************************************************ container */
#container {
  width: calc(100% - 40px);
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 0 80px 0;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
/************************************************************ main */
#main {
  width: 100%;
  color: #261919;
  margin: 0;
  padding: 0;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 2.0em;
}
#main .inner {}
/* ---------------------------------------- h */
#main h1 {
  margin: 40px 0 20px 0;
  padding: 8px 20px;
  background-color: #B33587;
  color: #fff;
  font-size: 2.4rem;
  line-height: 1.8em;
  font-weight: 500;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: center;
  align-items: center;
  border-radius: 3px;
}
#main h1 span {
  display: inline-block;
  text-align: center;
  background-color: #999999;
  color: #fff;
  font-size: 1.6rem;
  margin: 0 15px 0 0;
  padding: 8px 20px;
  line-height: 1.0em;
  font-weight: 500;
  border-radius: 3px;
  white-space: nowrap;
}
#main .inner > h1, #shop .top .info > h1 {
  margin: 0 0 20px 0;
}
#main .inner h1.top {
  margin: 0 0 4px 0;
}
#main h2 {
  margin: 40px 0 20px 0;
  padding: 0 0 4px 0;
  font-size: 2.6rem;
  font-weight: 500;
  background-image: url("../img/h2_back.png");
  background-repeat: repeat-x;
  background-position: bottom;
}
#main h3 {
  margin: 30px 0 20px 0;
  padding: 0 0 8px 0;
  display: inline-block;
  font-size: 2.4rem;
  font-weight: 500;
  border-bottom: 3px solid #9B2F75;
}
/*h2の直下のh3*/
#main h2 + h3 {
  margin: 20px 0;
}
#main h4 {
  margin: 20px 0;
  color: #9B2F75;
  font-size: 2.1rem;
  font-weight: 500;
}
/*h3の直下のh4*/
#main h3 + h4 {
  margin: 10px 0 20px 0;
}
#main h5 {
  margin: 20px 0;
  color: #999999;
  font-size: 2.0rem;
  font-weight: 600;
}
#main h6 {
  margin: 10px 0;
  color: #999999;
  font-size: 1.9rem;
  font-weight: 500;
}
/*h5~6の直下のh4*/
#main h5 + table.info, #main h6 + table.info {
  margin: 20px 0 40px 0;
}
/* ------------------------------ ul */
#main p {
  margin: 10px 0;
}
/* ------------------------------ a */
#main a {
  color: #B23385;
  text-decoration: underline;
}
/* ------------------------------ table（奇数行グレー） */
#main table.info {
  width: 100% !important;
  height: auto !important;
  margin: 40px 0;
}
#main table.info th, #main table.info td {
  height: auto !important;
  padding: 20px;
  text-align: left;
  font-size: 1.6rem;
  font-weight: 500;
}
#main table.info th {
  width: 140px;
}
#main table.info td {
  width: auto !important;
}
#main table.info td a {
  word-break: break-all;
}
#main table.info tr:nth-child(odd) {
  background: #F9F7F9;
}
/* ------------------------------ table（thパープル） */
#main table.table {
  width: 100% !important;
  height: auto !important;
  margin: 40px 0;
  border-collapse: separate;
  border-spacing: 3px;
}
#main table.table th, #main table.table td {
  height: auto !important;
  padding: 20px;
  text-align: left;
  font-size: 1.6rem;
  font-weight: 500;
}
#main table.table th {
  width: 140px;
  color: #fff;
  background-color: #9B2F75;
  clip-path: inset(0 0 round 5px);
  text-align: center;
}
#main table.table td {
  width: auto !important;
  background-color: #F6F3FC;
  clip-path: inset(0 0 round 3px);
}
/**/
#main table.table td a {
  word-break: break-all;
}
/* ------------------------------ table（均等） */
#main table.flex {
  width: 100% !important;
  height: auto !important;
  table-layout: fixed;
}
#main table.flex th, #main table.flex td {
  width: auto !important;
  height: auto !important;
}
/* ------------------------------ ul */
#main ul {
  list-style: none;
  margin: 15px 0 15px 20px;
}
#main ul li {
  position: relative;
}
#main ul li::after {
  display: block;
  content: '';
  position: absolute;
  top: 0.8em;
  left: -0.8em;
  width: 8px;
  height: 8px;
  background-color: #9B2F75;
  border-radius: 3px;
}
/**/
#main ul ul.sub {
  list-style: none;
  margin: 15px 0 15px 20px;
}
#main ul ul.sub li {
  position: relative;
}
#main ul ul.sub li::after {
  display: block;
  content: '';
  position: absolute;
  top: 0.8em;
  left: -0.8em;
  width: 8px;
  height: 8px;
  background-color: transparent;
  border: solid 1px #9B2F75;
  border-radius: 3px;
}
/* ---------- 打消し*/
/*スライダー*/
#main .bx-wrapper ul {
  margin: 0;
}
#main .bx-wrapper li::after {
  display: none;
}
/*関連情報*/
#main .card {
  margin: 0;
}
#main .card li::after {
  display: none;
}
/*ページ内リンク*/
#main .link_box ul {
  margin: 0;
}
#main .link_box ul li::after {
  display: none;
}
/* ------------------------------ ol */
#main ol {
  margin: 15px 0 15px 20px;
}
/* ------------------------------ btn */
#main .btn {
  color: #fff;
  background-color: #B33587;
  border-radius: 5px;
  margin: 15px 5px;
  padding: 11px 42px;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 500;
  text-decoration: none;
  transition: .4s;
}
#main .btn:hover {
  background-color: #999;
}
/* ------------------------------ btn_dl */
#main .btn_dl {
  color: #B33587;
  border: 2px solid #B33587;
  border-radius: 5px;
  margin: 15px 5px;
  padding: 7px 45px 7px 40px;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 500;
  text-decoration: none;
  transition: .4s;
}
#main .btn_dl:hover {
  background-color: #F5D8EC;
}
#main .btn_dl::after {
  position: absolute;
  bottom: 14px;
}
/* ------------------------------ flyer(チラシダウンロード) */
#main a.flyer {
  color: #B33587;
  border: 2px solid #B33587;
  border-radius: 9px;
  margin: 40px 5px;
  padding: 20px 85px 20px 80px;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 500;
  text-decoration: none;
  background-color: #fff;
  filter: drop-shadow(0px 0px 10px rgba(179, 53, 135, 0.2));
  transition: .4s;
}
#main a.flyer:hover {
  background-color: #F5D8EC;
}
#main a.flyer::after {
  position: absolute;
  bottom: 28px;
}
/***************************************************セカンドトップ */
#main .index_inner {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
#main .index_inner .box {
  width: calc(100% / 3 - 20px);
  box-sizing: border-box;
  margin: 0 10px 20px 10px;
}
#main .index_inner .box .i_nav a {
  color: #B33587;
  border: 2px solid #B33587;
  border-radius: 5px;
  margin: 15px 0;
  padding: 11px 42px 11px 16px;
  display: block;
  font-weight: 500;
  text-decoration: none;
  position: relative;
}
#main .index_inner .box .i_nav a:hover {
  background-color: #F5D8EC;
}
#main .index_inner .box .i_nav a::after {
  position: absolute;
  content: "";
  /*top: 1.2em;*/
  top: 40%;
  right: 18px;
  width: 12px;
  height: 12px;
  border-top: 2px solid #B33587;
  border-right: 2px solid #B33587;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transition: .4s;
}
#main .index_inner .box .i_nav a:hover::after {
  right: 14px;
}
#main .index_inner .box ul {
  margin: 0;
  padding: 0;
}
#main .index_inner .box ul li {}
#main .index_inner .box ul li::after {
  display: none;
}
/**/
#main .index_inner .box ul li a {
  padding: 10px 40px 10px 20px;
  display: block;
  border-radius: 7px;
  background-color: #F6F3FC;
  font-size: 1.5rem;
  text-decoration: none;
  position: relative;
}
#main .index_inner .box ul li a::before {
  position: absolute;
  content: "";
  left: 50%;
  bottom: 0;
  display: inline-block;
  width: calc(100% - 10px);
  height: 1px;
  -webkit-transform: translateX(-50%);
  transform: translate(-50%);
  border-bottom: 1px dotted #B33587;
}
#main .index_inner .box ul li a::after {
  position: absolute;
  content: "";
  /*top: 1.5em;*/
  top: 42%;
  right: 18px;
  width: 9px;
  height: 9px;
  border-top: 1px solid #B33587;
  border-right: 1px solid #B33587;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transition: .4s;
}
#main .index_inner .box ul li a:hover::after {
  right: 14px;
}
/* ------------------------------ ページ分割*/
#main .pager {
  margin: 40px auto;
  padding: 0;
  text-align: center;
  list-style: none;
}
#main .pager li {
  display: inline;
  list-style: none;
}
#main .pager a {
  display: inline-block;
  border: 1px solid #ccc;
  margin: 4px;
  padding: 4px 10px;
  text-decoration: none;
}
#main .pager span {
  display: inline-block;
  padding: 4px 8px;
  background-color: #F5F5F5;
}
#main .pager li::after {
  display: none;
}
/***************************************************INFORMATION　お知らせ（一覧）*/
#infomation article a {
  display: block;
  display: -webkit-flex;
  display: flex;
  position: relative;
  border-bottom: 2px dotted #ccc;
  text-decoration: none;
  padding: 15px 0;
}
#infomation article a::after {
  display: inline-block;
  position: relative;
  margin: auto 0;
  padding: 0;
  bottom: 0;
}
#infomation article a:hover {
  background-color: rgba(241, 214, 229, 0.5);
}
#infomation article .day {
  margin: 0;
  padding: 0 30px 0 5px;
  font-size: 1.6rem;
  font-weight: 500;
  color: #999;
  letter-spacing: 0.05em;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
}
/*h2かh3を使用*/
#infomation article .title {
  margin: auto 0;
  padding: 0;
  font-size: 1.6rem;
  line-height: 1.6em;
  font-weight: 500;
  color: #000;
  border: none;
  background-image: none;
}
/***************************************************INFORMATION　お知らせ（記事）*/
#main #infomation {}
#main #infomation .header .date {
  text-align: right;
  margin: 20px 0;
}
#main #infomation .header .date span {
  padding: 0 0 0 5px;
  font-weight: 500;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
}
#main #infomation .table {}
#main #infomation .table th {
  width: 30%;
  min-width: 240px;
  vertical-align: middle;
}
/**/
#main #infomation .flyer {
  display: block;
  width: calc(100% - 100px);
  margin: 40px auto;
  text-align: center;
}
/* ---------- チラシ画像*/
#infomation .info_pict {}
#infomation .info_pict img {}
/* ---------- チラシ画像の余白と囲み線*/
#main #infomation p img {
  margin: 10px 0;
  border: 1px solid #ccc;
}
/***************************************************SHOP NEWS　ショップニュース／EVENT　イベント（記事）*/
#news .header .shop, #event .header .event {
  margin: 0 0 20px 0;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
#news .header .shop dt, #event .header .event dt {
  width: 110px;
  padding: 8px 10px;
  background-color: #B33587;
  font-size: 1.6rem;
  font-weight: 500;
  color: #fff;
  text-align: center;
  border-radius: 3px;
}
#news .header .shop dd, #event .header .event dd {
  width: 100%;
  margin: 0;
  padding: 0 20px;
  color: #000;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  font-size: 1.6rem;
  font-weight: 500;
  background-color: #F6F3FC;
  border-radius: 3px;
}
/*----------記事更新日*/
#news .header .date, #event .header .date {
  text-align: right;
  margin: 0 0 20px 0;
}
#news .header .date a.tag, #event .header .date a.tag {
  display: inline-block;
  border: 1px solid #999;
  border-radius: 100vh;
  font-size: 1.2rem;
  line-height: 1.0em;
  color: #999;
  margin: 0 10px 10px 0;
  padding: 8px 16px;
  transition: .4s;
  text-decoration: none;
}
#news .header .date a.tag:hover, #event .header .date a.tag:hover {
  border: 1px solid #9B2F75;
  color: #9B2F75;
}
/**/
#news .header .date span, #event .header .date span {
  padding: 0 0 0 5px;
  font-weight: 500;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
}
/**/
#main #news .table, #main #event .table {
  width: 100% !important;
  height: auto !important;
}
#main #news .table th, #main #event .table th {
  width: 25% !important;
  min-width: 160px;
  height: auto !important;
  padding: 15px 10px;
  vertical-align: middle;
}
/* ---------- チラシ画像*/
#main #news .flyer, #main #event .flyer {
  display: block;
  width: calc(100% - 100px);
  margin: 40px auto;
  text-align: center;
}
/* ---------- チラシ画像の余白と囲み線*/
#main #news p img, #main #event p img {
  margin: 10px 0;
  border: 1px solid #ccc;
}
/* ---------- 商品紹介（メニュー）*/
#main #news .item {}
/**/
#main #news .item_wrap {
  margin: 0 0 20px 0;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
#main #news .item_wrap .txt_box {
  width: calc(100% / 3 - 20px);
  margin: 10px;
  background-color: #F7F7F7;
}
#main #news .item_wrap .txt_box .pict {
  margin: 0;
  padding: 0;
}
#main #news .item_wrap .txt_box .pict img {
  width: 100%;
  max-width: 320px;
  height: auto;
}
/*画像なし*/
#main #news .item_wrap .txt_box dl {
  margin: 0;
  padding: 24px;
  border-radius: 3px;
}
#main #news .item_wrap .txt_box dl dt {
  font-weight: 600;
  padding: 0;
}
#main #news .item_wrap .txt_box dl dd {
  font-size: 1.6rem;
}
#main #news .item_wrap .txt_box dl dd ul {
  list-style: disc;
}
#main #news .item_wrap .txt_box dl dd ul li {}
#main #news .item_wrap .txt_box dl dd ul li::after {
  display: none;
}
#main #news .item_wrap .txt_box dl dd.price {
  font-weight: 600;
  text-align: right;
  font-size: 1.8rem;
}
/*商品名と金額（一行）*/
#main #news .list_menu {
  margin: 40px 0;
}
#main #news .list_menu li {
  margin: 20px 0;
  padding: 24px;
  background-color: #F7F7F7;
  border-radius: 3px;
  font-weight: 600;
}
#main #news .list_menu li::after {
  display: none;
}
#main #news .list_menu li span {}
#main #news .list_menu li span::before {
  content: '…';
  padding: 0 4px;
}
/***************************************************FLOOR GUIDE フロアガイド */
#floor_guide {}
#floor_guide .link_box {}
#floor_guide .link_box ul {
  margin: 0;
  padding: 0;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
#floor_guide .link_box ul li {
  width: calc(100% / 3 - 20px);
  margin: 10px;
  padding: 0;
}
#floor_guide .link_box ul li a {
  color: #B33587;
  border: 2px solid #B33587;
  border-radius: 5px;
  margin: 0;
  padding: 11px 16px;
  display: block;
  font-size: 1.2rem;
  font-weight: 500;
  text-decoration: none;
  position: relative;
}
#floor_guide .link_box ul li a span {
  color: #B33587;
  margin: 0 12px 0 0;
  font-size: 1.8rem;
}
/* ---------- スラッシュ*/
#floor_guide .link_box ul li a span::after {
  position: relative;
  content: "";
  display: inline-block;
  background: #B33587;
  width: 1px;
  height: 0.8em;
  left: 0.3em;
  vertical-align: middle;
  transform: rotate(45deg);
}
#floor_guide .link_box ul li a:hover {
  background-color: #F5D8EC;
}
/* ---------- 矢印*/
#floor_guide .link_box ul li a::after {
  position: absolute;
  content: "";
  top: 1.8em;
  right: 18px;
  width: 12px;
  height: 12px;
  border-top: 2px solid #B33587;
  border-right: 2px solid #B33587;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transition: .4s;
}
#floor_guide .link_box ul li a:hover::after {
  right: 14px;
}
/* ---------- 一覧*/
#floor_guide .shop {
  margin: 40px 0 80px 0;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
#floor_guide .shop .box {
  width: calc(100% / 2 - 20px);
  margin: 0;
  /*padding: 20px 10px;*/
  border-bottom: 1px solid #ddd;
  /*padding: 20px 40px 20px 10px;*/
  position: relative;
}
/*2つめまで上に線*/
#floor_guide .shop .box:nth-child(1), #floor_guide .shop .box:nth-child(2) {
  border-top: 1px solid #ddd;
}
#floor_guide .shop .box::after {
  display: block;
  content: '';
  position: absolute;
  top: 47%;
  right: 10px;
  width: 6px;
  height: 6px;
  border-right: 1px solid #666;
  border-bottom: 1px solid #666;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  transition: .4s;
}
#floor_guide .shop .box:hover::after {
  right: 4px;
}
#floor_guide .shop .box a {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  text-decoration: none;
  padding: 20px 40px 20px 10px;
}
/**/
#floor_guide .shop .box .pict {
  min-width: 149px;
  margin: 0 20px 0 0;
}
#floor_guide .shop .box .pict img {
  width: 149px;
  height: auto;
}
/**/
#floor_guide .shop .box dl {
  width: 100%;
}
#floor_guide .shop .box dl dt {
  font-weight: 400;
  width: 100%;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
#floor_guide .shop .box dl dt span {
  width: 70px;
  font-size: 1.5rem;
  line-height: 1.0em;
  display: block;
  color: #fff;
  text-align: center;
  margin: 0 0 0 2px;
  padding: 4px 0;
}
#floor_guide .shop .box dl dt span:nth-child(1) {
  margin: 0 0 0 20px;
}
/**/
#floor_guide .shop .box dl dd.tag {
  color: #999;
  font-size: 1.2rem;
  line-height: 1.0em;
  padding: 10px 0 8px 0;
}
#floor_guide .shop .box dl dd.name {
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 1.6em;
}
#floor_guide .shop .box dl dd.name br {
  margin: 0;
  padding: 0;
  line-height: 1.0em;
}
/***************************************************FLOOR GUIDE フロアガイド（その他フロア紹介） */
#floor_info h3 {
  display: block;
  border-bottom: 3px solid #E9E9E9;
  position: relative;
  font-weight: 600;
}
#floor_info h3:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: 3px solid #9B2F75;
  bottom: -3px;
  width: 60px;
}
#floor_info .shop {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
#floor_info .shop .box {
  width: calc(100% / 2 - 30px);
  margin: 20px 15px;
}
#floor_info .shop .box .inner {
  display: -webkit-flex;
  display: flex;
  text-decoration: none;
  margin: 0 0 20px 0;
}
/**/
#floor_info .shop .box .pict {
  width: 100%;
  max-width: 149px;
  margin: 0 20px 0 0;
}
#floor_info .shop .box .pict img {
  width: 149px;
  height: auto;
}
/**/
#floor_info .shop .box dl {
  width: 100%;
}
#floor_info .shop .box dl dt {
  font-weight: 400;
  width: 100%;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: center;
  align-items: center;
}
#floor_info .shop .box dl dt span {
  width: 70px;
  font-size: 1.5rem;
  line-height: 1.0em;
  display: block;
  /*background-color: #ccc;*/
  color: #fff;
  text-align: center;
  margin: 0 0 0 2px;
  padding: 4px 0;
}
#floor_info .shop .box dl dt span:nth-child(1) {
  margin: 0 0 0 20px;
}
/**/
#floor_info .shop .box dl dd.tag {
  color: #999;
  font-size: 1.2rem;
  line-height: 1.4em;
  padding: 10px 0 2px 0;
}
#floor_info .shop .box dl dd.name {
  font-weight: 600;
  font-size: 1.6rem;
}
#floor_info .shop .box p {
  font-size: 1.6rem;
}
#floor_info .shop .box table.info {
  margin: 30px 0;
}
/*************************************************** GOURMET グルメ／SHOP ショップ（店舗情報）*/
#shop {}
#shop .top {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
#shop .top .pict {
  width: 100%;
  max-width: 228px;
  margin: 0 40px 0 0;
}
#shop .top .pict img {
  width: 100%;
  max-width: 228px;
  height: auto;
  border: 1px solid #DFDFDF;
}
/**/
#shop .top .info {
  width: 100%;
}
#shop .top .info h1 {}
/**/
#shop .top .info .floor {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
#shop .top .info .floor dt {
  font-weight: 400;
  /*width: 140px;*/
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: center;
  align-items: center;
}
#shop .top .info .floor dt span {
  width: 70px;
  font-size: 1.6rem;
  line-height: 1.0em;
  display: block;
  /*background-color: #ccc;*/
  color: #fff;
  text-align: center;
  /*margin-left: auto;*/
  margin: 0 0 0 20px;
  padding: 4px 0;
}
#shop .top .info .floor dt span:nth-child(n+2) {
  margin: 0 0 0 2px;
}
/* ---------- 店番背景色*/
.floor dt span.shop {
  background-color: #7BDC63;
}
.floor dt span.gourmet {
  background-color: #F1A065;
}
.floor dt span.other {
  background-color: #EC93B1;
}
/**/
#shop .top .info .floor dd {
  width: 100%;
  margin: 0;
  padding: 0 20px;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  font-size: 1.4rem;
  color: #999999;
}
/* ------------------------------ table */
#shop table.info {
  width: 100%;
  height: auto;
  margin: 40px 0;
}
#shop table.info th, #shop table.info td {
  height: auto;
  padding: 20px;
  text-align: left;
  font-size: 1.8rem;
  font-weight: 500;
}
#shop table.info th {
  width: 140px;
}
#shop table.info td {}
#shop table.info tr:nth-child(odd) {
  background: #F9F7F9;
}
/* ------------------------------ スライド */
#shop .mainvisual {}
#shop .mainvisual .visual_wrap {}
#shop .mainvisual .visual {
  margin: 0;
  padding: 0;
}
/* ---------- スライダー*/
#shop .mainvisual .visual_wrap {
  margin: 0 auto;
}
#shop .mainvisual .visual_wrap .bx-wrapper {
  margin: 0 auto 60px auto; /*画像を真ん中に*/
}
#shop .mainvisual .visual_wrap .bx-viewport {
  padding: 20px 0;
}
#shop .mainvisual .visual_wrap .visual li {
  text-align: center;
}
/* ---------- pager */
#shop .mainvisual .visual_wrap .bx-wrapper .bx-pager, #shop .mainvisual .visual_wrap .bx-wrapper .bx-controls-auto {
  position: absolute;
  bottom: -20px;
  width: 100%;
}
#shop .mainvisual .visual_wrap .bx-wrapper .bx-pager.bx-default-pager a {
  border: 1px solid #ccc;
  background: #fff;
  text-align: center;
  font-family: Arial;
  font-weight: bold;
  width: 8px;
  height: 8px;
  margin: 0 7px;
}
#shop .mainvisual .visual_wrap .bx-wrapper .bx-pager.bx-default-pager a:hover, #shop .mainvisual .visual_wrap .bx-wrapper .bx-pager.bx-default-pager a.active, #shop .mainvisual .visual_wrap .bx-wrapper .bx-pager.bx-default-pager a:focus {
  border: 1px solid #9B2F75;
  background: #9B2F75;
}
#shop .mainvisual .visual_wrap .bx-wrapper .bx-pager-item, #shop .mainvisual .visual_wrap .bx-wrapper .bx-controls-auto .bx-controls-auto-item {
  display: inline-block;
  vertical-align: bottom;
  *zoom: 1;
  *display: inline;
}
#shop .mainvisual .visual_wrap .bx-wrapper .bx-pager-item {
  font-size: 0;
  line-height: 0;
}
/**/
#shop .mainvisual .lead {
  font-size: 1.8rem;
}
/* ------------------------------ 店舗紹介詳細 */
#shop .about_box {
  display: -webkit-flex;
  display: flex;
  width: 100%;
  margin: 20px 0;
}
/**/
#shop .about_box .main_img {
  margin-right: 24px;
  padding: 0;
}
#shop .about_box .main_img p img {
  max-width: 320px;
  height: auto;
}
#shop .about_box .comment {
  width: 100%;
  background-color: #F9F7F9;
  margin: 10px 0;
  padding: 20px;
}
/* ------------------------------ 商品紹介（メニュー） */
#shop .item {}
/**/
#shop .item_wrap {
  margin: 0 0 20px 0;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
#shop .item_wrap .box {
  width: calc(100% / 3 - 40px);
  margin: 10px 20px 40px 20px;
  /*width: 320px;
  margin: 24px;*/
}
#shop .item_wrap .box .pict {
  margin: 0;
  padding: 0;
}
#shop .item_wrap .box .pict img {
  width: 100%;
  max-width: 320px;
  height: auto;
}
/**/
#shop .item_wrap .box dl {
  margin: 20px 0;
}
#shop .item_wrap .box dl dt {
  font-weight: 600;
  padding: 0 0 10px 0;
}
#shop .item_wrap .box dl dd {
  font-size: 1.6rem;
}
#shop .item_wrap .box dl dd ul {
  list-style: disc;
}
#shop .item_wrap .box dl dd ul li {}
#shop .item_wrap .box dl dd ul li::after {
  display: none;
}
#shop .item_wrap .box dl dd.price {
  font-weight: 600;
  text-align: right;
  font-size: 1.8rem;
}
/**/
#shop .item_wrap .sub_box {
  padding: 16px 24px;
  font-size: 1.6rem;
  border: dashed 1px #ccc;
  border-radius: 8px;
}
/*メニュー（テキストのみの場合）*/
#shop .item_wrap .txt_box {
  width: calc(100% / 3 - 20px);
  margin: 10px;
  background-color: #F7F7F7;
}
/**/
#shop .item_wrap .txt_box dl {
  margin: 0;
  padding: 24px;
  border-radius: 3px;
}
#shop .item_wrap .txt_box dl dt {
  font-weight: 600;
  padding: 0;
}
#shop .item_wrap .txt_box dl dd {
  font-size: 1.6rem;
}
#shop .item_wrap .txt_box dl dd ul {
  list-style: disc;
}
#shop .item_wrap .txt_box dl dd ul li {}
#shop .item_wrap .txt_box dl dd ul li::after {
  display: none;
}
#shop .item_wrap .txt_box dl dd.price {
  font-weight: 600;
  text-align: right;
  font-size: 1.8rem;
}
/* ------------------------------ メッセージ */
#shop .message {
  background-color: #F7F7EE;
  margin: 20px 0;
  padding: 20px;
  text-align: center;
}
#shop .message p {
  font-size: 1.8rem;
  font-weight: 600;
}
/* ------------------------------ 英会話スクール Hello!s（コース紹介） */
#shop .course {}
/**/
#shop .course .about {
  display: -webkit-flex;
  display: flex;
}
#shop .course .main_img {
  margin-right: 24px;
}
#shop .course .main_img img {
  max-width: 320px;
  height: auto;
}
#shop .course .txt_box {}
/***************************************************一覧用（PC／SP共通）*/
/* ---------------------------------------- SHOPNEWS／EVENT（トップ）*/
/* ---------------------------------------- GOURMET グルメ／SHOP ショップ（関連情報）／記事バックナンバー*/
#shop .end h2 {
  margin: 60px 0;
  text-align: center;
  background-image: none;
  font-size: 2.8rem;
}
/*#event .end h2 {
  margin: 60px 0;
  text-align: center;
  background-image: none;
  font-size: 2.8rem;
}*/
/**/
#back_num h2 {
  margin: 60px 0;
  text-align: center;
  background-image: none;
  font-size: 2.8rem;
}
/**/
#shop .card, #event .card, #back_num .card {
  margin: 40px 0;
  list-style: none;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: stretch;
  -webkit-align-items: stretch;
}
#shop .card li, #event .card li, #back_num .card li {
  display: -webkit-flex;
  display: flex;
  flex-direction: column;
  -webkit-flex-direction: column;
  margin: 20px 10px;
  width: 260px;
  /*    height: 100%;*/
  /*height: 100vh;*/
  /*  height: 560px;*/
  background-color: #fff;
  position: relative;
  filter: drop-shadow(0px 0px 4px rgba(0, 0, 0, 0.2));
  transition: .4s;
}
#shop .card li:hover, #event .card li:hover, #back_num .card li:hover {}
#shop .card li .pict, #event .card li .pict, #back_num .card li .pict {
  width: 260px;
  height: 260px;
  overflow: hidden;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  position: relative;
  filter: drop-shadow(0px 0px 4px rgba(0, 0, 0, 0.2));
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}
#shop .card li .pict::before, #event .card li .pict::before, #back_num .card li .pict::before {
  position: absolute;
  content: "";
  top: 0px;
  left: 0px;
  bottom: 0px;
  right: 0px;
  background: inherit;
  filter: blur(5px);
  z-index: -1;
}
/**/
#shop .card li span.tag, #event .card li span.tag, #back_num .card li span.tag {
  position: absolute;
  content: "";
  z-index: 10;
  top: -25px;
  left: 10px;
  display: inline-block;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #9B2F75;
  font-size: 1.2rem;
  color: #fff;
  text-align: center;
  line-height: 50px;
}
/**/
#shop .card li a, #event .card li a, #back_num .card li a {
  display: block;
  text-decoration: none;
}
#shop .card li a[href$=".pdf"]::after, #event .card li a[href$=".pdf"]::after, #back_num .card li a[href$=".pdf"]::after {
  display: none;
}
/**/
#shop .card li img, #event .card li img, #back_num .card li img {
  max-width: 260px;
  max-height: 260px;
  margin: 0 auto;
  filter: drop-shadow(0px 0px 4px rgba(0, 0, 0, 0.2));
  /*position: absolute;
  content: "";
  max-width: 260px;
  max-height: 260px;
  margin: 0 auto;
  filter: drop-shadow(0px 0px 4px rgba(0, 0, 0, 0.2));
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);*/
}
/**/
#shop .card li .text, #event .card li .text, #back_num .card li .text {
  /*position: absolute;
  content: "";*/
  width: 100%;
  /*top: 260px;*/
  background-color: #fff;
  padding: 20px;
  /*overflow: hidden;*/
  /*position: absolute;
  content: "";
  width: 100%;
  top: 260px;
  background-color: #fff;
  padding: 20px;
  overflow: hidden;*/
}
#shop .card li .text dl, #event .card li .text dl, #back_num .card li .text dl {}
/**/
#shop .card li .text dt, #event .card li .text dt, #back_num .card li .text dt {}
#shop .card li .text dt .date, #event .card li .text dt .date, #back_num .card li .text dt .date {
  font-size: 1.4rem;
  color: #999;
  display: block;
}
#shop .card li .text dt .shop, #event .card li .text dt .shop, #back_num .card li .text dt .shop {
  font-size: 1.2rem;
  color: #000;
  display: block;
}
/* ---------- 開催期間*/
#shop .card li .text dd.period, #event .card li .text dd.period, #back_num .card li .text dd.period {
  font-size: 1.5rem;
  line-height: 1.7em;
  font-weight: 500;
  color: #000;
  background-color: #F9ECF4;
  margin: 10px 0;
  padding: 5px 20px 10px 20px;
  position: relative;
}
#shop .card li .text dd.period::before, #event .card li .text dd.period::before, #back_num .card li .text dd.period::before {
  position: absolute;
  content: "";
  top: 6px;
  left: -4px;
  display: inline-block;
  width: 24px;
  height: 1px;
  background-color: #9A2E74;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
#shop .card li .text dd.period span, #event .card li .text dd.period span, #back_num .card li .text dd.period span {
  font-size: 1.1rem;
  color: #9A2E74;
  width: 100%;
  margin: 0 0 5px 0;
  padding: 0 0 5px 0;
  display: block;
  text-align: center;
  border-bottom: 1px dotted #9A2E74;
  letter-spacing: 0.05em;
}
/* ---------- 記事タイトル*/
#shop .card li .text dd.title, #event .card li .text dd.title, #back_num .card li .text dd.title {
  font-size: 1.4rem;
  color: #9A2E74;
}
/*終了の場合*/
#shop .card li .text dd.title .end, #event .card li .text dd.title .end, #back_num .card li .text dd.title .end {
  display: inline-block;
  text-align: center;
  background-color: #999999;
  color: #fff;
  font-size: 1.1rem;
  margin: 0 8px 0 0;
  padding: 4px 14px;
  line-height: 1.0em;
  font-weight: 500;
  border-radius: 3px;
}
/**/
#shop .card li .text .tagarea, #event .card li .text .tagarea, #back_num .card li .text .tagarea {
  margin: 10px 0 0 0;
}
#shop .card li .text .tagarea a.tag, #event .card li .text .tagarea a.tag, #back_num .card li .text .tagarea a.tag {
  display: inline-block;
  border: 1px solid #999;
  border-radius: 100vh;
  font-size: 1.2rem;
  line-height: 1.0em;
  color: #999;
  margin: 0 2px 2px 0;
  padding: 8px 12px;
  /*margin: 0 10px 10px 0;
  padding: 8px 16px;*/
  transition: .4s;
}
#shop .card li .text .tagarea a.tag:hover, #event .card li .text .tagarea a.tag:hover, #back_num .card li .text .tagarea a.tag:hover {
  border: 1px solid #9B2F75;
  color: #9B2F75;
}
/* ---------- バックナンバータイトル*/
#back_num {}
#back_num h1 {
  margin-top: 40px;
}
/*************************************************** ABOUT 施設案内 */
#about {}
#about table.credit th {
  width: 220px;
  vertical-align: middle;
  text-align: center;
}
#about table.credit td {
  vertical-align: middle;
  text-align: center;
}
/* ---------------------------------------- 施設利用 */
/* ---------------------------------------- コンセプト */
#concept {}
/* ------------------------------ スライド */
#concept .mainvisual {}
#concept .mainvisual .visual_wrap {}
#concept .mainvisual .visual {
  margin: 0;
  padding: 0;
}
/* ---------- スライダー*/
#concept .mainvisual .visual_wrap {
  margin: 0 auto;
}
#concept .mainvisual .visual_wrap .bx-wrapper {
  margin: 0 auto 60px auto; /*画像を真ん中に*/
}
#concept .mainvisual .visual_wrap .bx-viewport {
  padding: 20px 0;
}
#concept .mainvisual .visual_wrap .visual li {
  text-align: center;
}
/* ---------- pager */
#concept .mainvisual .visual_wrap .bx-wrapper .bx-pager, #concept .mainvisual .visual_wrap .bx-wrapper .bx-controls-auto {
  position: absolute;
  bottom: -20px;
  width: 100%;
}
#concept .mainvisual .visual_wrap .bx-wrapper .bx-pager.bx-default-pager a {
  border: 1px solid #ccc;
  background: #fff;
  text-align: center;
  font-family: Arial;
  font-weight: bold;
  width: 8px;
  height: 8px;
  margin: 0 7px;
}
#concept .mainvisual .visual_wrap .bx-wrapper .bx-pager.bx-default-pager a:hover, #concept .mainvisual .visual_wrap .bx-wrapper .bx-pager.bx-default-pager a.active, #concept .mainvisual .visual_wrap .bx-wrapper .bx-pager.bx-default-pager a:focus {
  border: 1px solid #9B2F75;
  background: #9B2F75;
}
#concept .mainvisual .visual_wrap .bx-wrapper .bx-pager-item, #concept .mainvisual .visual_wrap .bx-wrapper .bx-controls-auto .bx-controls-auto-item {
  display: inline-block;
  vertical-align: bottom;
  *zoom: 1;
  *display: inline;
}
#concept .mainvisual .visual_wrap .bx-wrapper .bx-pager-item {
  font-size: 0;
  line-height: 0;
}
/* ------------------------------ 温故知新・日々是好日*/
#concept .theme {
  background-color: #F9F2FD;
  margin: 20px 0;
  padding: 30px 45px;
  border-radius: 10px;
}
#concept .theme dl {}
#concept .theme dl dt {
  font-size: 2.1rem;
  font-weight: 500;
  margin: 0;
  padding: 0;
}
#concept .theme dl dd {
  font-size: 1.6rem;
  margin: 0;
  padding: 10px 0;
}
/* ---------- 色*/
#concept .theme.first dl dt {
  color: #867E9E;
}
#concept .theme.second dl dt {
  color: #AD7F94;
}
/* ---------------------------------------- 無料展望室 */
#observation {}
/* ------------------------------ スライド */
#observation .mainvisual {}
#observation .mainvisual .visual_wrap {}
#observation .mainvisual .visual {
  margin: 0;
  padding: 0;
}
/* ---------- スライダー*/
#observation .mainvisual .visual_wrap {
  margin: 0 auto;
}
#observation .mainvisual .visual_wrap .bx-wrapper {
  margin: 0 auto 60px auto; /*画像を真ん中に*/
}
#observation .mainvisual .visual_wrap .bx-viewport {
  padding: 20px 0;
}
#observation .mainvisual .visual_wrap .visual li {
  text-align: center;
}
/* ---------- pager */
#observation .mainvisual .visual_wrap .bx-wrapper .bx-pager, #observation .mainvisual .visual_wrap .bx-wrapper .bx-controls-auto {
  position: absolute;
  bottom: -20px;
  width: 100%;
}
#observation .mainvisual .visual_wrap .bx-wrapper .bx-pager.bx-default-pager a {
  border: 1px solid #ccc;
  background: #fff;
  text-align: center;
  font-family: Arial;
  font-weight: bold;
  width: 8px;
  height: 8px;
  margin: 0 7px;
}
#observation .mainvisual .visual_wrap .bx-wrapper .bx-pager.bx-default-pager a:hover, #observation .mainvisual .visual_wrap .bx-wrapper .bx-pager.bx-default-pager a.active, #observation .mainvisual .visual_wrap .bx-wrapper .bx-pager.bx-default-pager a:focus {
  border: 1px solid #9B2F75;
  background: #9B2F75;
}
#observation .mainvisual .visual_wrap .bx-wrapper .bx-pager-item, #observation .mainvisual .visual_wrap .bx-wrapper .bx-controls-auto .bx-controls-auto-item {
  display: inline-block;
  vertical-align: bottom;
  *zoom: 1;
  *display: inline;
}
#observation .mainvisual .visual_wrap .bx-wrapper .bx-pager-item {
  font-size: 0;
  line-height: 0;
}
/************************************************************ aside */
aside {
  -webkit-order: -1;
  order: -1;
  margin: 0 40px 0 0;
}
/* ------------------------------ side */
#side {
  width: 100%;
  min-width: 230px;
  margin: 0 0 20px 0;
}
#side .inner {
  background-color: #F6F3FC;
  border-radius: 9px;
  padding: 10px 30px;
}
/**/
#side .head {
  border-bottom: 2px solid #C63E96;
}
#side .head a {
  font-size: 1.7rem;
  font-weight: 500;
  display: block;
  padding: 10px 0 15px 0;
  color: #B23385;
}
/**/
#side ul {
  list-style: none;
  margin: 0 0 30px 0;
}
#side ul li {
  border-bottom: 1px dotted #C63E96;
}
#side ul li a {
  display: block;
  color: #B23385;
  font-size: 1.4rem;
  padding: 12px 0;
}