@charset "UTF-8";
/* layout*/

html {
  font-size: 16px;
}

body {
  margin: 0;
  color: #111; /* fontcolor */
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
}


/* -----
 * link setting
----------------------------------------------------------------------------- */
a:link,
a:visited,
a:active {
  color: #03c;
  outline: 0 none #000;
}

a img {
  vertical-align: bottom;
  box-shadow: #000 0 0 0;
}


* {
  box-sizing: border-box;
}




/* -----
 * News setting
----------------------------------------------------------------------------- */
.ttl {
  font-size: 150%;
  /* font-weight: bold; */
  /* color: #045FB4; */
  padding: 10px 0;
  border-bottom: solid 1px; /* #045FB4; */
  }

.ttl2 {
  font-size: 150%;
  /* font-weight: bold; */
  /* color: #045FB4; */
  padding: 10px 0;
  }

.ttl3 {
  font-weight: bold;
  /* color: #045FB4; */
  padding: 10px 0;
  border-bottom: solid 1px; /* #045FB4; */
  }
.container-update {
	width: 90%;
	margin: 50px auto;
}

.topics {
  margin: 10px 0 0;
  }
  
  .topics dl {
  padding: 5px 0;
  border-bottom: 1px solid #ccc;
  }
  
  .topics dt {
  padding-bottom: 0px;
  }
  
  @media screen and (min-width: 768px) {

  .container-update {
    width: 60%;
    min-width: 700px;
    margin: 50px auto;
  }

  .topics dt {
  clear: left;
  float: left;
  width: 130px;
  font-weight: normal;
  padding-left: 10px;
  }

  .topics dd { 
  margin: 0;
  }

}




/* -----
 * Access setting
----------------------------------------------------------------------------- */
.container-access {
	width: 90%;
	margin: 50px auto;
}

.mapsize {
	width: 100%;
  padding: 15px;
}

@media screen and (min-width: 768px) {

  .container-access {
    width: 60%;
    min-width: 700px;
    height: 350px;
    margin: 50px auto;
  }

  .mapsize {
    width: 50%;
    padding: 15px;
    float: left;
  }
}


/* -----
 * Event setting
----------------------------------------------------------------------------- */
.container-event {
	width: 80%;
	margin: auto;
  padding: 10px;
  font-size: 16px;
}

.event-tp {
  margin: 40px 0 40px 0;  /* 上 | 右 | 下 | 左 */
}

.event-tp img{
    width: 100%;
    margin: auto;
}


.event-tp:after {
  display: block;
  content: '';
  clear: both;
  border-bottom: solid 1px;
  border-color: #999999;
}

.event-tp-momf table{
  width: 100%;

  text-align: center;
  font-size: 0.9em;
}

.event-tp-momf td{
  padding: 5px;
}

.event-tp p{
  font-size: 16px;
  margin: 8px 0;
}

.event-tp p.evname{
  font-size: 18px;
  font-weight: 900;
  margin-bottom: 20px;
}

.event-tp p.ex{
  padding: 0px;
  font-size: 14px;
  margin-top: 15px;
}

.event-tp dl{
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  font-size: 15px;
}

.event-tp dd{
  margin-left: 0;
  margin-right: 20px;
}

@media screen and (min-width: 768px) {

  .container-event {
    width: 80%;
    min-width: 700px;
    margin: auto;
    padding: 10px;
    font-size: 16px;
    border-bottom: solid 0px; /* #045FB4; */
  }
  .event-tp {
    margin: 30px 0 0;
  }
  img.event-tp {
    width: 300px;
    float: left;
    margin-right: 5%;
    margin-bottom: 20px;
    padding: 0px;
  }
  .event-tp:after {
    display: block;
    content: '';
    clear: both;
    border-bottom: solid 1px; /* #045FB4; */
  }
  .container-event:after {
    display: block;
    content: '';
    clear: both;
  }
  .event-tp-momf table{
    font-size: 16px;
    min-width: 500px;
  }
}



/* -----
 * Floor Guide setting
----------------------------------------------------------------------------- */
.container-bd{
  width: 90%;
  margin: auto;
}

.container-floorguide {
	width: 100%;
	margin: auto;
  border-bottom: solid 0px;  /* #045FB4; */
  overflow: hidden;
}

.floorguide-tp {
  margin: 0 auto;
}

