@charset "utf-8";
/* layout basics
---------------------------------------- */
html {
  height: 100%;
}
body {
  position: relative;
  height: 100%;
  margin: 0;
  padding: 0;
  color: #505050;
  background-color: #f4f2f1;
  font-size: 14px;
}
html[lang="en"] body {
  font-family: 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
  font-weight: 200;
  letter-spacing: 0.5px;
}
html[lang="ja"] body {
  font-family: 'YuGothic', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN W3', 'Hiragino Kaku Gothic ProN', 'HiraKakuProN-W3', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro W3', 'Hiragino Kaku Gothic Pro', 'HiraKakuPro-W3', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
html[lang="ja"] body {
  line-height: 1.71428571;
}
html[lang="en"] body {
  line-height: 1.57142857;
}
body > .wrapper {
  position: relative;
  min-width: 950px;
  min-height: 100%;
  margin-bottom: -170px;
}
body > .wrapper:after {
  content: "";
  display: block;
  height: 170px;
}
body > .wrapper > article {
  min-height: 540px;
}
[lang="ja"] {
  text-align: justify;
}
[lang]:not([lang="ja"]) {
  text-align: left;
}
a {
  color: inherit;
  text-decoration: none;
}
a:hover {
  color: #ff2828 /* accent color */;
}
p a,
li a {
  border-bottom: solid 1px #ff2828 /* accent color */;
}
img {
  max-width: 100%;
  height: auto;
  border: none;
}
hr {
  height: 0px;
  border: none;
  border-bottom: solid 1px #cbc9c9 /* border color */;
}
.page-block {
  min-width: 950px;
}
.page-block > .block-content {
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 950px;
  margin: 0 auto;
  padding: 1px 0;
}
@media only screen and (min-width: 1024px) {
  /* work around android 4.X image size bug. */
  .fixed {
    position: fixed !important;
  }
}
/* layers
---------------------------------------- */
.header-block {
  position: relative;
  z-index: 2;
}
.primary-block {
  position: relative;
  z-index: 1;
}
.secondary-block {
  position: relative;
  z-index: 4;
}
.footer-block {
  position: relative;
  z-index: 5;
}
.nav-block {
  position: absolute;
  z-index: 999;
}
.overlay-stroke {
  position: absolute;
  z-index: 3;
}
/* page header
---------------------------------------- */
.header-block {
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  height: 188px;
  border-bottom: 1px solid #ffcacb /* thin border color */;
  background-color: #ffffff;
}
.header-block > .block-content {
  position: relative;
}
.header-block > .block-content > * {
  position: absolute;
  top: 26px;
}
.header-block > .block-content .sub-title {
  left: 0px;
}
.header-block > .block-content .main-title {
  left: 50%;
  margin-left: -83px;
}
.header-block > .block-content .venezia-logo {
  right: 0px;
}
/* content
---------------------------------------- */
.primary-block h2.heading,
.secondary-block h2.heading {
  margin: 75px 0 25px;
  padding: 0;
  font-size: 114.28571429%;
  line-height: 1.75;
}
.primary-block h2.heading:before,
.secondary-block h2.heading:before {
  content: "";
  display: block;
  height: 0;
  margin-bottom: 6px;
  border-bottom: solid 1px #cbc9c9 /* border color */;
  padding-bottom: 2px;
}
.primary-block h2.heading img,
.secondary-block h2.heading img {
  display: inline-block;
  width: auto;
  height: 1.75em;
}
.primary-block h2.heading img:only-child,
.secondary-block h2.heading img:only-child {
  display: block;
  margin: 0 auto 0 0;
}
.primary-block h1 + h2.heading,
.secondary-block h1 + h2.heading,
.primary-block h2.heading:first-child,
.secondary-block h2.heading:first-child {
  margin-top: -3px;
}
.primary-block > .block-content {
  padding: 105px 0 70px 250px;
}
.primary-block > .block-content:before {
  content: "";
  display: block;
  border-bottom: solid 1px #cbc9c9 /* border color */;
}
.primary-block > .block-content:last-child {
  margin-bottom: 50px;
}
.primary-block h1.page-title {
  position: absolute;
  left: auto;
  top: 90px;
  height: 50px;
  margin: 0;
  margin-left: -250px;
}
.primary-block h1.page-title img {
  display: inline-block;
  width: auto;
  height: 50px;
}
.primary-block .column-row {
  margin-top: 45px;
}
.primary-block .column-row:after {
  display: block;
  clear: both;
  height: 0;
  content: "";
  overflow: hidden;
}
.primary-block .column-row h1.column-title {
  position: relative;
  height: 35px;
  margin: 0px;
  line-height: 0;
}
.primary-block .column-row h1.column-title:before {
  content: "";
  display: block;
  position: absolute;
  top: 25px;
  width: 100%;
  border-bottom: solid 1px #cbc9c9 /* border color */;
}
.primary-block .column-row h1.column-title img {
  display: inline-block;
  position: absolute;
  top: 0px;
  width: auto;
  height: 35px;
}
.primary-block .column-row h2 {
  margin: 10px 0 -10px 0;
  font-size: 13px;
  font-weight: bold;
}
.primary-block .column-row hr {
  margin: 40px 0 20px;
}
.primary-block .column-left {
  float: left;
  width: 300px;
  margin-left: -250px;
  font-size: 13px;
}
.primary-block .column-right {
  float: right;
  width: 565px;
  font-size: 14px;
}
/* page footer
---------------------------------------- */
.footer-block {
  height: 170px;
  background-color: #ffffff;
}
.footer-block > .block-content {
  position: relative;
  height: 170px;
}
.footer-block > .block-content .scroll-up {
  display: block;
  position: absolute;
  width: 78px;
  height: 34px;
  left: 0;
  top: -56px;
}
.footer-block > .block-content .buttons {
  position: absolute;
  width: 700px;
  height: auto;
  right: 0;
  bottom: 15px;
  text-align: right;
}
.footer-block > .block-content .buttons .button {
  display: inline-block;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  height: 32px;
  vertical-align: top;
}
html[lang="en"] .footer-block > .block-content .buttons .button.contact {
  line-height: 29px;
}
html[lang="ja"] .footer-block > .block-content .buttons .button.contact {
  line-height: 32px;
}
.footer-block > .block-content .buttons .button.facebook {
  margin-left: 4px;
}
.footer-block > .block-content .buttons .button.facebook iframe {
  right: 0;
  bottom: 0;
}
html[lang="en"] .footer-block > .block-content .buttons .button.facebook {
  padding-top: 2px;
}
.footer-block > .block-content .buttons .button.twitter {
  margin-left: 2px;
  padding-top: 4px;
}
.footer-block > .block-content .banners > * {
  position: absolute;
}
.footer-block > .block-content .banners #jpf_logo {
  left: 0;
  top: 11px;
  display: block;
  width: 190px;
}
html[lang="en"] .footer-block > .block-content .banners #jpf_logo {
  height: 45px;
}
html[lang="ja"] .footer-block > .block-content .banners #jpf_logo {
  height: 71px;
}
.footer-block > .block-content .banners #if_logo {
  left: 540px;
}
html[lang="en"] .footer-block > .block-content .banners #if_logo {
  top: 21px;
}
html[lang="ja"] .footer-block > .block-content .banners #if_logo {
  top: 37px;
}
.footer-block > .block-content .banners #shiseido_logo {
  left: 700px;
}
html[lang="en"] .footer-block > .block-content .banners #shiseido_logo {
  top: 34px;
}
html[lang="ja"] .footer-block > .block-content .banners #shiseido_logo {
  top: 50px;
}
.footer-block > .block-content .banners #mim_logo {
  right: 0px;
  top: 44px;
}
html[lang="en"] .footer-block > .block-content .banners #mim_logo {
  top: 19px;
}
html[lang="ja"] .footer-block > .block-content .banners #mim_logo {
  top: 37px;
}
.footer-block > .block-content .copyright {
  position: absolute;
  left: 0;
  bottom: 18px;
  font-size: 78.57142857%;
}
/* navigation menu
---------------------------------------- */
.nav-block {
  width: 100%;
  height: 37px;
  left: 0;
  top: 188px;
  background-color: #fff;
}
.nav-block.fixed {
  box-shadow: 0px 0px 3px 3px rgba(0, 0, 0, 0.1);
}
.nav-block > .block-content {
  position: relative;
  padding: 0;
}
.nav-block > .block-content > ul {
  position: absolute;
  left: 0;
  top: 0;
}
.nav-block > .block-content > ul,
.nav-block > .block-content > ul ul {
  list-style-type: none;
  margin: 0;
  border: none;
  padding: 0;
}
.nav-block > .block-content > ul li {
  margin: 0;
  border: none;
  padding: 0;
}
.nav-block > .block-content > ul > li {
  float: left;
}
.nav-block > .block-content > ul > li > a {
  position: relative;
  display: block;
  height: 35px;
  overflow: hidden;
  margin-right: 32px;
  border-bottom: none;
  opacity: 0.5;
  transition: opacity 1s;
}
.nav-block > .block-content > ul > li > a img {
  display: block;
  position: absolute;
  max-width: none;
  width: 556px;
  top: 8px;
}
.nav-block > .block-content > ul > li > a:hover {
  opacity: 1;
}
.nav-block > .block-content > ul > li.home > a {
  width: 45px;
}
.nav-block > .block-content > ul > li.home > a img {
  left: 0px;
}
.nav-block > .block-content > ul > li.information > a {
  width: 89px;
}
.nav-block > .block-content > ul > li.information > a img {
  left: -76px;
}
.nav-block > .block-content > ul > li.project > a {
  width: 80px;
}
.nav-block > .block-content > ul > li.project > a img {
  left: -196px;
}
.nav-block > .block-content > ul > li.archives > a {
  width: 63px;
}
.nav-block > .block-content > ul > li.archives > a img {
  left: -307px;
}
.nav-block > .block-content > ul > li.catalogue > a {
  width: 81px;
}
.nav-block > .block-content > ul > li.catalogue > a img {
  left: -401px;
}
.nav-block > .block-content > ul > li.press > a {
  width: 41px;
}
.nav-block > .block-content > ul > li.press > a img {
  left: -515px;
}
html.id-ja .nav-block > .block-content > ul > li.home > a,
html.id-en .nav-block > .block-content > ul > li.home > a,
html.id-ja-information .nav-block > .block-content > ul > li.information > a,
html.id-en-information .nav-block > .block-content > ul > li.information > a,
html.id-ja-project .nav-block > .block-content > ul > li.project > a,
html.id-en-project .nav-block > .block-content > ul > li.project > a,
html.id-ja-archives .nav-block > .block-content > ul > li.archives > a,
html.id-en-archives .nav-block > .block-content > ul > li.archives > a,
html.id-ja-catalogue .nav-block > .block-content > ul > li.catalogue > a,
html.id-en-catalogue .nav-block > .block-content > ul > li.catalogue > a,
html.id-ja-press .nav-block > .block-content > ul > li.press > a,
html.id-en-press .nav-block > .block-content > ul > li.press > a {
  opacity: 1;
}
.nav-block > .block-content > ul ul {
  /* Sub-menu */
  position: absolute;
  left: 0px;
  top: 152px;
}
.nav-block > .block-content > ul ul > li > a {
  position: relative;
  display: block;
  width: 158px;
  height: 25px;
  overflow: hidden;
  border-bottom: none;
}
.nav-block > .block-content > ul ul > li > a img {
  display: block;
  position: absolute;
  max-width: none;
  width: 316px;
  left: 0px;
  opacity: 0.5;
  transition: 1s opacity;
}
.nav-block > .block-content > ul ul > li > a.current img,
.nav-block > .block-content > ul ul > li > a:hover img {
  opacity: 1;
}
.nav-block > .block-content .languages {
  position: absolute;
  width: 52px;
  height: auto;
  top: 8px;
  right: 0;
  text-align: right;
  font-size: 0;
}
.nav-block > .block-content .languages .label {
  display: block;
  width: auto;
  height: 21px;
}
/* red lines
---------------------------------------- */
.overlay-stroke {
  width: 100%;
  height: 666px;
  left: 0;
  top: 0;
  overflow: hidden;
}
.overlay-stroke svg {
  display: block;
  width: 100%;
  height: 100%;
}

/* clearfix
---------------------------------------- */
.clearfix:after { content: "."; display: block; clear: both; visibility: hidden; height: 0.1px; font-size: 0.1em; line-height: 0; }
.clearfix { min-height: 1px; }
* html .clearfix { display: inline-block; } /* IE5以前のみ */
/*\*/ * html .clearfix { height: 1%; } .clearfix { display: block; } /**/ /* Mac版IEから隠す */

