/* CSS */
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=block');

/*
---------------------------------------------
facility-info
---------------------------------------------
*/

body.facility-info #contents-main section {
	padding: 15px 15px 30px;
}


body.facility-info #contents-main table.table01 th {
  border-left: none;
  width: 30%; }

body.facility-info #contents-main table.table01 td {
  border-right: none;
  white-space: pre-wrap;
}

body.facility-info #contents-main table.table01 td strong{
    font-size: 1.1em;}

/* =========================
ボックス
========================= */
body.facility-info #contents-main .box{
  margin: 30px 0 40px;
  padding: 30px;
  border: 1px solid var(--color-base-text-light);
}
/* =========================
営業時間
========================= */
body.facility-info #contents-main .hour .box{
  margin: 30px 0 0;
}
body.facility-info #contents-main .hour ul li{
  display: flex;
  align-items: center;
  padding: 16px 0;
  border-bottom: 4px solid var(--color-base-bg-light);
  flex-wrap: wrap;
}
body.facility-info #contents-main .hour ul li:first-of-type{
  padding: 0 0 16px;
}
body.facility-info #contents-main .hour ul li p:first-of-type {
  margin: 0 14px 0 0;
  padding: 4px 10px;
  background: var(--color-base-text-dark);
  font-family: var(--fontfamily-english);
  color: #fff;
  font-weight: bold;
  white-space: nowrap;
}
body.facility-info #contents-main .hour ul li p:nth-child(2) {
  margin: 0 14px 0 0;
}
body.facility-info #contents-main .hour ul li strong{
  font-size: 24px;
  font-weight: normal;
}
body.facility-info #contents-main .hour .attention {
  padding: 20px 0 0;
}
body.facility-info #contents-main .hour2{
  .table01{
    margin: 30px 0 0;
    tr.shop{position: relative;}
    tr.shop:after {
      font-family: var(--fontfamily-icon);
      content: "\e5cc";
      margin: 0 0 0 4px;
      font-size: 30px;
      color: var(--color-base-text-light);
      vertical-align: middle;
      position: absolute;
      top: calc(50% - 10px);
      right: 0;
    }
    td{
        box-sizing: border-box;
        border: none;
        white-space: normal;
    }
    td.floor{
      width: 3%;
      padding-right: 0;
      span{
        padding: 4px 10px;
        background: var(--color-base-text-dark);
        font-family: var(--fontfamily-english);
        color: #fff;
        font-weight: bold;
        white-space: nowrap;
      }
    }
    td.name{
      width: 30%;
      .shopname {font-size: 16px;line-height: 18px;font-weight: bold;}
      .category {font-size: 12px;font-weight: normal;line-height: 1.4em;margin-top: 5px;}
    }
    td.logo{
      width: 15%;
      text-align: center;
      img {max-width: 80px;}
    }
    td.hour{
      white-space: pre-wrap;
      line-height: 1.4em;font-size: 14px;
      padding-right: 30px;
    }
  }
}


/* =========================
施設サービス
========================= */
body.facility-info #contents-main .service .service-info{
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 16px;
  font-weight: bold;
  margin: 0 0 16px;
}
body.facility-info #contents-main .service .service-info .icon {
    width: 28px;
    height: 28px;
}
body.facility-info #contents-main .service .facility_pic{
  display: flex;
  justify-content:left;
  align-items: flex-start;
  gap: 10px;
  margin: 10px 0;
}
body.facility-info #contents-main .service .facility_pic .img{
  display: block;
  border-radius: var(--box-radius-small);
  height: 300px;
}
body.facility-info #contents-main .service .facility_pic.reverse{
  flex-direction: row-reverse;
  align-items: flex-start;
}
body.facility-info #contents-main .service .service-contents{
  background: var(--color-base-bg-light);
  padding: 20px;
  margin: 20px 0 0
}
body.facility-info #contents-main .service .btn-white {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding: 10px 36px 10px 30px;
  font-size: 0.875rem;
  font-weight: bold;
  border-radius: 4px;
  text-decoration: none;
  line-height: 1;
  margin: 15px 8px 0 0;
  border: 1px solid var(--color-base-text-light);
  color: var(--color-base-text-light);
}
body.facility-info #contents-main .service .btn-white::after {
  content: "";
  position: absolute;
  right: 14px;
  width: 6px;
  height: 6px;
  border-top: 2px solid var(--color-base-text-light);
  border-right: 2px solid var(--color-base-text-light);
  transform: rotate(45deg);
}
body.facility-info #contents-main .service .flex_floor{
  margin: 0 0 20px;
  padding: 0 0 20px;
}
body.facility-info #contents-main .service h4{
  font-size: 16px;
  font-weight: bold;
  padding: 0 0 20px;
  border-bottom: 4px solid var(--color-base-bg-light);
  margin: 0 0 15px;
}
body.facility-info #contents-main .service .use{
  margin: 12px 0 0;
}
body.facility-info #contents-main .service .use span{
  font-weight: bold;
}
body.facility-info #contents-main .service .border-bottom{
  padding-bottom: 20px;
  border-bottom: 4px solid var(--color-base-bg-light);
  margin-bottom: 15px;
}
body.facility-info #contents-main section .attention{
  font-size: 12px;
  line-height: 1.4em;
  margin: 0.5em 0 0;
}
body.facility-info #contents-main .payment .payment_img{
  width: 100%;
  margin: 10px 0;
  max-width: 650px;
}