img.floorguide-tp {
    width: 100%;
    margin: auto;
 }

.tyuuou table {
  width: 100%;
  border-collapse: collapse;  /* セルの線を重ねる */

}

.tyuuou th,td {
  padding: 5px 10px;          /* 余白指定 */
}

.tyuuou th {
  width: 35px;
  background-color: #0e6b09;  /* 背景色指定 #2196F3 */
  color:  #fff;               /* 文字色指定 */
  font-weight:  normal;       /* 文字の太さ指定 */
  position:  relative;        /* 位置指定 */
  z-index: 10;                /* 重なり調整 */
}

.tyuuou td {
  background-color: #c0c9ff; /* 背景色指定 #c0c9ff */
  padding-left: 25px;         /* 余白指定 */
}

.tyuuou tr {
  border-bottom:  solid #fff; /* 線指定 */
}

@media screen and (min-width: 768px) {
  .container-bd{
    width: 80%;
    margin: auto;
    max-width: 1200px;
    min-width: 850px; /* 700px */
  }

  .container-floorguide {
    width: 100%;
    max-width: 1200px;
    min-width: 850px; /* 700px */
    margin: auto;
    padding: 10px;
    border-bottom: solid 0px; /* #045FB4; */
  }

  img.floorguide-tp {
    width: 100%;
    margin: 0 auto;
    /* padding: 20px; */
  }

  .container-floorguide:after {
    display: block;
    content: '';
    clear: both;
  }

  .tyuuou table {
    width: 100%; /* 100% */
    max-width: 490px; /* max-width: 490px */
    margin: 5px;
    float: left;

  }

  .tyuuou{
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
  }

}



/* -----
 * Scard explain setting
----------------------------------------------------------------------------- */
.container-scard {
	width: 80%;
	margin: auto;
  border-bottom: solid 1px; /* #045FB4; */
}

img.scard-tp {
  width: 100%;
  margin: 0 auto;
  padding: 20px;
}

img.scard-ex {
  width: 100%;
  margin: 0 auto;
  padding: 5px;
}

.scard-midashi{
  text-align: left;
  font-size: 18px;
  font-weight: bold;
  border-bottom: solid 1px; /* #045FB4; */
}

.scard-exp{
  font-size: 14px;
  text-align: left;
}

.scard-exp2{
  font-size: 16px;
  text-align: left;
}

@media screen and (min-width: 768px) {

  .container-scard {
    width: 80%;
    max-width: 1400px;
    /* min-width: 1050px; */
    margin: auto;
    padding: 10px;
    border-bottom: solid 1px; /* #045FB4; */
  }

  .scard-tp {
    width: 85%;
    margin: 0 auto;
  }


  .container-scard:after {
    display: block;
    content: '';
    clear: both;
  }

  .scard-ct{
    width: 50%;   /*　PCは2列にする　*/
    margin: 0 auto;
    float: left;  /* PCは2列にする */
    padding: 2%;  /* 項目との間を空ける */
  }

  .tyuuou{
    width: 1000px;
    margin: 0 auto;
  }

}



/* -----
 * Facility setting
----------------------------------------------------------------------------- */
.container-facil {
  width: 80%;
  margin: auto;
  padding: 10px;
  font-size: 16px;
  border-bottom: solid 1px; /* #045FB4; */
}

.facil-tp {
  margin: 15px 0;
  }


/* 営業時間リスト */
.facil-tp dl{
  display: flex;
  flex-wrap: wrap;
  margin-left: 20px;
  /* margin: 0 auto; */
}
.facil-tp dt{
  width: 150px;
  font-weight: bold;
  display: flex;
}
.facil-tp dd{
  margin-left:20px;
}

.facil-tp p.ex{
  padding: 0px;
  font-size: 14px;
  margin-bottom: -15px;
}

.fac-midashi{
  font-size: 20px;
  font-weight: bold;
}

img.facil-tp {
  width: 100%;
  margin: auto;
}

@media screen and (min-width: 768px) {

  .facil-tp {
    width: 85%;
    margin: 20px 0;
  }

  img.facil-tp {
    width: 300px;
    float: left;
    margin-right: 5%;
    margin-bottom: 20px;
    padding: 0px;
  }
  .container-facil {
    min-width: 800px;
  }
  .container-facil:after {
    display: block;
    content: '';
    clear: both;
  }
}




