@charset "utf-8";
@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700&display=swap";
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap');

html.scroll-prevent {
  overflow: hidden;
}

.scroll-prevent {
  position: fixed;
  z-index: -1;
  width: 100%;
  height: 100%;
}

/*###############################################
ヘッダー
###############################################*/
#header {
  margin: 0 auto;
  width: 100%;
  height: 80px;
  background-color: #fff;
  position: fixed;
  top: 0;
  z-index: 1000;
}

#header .header_wrap {
  width: 100%;
  display: flex;
  align-items: center;
}

.header_wrap a {
  display: block;
}

.header_wrap .header_logo {
  display: flex;
  align-items: center;
  padding: 14px 0;
  margin-left: 6.2%;
}

.header_logo .icn_gransta {
  width: 44px;
  height: 51px;
  margin: 0 40px 0 0;
}

.header_logo ul {
  display: flex;
  align-items: center;
  list-style: none;
}

.header_logo ul li {
  margin-right: 28px;
}

.header_logo ul li:nth-child(4) {
  margin-right: 36px;
}

.header_logo ul li:last-child {
  margin-right: 17px;
}

.header_logo ul li.en {
  display: flex;
  height: 14px;
  align-items: center;
  background: #000;
  border-radius: 2px;
}

.header_logo ul li a {
  color: #000;
  font-weight: 500;
  word-break: keep-all;
  white-space: nowrap;
}

.header_logo ul li.en a {
  color: #fff;
  font-size: 1.2rem;
  padding: 0 2px;
}

.header_wrap .header_btn {
  margin: 0 6.2% 0 auto;
  display: flex;
}

.header_btn ul {
  display: flex;
  align-items: center;
  list-style: none;
}

.header_btn li .icn_facebook {
  width: 28px;
  height: 28px;
  margin-right: 23px;
}

.header_btn li .icn_instagram {
  width: 26px;
  height: 26px;
  margin-right: 22px;
}

.header_btn li .icn_twitter {
  width: 30px;
  height: 25px;
  margin-right: 20px;
}

.header_btn li .icn_line {
  width: 30px;
  height: 29px;
  margin-right: 39px;
}

.header_btn li .icn_stanavi {
  width: 42px;
  height: 41px;
  margin-right: 40px;
}

.header_btn li .icn_search {
  display: flex;
  align-items: center;
  color: #000;
  font-size: 1.4rem;
  font-weight: bold;
  word-break: keep-all;
}

.header_btn li .icn_search img {
  width: 17px;
  height: 17px;
  margin-right: 8px;
}

/*ヘッダーサーチボタン*/
#searchWrap {
  position: fixed;
  background: rgba(255, 255, 255, 0);
  width: 100%;
  top: -80px;
  left: 0;
  z-index: 100;
  opacity: 0;
  transition: 0.3s;
}

#searchWrap:before {
  content: "";
  display: block;
  position: absolute;
  height: 100%;
  width: 40%;
  top: 0;
  right: 0;
  background: #fff;
  z-index: -1;
}

body.search #searchWrap {
  top: 0;
  opacity: 1;
}

#searchWrap .wrapper {
  max-width: 1120px;
  margin: 0 auto;
}

#searchWrap .inner {
  width: 45%;
  margin-left: 55%;
  height: 80px;
  padding: 20px 0;
}

#searchWrap .searchBtn {
  max-width: 480px;
  height: 100%;
  margin: 0 0 0 auto;
  position: relative;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
}

#searchWrap .searchBtn form {
  height: 100%;
}

#searchWrap .searchBtn input[type="search"] {
  width: calc(100% - 57px);
  height: 100%;
  display: block;
  padding: 0 24px;
}

#searchWrap .searchBtn input[type="submit"] {
  position: absolute;
  display: block;
  top: 0;
  right: 0;
  width: 57px;
  height: 100%;
  background: url(/assets/img/icon/icon_search@2x.png) 50% 50% no-repeat;
  background-size: 17px;
}

@media only screen and (max-width: 948px) {

  /*ヘッダーサーチボタンsp*/
  #searchWrap {
    top: -60px;
  }

  #searchWrap:before {
    display: none;
  }

  #searchWrap .inner {
    width: 100%;
    margin-left: 0%;
    height: 60px;
    padding: 10px 20px;
  }

  #searchWrap .searchBtn {
    max-width: 100%;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
  }

  #searchWrap .searchBtn input[type="search"] {
    padding: 0 14px;
  }
}

