@charset "UTF-8";

/* COMMON
-------------------------------------------------- */
.body_bath {
  background-image: url('/jpn/consumer/products/common/images/bg.jpg');
  background-size: 180% auto;
  background-position: center;
  background-repeat: repeat-y;
  width: 100%;
  position: relative;
  font-family: YuMincho, 'Yu Mincho', serif, 'Noto Sans JP', sans-serif;
}

.body_bath .wrap {
  background: transparent;
}

.body_bath a {
  color: #333;
}

.body_bath a:hover {
  text-decoration: none;
}

main {
  overflow-x: hidden;
}

.breadcrumbs_wrap {
  position: relative;
  z-index: 2;
}


/* タイトル */
.ttl {
  text-align: center;
}

.ttl_en {
  font-size: 44px;
  text-align: center;
  position: relative;
  padding-bottom: 13px;
  z-index: 3;
}

.ttl_en::after {
  content: "";
  display: block;
  background-color: #333;
  width: 72px;
  height: 5px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.ttl_ja {
  display: inline-block;
  font-size: 24px;
  text-align: center;
  letter-spacing: 0.28em;
  margin: 42px auto 0;
  position: relative;
  width: auto;
  z-index: 3;
}

.ttl_ja::before,
.ttl_ja::after {
  content: '';
  width: 8px;
  height: 43px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.ttl_ja::before {
  border-left: solid 1px #000000;
  border-top: solid 1px #000000;
  border-bottom: solid 1px #000000;
  left: -27px;
}

.ttl_ja::after {
  border-right: solid 1px #000000;
  border-top: solid 1px #000000;
  border-bottom: solid 1px #000000;
  right: -17px;
}

.ttl_sub {
  position: relative;
  z-index: 3;
  font-size: 30px;
  margin-top: 40px;
}

.side_ttl {
  position: absolute;
  color: rgba(203, 202, 200, 0.4);
  font-size: 140px;
  z-index: 2;
  top: 0;
  left: 0;
  writing-mode: vertical-rl;
  line-height: 0.7;
}


/* ストレッチリンク */
.stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  pointer-events: auto;
  content: "";
  background-color: rgba(255, 255, 255, 0);
}

.stretched-link:hover::after {
  background-color: rgba(255, 255, 255, .25);
}


@media print,
screen and (min-width:768px) {
  main {
    margin-top: -86px;
  }
  .pc-none {
    display: none !important;
  }

  .content_inner {
    width: 100%;
    max-width: 1216px;
    min-width: 1024px;
    padding: 0 20px;
  }
}

@media screen and (max-width:767px) {
  .sp-none {
    display: none !important;
  }

  .content_inner {
    margin: 0 auto;
  }

  .ttl_en {
    font-size: 35px;
  }

  .ttl_en::after {
    width: 72px;
    height: 3px;
  }

  .ttl_ja {
    font-size: 18px;
  }

  .ttl_sub {
    font-size: 25px;
    margin-top: 25px;
  }

  .side_ttl {
    font-size: 60px;
  }
}