.inline_block {
  display: inline-block; }

.table_cell {
  display: table-cell;
  vertical-align: middle; }

.clearfix {
  position: relative; }
  .clearfix:after {
    display: block;
    clear: both;
    content: ""; }

.max_width {
  box-sizing: border-box;
  max-width: 1280px;
  margin-right: auto;
  margin-left: auto; }

.min_width {
  box-sizing: border-box;
  min-width: 1024px;
  margin-right: auto;
  margin-left: auto; }

.en {
  font-family: Helvetica, Arial, sans-serif; }

#contents:not(.rlx-corners) #home .lead {
  font-size: 14px;
  line-height: 24px; }

#home #visual {
  margin-bottom: 60px;
  background: url(https://dh-rx-image.com/common/top/bg_main.jpg) center top/auto 100% no-repeat; }
  #home #visual h1 {
    position: absolute;
    top: 30.03356%;
    left: 58.04688%;
    width: 32.96875%; }
  #home #visual .collection {
    width: 75.11848%;
    margin: 8.38926% auto 0; }
#home #advice {
  margin-bottom: 4.21875%; }

#contents:not(.rlx-corners) #home #lead {
  margin-bottom: 60px; }

#home #info {
  padding: 4.6875% 0;
  border: solid #d2d2d2;
  border-width: 1px 0; }
  #home #info dl {
    display: table;
    width: 70.3125%;
    margin: 0 auto; }
    #home #info dl dd {
      display: table-cell;
      padding: 0 4.44444%;
      vertical-align: middle; }
    #home #info dl dt {
      display: table-cell;
      padding: 0 4.44444%;
      vertical-align: middle;
      font-size: 162%;
      width: 7em;
      padding-left: 0;
      color: #333;
      border-right: 1px solid #d2d2d2; }
    #home #info dl dd {
      padding-right: 0;
      text-align: left; }
      #home #info dl dd li {
        margin-bottom: 0; }
#home #collection {
  margin-bottom: 70px; }
  #home #collection h2 {
    margin-bottom: 3.90625%;
    color: #333; }
    #home #collection h2 span:after, #home #collection h2 span:before {
      display: inline-block;
      width: 2em;
      height: 2px;
      margin: 0 1em;
      content: '';
      vertical-align: middle;
      background: #d2d2d2; }
  #home #collection iframe {
    width: 100%; }
  #home #collection .ttl_and_lead {
    margin-bottom: 55px; }
  #home #collection .watch-list {
    width: auto;
    max-width: 1020px;
    margin: 0 auto;
    text-align: left; }
    #home #collection .watch-list li {
      display: inline-block;
      box-sizing: border-box;
      width: 33.33%;
      padding: 0 10px 30px;
      text-align: center;
      vertical-align: top; }
      #home #collection .watch-list li a {
        position: relative;
        display: block;
        color: #212121; }
        #home #collection .watch-list li a .name {
          font-size: 14px;
          line-height: 20px;
          position: relative;
          z-index: 1;
          bottom: -3px;
          left: 0;
          box-sizing: border-box;
          width: 100%; }
        #home #collection .watch-list li a .desc {
          font-size: 11.2px;
          color: #818181;
          line-height: 20px;
          position: relative;
          z-index: 1;
          top: 0px; }
        #home #collection .watch-list li a:hover {
          color: #c90; }
#home #movie .col-tbl .col-tbl__txt {
  padding: 0; }
#home #movie .col-tbl__txt * {
  color: #fff; }
#home #movie .col-tbl__txt .ttl_and_lead {
  display: inline-block;
  padding: 40px 0;
  vertical-align: middle; }
  #home #movie .col-tbl__txt .ttl_and_lead * {
    text-align: left; }
  #home #movie .col-tbl__txt .ttl_and_lead .h1_sttl {
    line-height: 32px;
    margin-bottom: 30px; }
    #home #movie .col-tbl__txt .ttl_and_lead .h1_sttl span {
      display: block; }
#home #movie .wrap {
  max-width: none; }
#home #movie .mov {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  min-height: 480px;
  padding-top: 56.25%; }
  #home #movie .mov iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important; }
#home #shop .bg_gray {
  padding-top: 30px;
  padding-bottom: 0; }

