@charset "UTF-8";
body {
  background: #1e1e1e; }

#key {
  background-image: url("../img/mens/key.jpg");
  background-size: cover;
  background-position: center;
  position: relative;
  height: 80vw; }

@media screen and (min-width: 999px) {
  #key {
    height: 930px; } }
.menu-shared {
  position: relative;
  z-index: 2; }

.menu-shared .menu-list {
  padding-bottom: 30px; }

.menu-shared .menu-list h3 {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "メイリオ", Meiryo, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: normal;
  background: url("../img/mens/bg_gr.jpg") repeat center 0;
  text-align: center;
  border: 1px solid #828282;
  padding: 5px;
  font-size: 18px;
  letter-spacing: 0.05em;
  margin-bottom: 10px; }

.menu-shared .menu-list dl {
  border-bottom: 2px dotted #fff;
  padding: 10px 0; }

.menu-shared .menu-list dl.bd-f {
  border-top: 2px dotted #fff; }

.menu-shared .menu-list dl:after {
  content: "." !important;
  clear: both !important;
  display: block !important;
  height: 0 !important;
  visibility: hidden !important; }

.menu-shared .menu-list dl dt {
  float: left; }

.menu-shared .menu-list dl dd {
  text-align: right;
  float: right; }

.menu-shared .menu-list dl.ext {
  background-color: #262626;
  padding: 10% 5%;
  text-align: center;
  border: none;
  margin-bottom: 10px; }

.menu-shared .menu-list dl.ext dt, .menu-shared .menu-list dl.ext dd {
  float: none;
  text-align: center; }

.menu-shared .menu-list dl.ext dt {
  font-size: 23px;
  border-bottom: 1px solid #c6c2c0;
  padding-bottom: 10px;
  margin-bottom: 20px; }

.menu-shared .menu-list dl.ext dt .price {
  padding-left: 30px; }

.menu-shared .menu-list dl.ext dt .price span {
  font-size: 18px; }

.menu-shared .mn-list {
  background-color: rgba(255, 255, 255, 0.15);
  padding: 5%;
  margin-bottom: 10px; }

#sec4 {
  padding: 5vw 0 15vw; }

#sec4 h2 {
  font-size: 7.5vw;
  line-height: 1.3;
  padding: 9vw 0 5vw;
  letter-spacing: 0.08em;
  color: #979797;
  background: url("../img/mens/s3_ttl_before.png") no-repeat center 0/22%; }

#sec4 .lead {
  padding-bottom: 15vw; }

#sec4 .note {
  padding-bottom: 3em; }

#sec4 .note span{
        display: inline;
    border-bottom: #8c4a99 3px solid;
    padding: 0;
    font-weight: bold;
    line-height: 1.6;
}
#sec4 .photo {
  width: 100%;
  position: relative;
  margin: 0 auto 2em; }

#sec4 .chart li:last-child {
  padding-left: 5%; }

@media screen and (min-width: 999px) {
  .menu-shared {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between; }

  .menu-shared .col {
    width: 400px; }

  .menu-shared .menu-list {
    padding-bottom: 67px;
    width: 100%; }

  .menu-shared .menu-list h3 {
    padding: 3px 5px 4px;
    font-size: 20px;
    margin-bottom: 10px; }

  .menu-shared .menu-list dl {
    padding: 10px 0;
    line-height: 24px; }

  .menu-shared .menu-list dl.ext {
    padding: 28px 0 22px;
    margin-bottom: 10px; }

  .menu-shared .menu-list dl.ext dd {
    line-height: 30px; }

  .menu-shared .menu-list dl.ext dt {
    font-size: 26px;
    padding-bottom: 10px;
    width: 310px;
    margin: 0 auto 16px; }

  .menu-shared .menu-list dl.ext dt .price {
    padding-left: 45px; }

  .menu-shared .menu-list dl.ext dt .price span {
    font-size: 20px; }

  .menu-shared .chart {
    margin-right: -167px;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    width: 693px;
    margin-bottom: 35px; } }
@media screen and (min-width: 999px) and (max-width: 1340px) {
  .menu-shared .chart {
    width: 100%;
    box-sizing: border-box; }

  .menu-shared .vio img {
    width: 90%;
    height: auto;
    box-sizing: border-box; } }