/* -----
 * SHOP setting
----------------------------------------------------------------------------- */

.shop-all{                    /* 大枠 */
  margin: 0 auto;
  width: 100%;
  /* background-color: red; */
}

.shop.box{                    /* 中枠 */
  margin: 0 auto;
  width: 100%;
}

/*■■■　ショップ　階層　■■■■*/
.shop-area{                    /* 館・階 */
  color: #fff;
  float: left;              /* 回り込み */
  margin: 0 auto;
  width: 25%;
}
.shop-area p.area{
  background-color: #0e6b09;
  margin: 0;
  width: 100%;
  font-size: 16px;
  text-align: center;
}
.shop-area p.floor{
  background-color: #148f0e;
  margin: 0;
  width: 100%;
  font-size: 30px;
  text-align: center;
  
}

/*■■■　ショップ名　■■■■*/
.shop-name{                    /* ショップ名 */
  margin: 0 auto;
  text-indent: 20px;  /*字下げ*/
}
.shop-name p.name{
  font-size: 20px;
  padding: 0.4em 0;
  margin: 0 auto;
}
.shop-name p.smlname{         /* ショップ名が長い場合 */
  font-size: 15px;
  padding: 0.4em 0;
  margin: 0 auto;
}
.shop-name p.bunrui{
  margin: 0 auto;
}
.shop-name::after{
  content: '';
  clear: both;
  display: block;
}


/*■■■　ショップ　メイン説明　■■■■*/
.shop-main{
  width: 90%;
  margin: 0 auto;
}
.shop-main p.exmain{
  font-size: 16px;
  margin: 0;
}
.shop-main p.title{
  font-size: 20px;
  font-weight: bold;
  margin: 0;
}
.shop-main p.kikan{
  font-size: 15px;
  margin: 0 0 10px 0;
}
.shop-main p.kiji{
  font-size: 16px;
  margin: 0;
}
.shop-main p.kiji-b{
  font-size: 16px;
  font-weight: bold;
  margin: 0;
  display: inline-block;
}
.shop-main p.kiji-rb{
  font-size: 16px;
  font-weight: bold;
  color: #B00000;
  margin: 0;
  display: inline-block;
}
.shop-main p.kiji-gb{
  font-size: 16px;
  font-weight: bold;
  color: #00a500;
  margin: 0;
  display: inline-block;
}
.shop-main p.kiji-lrb{
  font-size: 16px;
  font-weight: bold;
  color: #ff0000;
  margin: 0;
  display: inline-block;
}
.shop-main p.kiji-blb{
  font-size: 16px;
  font-weight: bold;
  color: #0000ff;
  margin: 0;
  display: inline-block;
}
.shop-main p.kiji-rbb{
  font-size: 16px;
  font-weight: bold;
  color: #4169e1;
  margin: 0;
  display: inline-block;
}

/*■■■　ショップ　詳細　■■■■*/
.shop-detail{
  width: 90%;
  /* min-width: 550px; */
  margin: 0 auto;
  padding: 5px;
  font-size: 15px;
}
.shop-detail table{
  width: 100%;
  border-collapse: collapse;  /* セルの線を重ねる */
}
.shop-detail th,td {
  padding: 5px 0px;          /* 余白指定 */
}
.shop-detail th {
  width: 90px;
  background-color: #fff;  /* 背景色指定 */
  color:  #000;               /* 文字色指定 */
  font-weight:  normal;       /* 文字の太さ指定 */
  text-align: left;
  position:  relative;        /* 位置指定 */
}
.shop-detail td {
  background-color:  #fff; /* 背景色指定 */
  padding-left: 10px;         /* 余白指定 */
}
.shop-detail tr {
  border-bottom:  solid #c7c7c7; /* 線指定 */
  border-width: thin;
}