#contents #home #shop .h1 h1_ttl {
  margin-bottom: 20px; }

#home #shop .h1_ttl span.ttl_cover:after {
  margin: 12px auto 0; }
#home #shop img {
  max-width: 800px;
  margin: 0 auto; }
#home #shop .lead {
  margin-bottom: 30px; }
#home #shop .col-tbl__txt {
  text-align: left; }
#home #shop .btn {
  margin: 0 auto; }

#contents #exp {
  margin-bottom: 120px; }

body #contents #exp .h1_ttl {
  margin: 0 auto 30px; }

#contents #exp .slide-btn {
  box-sizing: border-box;
  max-width: 1245px;
  margin: 0 auto;
  padding: 0 75px 55px; }
#contents.rlx-corners #exp .slide-btn {
  padding: 0 75px; }
#contents #exp .slide {
  padding: 0;
  text-align: center; }
  #contents #exp .slide .slick-slide {
    display: inline-block;
    width: 32.7051%;
    margin: 0 .5px;
    text-align: left;
    vertical-align: top; }
    #contents #exp .slide .slick-slide img {
      width: 100%;
      height: auto; }
    #contents #exp .slide .slick-slide span {
      font-size: 14px;
      font-weight: 400;
      line-height: 24px;
      display: block;
      padding: 5px 0 0;
      transition: all 0.5s; }
    #contents #exp .slide .slick-slide .comingsoon {
      color: #818181; }
    #contents #exp .slide .slick-slide a {
      color: #818181; }
      #contents #exp .slide .slick-slide a:hover span {
        opacity: .5;
        -moz-opacity: .5;
        -webkit-opacity: 0.5; }
    #contents #exp .slide .slick-slide .comingsoon {
      position: relative;
      display: table;
      padding: 0;
      transition: all .5s;
      opacity: 1;
      background: #000;
      backface-visibility: hidden;
      -webkit-backface-visibility: hidden; }
      #contents #exp .slide .slick-slide .comingsoon:hover {
        opacity: .5;
        -moz-opacity: .5;
        -webkit-opacity: .5;
        background: #000; }
      #contents #exp .slide .slick-slide .comingsoon span {
        display: none; }
      #contents #exp .slide .slick-slide .comingsoon:hover span {
        font-size: 185%;
        font-weight: 700;
        position: absolute;
        z-index: 100;
        top: 50%;
        left: 0;
        display: table-cell;
        width: 100%;
        margin-top: -1.3em;
        text-align: center;
        vertical-align: middle;
        color: #fff;
        background: 0 0; }

body #contents .slick-next, body #contents .slick-prev {
  width: 25px;
  height: 48px;
  margin-top: -10px;
  transition: all .5s;
  background-size: auto 100%;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden; }
body #contents .slick-next:hover {
  opacity: .5;
  -moz-opacity: .5;
  -webkit-opacity: 0.5; }
body #contents .slick-prev {
  left: -75px; }
  body #contents .slick-prev:hover {
    opacity: .5;
    -moz-opacity: .5;
    -webkit-opacity: 0.5; }
body #contents .slick-next {
  right: -75px; }
body #contents #exp .slick-dots li {
  box-sizing: content-box;
  margin: 0 5px;
  padding: 2px;
  background: #fff; }
  body #contents #exp .slick-dots li.slick-active {
    background: #757575; }
  body #contents #exp .slick-dots li button {
    padding: 5px; }
    body #contents #exp .slick-dots li button:before {
      box-sizing: content-box; }

#shoplist #shop .col-tbl__txt h1, #shoplist #shop .col-tbl__txt p {
  text-align: left; }
#shoplist #shop .col-tbl__txt .btn {
  margin-right: auto;
  margin-left: 0; }
#shoplist #shop .wrap .col-tbl:nth-of-type(even) .col-tbl__txt {
  text-align: right; }
  #shoplist #shop .wrap .col-tbl:nth-of-type(even) .col-tbl__txt h1, #shoplist #shop .wrap .col-tbl:nth-of-type(even) .col-tbl__txt p {
    text-align: right; }
  #shoplist #shop .wrap .col-tbl:nth-of-type(even) .col-tbl__txt .btn {
    margin-right: 0;
    margin-left: auto; }