/*
---------------------------------------------
access
---------------------------------------------
*/
body.access #contents-main #sc_map {
  border: 1px solid #ccc;
  box-sizing: border-box;
  height: 340px;
  width: 100%; }

body.access #contents-main #sc_map iframe {
  width: 100%;
  height: 100%;
  border: none; }

body.access #contents-main .sc_map_link {
  text-align: right;
  padding: 4px;
}

body.access #contents-main .sc_map_link a {
  text-decoration: underline; }

body.access #contents-main .sc_map_link a span {
  font-size: 0.9em; }

body.access #contents-main .sc_map_link .fa {
  margin-right: 5px; }
  
body.access #contents-main section {
	padding: 15px 15px 30px;
}
body.access #contents-main section dl {
  padding: 30px;
  border: 1px solid var(--color-base-text-light);
  margin: 1em 0 2em;
}

body.access #contents-main section dl dt {
  font-size: 16px;
  font-weight: bold;
  padding: 0 0 20px;
  border-bottom: 4px solid var(--color-base-bg-light);
  margin: 0 0 15px;
  display: flex;
  align-items: center;
  gap: 5px;
}
body.access #contents-main section dl dt .icon {
    width: 28px;
    height: 28px;
}
body.access #contents-main section dl dd{
	padding: 15px 0 0;
  white-space: normal;
}
body.access #contents-main section dl dd strong{
	font-size: 1.1em;
}
body.access #contents-main section dl dd span{
	font-weight: bold;
}
body.access #contents-main section dl#car dd ul:first-of-type{
  padding: 0 0 20px;
  border-bottom: 4px solid var(--color-base-bg-light);
  margin: 0 0 20px;
}
body.access #contents-main section dl#car dd ul li{
  list-style: disc;
  list-style-position: outside;
  margin-left: 1.5em;
  width: calc(100% - 1.5em);
}
body.access #contents-main section dl#car dd ul li:first-of-type{
  font-size: 16px;
  font-weight: bold;
  padding-bottom: 0.2em;
  list-style: none;
  margin: 0;
  width: 100%;
}
body.access #contents-main section .table .dl-vertical {
    margin: 0;
    border-radius: 0;
    border: none;
    padding: 0;
}
body.access #contents-main section .table .dl-vertical dt {
  border-bottom: none;
  padding: 0;
  margin: 0;
  align-items: start;
}
body.access #contents-main section .table .dl-vertical dt:before{
  font-family: var(--fontfamily-icon);
  font-variation-settings: var(--iconfont-FILL1-set);
  content: "\ef4a";
  font-weight: normal;
}
body.access #contents-main section .table .dl-vertical dd {
  margin: 0 0 6px 22px;
  padding: 0;
}

body.access #contents-main section.access_parking .table table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  font-size: 14px;
  line-height: 1.6;
  border-width: 1px 0;
}
body.access #contents-main section.access_parking table.table01 th {
  border-left: none;
  border-right: none;
  background: var(--color-base-bg-light);
  width: 30%;
}

body.access #contents-main section.access_parking table.table01 td {
  border-right: none;
  white-space: normal;
}