/*SP*/
@media only screen and (max-width: 948px) {
  #header {
    width: 100%;
    height: 60px;
    display: flex;
  }

  #header .spHide {
    display: none !important;
  }

  .header_wrap .header_logo {
    width: calc(50% + 25px);
    margin-left: auto;
  }

  .header_logo .icn_gransta {
    width: 28px;
    height: 32px;
  }

  .header_logo .icn_search_gray {
    width: 20px;
    height: 20px;
    margin: 0 20px 0 auto;
  }

  /*ハンバーガーメニュー*/
  /* チェックボックスは非表示に */
  .drawer-hidden {
    display: none;
  }

  /* ハンバーガーアイコンの設置スペース */
  .drawer-open {
    display: flex;
    width: 20px;
    height: 18px;
    justify-content: center;
    align-items: center;
    position: relative;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 100;
    /* 重なり順を一番上に */
    cursor: pointer;
  }

  /* ハンバーガーメニューのアイコン */
  .drawer-open span,
  .drawer-open span:before,
  .drawer-open span:after {
    content: '';
    display: block;
    height: 2px;
    width: 20px;
    background: #c0c0c0;
    transition: 0.5s;
    position: absolute;
  }

  /* 三本線のうち一番上の棒の位置調整 */
  .drawer-open span:before {
    bottom: 8px;
  }

  /* 三本線のうち一番下の棒の位置調整 */
  .drawer-open span:after {
    top: 8px;
  }

  /* アイコンがクリックされたら真ん中の線を透明にする */
  #drawer-check:checked~.drawer-open span {
    background: rgba(255, 255, 255, 0);
  }

  /* アイコンがクリックされたらアイコンが×印になように上下の線を回転 */
  #drawer-check:checked~.drawer-open span::before {
    bottom: 0;
    transform: rotate(45deg);
  }

  #drawer-check:checked~.drawer-open span::after {
    top: 0;
    transform: rotate(-45deg);
  }

  #drawer-check:checked~.drawer_overlay {
    background: #000;
    pointer-events: none;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 60px;
    left: 0;
  }

  .drawer_head {
    width: 100%;
    position: fixed;
    z-index: 1;
  }

  /* メニューのデザイン*/
  .drawer-content {
    width: 100%;
    position: absolute;
    top: 60px;
    right: 100%;
    /* メニューを画面の外に飛ばす */
    z-index: 999;
    background: #fff;
    transition: .5s;
  }

  .drawer-content-inner {
    height: calc(100vh - 60px);
    -webkit-overflow-scrolling: auto;
    overflow-scrolling: auto;
    overflow-y: scroll;
  }

  /* アイコンがクリックされたらメニューを表示 */
  #drawer-check:checked~.drawer-content, #drawer-check:checked~.drawer-content::after {
    right: 0;
    /* メニューを画面に入れる */
  }

  .drawer-content .bg_grade {
    height: 40px;
  }

  .drawer-content ul {
    text-align: center;
    list-style: none;
  }

  .bg_grade {
    background: -moz-linear-gradient(top, #f8f8f8 0%, #ffffff 100%);
    background: -webkit-linear-gradient(top, #f8f8f8 0%, #ffffff 100%);
    background: linear-gradient(to bottom, #f8f8f8 0%, #ffffff 100%);
    height: 80px;
  }

  @media only screen and (max-width: 767px) {
    .bg_grade {
      height: 40px;
    }
  }

  .drawer-content .lang_wrap {
    background: #e0e0e0;
    position: relative;
    z-index: 2;
  }

  .drawer-content .lang_wrap ul {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 40px;
  }

  .drawer-content .lang_wrap ul li:first-child {
    margin-right: 34px;
  }

  .drawer-content .lang_wrap ul li a {
    height: 40px;
    color: #000;
    font-size: 1rem;
    font-family: Hiragino Kaku Gothic Pro;
  }

  .drawer-content .lang_wrap ul li a span.select {
    height: 40px;
    background: #fff;
    padding: 1px 4px 0;
    border-radius: 4px;
  }

  .drawer-content .drawer_link1 {
    display: flex;
    flex-wrap: wrap;
    padding: 0 10px 15px 10px;
    margin-top: 40px;
    position: relative;
    z-index: 1;
  }

  .drawer-content .drawer_link1 li:nth-child(4), .drawer-content .drawer_link1 li:last-child {
    margin-right: 0;
  }

  .drawer-content .drawer_link1 li {
    width: calc((100% - 24px) / 4);
    margin: 0 8px 25px 0;
  }

  .drawer-content .drawer_link1 li img {
    width: 40px;
  }

  .drawer-content .drawer_link1 li:nth-child(4) img {
    width: 52px;
  }

  .drawer-content .drawer_link1 li p {
    color: #404040;
    font-size: 1.2rem;
    font-weight: bold;
  }

  .drawer-content .drawer_link2 {
    position: relative;
    padding: 40px 0;
    z-index: 1;
  }

  .drawer-content .drawer_link2::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    display: inline-block;
    width: calc(100% - 20px);
    height: 1px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #e0e0e0;
    z-index: 100;
  }

  .drawer-content .drawer_link2 li:not(:last-child) {
    margin-bottom: 20px;
  }

  .drawer-content .drawer_link1 li a, .drawer_link2 li a {
    display: block;
    color: #000;
    font-weight: bold;
    text-decoration: none;
  }

  .drawer-content .drawer_link3 {
    display: flex;
    flex-wrap: wrap;
    padding: 0 10px;
    margin-bottom: 60px;
    position: relative;
    z-index: 1;
  }

  .drawer-content .drawer_link3 li {
    width: 50%;
    border-bottom: 1px solid #e0e0e0;
    position: relative;
  }

  .drawer-content .drawer_link3 li:first-child, .drawer_link3 li:nth-child(2) {
    border-top: 1px solid #e0e0e0;
  }

  .drawer-content .drawer_link3 li:nth-of-type(odd)::after {
    content: "";
    display: block;
    width: 1px;
    height: 33px;
    background-color: #e0e0e0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
  }

  .drawer-content .drawer_link3 li a {
    display: block;
    color: #000;
    font-weight: bold;
    padding: 20px 0;
  }

  .drawer-content .contact_btn {
    margin-bottom: 38px;
  }

  .drawer-content .contact_btn a {
    display: block;
    max-width: 355px;
    width: 100%;
    margin: 0 auto;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    text-align: center;
    background-color: #000;
    font-size: 1.3rem;
    line-height: 40px;
  }

  .drawer-content .drawer_link4 {
    max-width: 375px;
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto 60px;
    padding: 0 10px;
    text-align: center;
    justify-content: center;
    -webkit-justify-content: center;
  }

  .drawer-content .drawer_link4 .link4_inner {
    padding-top: 20px;
    font-size:0;
    letter-spacing: -1px;
   }
 
  .drawer-content .drawer_link4 a {
    position: relative;
    padding: 0 10px;
    word-break: keep-all;
    color: #000;
    font-weight: bold;
	display: inline-block;
	letter-spacing: normal;
	font-size: 1.4rem;
  }

  .drawer_link4 a::before {
    content: "";
    position: absolute;
    width: 1px;
    height: 14px;
    top: 4px;
    left: 0;
    background-color: #bbb;
  }

  .drawer_link4 .link4_inner:first-child a:nth-child(2)::after, .link4_inner:nth-child(2) a:nth-child(2)::after, .link4_inner:nth-child(3) a:nth-child(3)::after {
    content: "";
    position: absolute;
    width: 1px;
    height: 14px;
    top: 4px;
    right: 0;
    background-color: #bbb;
  }

  .drawer_link4 a:nth-child(3)::before {
    left: 0;
  }

  .drawer_link4 a.blank {
    padding-right: 22px;
  }

  .drawer_link4 a.blank::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-80%);
    width: 11px;
    height: 9px;
    background: url(/assets/img/gransta_tokyo/icon_link2x.svg)center center no-repeat;
    background-size: cover;
    right: 8px;
  }

  .drawer-content .drawer_link5 {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    /* top: -14px; */
    padding-bottom: 20px;
  }

  .drawer_link5 li a {
    display: block;
  }

  .drawer_link5 li .icn_facebook {
    width: 28px;
    height: 28px;
    margin-right: 23px;
  }

  .drawer_link5 li .icn_instagram {
    width: 26px;
    height: 26px;
    margin-right: 22px;
  }

  .drawer_link5 li .icn_twitter {
    width: 30px;
    height: 25px;
    margin-right: 20px;
  }

  .drawer_link5 li .icn_line {
    width: 30px;
    height: 29px;
    margin-right: 40px;
  }

  .drawer_link5 li .icn_stanavi {
    width: 40px;
    height: 40px;
  }

  .drawer-content .bg_b {
    width: 100%;
    height: 120px;
    background-color: #000;
  }

  .drawer-content .drawer_link5_wrap {
    position: relative;
  }

  .drawer-content .drawer_link5_wrap .bg_grade {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
  }

  .drawer-content .drawer_link5 {
    padding-top: 20px;
  }
}

@media only print, screen and (min-width: 949px) {
  .drawer {
    display: none !important;
  }

  .icn_search_gray {
    display: none !important;
  }
}

/*###############################################
フッター
###############################################*/
#footer .footer_contact {
  height: 176px;
  background: -moz-linear-gradient(top, #202020 0%, #000000 100%);
  background: -webkit-linear-gradient(top, #202020 0%, #000000 100%);
  background: linear-gradient(to bottom, #202020 0%, #000000 100%);
  padding-top: 30px;
}

.footer_contact a {
  text-decoration: none;
}

.footer_contact img {
  width: 69px;
  height: 80px;
  margin: 0 auto 20px;
  position: relative;
  left: 50%;
  transform: translateX(-50%); 
}

.footer_contact a span {
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  position: relative;
  left: calc(50% + 15px);
  transform: translateX(-60%);
  /* top: 14px; */
  display: table;
  padding-left: 8px;
}

.footer_contact a span::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left:-10px;
  transform: translateY(-50%);
  width: 14px;
  height: 14px;
  background: url(/assets/img/gransta_tokyo/icon_arrow_2_2x.svg)center center no-repeat;
  background-size: cover;
}

.footer_linkarea .link_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 80px;
}

.footer_linkarea .link_wrap a {
  color: #000;
  font-weight: bold;
  text-decoration: none;
  padding: 0 24px;
  position: relative;
  display: inline-block;
  margin-top: 10px;
}

.footer_linkarea .link_wrap a::before {
  content: "";
  position: absolute;
  width: 1px;
  height: 14px;
  top: 4px;
  left: 0;
  background-color: #bbb;
}

.link_wrap .link_inner:nth-child(3) a:last-child::after {
  content: "";
  position: absolute;
  width: 1px;
  height: 14px;
  top: 4px;
  right: 0;
  background-color: #bbb;
}

.footer_linkarea .link_wrap a.blank {
  padding-right: 36px;
}

.footer_linkarea .link_wrap a.blank::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-80%);
  width: 11px;
  height: 9px;
  right: 20px;
  background: url(/assets/img/gransta_tokyo/icon_link2x.svg)center center no-repeat;
  background-size: cover;
}

.footer_linkarea .copy {
  text-align: center;
  margin-bottom: 40px;
}

#chat_pot {
  display: block;
  width: 60px;
  height: 60px;
  position: fixed;
  right: 40px;
  bottom: 17px;
  z-index: 5000;
}

.footer_shoparea {
  padding: 85px 0 62px;
}