#shoplist #map .wrap {
  display: table;
  width: 100%; }
  #shoplist #map .wrap #ggmap {
    position: relative;
    display: table-cell;
    overflow: hidden;
    width: 50%;
    height: 0;
    padding-top: 35.93%;
    vertical-align: middle; }
  #shoplist #map .wrap .address {
    display: table-cell;
    width: 50%;
    vertical-align: middle;
    background: #f7f7f7; }

#contact .form {
  width: 70.3125%;
  max-width: 900px;
  margin: 0 auto; }
#contact p.lead {
  width: 70.3125%;
  max-width: 900px;
  margin: 0 auto;
  color: #818181;
  text-align: left; }
#contact .form {
  display: table;
  width: 70.3125%;
  padding: 40px 0 0; }

#shoplist #contact .form {
  margin: 0 auto;
  padding: 3.90625% 0 0; }

#contact .form dl {
  display: table-cell;
  width: 50%;
  text-align: left; }
  #contact .form dl dt {
    font-size: 15px;
    font-weight: 700;
    color: #818181; }
  #contact .form dl dd {
    margin-bottom: 1em;
    margin-left: 0; }
  #contact .form dl input, #contact .form dl textarea {
    box-sizing: border-box;
    width: 90%;
    padding: .7em;
    resize: vertical;
    vertical-align: middle;
    color: #333;
    border: 1px solid #eee;
    border-radius: 0;
    outline: 0;
    background: #f5f5f5;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none; }
  #contact .form dl input:focus {
    border: 1px solid #ccc;
    box-shadow: 0 0 7px #ccc; }
  #contact .form dl textarea {
    min-height: 175px; }
    #contact .form dl textarea:focus {
      border: 1px solid #ccc;
      box-shadow: 0 0 7px #ccc; }
#contact #send {
  border: none; }
  #contact #send span {
    display: block;
    padding: 1em 0;
    color: #fff; }
  #contact #send:hover span {
    color: #fff; }

.rlx-form p.lead {
  padding-top: 20px; }

#contact.rlx-form {
  display: block; }
  #contact.rlx-form dl {
    margin-top: 0; }

#contents.rlx-corners.rlx-corners-v3-contact-page #rlx-contact-cover #contact h2.rlx-textblock {
  font-size: 20px;
  text-align: center; }

#contact.rlx-form dl dd p {
  margin: 0; }
#contact .btn {
  border: none; }

#contents.rlx-corners #contact #back {
  background-color: #8f8f8f; }

#contact #back span {
  display: block;
  padding: 1em 0;
  color: #fff; }
#contact .clearfix:after {
  display: block;
  clear: both;
  content: ""; }
#contact .clearfix .left {
  float: left; }
#contact .clearfix .right {
  float: right; }
#contact .err p {
  line-height: 1.5em;
  margin-top: 0;
  margin-bottom: 15px; }

#contents #info #header {
  min-width: auto; }
#contents #info #info-title {
  position: relative;
  width: 100%;
  margin-bottom: 6.25%;
  padding-top: 29.87%;
  background: url(../images/info/bg_title.jpg) 0 bottom/100% auto no-repeat; }

#info #info-title h1 {
  font-size: 293%;
  position: absolute;
  top: 50%;
  right: 0;
  display: table;
  width: 100% !important;
  margin-top: -.75em;
  color: #fff; }
  #info #info-title h1 span {
    display: table-cell;
    text-align: center;
    vertical-align: middle; }

#contents #info h2 {
  font-size: 124%;
  font-weight: 700;
  margin-bottom: 1.5em; }
#contents #info li, #contents #info p {
  margin-bottom: 1.5em; }
#contents #info .col-image {
  width: 48.98438%;
  margin: 0 auto 2.34375%; }

#info .btn-list {
  margin-bottom: 6.25%;
  text-align: center; }
  #info .btn-list li {
    display: inline-block;
    margin: 3%; }
#info .inrwrap p.lead {
  margin-bottom: 4.21875%; }
#info .inrwrap .photo-list {
  margin: 0;
  text-align: left; }
  #info .inrwrap .photo-list li {
    display: inline-block;
    width: 48.98438%;
    margin-bottom: 2.34375%;
    vertical-align: top; }
    #info .inrwrap .photo-list li:nth-child(odd) {
      margin-right: 1.875%; }