body.access #contents-main table.table01 td strong{
    font-size: 1.1em;}

body.access #contents-main tr.sc_payment td img{
	max-width: 400px;
	margin-bottom: 10px;
}
body.access #contents-main section .table a {
  text-decoration: underline;
}
body.access #contents-main section .table p {
  margin: 0 0 8px 0;
}

body.access #contents-main section .table a:hover {
  text-decoration: none;
}

body.access #contents-main section .table ul {
  margin: 0;
}
body.access #contents-main section .table ul.parking_service{
  margin: 0 0 10px;
  li{font-weight: bold;}
  li strong{color: var(--color-base-main-dark);margin-left: 0.2em;font-size: 18px;}
}
body.access #contents-main section .table ul.attention{
  li{font-size: 12px;line-height: 1.4em;padding-bottom: 0.2em;}
  li:before{content: "※";}
}

body.access #contents-main article.access_method dl dd img{
	padding: 5px 0;
	max-width: 600px;
}

body.access #contents-main .guide_information section,
body.access #contents-main .lostitem_inquiry section{
	white-space: pre-wrap;
}
body.access #contents-main .guide_information section h4,
body.access #contents-main .lostitem_inquiry section h4{
    padding: 10px 0 15px 0;
    border-bottom: 10px solid var(--color-base-bg-light);
    font-weight: bold;
    font-size: 1.1em;
}

body.access #contents-main .access_content section a{
	color: var(--color-base-main-dark);
    padding: 5px 10px;
    display: inline-block;
    border-radius: var(--box-radius-small);
    background: var(--color-base-bg-light);
    margin: 5px 0;
}
body.access #contents-main .access_content section p.btn a{
    display: block;
    margin: 10px 0 0;
    width: 12em;
    text-align: center;
    color: #fff;
    background: var(--color-base-main-dark);
    padding: 10px 30px;
    position: relative;
}
body.access #contents-main .access_content section p.btn a:after{
    font-family: var(--fontfamily-icon);
    content: "\e5cc";
    margin: 0 0 0 4px;
    font-size: 30px;
    color: #fff;
    vertical-align: middle;
    position: absolute;
    top: calc(50% - 10px);
    right: 0;
}


/* =========== 
  スマホ
============== */
body.facility-info.sp #contents .inner{
  padding: 0;
}
body.facility-info.sp #contents-main section{
  padding: 0 0 20px;
}
body.facility-info.sp #contents-main .hour .box {
    margin: 16px 0;
}
body.facility-info.sp #contents-main .box {
  padding: 16px;
}
body.facility-info.sp #contents-main .hour ul li p:nth-child(2){
  width: 100%;
}
body.facility-info.sp #contents-main .service .service-contents{
  padding: 16px;
}
body.facility-info.sp #contents-main .service .btn-white {
  padding: 10px 30px 10px 26px;
  margin: 15px 4px 0 0;
}
body.facility-info.sp #contents-main .service .facility_pic{
  gap: 5px;
  justify-content:center;
  .img{height: 130px;}
  .img:only-child{height: 200px;}
}

body.facility-info.sp #contents-main .hour2{
  .table01{
    margin: 16px 0 0;
    tr.shop {
      position: relative;
      width: 100%;
      display: inline-block;
    }
    tr.shop:last-of-type{border-bottom: 0;}
    td.floor {
      width: 45px;
      padding: 16px 0 0;
      margin-left: 8px;
      float: left;
    }
    td.name {
      width: calc(70% - 55px);
      float: left;
    }
    td.logo {
      width: 30%;
      padding: 16px 24px 0 8px;
      float: right;
    }
    td.hour {
      box-sizing: border-box;
      font-size: 12px;
      padding: 0 16px 16px;
      border: none;
      width: 100%;
      display: inline-block;
    }
  }
}

/*access*/
body.access #contents-main tr.sc_payment td img,
body.access #contents-main section dl#car dd img,
body.access #contents-main article.access_method dl dd img{
	max-width: 100%;
}
body.access.sp #contents .inner{
  padding: 0;
}
body.access.sp #contents-main section dl{
  padding: 16px;
}
body.access.sp #contents-main section{
  padding:0 0 30px;
}
body.access.sp #contents-main section dl dt{
  margin:0;
  padding: 0 0 10px;
}