.footer_shoparea ul {
  max-width: 900px;
  padding-left: 5%;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
}

.footer_shoparea .shop01 {
  width: 13.116%;
  margin-right: 3.2%;
}

.footer_shoparea .shop02 {
  width: 18.006%;
  margin-right: 3.2%;
}

.footer_shoparea .shop03 {
  width: 21.056%;
  margin-right: 3.2%;
}

.footer_shoparea .shop04 {
  width: 7.596%;
  margin-right: 3.2%;
}


.footer_shoparea .shop05 {
  width: 27.426%;
}
.footer_shoparea li,
.footer_shoparea a{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  justify-content: center;
  -webkit-align-items: center;
  -ms-align-items: center;
  align-items: center;
}
.footer_shoparea img{
  vertical-align: middle;
}
footer{position: relative;}
footer .secure{
  max-width: 94px;
  position: absolute;
  bottom: -20px;
  left: 80px;
}
/*SP*/
@media only screen and (max-width: 767px) {
  #footer2 .footer_contact {
    height: 176px;
    margin-bottom: 60px;
    padding-top: 30px;
  }

  .footer_contact img {
    width: 62px;
    height: 72px;
    margin: 0 auto 20px;
  }

  .footer_linkarea {
    padding: 0 10px;
  }

  .footer_linkarea .link_wrap {
    max-width: 375px;
    display: block;
    margin: 0 auto 60px;
    text-align: center;
  }

  .footer_linkarea .link_wrap .link_inner:first-child a:nth-child(2)::after, .link_inner:nth-child(2) a:nth-child(2)::after {
    content: "";
    position: absolute;
    width: 1px;
    height: 14px;
    top: 4px;
    right: 0;
    background-color: #bbb;
  }

  .footer_linkarea .link_wrap a {
    padding: 0 14px;
    word-break: keep-all;
  }

  .footer_linkarea .link_wrap a.blank {
    padding-right: 22px;
  }

  .footer_linkarea .link_wrap a.blank::after {
    right: 8px;
  }

  .footer_linkarea .copy {
    margin-bottom: 40px;
  }

  #chat_pot {
    right: 20px;
    bottom: 20px;
  }

  .footer_shoparea {
    padding: 19px 0 49px;
    text-align: center;
  }

  .footer_shoparea li {
    margin-right: 0;
    margin-top: 13px;
  }

  .footer_shoparea ul {
    max-width: 350px;
    margin: 0 auto;
    padding-left: 0;
  }

  .footer_shoparea .shop01 {
    width: 22.14%;
    margin-right: 4.57%;
  }

  .footer_shoparea .shop02 {
    width: 33.71%;
    margin-right: 4%;
  }

  .footer_shoparea .shop03 {
    width: 35.58%;
    margin-right: 0;
  }

  .footer_shoparea .shop04 {
    width: 15.71%;
    margin-right: 4.28%;
    margin-left: 13.28%;
}

  .footer_shoparea .shop05 {
    width: 53.29%;
    margin-right: 12.44%;
  }

  footer .secure{
    max-width: 70px;
    position: static;
    margin: 0 auto 20px;
  }
	.ft__sp {
		display: block;
		padding-top: 5px;
	}
}

/*###############################################
各見出しとフォント
###############################################*/
html {
  font-size: 62.5%
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 1.5;
  -webkit-print-color-adjust: exact;
}

h1 {
  font-size: 2.4rem;
  line-height: 1.5;
  font-weight: 500;
}

h2 {
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 500;
}

h3 {
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: 500;
}

* {
  word-break: break-all;
}

@media all and (-ms-high-contrast: none) {
  * {
    word-break: break-all;
  }
}

/*その他*/
@media only print, screen and (min-width: 768px) {
  .pcHide {
    display: none !important
  }
}

@media only screen and (max-width: 767px) {
  .spHide {
    display: none !important
  }
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

img {
  vertical-align: bottom;
  outline: none;
  border-style: none;
}

img:focus {
  outline: none;
}

#main {
  padding-top: 80px;
  background: #fff;
  position: relative;
}

.gradi_01 {
  width: 100%;
  height: 40px;
  position: absolute;
  top: 80px;
  left: 0;
  background: -moz-linear-gradient(top, rgba(248, 248, 248, 1) 0%, rgba(248, 248, 248, 0) 100%);
  background: -webkit-linear-gradient(top, rgba(248, 248, 248, 1) 0%, rgba(248, 248, 248, 0) 100%);
  background: linear-gradient(to bottom, rgba(248, 248, 248, 1) 0%, rgba(248, 248, 248, 0) 100%);
}

#cm_facilities {
  position: relative;
  padding-top: 68px;
  padding-bottom: 80px;
}

#cm_facilities .gradi_01 {
  top: 0;
}

#cm_facilities .wrapper {
  max-width: 1120px;
  margin: 0 auto;
}

#cm_facilities .h1_block p {
  font-weight: normal;
}

#cm_facilities .shopWrap a {
  display: block;
}

@media only screen and (max-width: 948px) {
  #main {
    padding-top: 60px;
  }

  .gradi_01 {
    height: 40px;
    top: 60px;
  }
}

/*###############################################
リンク
###############################################*/
a {
  transition: all .5s ease;
  text-decoration: none;
}

a:hover {
  opacity: 0.6;
}

/*###############################################
パンくずナビ
###############################################*/
#bread_nav {
  padding: 40px 80px 22px;
}

#bread_nav ul {
  max-width: 1280px;
  margin: 0 auto;
}

#bread_nav li {
  font-size: 1.2rem;
  color: #000;
  position: relative;
}

#bread_nav li:nth-last-of-type(n+2) {
  margin-right: 3em;
}

#bread_nav li:nth-last-of-type(n+2):after {
  content: ">";
  position: absolute;
  top: 0;
  right: -2em;
}

#bread_nav a {
  font-size: 1.2rem;
  display: block;
  color: #000;
  text-decoration: none;
  font-weight: bold;
}

@media only screen and (max-width: 767px) {
  #bread_nav {
    display: none;
  }
}

/*###############################################
h1見出し01
###############################################*/
.h1_block {
  margin-top: 10px;
  text-align: center;
}

.h1_block h1 {
  position: relative;
  font-weight: 500;
}

.h1_block h1:after {
  content: "";
  display: block;
  width: 40px;
  height: 2px;
  background: #000;
  position: absolute;
  bottom: -16px;
  left: 50%;
  transform: translateX(-50%);
}

.h1_block p {
  margin-top: 40px;
  font-size: 1.4rem;
  font-weight: 500;
}

@media only screen and (max-width: 767px) {
  .h1_block {
    margin-top: 0;
  }
}

.ttl_area {
  text-align: center;
}

.ttl_area img {
  width: auto;
}

.ttl_area h1 {
  margin-top: 28px;
}

@media only screen and (max-width: 767px) {
  .ttl_area h1 {
    margin-top: 20px;
  }
}

/*###############################################
リンク
###############################################*/
.link2,
.link {
  text-align: center;
  margin-top: 40px;
}

.link2 a,
.link a {
  color: #000;
  font-weight: bold;
  text-decoration: none;
  position: relative;
}

.link2 a:before,
.link a:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 14px;
  height: 14px;
  left: -20px;
  background: url(/assets/img/svg/icon_arrow.svg)center center no-repeat;
  background-size: cover;
}

.link2 a:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: -16px;
  background: url(/assets/img/gransta_tokyo/icon_link2x.svg)center center no-repeat;
  background-size: cover;
  transform: translateY(-80%);
  width: 11px;
  height: 9px;
}

.link p {
  max-width: 220px;
  margin: 0 auto;
  border: 1px solid #c0c0c0;
  border-radius: 4px;
}

.link p a {
  display: block;
  line-height: 1.6;
  padding: 9px 0;
}

.link p a:before {
  left: 40px;
}

/*-----------------------*/
.link3 a,
.link4 span {
  position: relative;
  padding-left: 20px;
  padding-right: 16px;
  color: #000;
  font-weight: bold;
  text-decoration: none;
  position: relative;
}