@media (min-width: 0) and (max-width: 767px) {
  .max_width {
    max-width: 100%; }

  .min_width {
    min-width: 100%; }

  #contents:not(.rlx-corners) #home .lead {
    font-size: 12px;
    line-height: 16px;
    margin-bottom: 0; }

  #home #visual {
    margin-bottom: 40px;
    background: 0 0; }
    #home #visual h1 {
      top: 30.54393%;
      left: 43.28125%;
      width: 56.71875%; }
      #home #visual h1 .discover {
        width: 92.56198%; }
    #home #visual .collection {
      width: 87.60331%;
      margin: 13.7741% 0 0 2.20386%; }

  #contents:not(.rlx-corners) #home #lead {
    margin-bottom: 30px; }

  #home #info {
    margin-bottom: 40px;
    padding: 4.6875% 0; }
    #home #info dl {
      display: block;
      width: 100%; }
      #home #info dl dd {
        display: block;
        padding: 0 3% !important; }
      #home #info dl dt {
        display: block;
        padding: 0 3% !important;
        font-size: 131%;
        width: auto;
        text-align: left;
        border: none; }
  #home #collection {
    margin-bottom: 40px; }

  #contents:not(.rlx-corners) #home section#collection .wrap {
    padding: 0; }

  #home #collection .ttl_and_lead {
    width: 90%;
    margin: 0 auto; }
  #home #collection .watch-list {
    width: 100%; }
    #home #collection .watch-list li {
      width: 50%;
      padding: 0; }
      #home #collection .watch-list li a .name {
        font-size: 12px;
        line-height: 13px;
        bottom: 1.5%;
        padding: 0 10px; }
      #home #collection .watch-list li a .desc {
        font-size: 10.8px; }
  #home #movie {
    margin-bottom: 40px; }
    #home #movie .col-tbl__txt .ttl_and_lead {
      display: block;
      width: 84.375%;
      margin: 0 auto; }
      #home #movie .col-tbl__txt .ttl_and_lead .h1_sttl {
        line-height: 1.2em;
        margin-bottom: 20px; }
    #home #movie .wrap .col-tbl__txt {
      padding-right: 0;
      padding-left: 0; }
    #home #movie .mov {
      min-height: auto; }

  #contents #home #shop {
    margin-bottom: 40px; }

  #home #shop .bg_gray {
    width: 84.375%;
    margin: 0 auto;
    padding: 30px 0; }

  #contents #exp {
    padding-top: 40px; }
  #contents:not(.rlx-corners) #exp {
    margin-bottom: 30px; }
  #contents.rlx-corners #exp {
    margin-bottom: 0; }
  #contents #exp .wrap {
    padding: 0; }

  body #contents #exp .h1_ttl {
    margin: 0 auto 20px; }

  #contents #exp .slide-btn {
    width: 93.75%;
    margin: 0 auto; }
  #contents:not(.rlx-corners) #exp .slide-btn {
    padding: 0 0 55px; }
  #contents.rlx-corners #exp .slide-btn {
    padding: 0 0 25px; }
  #contents #exp .slide .slick-slide span {
    font-size: 10px;
    font-weight: 400;
    line-height: 11px; }

  body #contents #exp .h1_sttl, body #contents #exp .h1_ttl {
    font-size: 16px;
    font-weight: 100;
    line-height: 1em;
    margin-bottom: 20px;
    text-align: center; }

  #contents #exp .slide .slick-slide .fade img {
    transition: all .5s;
    text-decoration: none;
    opacity: 1;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden; }
  #contents #exp .slide .slick-slide .fade:hover img {
    opacity: .5;
    -moz-opacity: .5;
    -webkit-opacity: 0.5; }
  #contents #exp .slide .slick-slide .comingsoon {
    background: #000; }
    #contents #exp .slide .slick-slide .comingsoon img {
      opacity: 0.5; }
    #contents #exp .slide .slick-slide .comingsoon span {
      font-size: 70%;
      font-weight: 700;
      position: absolute;
      z-index: 100;
      top: 50%;
      left: 0;
      display: table-cell;
      width: 100%;
      margin-top: -1.3em;
      text-align: center;
      vertical-align: middle;
      color: #fff;
      background: 0 0; }

  body #contents #exp .slide .slick-slide {
    box-sizing: border-box;
    width: 100%; }

  #contents #exp .slick-dots {
    bottom: -55px; }

  #shoplist .top h1 {
    height: 50vw;
    min-height: 160px; }
    #shoplist .top h1 img {
      display: none; }
  #shoplist #shop .col-tbl__txt .btn {
    margin-right: auto !important;
    margin-left: auto !important; }
  #shoplist #shop .col-tbl__txt h1 {
    text-align: center !important; }
  #shoplist #shop .wrap .col-tbl:nth-of-type(even) .col-tbl__txt {
    text-align: left; }
    #shoplist #shop .wrap .col-tbl:nth-of-type(even) .col-tbl__txt h1, #shoplist #shop .wrap .col-tbl:nth-of-type(even) .col-tbl__txt p {
      text-align: left; }
    #shoplist #shop .wrap .col-tbl:nth-of-type(even) .col-tbl__txt .btn {
      margin-right: auto !important;
      margin-left: auto !important; }
  #shoplist #map .wrap #ggmap {
    display: block;
    width: 100%;
    padding-top: 71.875%; }
  #shoplist #map .wrap .address {
    display: block;
    box-sizing: border-box;
    width: 100%;
    padding: 7.8125% 3%; }

  #contact .wrap {
    display: inline-block;
    width: 80%; }
  #contact .form {
    display: block;
    width: 100%; }
  #contact p.lead {
    display: block;
    width: 100%;
    font-size: 12px;
    line-height: 16px; }
  #contact .form {
    padding: 35px 0 0; }
    #contact .form dl {
      display: block;
      width: 100%;
      margin: 0; }
      #contact .form dl input, #contact .form dl textarea {
        font-size: 108%;
        width: 100%; }

  #contents.rlx-corners.rlx-corners-v3-contact-page #rlx-contact-cover #contact h2.rlx-textblock {
    width: 100%; }
  #contents.rlx-corners.rlx-corners-v3-contact-page #rlx-contact-cover.rlx-form {
    margin-bottom: 0; }

  #contact .clearfix {
    padding-top: 30px; }
  #contact .err {
    margin-bottom: 30px;
    padding-top: 30px; }

  .rlx-breadcrumb.rlx-form {
    margin-bottom: 30px;
    padding-top: 30px; }

  #contact .err p {
    font-size: 12px; }

  #info #info-title h1 {
    font-size: 177%; }
  #info h2 {
    font-size: 108%; }
  #info .btn-list {
    margin-bottom: 10.9375%; }
    #info .btn-list li {
      display: block;
      margin: 3% 0; }
  #info .inrwrap .photo-list li {
    width: 100%; }
    #info .inrwrap .photo-list li:nth-child(odd) {
      margin-right: 0; } }