@media screen and (min-width: 999px) {
  .menu-shared .chart img {
    width: 100%;
    height: auto; }

  .menu-shared .mn-list {
    padding: 10px 30px 13px;
    margin-bottom: 10px; }

  #sec4 {
    padding: 80px 30px 0; }

  #sec4 h2 {
    font-size: 40px;
    line-height: 88px;
    padding: 21px 0 0px;
    background-size: auto; }

  #sec4 .photo {
    width: auto;
    position: absolute;
    right: auto;
    left: calc(50%); }

  #sec4 .menu-shared .col.ext {
    width: 526px;
    margin-left: 30px;
    margin-top: 95px; }

  #sec4 .menu-shared .chart li {
    padding: 0 !important; } }
.bg2 {
  background: url(../img/mens/black.jpg) repeat center 0 !important; }

#sec1 {
  padding: 15vw 0 10vw;
  background: url("../img/mens/sec1_bg.jpg") no-repeat top right/150% auto; }
  #sec1 .sec1-img p {
    margin-top: 5vw; }
  #sec1 .sec1-txt {
    margin-top: 10vw; }
  @media only screen and (min-width: 768px) {
    #sec1 {
      padding: 85px 30px 75px;
      background: url("../img/mens/sec1_bg.jpg") no-repeat top center; }
      #sec1 h2 {
        position: absolute;
        top: 128px;
        right: 13px;
        z-index: 1;
        width: 725px;
        line-height: 96px; }
        #sec1 h2 p:nth-child(2) {
          text-align: right; }
      #sec1 .df-pc {
        align-items: flex-end; }
      #sec1 .sec1-img {
        width: 608px;
        margin-left: -140px; }
        #sec1 .sec1-img p {
          margin-top: 30px; }
      #sec1 .sec1-txt {
        margin: 0 9px 65px 0;
        width: 433px; } }

#sec2 {
  margin-bottom: 13vw; }
  #sec2 a {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    background: url("../img/mens/btn_bg.jpg") no-repeat center/cover;
    position: relative;
    margin-bottom: 5vw;
    font-size: 5vw;
    line-height: 2;
    padding: 3vw 0; }
    #sec2 a i {
      position: absolute;
      display: block;
      right: 5%;
      top: 50%;
      transform: translateY(-50%);
      width: 20px; }
  @media only screen and (min-width: 768px) {
    #sec2 {
      margin-bottom: 78px;
      max-width: 820px; }
      #sec2 a {
        width: 370px;
        margin-bottom: 0;
        font-size: 23px;
        line-height: 65px;
        padding: 0;
        transition: ease 0.3s; }
        #sec2 a:hover {
          opacity: 0.7; }
        #sec2 a i {
          width: 28px;
          right: 26px; } }