@media screen and (min-width: 768px) { /* 768px */

  .shop-all{                    /* 大枠 */
    margin: 0 auto;
    width: 63%; /* 63% */
    min-width: 800px;
    /* background-color: red; */
  }

  .shop-box{
    margin: 0;
  }

/*■■■　ショップ　階層　■■■■*/
  .shop-area{
    width: 180px;
  }
  .shop-area p.area{
    width: 180px;
    font-size: 20px;
  }
  .shop-area p.floor{
    width: 180px;
    font-size: 40px;
  }

/*■■■　ショップ名　■■■■*/
  .shop-name{
    width: 100%;
    min-width: 650px;
    text-indent: 50px;  /*字下げ*/
  }
  .shop-name p.name{
    font-size: 30px;
    padding: 0.3em 0;
  }
  .shop-name p.smlname{
    font-size: 30px;
    padding: 0.3em 0;
  }
  .shop-name p.bunrui{
  }

/*■■■　ショップ　メイン説明　■■■■*/
  .shop-main{
    width: calc(100% - 460px);
    /* min-width: 450px; */
    margin-left: 460px;
  }

  .shop-main::after{
    display: block;
    content: '';
    clear: both;
  }

/*■■■　ショップ　詳細　■■■■*/
  .shop-detail{
   width: 80%;
   margin: 0 auto;
   padding: 10px;
   font-size: 15px;
  }
  .shop-detail th,td {
    padding: 5px 40px;          /* 余白指定 */
  }
  .shop-detail th {
    width: 150px;
    background-color: #fff;  /* 背景色指定 */
    color:  #000;               /* 文字色指定 */
    font-weight:  normal;       /* 文字の太さ指定 */
    text-align: left;
    position:  relative;        /* 位置指定 */
  }
  .shop-detail td {
    background-color:  #fff; /* 背景色指定 */
    padding-left: 30px;         /* 余白指定 */
  }
}



/* -----
 * Policy setting
----------------------------------------------------------------------------- */
.container-policy {
  width: 80%;
  margin: auto;
  padding: 10px;
  font-size: 16px;
  border-bottom: solid 1px; /* #045FB4; */
}

.policy-tp {
  margin: 15px 0;
  }

/* 営業時間リスト */
.policy-tp dl{
  display: flex;
  flex-wrap: wrap;
  margin-left: 20px;
  /* margin: 0 auto; */
}
.policy-tp dt{
  width: 150px;
  font-weight: bold;
  display: flex;
}
.policy-tp dd{
  font-size: 14px;
  margin-left:20px;
}

.policy-tp p.ex{
  padding: 0px;
  font-size: 14px;
  margin-top: 70px;
}

.policy-midashi{
  margin-top: 50px;
  font-weight: bold;
}

@media screen and (min-width: 768px) {

  .policy-tp {
    width: 85%;
    margin: 20px 0;
  }

  .container-policy:after {
    display: block;
    content: '';
    clear: both;
  }
}



/* -----
 * Digital flyer setting
----------------------------------------------------------------------------- */
.container-dflyer {
  width: 80%;
  margin: auto;
  padding: 10px;
  font-size: 16px;
  border-bottom: solid 1px; /* #045FB4; */
}

.dflyer-tp {
  margin: 15px 0;
  }


/* 営業時間リスト */
.dflyer-tp dl{
  display: flex;
  flex-wrap: wrap;
  margin-left: 20px;
  /* margin: 0 auto; */
}
.dflyer-tp dt{
  width: 150px;
  font-weight: bold;
  display: flex;
}
.dflyer-tp dd{
  margin-left:20px;
}

.dflyer-tp p.txtsp{
  padding: 0px;
  font-size: 14px;
  margin-top: -15px;
  margin-left: 15px;
  display: block;
}

.dflyer-tp p.txtpc{
  display: none;
}

.dflyer-midashi{
  font-size: 20px;
  font-weight: bold;
}

img.dflyer-tp {
  width: 100%;
  margin: auto;
}

@media screen and (min-width: 768px) {

  .dflyer-tp {
    width: 100%;
    margin: 20px 0;
  }

  .dflyer-img {
    max-width: 1100px;
    margin: 0 auto;
  }

  .dflyer-tp p.txtpc{
    padding: 0px;
    font-size: 14px;
    margin-top: -15px;
    margin-left: 15px;
    display: block;
  }
  
  .dflyer-tp p.txtsp{
    display: none;
  }

  img.dflyer-tp {
    width: 100%;
    float: left;
    margin: 0 auto;
    margin-bottom: 20px;
    padding: 0px;
  }
  .container-dflyer {
    min-width: 800px;
  }
  .container-dflyer:after {
    display: block;
    content: '';
    clear: both;
  }
}



/* -----
 * other setting
----------------------------------------------------------------------------- */
.mb100{
  margin-bottom: 100px;
}
.mb50{
  margin-bottom: 50px;
}
.ml5{
  margin-left: 5px;
}