@media (min-width: 0) and (max-width: 420px) {
  #home #collection .watch-list li a .name {
    bottom: -3%; } }
@media (min-width: 0) and (max-width: 655px) {
  #contents.rlx-corners #rlx-contact-cover.rlx-form .rlx-store-title {
    padding-top: 40px; } }
@media (min-width: 0) and (max-width: 360px) {
  #contents.rlx-corners #contact .clearfix .btn {
    width: 100px; } }
@media (min-width: 768px) and (max-width: 1280px) {
  body #contents #exp .slick-prev {
    left: -50px; }
  body #contents #exp .slick-next {
    right: -50px; } }
@media (min-width: 768px) {
  #contents.rlx-corners.rlx-corners-v3-contact-page #rlx-contact-cover #contact h2.rlx-textblock {
    margin-bottom: 30px; }

  #contact.rlx-form dl {
    display: table;
    width: 100%;
    margin-bottom: 50px; }
    #contact.rlx-form dl dd {
      display: table-cell;
      vertical-align: top; }
    #contact.rlx-form dl dt {
      display: table-cell;
      vertical-align: top;
      width: 40%; }
  #contact .clearfix {
    width: 430px;
    margin: 0 auto;
    padding-top: 50px; }

  #contents.rlx-corners #contact .clearfix .btn {
    margin-top: 0; }

  .rlx-breadcrumb.rlx-form {
    margin-bottom: 60px; }

  #contact .err p {
    font-size: 14px; } }