.link3 a:after,
.link3 a:before,
.link4 span:after,
.link4 span:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 14px;
  height: 14px;
  left: 0px;
  background: url(/assets/img/svg/icon_arrow.svg)center center no-repeat;
  background-size: cover;
}

.link3 a:after,
.link4 span:after {
  right: 0;
  left: auto;
  background: url(/assets/img/svg/icon_link2x.svg)center center no-repeat;
  background-size: cover;
  transform: translateY(-80%);
  width: 11px;
  height: 9px;
}

.link4 a {
  background: #000;
  display: inline-block;
  padding: 0 20px;
  border-radius: 4px;
  line-height: 24px;
}

.link4 span {
  color: #fff;
}

.link4 span:before {
  background: url(/assets/img/svg/icon_arrow_2.svg)center center no-repeat;
  background-size: cover;
}

.link4 span:after {
  background: url(/assets/img/svg/icon_link2x_w.svg)center center no-repeat;
  background-size: cover;
}

.link4.aco a {
  background: none;
}

.link4.aco span {
  color: #000;
  padding-right: 0;
}

.link4.aco span:after {
  display: none;
}

.link4.aco span:before {
  background: url(/assets/img/svg/icon_arrow.svg)center center no-repeat;
  background-size: cover;
}

.link4.aco a {
  border: 1px solid #c0c0c0;
  border-radius: 4px;
  width: 240px;
  padding: 11px 0;
  line-height: 1.2;
}

.link5 {
  text-align: center;
  margin-top: 40px;
}

.link5 a {
  color: #000;
  font-weight: bold;
  text-decoration: none;
  background: url(/assets/img/svg/icon_arrow.svg) left center no-repeat;
  background-size: 14px;
  padding-left: 20px;
}

@media only screen and (max-width: 767px) {
  .link p {
    max-width: 240px;
  }

  .link p a:before {
    left: 50px;
  }

  .link4 a {
    display: inline;
  }
}

/*###############################################
続きを読み込むボタン
###############################################*/
#more-button {
  display: block;
  line-height: 1.6;
  padding: 8px 0;
  font-weight: 500;
  max-width: 220px;
  width: 100%;
  margin: 0 auto;
  border: 1px solid #c0c0c0;
  border-radius: 4px;
  margin-top: 60px;
}

#more-button span {
  position: relative;
  padding-left: 20px;
}

#more-button span:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 14px;
  height: 14px;
  left: 0px;
  background: url(/assets/img/svg/icon_arrow.svg)center center no-repeat;
  background-size: cover;
}

@media only screen and (max-width: 767px) {
  #more-button {
    margin-top: 45px;
    max-width: 240px;
  }
}

/*###############################################
検索窓
###############################################*/
#searchArea {
  background: #f0f0f0;
  padding: 20px 0;
}

#searchArea .searchBtn {
  max-width: 480px;
  margin: 0 auto;
  position: relative;
  border: 1px solid #e0e0e0;
}

#searchArea input[type="search"] {
  width: calc(100% - 57px);
  height: 100%;
  /* border: 1px solid #e0e0e0; */
  background: #fff;
  display: block;
  padding: 9px 20px;
  border-radius: 4px;
}

#searchArea input[type="submit"] {
  position: absolute;
  top: 0;
  right: 0;
  display: inline-block;
  width: 57px;
  height: 100%;
  background: url(/assets/img/icon/icon_search@2x.png) 50% 50% no-repeat;
  background-size: 17px;
  background-color: #fff;
}

@media only screen and (max-width: 767px) {
  #searchArea .searchBtn {
    max-width: 335px;
  }

  #searchArea input[type="search"] {
    padding: 9px 14px 9px 12px;
    width: calc(100% - 41px);
  }

  #searchArea input[type="submit"] {
    width: 41px;
  }
}

/*###############################################
シェアボタン
###############################################*/
.share {
  width: 188px;
  margin: 0 auto;
}

.share ul {
  width: 136px;
  margin: 0 auto;
}

.share p {
  text-align: center;
  padding-bottom: 18px;
  font-weight: bold;
}

.share li {
  width: 32px;
  height: 32px;
  margin-right: 20px;
}

.share li:nth-of-type(3) {
  margin-right: 0;
}

/*###############################################
検索結果リスト
###############################################*/
.result_list {
  max-width: 1120px;
  margin: 0 auto;
}

.result_list+.result_list {
  /* margin-top: 70px; */
  margin-top: 4px;
}

.result_list .result_items {
  margin-bottom: 20px;
  padding-bottom: 70px;
}

.result_list:last-of-type .result_items {
  margin-bottom: 0;
}

.result_list .inner {
  display: block;
}

.result_list .img {
  position: relative;
}

.result_list .new::after {
  content: "";
  display: block;
  width: 32.97101449275362%;
  height: 28.80434782608696%;
  background: rgba(0, 255, 0, 0.5);
  position: absolute;
  top: 0;
  right: 0;
}

.result_list .new::after {
  background: url(/assets/img/svg/label_new.svg) 0 0 no-repeat;
  background-size: 100% auto;
}

.result_list img {
  vertical-align: bottom;
}

.result_list .result_head {
  position: relative;
  cursor: pointer;
}

.result_list .result_head:before,
.result_list .result_head:after {
  content: "";
  display: block;
  width: 14px;
  height: 2px;
  background: #c0c0c0;
  position: absolute;
  top: 50%;
  right: 13px;
  transform: translateY(-1px);
  transition: 0.3s;
}

.result_list .result_head:after {
  width: 14px;
  transform: rotate(270deg);
}

.result_list .result_head.open:after {
  width: 0;
  transform: rotate(0);
}

.result_list .result_head p {
  background: #202020;
  color: #fff;
  padding: 10px 0 9px;
  text-align: center;
  font-weight: 500;
}

.result_list li {
  width: 25%;
  padding: 20px 2px 15px;
}

.result_list .in_wicket,
.result_list .out_wicket {
  text-align: center;
  font-size: 1.2rem;
  color: #fff;
  font-weight: 500;
  background: #ff8000;
  padding: 1px 0;
  margin-top: 4px;
}

.result_list .out_wicket {
  background: #c02030;
}

.result_list .ttl,
.result_list .name {
  color: #000;
  margin-top: 18px;
  padding: 0 12px;
  font-weight: bold;
}

.result_list .name span {
  font-size: 1.6rem;
  display: block;
  margin-top: 18px;
}

.result_list .ttl {
  font-weight: 500;
}

.result_list .date {
  padding: 0 12px;
  margin-top: 16px;
}

.result_list a {
  color: #000;
}

.result_list .txt_area {
  padding: 0 12px;
  margin-top: 40px;
}

.result_list .txt_area .txt {
  margin-top: 15px;
}

.result_list .txt_area .link {
  text-align: left;
  margin-top: 0;
  position: relative;
  padding-left: 22px;
  font-weight: 500;
  display: inline-block;
  margin-top: 20px;
}

.result_list .txt_area .link:before,
.result_list .txt_area .link:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 14px;
  height: 14px;
}

.result_list .txt_area .link:before {
  background: url(/assets/img/svg/icon_arrow.svg)center center no-repeat;
  background-size: cover;
  left: 0;
}

.result_list .txt_area .link:after {
  right: -16px;
  background: url(/assets/img/gransta_tokyo/icon_link2x.svg)center center no-repeat;
  background-size: cover;
  transform: translateY(-80%);
  width: 11px;
  height: 9px;
}

@media only screen and (max-width: 767px) {
  .result_list li {
    width: 50%;
    padding: 10px 2px 30px;
  }

  .result_list .result_items {
    margin-bottom: 27px;
  }

  .result_list .ttl, .result_list .name {
    margin-top: 18px;
  }

  .result_list .date {
    margin-top: 19px;
  }
}

/*###############################################
新着情報16件ずつ表示
###############################################*/
.news_result li.hide {
  display: none;
}

