@charset "utf-8";

html, body {
	min-height: 100%;
}
body {
  background: #000;
}
h1, h2, h3, h4, h5, h6 {
  margin: 0;
  font-size: 1em;
} 
ol, ul {
  list-style: none;
}
figure, dl, dt, dd, ol, ul, li {
  margin: 0;
  padding: 0;
  line-height: 0;
  vertical-align: bottom;
}
body, button, input, select, textarea {
  font-family: inherit;
}
p, li, dl, table {
  line-break: strict;
  word-break: break-strict;
  word-wrap: break-word;
}
img {
  border: none;
  line-height: 0;
  vertical-align: bottom;
}
a {
  background: transparent;
  outline: 0 none;
  text-decoration: none;
}
a:hover {
  text-decoration: none;
}

#wrapper {
  background: url(../img/bg-y.png) 50% 56vw / auto 60vw repeat-x,
    url(../img/bg-b.png) 50% 434vw / auto 60vw repeat-x,
    url(../img/bg-r.png) 50% 644vw / auto 60vw repeat-x,
    url(../img/bg-g.png) 50% 1024vw / auto 60vw repeat-x;
}
#gallery {
  width: 96%;
  margin: 0 auto;
  text-align: center;
}
#gallery header {
  position: relative;
}
#gallery header h1 {
  position: absolute;
  right: 4%;
  bottom: 4%;
  width: 46%;
  height: 30vw;
  padding: 9.6vw 0 0;
  background: url(../img/bg_logo_relief.png) 0 0 / 100% auto no-repeat;
  color: #fff;
  font-size: 4.9vw;
  font-family: "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, serif;
  text-align: center;
  line-height: 1;
  box-sizing: border-box;
}
#gallery header h1 span {
  display: block;
  margin: 0.9em 0 0;
  font-size: 2.5vw;
}
#gallery ul li,
.flex > a {
  margin: 0 0 1.2vw;
}
#gallery .logo_1 img {
  width: 35vw;
}
#gallery a {
  position: relative;
  display: block;
}
#gallery a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 6.173vw;
  height: 6.173vw;
  background: url(../img/ico_zoom.png) 0 0 / 100% auto no-repeat;
}
#gallery img {
  width: 100%;
}
#gallery .front_2f h2 {
  padding: 0.7em 0 1.1em;
}
#gallery .aisle_3f h2,
#gallery .aisle_8f h2,
#gallery .chairman_room h2 {
  padding: 0.7em 0 0.8em;
}
  

.flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-content: stretch;
}
.half {
  width: 49.4%;
}
.quarter,
.p25 {
  width: 24.5%;
}
.half .half {
  width: 48.7%;
}
.p65 {
  width: 64.5%;
}
.p35 {
  width: 34%;
}
.p75 {
  width: 74.2%;
}
.clear {
  clear: both;
}
#gallery .logo_1 {
  position: relative;
}
#gallery .logo_1 img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  display: block;
}
#gallery .logo_2 {
  position: relative;
}
#gallery .logo_2 img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  display: block;
  width: 86.51%;
}
#gallery .logo_3 {
  position: relative;
}
#gallery .logo_3 img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  display: block;
}
#gallery .float1 {
  overflow: hidden;
}
#gallery .float1 .logo_4 {
  position: relative;
  float: left;
}
#gallery .float1 .logo_4 img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  display: block;
  width: 82.44%;
}
#gallery .logo_5 {
  position: relative;
}
#gallery .logo_5 img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  display: block;
}
.float1 .left {
  float: left;
}
.float1 .right {
  float: right;
}
#gallery .aisle_8f .logo_2 {
  position: relative;
  float: left;
}
footer {
  position: relative;
  width: 92%;
  margin: 0 auto;
  color: #fff;
}
footer img {
  width: 100%;
}
footer a#pagetop {
  position: absolute;
  right: 0;
  width: 46vw;
}
footer p {
  margin: 0.6em 0 0;
}
.fancybox-opened .fancybox-skin .fancybox-title-float-wrap .child {
  font-family: "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, serif;
}
@media screen and (max-width: 813px) {
  #gallery .front_2f h2 img,
  #gallery .aisle_3f h2 img,
  #gallery .aisle_8f h2 img,
  #gallery .chairman_room h2 img {
    width: 75%;
  }
  #gallery .logo_1 {
    height: 8.4vw;
  }
  #gallery .float1 .logo_4 {
    width: 13.5vw;
    height: 13.5vw;
    margin: 0 0 1.2vw 1.2vw;
  }
  #gallery .logo_2 {
    height: 8.4vw;
  }
  #gallery .front_2f .logo_2 {
    height: 9.7vw;
  }
  #gallery .aisle_8f .logo_2 {
    height: 8vw;
    margin: 0 0 1.2vw 1.2vw;
  }
  #gallery .logo_3 {
    height: 9.1vw;
  }
  #gallery .chairman_room .logo_3 {
    height: 8.3vw;
  }
  #gallery .logo_3 img {
    width: 90%;
  }
  #gallery .logo_5 {
    height: 8.4vw;
  }
  #gallery .logo_5 img {
    width: 63%;
  }
  footer {
    padding: 4vw 0;
  }
  footer ul {
    padding: 1.2vw 0 0;
  }
  footer ul li {
    margin: 0 0 2.4vw;
  }
  footer ul li:nth-child(1) {
    width: 34.95vw;
  }
  footer ul li:nth-child(2) {
    width: 37.65vw;
  }
  footer a#pagetop {
    top: 4vw;
  }
}

