@charset "utf-8";

html {
  font-size: 62.5%;
}

body {
    min-height: 100vh;
    font-size: 1.8rem;
    color: #461020;
    line-height: 1.8;
    font-family: "Noto Sans JP", sans-serif;
    background-size: auto;
    margin: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}


a {
  color: inherit;
  text-decoration: none;
}

a:hover {
opacity: 0.5;
}

img {
  max-width: 100%;
  vertical-align: bottom;
}

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


.hidden {
  display: none !important;
}

#ui-datepicker-div {
  z-index: 1000 !important;
}


/*
 * ブレークポイント
 */

/*スマホとタブレットのみに適用*/
@media (max-width: 979px) {
  .sp-tablet-none {display: none;}
}

/*タブレットとPCのみに適用*/
@media (min-width: 768px) {
  .tablet-pc-none {display: none;}
    .sp {display: none;}
}

/*スマホのみに適用*/
@media (max-width: 767px) {
  .sp-none {display: none;}
}

/*タブレットのみに適用*/
@media (min-width: 768px) and (max-width: 979px) {
  .tablet-none {display: none;}
}

/*PCのみに適用*/
@media (min-width: 1200px) {
  .pc-none {display: none;}
}


/*****************************
  共通
*****************************/

.container {
  margin: 0 auto;
  width: 100%;
  padding: 0px 20px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
    margin-bottom: 1rem;
}
.copy {
    bottom: 0;
}
.copy {
    width: 100%;
    padding:0 0 10px;
    text-align: center;
    color: #461020;
    bottom: 0;
    position:relative;
}

.copy small {
  font-size: 1.1rem;
  color: #461020;
}

button {
  cursor: pointer;
}


/*タブレットとPCのみに適用*/
@media (min-width: 768px) {

  .container {
      max-width: 980px;
      padding: 0 20px;
      margin-bottom: 3rem;
      text-align: center;
  }

.copy {
    width: 100%;
    padding: 0px 0 10px;
    text-align: center;
    color: #461020;
    bottom: 0;
    position:relative;
    margin: auto;
    background-color: #ffffff;
}    
    
  .copy small {
    font-size: 1.2rem;
      color: #461020;
  }
}

.page-mainvisual-area {
    text-align: center;
    padding: 50px 0 0;
}

.select_txt {
    font-size: 2rem;
    margin-bottom: 2rem;
}


@media (min-width: 768px) {
.select_txt {
    font-size: 2.3rem;
    margin-bottom: 2rem;
}
}

h2 {
    font-size: 2rem;
    margin-bottom: 1rem;
}

@media (min-width: 768px) {
h2 {
    font-size: 2.5rem;
    margin-bottom: 2rem;
}
}


/*****************************
  トップ
*****************************/

.l-top-main {
    width: 100%;
    height: auto;
    padding:0px;
    margin: 5rem auto 0;
    text-align: center;
}

@media (min-width: 768px) {
.l-top-main {
    width: 100%;
    height: auto;
    padding:0px;
    margin:5rem auto 0;
    background-color: #fff;
    text-align: center;
}
}

.l-top-logo {
    width: 200px;
    margin: auto;
}

@media (min-width: 768px) {
.l-top-logo {
    width: 200px;
    margin: auto;
}
}
.information_text_area{
    width: auto;
    text-align: center;
    margin:1rem auto;
}

.information_title {
    font-size: 2.5rem;
    font-weight: 400;
    margin: 5rem auto 1rem;
    line-height: 1.3;
}

@media (min-width: 768px) {
.information_title {
    font-size: 2.5rem;
    font-weight: 500;
    margin: 7rem auto 2rem;
    line-height: 1.5;
}
}

.information_title img{
    width: 100px;
    margin: 0.5rem 1rem 0.5rem 1rem;
}

@media (min-width: 768px) {
.information_title img{
    width: 100px;
    margin: 0.5rem 1rem 1rem 1rem;
}
}
.info_txt {
    width: 100%;
    font-size: 2rem;
    text-align: center;
    margin: 5rem auto;
}
@media (min-width: 768px) {
.info_txt {
    font-size: 2rem;
    text-align: center;
    margin: 2rem auto 8rem;
}
}
/*会員特典について*/

.member_bonus_info_area {
    background-color: #ebe5e7;
    width: 100%;
    padding: 20px 0;
}
@media (min-width: 768px) {
.member_bonus_info_area {
    background-color: #ebe5e7;
    width: 100%;
    padding: 20px;
}
}
.title_frame {
    font-size: 1.9rem;
    width: 100%;
    background-color: #461020;
    color: #ffffff;
    text-align: center;
    border-radius: 50px;
    padding: 10px 0;
    margin:5rem auto;
}

@media (min-width: 768px) {
.title_frame {
    font-size: 2.3rem;
    width: 650px;
    background-color: #461020;
    color: #ffffff;
    text-align: center;
    border-radius: 30px;
    padding: 10px;
    margin:5rem auto;
}
}
.s_txt {
    font-size: 1.6rem;
}
.members_text {
    font-size: 1.6rem;
    width: 100%;
    text-align: left;
    margin:3rem auto 7rem;  
}

@media (min-width: 768px) {
.members_text {
    width: 510px;
    text-align: left;
    margin:3rem auto 10rem;
}
}
@media (min-width: 768px) {
.rank_space_bronze{
    margin-left: 3rem;
}
}
@media (min-width: 768px) {
.rank_space_silver{
    margin-left: 1rem;
}
}
@media (min-width: 768px) {
.rank_space_gold{
    margin-left: 4.5rem;
}
}

.red_text {
    color: red;
}

.box {
    width:100%;
    margin: 2em auto;
    border: solid 1px #461020;
}

@media (min-width: 768px) {
.box {
    width: 650px;
    margin: 2em auto 8rem;
    border: solid 1px #461020;
}
}

.box .box-title {
    font-size: 2rem;
    background: #461020;
    padding: 4px;
    text-align: center;
    color: #FFF;
    letter-spacing: 0.05em;
}


@media (min-width: 768px) {
.box .box-title {
    font-size: 2.3rem;
    background: #461020;
    padding: 4px;
    text-align: center;
    color: #FFF;
    letter-spacing: 0.05em;
}
}


.box p {
    font-size: 1.6rem;
    padding: 15px 20px;
    margin: 0;
    text-align: left;
    color: red;
    font-weight: 500;
}


@media (min-width: 768px) {
.box p {
    font-size: 1.6rem;
    padding: 15px 70px;
    margin: 0;
    text-align: left;
    color: red;
    font-weight: 500;
}
}

.line_bun {
    width: 100%;
    margin-bottom: 5rem;
}

@media (min-width: 768px) {
    .line_bun {
        margin-bottom: 8rem;
}
}