/*###############################################
商業施設一覧リスト
###############################################*/
.shopWrap {
  margin-top: 40px;
}

.shopWrap li {
  width: calc(20% - 10px * 4 / 5);
  margin: 40px 10px 0 0;
}

.shopWrap li:nth-of-type(5n) {
  margin-right: 0;
}

.shopWrap .shop_logo {
  height: 72px;
  background-color: #f8f8f8;
  padding: 0 26px;
}

.shopWrap .shop_logo span {
  display: block;
  width: 100%;
  color: #000;
  text-align: center;
  font-weight: bold;
}

@media only screen and (max-width: 767px) {
  .shopWrap li {
    max-width: auto;
    width: calc(50% - 4px * 1 / 2);
    margin: 4px 4px 0 0;
  }

  .shopWrap li:nth-of-type(5n) {
    margin-right: 4px;
  }

  .shopWrap li:nth-of-type(even) {
    margin-right: 0;
  }

  .shopWrap .shop_logo {
    height: 63px;
    padding: 0;
  }

  .shopWrap li:nth-of-type(1) .shop_logo img {
    height: 15px;
    width: auto;
  }

  .shopWrap li:nth-of-type(2) .shop_logo img {
    height: 15px;
    width: auto;
  }

  .shopWrap li:nth-of-type(3) .shop_logo img {
    height: 27px;
    width: auto;
  }

  .shopWrap li:nth-of-type(4) .shop_logo img {
    height: 20px;
    width: auto;
  }

  .shopWrap li:nth-of-type(5) .shop_logo img {
    height: 25px;
    width: auto;
  }

  .shopWrap li:nth-of-type(6) .shop_logo img {
    height: 27px;
    width: auto;
  }

  .shopWrap li:nth-of-type(7) .shop_logo img {
    height: 18px;
    width: auto;
  }

  .shopWrap li:nth-of-type(8) .shop_logo img {
    height: 38px;
    width: auto;
  }

  .shopWrap li:nth-of-type(9) .shop_logo img {
    height: 36px;
    width: auto;
  }
}

/*###############################################
モールページヘッド箇所文言周り
###############################################*/
.contents_head {
  text-align: center;
  max-width: 640px;
  margin: 72px auto 0;
  padding-bottom: 80px;
}

.contents_head .logoImg {
  max-width: 320px;
  margin: 0 auto;
}

.contents_head .h1_ttl {
  margin-top: 27px;
}

.contents_head .h1_ttl p {
  margin-top: 15px;
}

.contents_head .lead_area {
  margin-top: 75px;
  text-align: left;
}

.bold {
  font-weight: bold;
}

.contents_head .lead_area .bold+p {
  margin-top: 15px;
}

.contents_head .label {
  margin-top: 36px;
}

.contents_head .label li {
  width: 100%;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 500;
}

.contents_head .label.flex li {
  width: 50%;
}

.contents_head .label .in {
  background: #ff8000;
}

.contents_head .label .out {
  background: #c02030;
}

.contents_head .business_hours {
  margin-top: 40px;
  text-align: center;
}

.contents_head .business_hours .bold+p {
  margin-top: 18px;
}

.contents_head .business_hours ul {
  margin-top: 16px;
  font-size: 1.2rem;
}

.contents_head .business_hours a {
  color: #000;
  text-decoration: underline;
  font-weight: bold;
  padding: 0 4px;
}

.contents_head .business_hours a:hover {
  text-decoration: none;
}

.contents_head .share {
  margin-top: 70px;
}

@media only screen and (max-width: 767px) {
  .contents_head {
    margin: 60px auto 0;
    padding-bottom: 60px;
  }

  .contents_head .logoImg {
    max-width: 240px;
  }

  .contents_head .h1_ttl {
    margin-top: 30px;
  }

  .contents_head .h1_ttl p {
    margin-top: 10px;
  }

  .contents_head .lead_area {
    margin-top: 38px;
    padding: 0 26px 0;
  }

  .contents_head .label li {
    padding: 1px 0;
  }

  .contents_head .business_hours {
    margin-top: 36px;
    padding: 0 26px;
  }

  .contents_head .business_hours .bold+p {
    margin-top: 10px;
  }

  .contents_head .business_hours ul {
    margin-top: 8px;
  }

  .contents_head .share {
    margin-top: 40px;
  }
}

/*###############################################
フロアマップ
###############################################*/
#floormap {
  padding-bottom: 80px;
  padding-top: 75px;
}

#floormap .tabs {
  background-color: #fff;
  width: 100%;
  margin: 0 auto;
}

#floormap .tabs .tabwrap {
  display: block;
  position: relative;
  overflow: hidden;
}

#floormap .tabs .tabwrap::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 40px;
  display: inline-block;
  width: 100vw;
  height: 1px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #e0e0e0;
}

#floormap .tabwrap .tab_item {
  width: 320px;
  height: 40px;
  position: relative;
  left: 50%;
  transform: translateX(-100%);
  background-color: rgba(240, 240, 240, 1);
  border-top: 1px solid #fff;
  padding: 10px 0 16px;
  text-align: center;
  color: #000;
  display: block;
  float: left;
  text-align: center;
  font-weight: 500;
  transition: all 0.2s ease;
  cursor: pointer;
  transition: 0.3s;
}

#floormap .tabwrap .tab_item:hover {
  background-color: rgba(240, 240, 240, 0.5);
}

#floormap.floor_mall1 .tabwrap .tab_item {
  width: 640px;
  left: 50%;
  transform: translateX(-50%);
}

#floormap.floor_mall3 .tabwrap .tab_item {
  width: calc(640px / 3);
  left: 50%;
  transform: translateX(-150%);
}

#floormap.floor_mall3 .tabwrap .tab_item:last-of-type {
  border-left: 1px solid #fff;
}

#floormap .tabwrap .tab_item:first-of-type {
  border-right: none;
}

#floormap.floor_mall3 .tabwrap .tab_item:first-of-type {
  border-right: 1px solid #fff;
}

#floormap .tabwrap .tab_item::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0px;
  display: inline-block;
  width: 100%;
  height: 1px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #f0f0f0;
}

#floormap input[name="tab_item"] {
  display: none;
}

#floormap .tabwrap .tab_content {
  display: none;
  max-width: 840px;
  margin: 0 auto;
  padding: 40px 40px 0;
  clear: both;
  overflow: hidden;
  box-sizing: content-box;
}

#floormap .tab_content .tab_content_inner {
  text-align: center;
}

#floormap .tab_content_inner .tab_map {
  display: block;
  border: 1px solid #e0e0e0;
}

#floormap .tab_content_inner .tab_map img {
  vertical-align: bottom;
}

#floormap .tab_content_inner p {
  padding: 40px 0 15px;
  font-size: 2.4rem;
  font-weight: 500;
}

#floormap .tab_content_inner .more {
  margin-top: 24px;
  color: #000;
  font-weight: bold;
  text-decoration: none;
  position: relative;
}

#floormap .tab_content_inner .more::before, #floormap .tab_content .tab_content_inner .more::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
}

#floormap .tab_content_inner .more::before {
  left: -20px;
  background: url(/assets/img/gransta_tokyo/icon_arrow2x.svg)center center no-repeat;
  background-size: cover;
  transform: translateY(-50%);
  width: 14px;
  height: 14px;
}

#floormap .tab_content_inner .more::after {
  right: -16px;
  background: url(/assets/img/gransta_tokyo/icon_link2x.svg)center center no-repeat;
  background-size: cover;
  transform: translateY(-80%);
  width: 11px;
  height: 9px;
}

#floormap #f_b1f:checked~#f_b1f_content, #floormap #f_1f:checked~#f_1f_content, #floormap #f_2f:checked~#f_2f_content {
  display: block;
}

#floormap .tabs input:checked+.tab_item,
#floormap.floor_mall3 .tabs input:checked+.tab_item {
  background-color: #fff;
  color: #000;
  position: relative;
  border: 1px solid #e0e0e0;
  border-bottom: none;
  opacity: 1;
}