#sec3 {
  background: url("../img/mens/sec3_bg.jpg") repeat-x top center, #000;
  padding-bottom: 15vw; }
  #sec3 .sec3-1, #sec3 .sec3-2 {
    position: relative;
    z-index: 0;
    margin-bottom: 10vw; }
  #sec3 .sec3-deco {
    position: absolute;
    z-index: -1;
    bottom: -10vw;
    right: -10%;
    width: 80%; }
  #sec3 .ttl {
    line-height: 1.5; }
    #sec3 .ttl span {
      font-size: 60%; }
  #sec3 .sec3-img {
    margin: 5vw 0 7vw; }
  #sec3 .sec3-deco2 {
    position: absolute;
    top: -2vw;
    left: -3%;
    width: 60%;
    z-index: -1; }
  #sec3 .sec3-2 {
    padding: 5vw 5% 0;
    margin-bottom: 10vw; }
  #sec3 .sec3-item {
    margin-bottom: 6vw;
    box-sizing: border-box;
    border: 1px solid #575757;
    padding: 7vw 5vw; }
  #sec3 h3 {
    margin-bottom: 3vw; }
    #sec3 h3 span {
      font-size: 70% !important; }
  #sec3 h4 {
    font-size: 4.5vw;
    margin-bottom: 3vw; }
  #sec3 .sec3-bnr {
    display: block;
    transition: ease 0.3s; }
    #sec3 .sec3-bnr:hover {
      opacity: 0.7; }
  @media only screen and (min-width: 768px) {
    #sec3 {
      padding: 0 30px 125px; }
      #sec3 .sec3-1, #sec3 .sec3-2 {
        margin-bottom: 43px; }
      #sec3 .sec3-deco {
        bottom: -195px;
        right: -305px;
        width: 975px; }
      #sec3 .sec3-1 {
        padding-top: 69px; }
      #sec3 .ttl span {
        font-size: 32px; }
      #sec3 h2 {
        width: 430px;
        float: left;
        margin: 30px 0 0 49px;
        line-height: 85px !important; }
      #sec3 .sec3-img {
        margin: 0 -250px 0 0;
        float: right;
        width: 741px; }
      #sec3 .sec3-txt1 {
        float: left;
        width: 420px;
        margin-left: 5px; }
      #sec3 .sec3-deco2 {
        top: -3px;
        left: -76px;
        width: 513px; }
      #sec3 .sec3-2 {
        padding: 61px 0 0 0;
        margin-bottom: 70px; }
        #sec3 .sec3-2 .df-pc {
          margin: 0 auto;
          width: 980px; }
      #sec3 .sec3-item {
        margin-bottom: 0;
        width: 310px;
        padding: 44px 23px 44px; }
      #sec3 h3 {
        margin-bottom: 18px;
        margin-left: 36px; }
        #sec3 h3 span {
          font-size: 32px !important; }
      #sec3 h4 {
        font-size: 25px;
        margin-bottom: 14px;
        letter-spacing: 1px; }
      #sec3 .sec3-bnr {
        margin: 0 auto;
        width: 900px; } }

#sec5 {
  background: url("../img/mens/sec5_bg.jpg") repeat-x top center;
  padding: 15vw 0; }
  #sec5 .sec5-1 {
    position: relative;
    padding: 0 5% 10vw; }
    #sec5 .sec5-1:before {
      content: "";
      position: absolute;
      top: -4vw;
      left: 2%;
      width: 98%;
      height: calc(100% + 24vw);
      background: url("../img/mens/line1.jpg") repeat-x top left, url("../img/mens/line2.jpg") repeat-y top left; }
  #sec5 .sec5-img1 {
    margin: 4vw 0 7vw; }
  #sec5 .sec5-txt1 {
    margin-top: 10px;
    font-weight: 500; }
  #sec5 .sec5-2 {
    position: relative;
    z-index: 0;
    padding: 0 5% 5vw; }
    #sec5 .sec5-2:before, #sec5 .sec5-2:after {
      content: "";
      position: absolute;
      z-index: -1; }
    #sec5 .sec5-2:before {
      left: 0;
      top: 20vw;
      width: 100%;
      height: 2px;
      background: url("../img/mens/line1.jpg"); }
    #sec5 .sec5-2:after {
      right: 3%;
      top: 20vw;
      width: 2px;
      height: calc(100% - 20vw);
      background: url("../img/mens/line2.jpg"); }
    #sec5 .sec5-2 .sec5-deco {
      position: absolute;
      width: 80%;
      top: -5vw;
      left: -10%; }
    #sec5 .sec5-2 ul {
      position: relative;
      z-index: 1;
      text-align: center; }
      #sec5 .sec5-2 ul li {
        display: flex;
        justify-content: center;
        align-items: center;
        background: url("../img/mens/sec5_li.png") no-repeat center/cover;
        width: 43vw;
        height: 43vw;
        color: #000;
        font-weight: 500;
        line-height: 1.28;
        letter-spacing: 0.08em;
        margin-bottom: 3vw;
        font-size: 4.5vw; }
  #sec5 .sec5-3 {
    position: relative;
    z-index: 0;
    padding: 0 5% 10vw; }
    #sec5 .sec5-3:before, #sec5 .sec5-3:after {
      content: "";
      position: absolute;
      z-index: -1; }
    #sec5 .sec5-3:before {
      left: 0;
      bottom: 0;
      width: 97%;
      height: 2px;
      background: url("../img/mens/line1.jpg"); }
    #sec5 .sec5-3:after {
      right: 3%;
      top: 0;
      width: 2px;
      height: 100%;
      background: url("../img/mens/line2.jpg"); }
    #sec5 .sec5-3 .sec5-img2 {
      margin: 5vw 0 7vw; }
    #sec5 .sec5-3 .price {
      font-size: 6vw; }
      #sec5 .sec5-3 .price span {
        font-size: 80%; }
    #sec5 .sec5-3 .sec5-txt3 {
      font-weight: 500; }
      #sec5 .sec5-3 .sec5-txt3 p + p {
        margin-top: 20px; }