@media screen and (min-width: 814px) {
  #wrapper {
    background: url(../img/bg-y.png) 50% 512px / auto 600px repeat-x,
      url(../img/bg-b.png) 50% 4230px / auto 600px repeat-x,
      url(../img/bg-r.png) 50% 6280px / auto 600px repeat-x,
      url(../img/bg-g.png) 50% 9970px / auto 600px repeat-x;
  }
  #gallery {
    width: 972px;
  }
  #gallery a::before {
    content: "";
    position: absolute;
    top: 0; right: 0;
    bottom: 0; left: 0;
    display: block;
    background: #fff;
    opacity: 0;
  }
  #gallery a:hover::before {
    opacity: 0.25;
  }
  #gallery header a:hover img {
    opacity: 0;
  }
  #gallery header a:before {
    background: url(../img/img_main01_ov.png) 0 0 / 100% auto no-repeat;
  }
  #gallery header a:hover::before {
    opacity: 1;
  }
  #gallery a::after {
    width: 30px;
    height: 30px;
  }

  #gallery header {
    height: 600px;
  }
  #gallery header h1 {
    right: 20px;
    bottom: 28px;
    width: 419px;
    height: 283px;
    padding: 94px 0 0;
    font-size: 52px;
    line-height: 1;
  }
  #gallery header h1 span {
    font-size: 22px;
  }
  #gallery ul li,
  .flex > a {
    margin: 0 0 4px;
  }
  #gallery .front_2f h2 img {
    width: 584px;
  }
  #gallery .logo_1 {
    height: 94px;
  }
  #gallery .logo_1 img {
    width: 342px;
  }
  #gallery .logo_2 {
    height: 94px;
    margin: 0 0 4px;
  }
  #gallery .logo_2 img {
    width: 186px;
  }
  #gallery .logo_3 {
    height: 94px;
  }
  #gallery .logo_3 img {
    width: 453px;
  }
  .half {
    width: 484px;
  }
  .quarter,
  .half .half {
    width: 240px;
  }
  .p65 {
    width: 634px;
  }
  .p35 {
    width: 334px;
  }
  .p75 {
    width: 728px;
  }
  #gallery .float1 .logo_4 {
    width: 146px;
    height: 146px;
    margin: 0 0 4px 4px;
  }
  #gallery .float1 .logo_4 img {
    width: 108px;
    height: auto;
  }
  #gallery .logo_5 {
    height: 94px;
  }
  #gallery .logo_5 img {
    width: 304px;
    height: auto;
  }
  #gallery .aisle_3f h2 img,
  #gallery .aisle_8f h2 img,
  #gallery .chairman_room h2 img {
    width: 584px;
  }
  #gallery .aisle_8f .logo_2 {
    height: 94px;
    margin: 0 0 4px 4px;
  }
  footer {
    width: 972px;
    padding: 20px 0 26px;
  }
  footer ul {
    display: flex;
    width: 514px;
    justify-content: space-between;
  }
  footer ul li:nth-child(1) {
    width: 233px;
  }
  footer ul li:nth-child(2) {
    width: 251px;
  }
  footer a#pagetop {
    top: 20px;
    width: 256px;
  }
  
}