.more_btn {
  display: none;
}

#floormap #f_b1f:checked~.more_b1f,
#floormap #f_1f:checked~.more_1f,
#floormap #f_2f:checked~.more_2f {
  display: block;
}

#floormap .tabs input:checked+.tab_item::before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0;
  display: inline-block;
  width: 30px;
  height: 1px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: black;
  z-index: 100;
}

#floormap .tabs input:checked+.tab_item::after {
  background-color: #fff;
  bottom: -1px;
}

#floormap .tabwrap.solo .tab_content_inner .more {
  margin-top: 40px;
  display: inline-block;
}

/*SP*/
@media only screen and (max-width: 767px) {
  #floormap {
    padding: 57px 0;
  }

  #floormap .tabwrap .tab_item, #floormap.floor_mall1 .tabwrap .tab_item {
    width: 50%;
  }

  #floormap.floor_mall3 .tabwrap .tab_item {
    width: calc(100% / 3);
  }

  #floormap .tabwrap .tab_content {
    width: 100%;
    padding: 20px 10px 0;
    /* padding: 0; */
    box-sizing: border-box;
  }

  #floormap .tab_content_inner .tab_map {
    width: 100%;
    /* padding-bottom: 100%; */
    margin-bottom: 20px;
    border: 1px solid #e0e0e0;
  }

  /* #floormap .tab_content_inner .tab_map.map1 {
    background: url(/assets/img/mall/img_map_b1f_sp.png) center center no-repeat;
    background-size: cover;
  } */
  /* #floormap .tab_content_inner .tab_map.map2 {
    background: url(/assets/img/mall/img_map_1f_sp.png) center center no-repeat;
    background-size: cover;
  } */
  /* #floormap .tab_content_inner .tab_map.map3 {
    background: url(/assets/img/mall/img_map_2f_sp.png) center center no-repeat;
    background-size: cover;
  } */
  #floormap .tab_content_inner p {
    padding: 10px 0 15px;
  }

  #floormap .tabwrap.solo .tab_content_inner .more {
    margin-top: 10px;
  }
}

#floormap .tabs .tabwrap.solo::before {
  display: none;
}

/*###############################################
googleマップ
###############################################*/
#gmap {
  padding-bottom: 76px;
}

#gmap .map_wrap {
  max-width: 840px;
  margin: 0 auto;
}

#gmap .map {
  width: 100%;
  height: 0;
  padding-top: 66.66666666666667%;
  position: relative;
  border: 1px solid #e0e0e0;
}

#gmap .map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

#gmap .link2 {
  margin-top: 36px;
}

#gmap .app {
  width: calc(109px + 136px + 40px);
  margin: 40px auto 0;
}

#gmap .app .ios {
  width: 129px;
  padding: 0 10px;
}

#gmap .app .and {
  width: 156px;
  padding: 0 10px;
}

@media only screen and (max-width: 767px) {
  #gmap {
    padding-bottom: 60px;
  }

  #gmap .map {
    padding-top: 90.14084507042254%;
  }

  #gmap .app .and img {
    width: 135px;
    height: 40px;
  }
}

/*###############################################
バナーエリア
###############################################*/
.bnrArea {
  position: relative;
  padding: 40px 0;
}

.bnrArea .gradi_01 {
  top: 0;
  z-index: 1;
}

.bnrArea .bnr {
  max-width: 640px;
  margin: 0 auto;
  z-index: 2;
}

@media only screen and (max-width: 767px) {
  .bnrArea {
    padding: 20px 0;
    z-index: 1;
  }

  .bnrArea .bnr {
    max-width: 320px;
    z-index: 2;
    position: relative;
  }
}

/*###############################################
新着情報
###############################################*/
#whats_new {
  padding: 75px 0;
  position: relative;
}

#whats_new .gradi_01 {
  top: 0;
}

#whats_new h1 {
  text-align: center;
}

#news_slider {
  margin-top: 40px;
}

#news_slider .slide {
  padding: 0 2px;
}

#news_slider a {
  display: block;
  color: #000;
}

#news_slider .ttl {
  margin-top: 20px;
  padding: 0 10px;
  font-weight: bold;
  word-break: break-all;
}

#news_slider .date {
  margin-top: 20px;
  padding: 0 10px;
}

#news_slider .new .img {
  position: relative;
}

#news_slider .new .img:after {
  content: "";
  display: block;
  width: 32.60869565217391%;
  height: 28.26086956521739%;
  background: url(/assets/img/svg/label_new.svg) 0 0 no-repeat;
  background-size: 100% auto;
  position: absolute;
  top: 0;
  right: 0;
}

/*スライダー装飾*/
/* #news_slider .no_slick {
  width: auto !important;
  transform: translate3d(0px, 0px, 0px) !important;
} */
/* #news_slider .slick-prev {
  display: none !important;
} */
/* #news_slider .slick-list:before {
  content: "";
  display: block;
  width: 80px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #fff;
  z-index: 1;
} */
/* #news_slider .slick-arrow {
  position: absolute;
  top: 0;
  right: 0;
  height: 55.10835913312693%;
  width: 40px;
  background: #ffffff;
  font-size: 0;
  cursor: pointer;
  opacity: 0.75;
} */
/* #news_slider .slick-prev {
  right: auto;
  left: 0;
  z-index: 1;
} */
/* #news_slider .slick-arrow:after {
  content: "";
  display: block;
  width: 24px;
  height: 32px;
  background: url(../../img/svg/icon_arrow4.svg) 0 0 no-repeat;
  background-size: 24px 32px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
} */
/* #news_slider .slick-prev:after {
  transform: translate(-50%, -50%) rotate(180deg);
} */
#news_slider {
  max-width: 1200px;
  margin: 40px auto 0;
  padding: 0 40px;
}

#news_slider .slick-list {
  /* padding: 0 80px; */
}

#news_slider .slick-arrow {
  display: block !important;
  width: 40px;
  position: absolute;
  top: 0;
  right: 0;
  font-size: 0;
  background: url(/assets/img/svg/icon_arrow4.svg) 50% 50% no-repeat;
  background-size: 16px 32px;
  cursor: pointer;
  height: 50px;
  top: 28%;
  transform: translateY(-50%);
}

#news_slider .slick-prev {
  left: 0;
  right: auto;
  background: url(/assets/img/svg/icon_arrow4_l.svg) 50% 50% no-repeat;
  background-size: 16px 32px;
}

#news_slider .slick-next.slick-disabled,
#news_slider .slick-arrow.hide {
  display: none !important;
}

@media only screen and (max-width: 767px) {
  #whats_new {
    padding: 75px 0;
  }

  #news_slider {
    margin-top: 30px;
  }

  #news_slider .ttl {
    padding: 0;
  }

  #news_slider .date {
    margin-top: 10px;
    padding: 0;
  }

  /*スライダー装飾*/
  #news_slider .slick-list:before {
    width: 36px;
  }

  #news_slider .slide {
    padding: 0 10px;
  }

  #news_slider .slick-arrow {
    right: 10px;
    top: 40%;
  }

  #news_slider .slick-prev {
    left: 10px;
  }
}

/*###############################################
shopページヘッド
###############################################*/
.top_logo {
  height: 40px;
  text-align: center;
  background: #f0f0f0;
}

.top_logo img {
  height: 100%;
  vertical-align: inherit;
}

@media only screen and (max-width: 767px) {
  .top_logo {
    height: 32px;
  }
}

/*###############################################
shopページKVスライダー
###############################################*/
#shop_slider {
  max-width: 840px;
  margin: 36px auto 0;
  position: relative;
}

#shop_slider .slick-dots {
  right: 0;
  bottom: -41px;
}

#shop_slider:before {
  content: "";
  display: block;
  width: 100%;
  height: 85.71428571428571%;
  position: absolute;
  top: -23px;
  left: -60px;
  background: url(/assets/img/mall/shop/bgi_kvslider.svg) 0 0 no-repeat;
  background-size: cover;
}