#sec5 .sec5-3 .sec5-txt3 p span{
      display: inline;
    border-bottom: #8c4a99 3px solid;
    padding: 0;
    font-weight: bold;
    line-height: 1.6;
}
  #sec5 .sec5-btn {
    display: block;
    margin: 5vw auto;
    width: 80%;
    text-align: center;
    border-bottom: 1px solid #fff;
    font-size: 4.5vw;
    letter-spacing: 0.05em;
    position: relative;
    transition: ease 0.3s; }
    #sec5 .sec5-btn:before {
      content: "";
      position: absolute;
      bottom: 3px;
      right: 0;
      width: 13px;
      height: 1px;
      background: #fff;
      transform: rotate(33deg); }
    #sec5 .sec5-btn:hover {
      opacity: 0.7; }
  @media only screen and (min-width: 768px) {
    #sec5 {
      padding: 117px 0 104px; }
      #sec5 .sec5-1 {
        padding: 70px 0 31px; }
        #sec5 .sec5-1:before {
          top: 0;
          left: -100px;
          width: 150%;
          height: calc(100% + 100px); }
      #sec5 h2 {
        float: right;
        width: 328px;
        margin-top: 59px;
        letter-spacing: 1px;
        line-height: 60px; }
      #sec5 .sec5-img1 {
        margin: 0;
        float: left;
        width: 57.8%; }
      #sec5 .sec5-txt1 {
        margin: 6px 0 0 17px; }
      #sec5 .sec5-txt2 {
        float: right;
        width: 323px;
        margin-top: 67px; }
      #sec5 .sec5-2 {
        padding: 0; }
        #sec5 .sec5-2:before {
          left: 0;
          top: 100px;
          width: 100%;
          height: 2px;
          background: url("../img/mens/line1.jpg"); }
        #sec5 .sec5-2:after {
          right: 3%;
          top: 100px;
          width: 2px;
          height: calc(100% - 100px);
          background: url("../img/mens/line2.jpg"); }
        #sec5 .sec5-2 .sec5-deco {
          width: 637px;
          top: 0px;
          left: calc(50% - 600px); }
        #sec5 .sec5-2 .df-pc {
          margin: 0 auto;
          width: 940px; }
        #sec5 .sec5-2 ul {
          width: 450px; }
          #sec5 .sec5-2 ul li {
            width: 203px;
            height: 203px;
            line-height: 32px;
            letter-spacing: 0.08em;
            margin-bottom: 0;
            font-size: 25px; }
      #sec5 .sec5-3 {
        position: relative;
        z-index: 0;
        padding: 60px 30px 87px; }
        #sec5 .sec5-3 .wrap {
          padding-top: 22px; }
        #sec5 .sec5-3 .sec5-img2 {
          margin: 0;
          position: absolute;
          top: 0;
          right: -80px;
          z-index: -1; }
        #sec5 .sec5-3 h3 {
          line-height: 75px; }
          #sec5 .sec5-3 h3 span {
            font-size: 32px; }
        #sec5 .sec5-3 .price {
          font-size: 36px;
          margin: 38px 0 6px;
          letter-spacing: 2px; }
          #sec5 .sec5-3 .price span {
            font-size: 30px; }
        #sec5 .sec5-3 .sec5-txt3 {
          width: 585px; }
          #sec5 .sec5-3 .sec5-txt3 p + p {
            margin-top: 30px; }
    #sec5 .sec5-3 .sec5-txt3 p span{
      display: inline-block;
    }
      #sec5 .sec5-btn {
        margin: 0;
        width: 338px;
        font-size: 23px;
        line-height: 47px;
        letter-spacing: 1px;
        position: absolute;
        bottom: -3px;
        right: 0; }
        #sec5 .sec5-btn:before {
          bottom: 3px;
          width: 13px;
          transform: rotate(33deg); } }