@media only screen and (max-width: 767px) {
  #shop_slider {
    margin-top: 0;
  }

  #shop_slider:before {
    display: none;
  }

  #shop_slider .slick-dots {
    right: 10px;
    bottom: -41px;
  }
}

/*###############################################
shopページ商品紹介
###############################################*/
#item_info .item_block {
  border-top: 1px solid #e0e0e0;
  max-width: 1120px;
  margin: 0 auto;
  padding: 40px 0;
}

#item_info .item_block:last-of-type {
  border-bottom: 1px solid #e0e0e0;
}

#item_info .box_l,
#item_info .box_r {
  width: 50%;
}

#item_info .box_l div {
  width: 67%;
  margin: 0 7.5% 0 auto;
}

#item_info .box_r .txt_area {
  width: 75%;
  padding-top: 20px;
}

#item_info .box_r .name {
  font-weight: 500;
}

#item_info .box_r .lead {
  margin-top: 20px;
}

@media only screen and (max-width: 767px) {
  #item_info .item_block {
    display: block;
    padding: 0 0;
    border-top: none;
  }

  #item_info .item_block:last-of-type {
    border-bottom: none;
  }

  #item_info .box_l,
  #item_info .box_r {
    width: 100%;
  }

  #item_info .box_l div {
    width: 100%;
    margin: 0 auto;
  }

  #item_info .box_r {
    padding: 40px 28px;
  }

  #item_info .box_r .txt_area {
    width: 100%;
    padding-top: 0;
  }

  #item_info .box_r .lead {
    margin-top: 15px;
  }
}

/*###############################################
shopページ商品紹介 詳細
###############################################*/
#shop_detail {
  margin-top: 80px;
}

#shop_detail .wrapper {
  max-width: 640px;
  margin: 0 auto;
}

.tags li {
  display: inline-block;
  color: #fff;
  background: #000;
  margin-left: 1px;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.333333333333;
  border-radius: 8px;
  min-width: 128px;
  text-align: center;
  padding: 0 20px;
}

.tags li:first-of-type {
  margin-left: 0;
}

#shop_detail table {
  width: 100%;
  margin-top: 20px;
}

#shop_detail tr {
  border-top: 1px solid #e0e0e0;
}

#shop_detail tr:last-of-type {
  border-bottom: 1px solid #e0e0e0;
}

#shop_detail th,
#shop_detail td {
  vertical-align: top;
  padding: 20px 0;
  text-align: left;
}

#shop_detail th {
  width: 21.875%;
  font-weight: normal;
}

#shop_detail td .app {
  font-size: 12px;
  margin-top: 20px;
}

#shop_detail td .app a {
  text-decoration: underline;
  font-weight: bold;
  color: #000;
  padding: 0 4px;
}

#shop_detail td .app a:hover {
  text-decoration: none;
}

#shop_detail .link2 {
  margin-top: 0;
  text-align: left;
}

.orange {
  color: #ff8000;
}

#shop_detail .link {
  text-align: left;
  margin-top: 0;
  margin-left: 20px;
}

@media only screen and (max-width: 767px) {
  #shop_detail {
    margin-top: 55px;
  }

  #shop_detail .wrapper {
    padding: 0 10px;
  }

  .tags li {
    min-width: 80px;
  }

  #shop_detail tbody,
  #shop_detail tr,
  #shop_detail table {
    width: 100%;
  }

  #shop_detail th {
    width: 101px;
    padding: 20px 5px 20px 12px;
  }

  #shop_detail td {
    padding-right: 16px;
  }

  #shop_detail a {
    width: 100%;
    word-break: break-all;
  }
}

/*###############################################
絞り込みチェックボックス
###############################################*/
.select_area {
  text-align: center;
  max-width: 1120px;
  margin: 0 auto;
}

@media only print, screen and (min-width: 768px) {
  .select_area .ttl {
    display: none;
  }

  .select_area input {
    display: none;
  }

  .select_area li {
    display: inline-block;
    margin-right: 8px;
    margin-left: -3px;
    line-height: 16px;
  }

  .select_area label {
    background: #000;
    color: #fff;
    padding: 0 12px;
    border-radius: 7px;
    display: block;
    font-size: 12px;
    cursor: pointer;
    line-height: 16px;
  }

  .select_area label span {
    line-height: 1;
  }

  .select_area li {
    width: 132px;
  }

  .select_area .select_01 .all label {
    background: #000;
  }

  .select_area .select_01 .in label {
    background: #ff8000;
  }

  .select_area .select_01 .out label {
    background: #c02030;
  }

  .select_area li label {
    transition: 0.7s;
  }

  .select_area li label:hover {
    opacity: 0.6 !important;
  }

  .select_area .select_01 p {
    margin-top: 10px;
    font-weight: 500;
  }

  .select_area .select_01 {
    margin-top: 75px;
  }

  .select_area .pc_category {
    margin-top: 30px;
    font-weight: 500;
  }

  .select_area .select_02 {
    margin-top: 20px;
  }

  .select_area .select_03 {
    margin-top: 10px;
  }

  .select_area .select_01 input:not(:checked)+label,
  .select_area .select_01 input:not(:checked)+label+p,
  .select_area .select_02 input:not(:checked)+label,
  .select_area .select_03 input:not(:checked)+label {
    opacity: 0.25;
  }

  .category .select_area label {
    background: #000;
  }

  .category .select_01 input:not(:checked)+label,
  .category .select_01 input:not(:checked)+label+p,
  .category .select_02 input:not(:checked)+label,
  .category .select_03 input:not(:checked)+label {
    background: #000;
    opacity: 1;
  }

  .category label {
    background: #ff8000;
  }

  .category .select_02 {
    margin-top: 60px;
  }

  .category li {
    margin-top: 10px;
  }
}

@media only screen and (max-width: 767px) {
  .select_area {
    margin-top: 40px;
  }

  .select_area .select_02,
  .select_area .select_03 {
    margin-top: 4px;
  }

  .select_area .ttl {
    width: 240px;
    background: #fff;
    color: #000;
    margin: 0 auto;
    padding: 10px 0 9px;
    text-align: center;
    font-weight: 500;
    position: relative;
    border: 1px solid #c0c0c0;
  }

  .select_area .ttl:before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    height: 14px;
    left: 30px;
    background: url(/assets/img/svg/icon_arrow.svg)center center no-repeat;
    background-size: cover;
  }

  .select_area li {
    text-align: left;
    background: #f8f8f8;
    border-bottom: 1px solid #fff;
  }

  .select_area li p {
    display: none;
  }

  .select_area input {
    display: none;
  }

  .select_area label {
    display: block;
    padding: 9px 0 9px 43px;
    line-height: 1.6;
    position: relative;
  }

  .select_area label:before,
  .select_area label:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 24px;
  }

  .select_area label:before {
    width: 12px;
    height: 12px;
    border: 1px solid #808080;
    background: #fff;
    border-radius: 4px;
  }

  .select_area label:after {
    width: 12px;
    height: 12px;
    background: url(/assets/img/svg/icon_check.svg) 50% 50% no-repeat;
    background-size: 10px;
    display: none;
  }

  .select_area input:checked+label:before {
    background: #000;
    border-color: #000;
  }

  .select_area input:checked+label:after {
    display: block;
  }
}

/*###############################################
記事詳細タイトル箇所
###############################################*/
.ttl_block {
  text-align: center;
  margin-top: 70px;
}

.ttl_block .date {
  margin-top: 30px;
}

.ttl_block .tags {
  margin-top: 40px;
}

.ttl_block .lead {
  max-width: 640px;
  margin: 35px auto 0;
  text-align: left;
}

@media only screen and (max-width: 767px) {
  .ttl_block {
    margin-top: 60px;
    padding: 0 26px;
  }

  .ttl_block .date {
    margin-top: 40px;
  }

  .ttl_block .tags {
    margin-top: 40px;
  }

  .ttl_block .lead {
    margin: 40px auto 0;
  }
}

/*###############################################
サービス・設備
###############################################*/
#service {
  width: 100%;
  background: url(/assets/img/top/bgi_pattern.png) 0 0 repeat;
  background-size: 94px 70px;
  color: #fff;
  padding: 60px 0 75px;
}

#service .h1_block h1:after {
  background: #fff;
}

#service .h1_block .icon {
  width: 49px;
  margin: 0 auto 40px;
}

#service .link {
  margin-top: 35px;
}

#service .link a {
  color: #fff;
}

#service .link a:before {
  background: url(/assets/img/svg/icon_arrow_2.svg)center center no-repeat;
  background-size: cover;
}

#service .h1_block p {
  font-weight: normal;
}

.facilities {
  max-width: 630px;
  margin: 75px auto 0;
  text-align: center;
}

.facilities .logo,
.facilities .photo {
  width: calc(100% / 4);
}

.facilities .txt {
  width: calc(100% / 4 * 2);
}

.facilities .logo {
  padding-right: 6px;
  position: relative;
}

.facilities .logo:before,
.facilities .logo:after {
  content: "";
  display: block;
  height: 48px;
  width: 2px;
  background: #808080;
  position: absolute;
  top: 50%;
  left: 4px;
  transform: translateY(-50%);
}

.facilities .logo:after {
  left: auto;
  right: 12px;
}

.facilities .logo img {
  width: auto;
  height: 96px;
}

.facilities .txt div {
  width: 72%;
  margin: 0 auto;
  padding-top: 16px;
  text-align: left;
}

.facilities .txt .bold {
  margin-bottom: 4px;
}

.facilities .photo {
  padding-left: 12px;
  padding-right: 4px;
}

@media only screen and (max-width: 767px) {
  #service {
    padding: 54px 0 60px;
  }

  #service .h1_block .icon {
    margin-bottom: 20px;
  }

  .h1_block h1:after {
    bottom: -20px;
  }

  .h1_block p {
    margin-top: 35px;
    font-weight: normal;
  }

  #service .link {
    margin-top: 30px;
  }

  #cm_facilities .h1_block h1:after {
    width: 32px;
    bottom: -15px;
  }
}

/*###############################################
サービス・設備
###############################################*/
#eventspace {
  width: 100%;
  background: url(/assets/img/top/bak_eventspace@2x.png) 50% 50% no-repeat;
  background-size: cover;
  color: #fff;
  padding: 20px 0 80px;
  text-align: center;
}

#eventspace img {
  width: 120px;
  margin: 0 auto 32px;
}

#eventspace .link {
  margin-top: 20px;
}

#eventspace .link a {
  color: #fff;
}

#eventspace .link a:before {
  background: url(/assets/img/svg/icon_arrow_2.svg)center center no-repeat;
  background-size: cover;
}

@media only screen and (max-width: 767px) {
  #eventspace {
    padding: 40px 0 60px;
  }

  #eventspace img {
    margin: 0 auto 30px;
  }

  #eventspace .link {
    margin-top: 40px;
  }
}

/*###############################################
TOPローディング画面
###############################################*/
/*
.start {
  background: #000;
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 9000;
  display: block;
}

.start p {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: none;
  z-index: 9000;
}

.start p img {
  width: 120px;
  height: 120px;
}

.loader-container {
  width: 30px;
  height: 30px;
  background-color: #000;
  position: fixed;
  display: flex;
  align-items: center;
  justify-content: center;
  left: 49.2%;
  top: 60%;
}

.loader {
  width: 50%;
  height: 50%;
  border: 5px solid;
  color: aqua;
  border-radius: 50%;
  border-top-color: transparent;
  animation: loader 1.2s linear infinite;
}

@keyframes loader {
  25% {
    color: darkorange;
  }

  50% {
    color: red;
  }

  75% {
    color: green;
  }

  to {
    transform: rotate(360deg);
  }
}

/*###############################################
twitter埋め込み
###############################################*/
#tweet_area {
  padding: 0 10px;
  margin: 60px 0;
}

#tweet_area .wrapper {
  width: 100%;
  padding-top: 67.32394366197183%;
  position: relative;
}

#tweet_area .inner {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border: 1px solid #48a5ec;
  overflow-y: scroll;
  border-radius: 0 0 2px 2px;
}

.twitter_ttl {
  color: #fff;
  font-size: 2.0rem;
  padding: 5px 0 5px 44px;
  border-radius: 2px 2px 0 0;
  background: url(/assets/img/svg/icon_twitter_w.svg) 12px 50% no-repeat #48a5ec;
  background-size: auto 21px;
}

/*###############################################
LINEバナー
###############################################*/
#line_area {
  text-align: center;
  background: #f0f0f0;
  background: -moz-linear-gradient(bottom,  #f0f0f0 0%, #f8f8f8 100%, #7db9e8 100%);
  background: -webkit-linear-gradient(bottom,  #f0f0f0 0%,#f8f8f8 100%,#7db9e8 100%);
  background: linear-gradient(to top,  #f0f0f0 0%,#f8f8f8 100%,#7db9e8 100%);
}

#line_area a {
  padding: 24px 0;
  background: url(/assets/img/top/buy.svg) center center no-repeat;
  background-size: 20px;
}

#line_area div {
  width: 50%;
  max-width: 125px;
  height: 48px;
}
#line_area .line{
  padding: 2px 0 6px;
}
/* #line_area .gransta {
  padding: 10px 0 6px;
} */

#line_area img {
  height: 100%;
  width: auto;
}

/*###############################################
静的ページ、タイトルエリア
###############################################*/
#mall_top .h1_block {
  margin-top: 30px;
}

#mall_top .h1_block p {
  max-width: 640px;
  margin: 35px auto 0;
  text-align: center;
}

#mall_top .share p {
  padding-bottom: 18px;
}

#mall_top .h1_block h1:after {
  bottom: -18px;
}

#mall_top .share {
  margin-top: 75px;
  padding-bottom: 80px;
}

@media only screen and (max-width: 767px) {
  #mall_top .h1_block {
    margin-top: 57px;
  }

  #mall_top .h1_block p {
    max-width: 640px;
    margin: 41px auto 0;
    text-align: left;
    padding: 0 27px;
  }

  #mall_top .share p {
    padding-bottom: 20px;
  }

  #mall_top .h1_block h1:after {
    bottom: -21px;
  }

  #mall_top .share {
    margin-top: 36px;
    padding-bottom: 60px;
  }
}

/*プリントCSS*/
@media print{

  body {
    zoom: 1.8;
    width: 1200px;
    transform: scale(0.5);
    transform-origin: 0 0;
    font-family: 'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',sans-serif;
    margin: 0 auto;
  }
  body body{
    zoom: normal;
    width: 100%;
    transform: scale(1);
    transform-origin: 0 0;
  }
  /* html:after{
    content:"プリント";
    color: #fff;
    font-weight: bold;
    font-size: 32px;
    background: #f00;
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
  } */

  /* .header_wrap .header_logo{
    margin-left: 4px;
  }
  .header_logo ul li{
    margin-right: 8px;
  }
  .header_logo .icn_gransta{
    margin-right: 16px;
  }
  .header_logo ul li:nth-child(4){
    margin-right: 4px;
  }
  .header_btn li .icn_stanavi,
  .header_btn li .icn_line,
  .header_btn li .icn_twitter,
  .header_btn li .icn_instagram,
  .header_btn li .icn_facebook{
    margin-right: 4px;
  } */
  #header{
    position: absolute;
  }
  .animated{
    opacity: 1 !important;
    animation-duration: 0s !important;
  }
  .fadeInUp,
  .fadeInUpBig{
    -webkit-animation-name: none !important;
    animation-name: none !important;
  }
  .icon.ver3{
    width: 16px;
    height: 16px;
  }
  .share ul li:nth-of-type(3){
    display: none !important;
  }
  .print_line {
    display: block !important;
    margin-right: 0 !important;
  }

}