@media only screen and (min-width: 768px) {
  #ticket {
    margin-bottom: 95px; } }

#sec7 {
  padding: 20vw 0 25vw;
  position: relative; }
  #sec7:before, #sec7:after {
    content: "";
    position: absolute;
    left: 50%;
    width: 2px;
    height: 15vw;
    background: url("../img/mens/line2.jpg"); }
  #sec7:before {
    top: 0; }
  #sec7:after {
    bottom: 0; }
  #sec7 h2 {
    line-height: 1.6;
    text-align: center;
    margin-bottom: 6vw; }
  #sec7 .sec7-img {
        margin: 10vw 14% 0; }
  #sec7 .slick-dots {
    margin-top: 10px; }
    #sec7 .slick-dots li {
      border-color: #fff; }
    #sec7 .slick-dots .slick-active {
      background: #fff; }
  @media only screen and (min-width: 768px) {
    #sec7 {
      padding: 90px 30px;
      position: relative; }
      #sec7:before, #sec7:after {
        left: calc(50% - 243px); }
      #sec7:before {
        height: 130px; }
      #sec7:after {
        height: 80px; }
      #sec7 .sec7-info {
        text-align: center;
        width: 50%; }
      #sec7 h2 {
        margin-top: 131px;
        margin-bottom: 46px;
        line-height: 66px; }
      #sec7 .sec7-txt {
        margin: 0 auto;
        width: 387px; }
      #sec7 .sec7-img {
        margin-top: 0;
        margin-right: 25px;
        width: 416px; }
      #sec7 .slick-dots {
        margin-top: 0;
        position: absolute;
        left: -340px;
        bottom: 66px; }
        #sec7 .slick-dots li {
          width: 11px;
          height: 11px;
          margin: 0 8px; } }
  @media screen and (min-width: 999px) and (max-width: 1100px) {
    #sec7 .slick-dots {
      left: -71%; } }






.bnr_price{
  background: url(../img/mens/bg_bnr_price.jpg) center center / cover;
  padding: 25px 0 20px;
  margin: 100px auto 0;
  display: block;
  position: relative;
}
.bnr_price .bnr_ttl{
     color: #1b476d;
    display: flex;
    align-items: self-start;
    justify-content: center;
  font-weight: bold;
}
.bnr_price .bnr_ttl small{
     background:#1b476d;
     color: #fff;
     padding: 6px 37px;
     line-height: 1;
     font-size: 23px;
     text-align: right;
     margin: 0 1em 0 0;
     min-width: 380px;
}
.bnr_price .bnr_ttl div{
    position: relative;
    font-size: 126px;
    line-height: 0.7;
}
.bnr_price .bnr_ttl big{
  font-size: 126px;
  margin-right: 0.6em;
}
.bnr_price .bnr_ttl .pp{
     font-size: 76px;
     position: absolute;
     right: 0;
     top: 0;
}
.bnr_price .bnr_ttl .of{
      font-size: 33px;
      position: absolute;
      bottom: 0;
      right: 0;
}
.bnr_price .bnr_txt{
       width: 430px;
       position: absolute;
       top: 64px;
       left: 162px;
       color: #000;
       line-height: 1.4;
}

    #sec5 .bnr_price{
          margin: 100px auto 40px;
}

  @media only screen and (max-width: 767px) {
    
.bnr_price{
     padding: 6vw 4vw 4vw;
     margin: 14vw auto 0;
     background: url(../img/mens/sp_bnr_price.jpg) center center / cover;
}
.bnr_price .bnr_ttl{align-items: center;}
.bnr_price .bnr_ttl small{
      min-width: 5em;
      text-align: center;
      padding: 5px 1em;
      font-size: 5vw;
}
.bnr_price .bnr_ttl div{
       font-size: 19vw;
}
.bnr_price .bnr_ttl big{
     font-size: 19vw;
}
.bnr_price .bnr_ttl .pp{
       font-size: 12vw;
}
.bnr_price .bnr_ttl .of{
       font-size: 5vw;
}
.bnr_price .bnr_txt{
       width: auto;
       position: relative;
       top: auto;
       left: auto;
       margin: 0.5em 1vw 0;
}
    
    #sec5 .bnr_price{
     margin: 9vw auto;
    }
}

