@charset "UTF-8";
/* ==========================================================================
   setting
   ========================================================================== */
/* breakpoint
   ----------------------------------------------------------------- */
/* color
   ----------------------------------------------------------------- */
/**
 * palette
 */
/* font
   ----------------------------------------------------------------- */
/**
 * font style
 */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Didact+Gothic&display=swap");
/**
 * size
 */
/* function
   ----------------------------------------------------------------- */
/* mixin
   ----------------------------------------------------------------- */
/* templete
   ----------------------------------------------------------------- */
#d_main .c-transition {
  display: none;
}

/* cardmember
   ----------------------------------------------------------------- */
.cardmember .pc {
  display: none;
}
.cardmember img {
  width: 100%;
}
.cardmember .cardmember__button {
  width: 80vw;
  margin: 0 auto;
}
.cardmember .cardmember__button a {
  padding: 4.2666666667vw 2.6666666667vw;
  font-size: 4.8vw;
}
.cardmember .cardmember__button.anim {
  opacity: 0;
}
.cardmember .cardmember__button.is-animated {
  animation: fadeup 1s cubic-bezier(0.33, 1, 0.68, 1) 2.2s 1 forwards;
}
.cardmember .cardmember__inner {
  padding: 10.6666666667vw 7.2vw 13.3333333333vw;
}
.cardmember__mv {
  position: relative;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 9.6vw;
  color: #fff;
}
.cardmember__mv span {
  font-size: 6.9333333333vw;
  padding-bottom: 1.3333333333vw;
}
.cardmember__mv h2 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  line-height: 1.57;
  white-space: nowrap;
}
.cardmember__mv-back {
  display: block;
  position: relative;
  width: 100%;
  padding-bottom: 85.3333333333%;
}
.cardmember__mv-back img {
  position: absolute;
  top: 0;
  left: 0;
}
.cardmember__lead {
  text-align: center;
  background: #f3f1f0;
}
.cardmember__lead .textwrap {
  position: relative;
  display: inline-block;
}
.cardmember__lead .text {
  opacity: 0;
  display: block;
}
.cardmember__lead .text.is-animated.delay1 {
  animation: fadeup 1s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}
.cardmember__lead .text.is-animated.delay2 {
  animation: fadeup 1s cubic-bezier(0.33, 1, 0.68, 1) 0.3s 1 forwards;
}
.cardmember__lead .text.is-animated.delay3 {
  animation: fadeup 1s cubic-bezier(0.33, 1, 0.68, 1) 0.6s 1 forwards;
}
.cardmember__lead .line {
  display: block;
  position: absolute;
  bottom: 7px;
  left: 0;
  width: 100%;
  height: 6px;
  z-index: -1;
}
.cardmember__lead .line::after {
  background: linear-gradient(to right, rgba(215, 202, 183, 0.5) 0%, rgba(215, 202, 183, 0.5) 100%);
  content: "";
  position: absolute;
  display: block;
  height: 6px;
  width: 0;
  transition: 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  bottom: 3px;
}
.cardmember__lead .line.is-animated::after {
  width: 100%;
}
.cardmember__lead .line.delay1::after {
  transition-delay: 1.2s;
}
.cardmember__lead .line.delay2::after {
  transition-delay: 1.4s;
}
.cardmember__lead .line.delay3::after {
  transition-delay: 1.6s;
}
.cardmember__lead p {
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  font-size: 4.8vw;
  line-height: 2.2;
}
.cardmember__lead h3 {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 5.3333333333vw;
  line-height: 1.7;
  color: #9C7A4C;
  margin: 6.6666666667vw 0;
  opacity: 0;
}
.cardmember__lead h3.is-animated {
  animation: fadeup 1s cubic-bezier(0.33, 1, 0.68, 1) 2.2s 1 forwards;
}
.cardmember__title {
  padding: 12vw 1.8666666667vw 14.6666666667vw;
  text-align: center;
  line-height: 1.38;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 6.9333333333vw;
  color: #9C7A4C;
}
.cardmember__title span {
  display: inline-block;
  margin-top: 2.1333333333vw;
  font-family: "Century Gothic", "Didact Gothic", sans-serif;
  color: #000;
  font-size: 3.4666666667vw;
}
.cardmember__heading {
  position: relative;
  text-align: center;
}
.cardmember__heading p {
  position: absolute;
  bottom: 0;
  z-index: 2;
  line-height: 1.57;
  white-space: nowrap;
  font-size: 4.8vw;
  font-weight: 400;
  color: #fff;
  width: 100%;
  padding: 4vw 0;
  background: rgba(0, 0, 0, 0.6);
}
.cardmember__heading h3 {
  position: absolute;
  top: calc(50% - 4.2666666667vw);
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}
.cardmember__heading h3 img {
  width: auto;
  height: 11.4666666667vw;
  -webkit-filter: drop-shadow(0 3px 50px rgba(71, 50, 11, 0.3));
          filter: drop-shadow(0 3px 50px rgba(71, 50, 11, 0.3));
}
.cardmember__heading-back {
  display: block;
  position: relative;
  width: 100%;
  padding-bottom: 64%;
}
.cardmember__heading-back img {
  position: absolute;
  top: 0;
  left: 0;
}
.cardmember__service-contents {
  padding: 8vw 7.2vw 16vw;
}
.cardmember__service-contents p + p {
  margin-top: 2.6666666667vw;
}
.cardmember__service-heading h4 {
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 5.3333333333vw;
  line-height: 1.7;
  margin-bottom: 4vw;
}
.cardmember__service-images {
  padding: 6.6666666667vw 5.3333333333vw;
}
.cardmember__service-images div + div {
  padding-top: 10px;
}
.cardmember__service-text {
  font-size: 4vw;
}
.cardmember__button-premium {
  margin-top: 9.3333333333vw;
}
.cardmember__button-premium a {
  padding: 5.3333333333vw 0;
  display: block;
  background: #222;
  text-align: center;
  position: relative;
  transition: 0.6s ease 0s;
}
.cardmember__button-premium a::after {
  content: "";
  display: block;
  background: url(/d_images/premium/special/2023/0406_royalcardmember/images/icon-arrow.svg) no-repeat;
  position: absolute;
  top: 50%;
  right: 3.4666666667vw;
  width: 9px;
  height: 15px;
  transform: translateY(-50%);
  transition: inherit;
}
.cardmember__button-premium a:hover:not(:disabled) {
  background: #9C7A4C;
}
.cardmember__button-premium a:hover:not(:disabled)::after {
  background: url(/d_images/premium/special/2023/0406_royalcardmember/images/icon-arrow-w.svg) no-repeat;
  opacity: 0.5;
}
.cardmember__logo-lead img {
  width: 61.3333333333vw;
  padding-bottom: 2.6666666667vw;
}
.cardmember__logo-premium img {
  width: 40vw;
}
.cardmember__card {
  text-align: center;
  background: #f3f1f0;
}
.cardmember__card h5 {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 4.9066666667vw;
  line-height: 1.7;
}
.cardmember__card .cardmember__button {
  margin-top: 6.6666666667vw;
}
.cardmember__card-heading {
  color: #9C7A4C;
}
.cardmember__card-heading span {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 4.8vw;
  line-height: 1.2;
  margin-bottom: 4vw;
}
.cardmember__card-heading em {
  font-family: "Century Gothic", "Didact Gothic", sans-serif;
  font-size: 8.2666666667vw;
  letter-spacing: 0.04em;
}
.cardmember__card-img img {
  width: 69.3333333333vw;
  margin: 2.6666666667vw auto 4vw;
}
.cardmember__card-point {
  margin: 8vw 0;
  border-top: solid 1px #9C7A4C;
  border-bottom: solid 1px #9C7A4C;
}
.cardmember__card-point li {
  font-weight: 400;
  padding: 4vw 0;
  color: #9C7A4C;
}
.cardmember__card-point li + li {
  border-top: solid 1px #9C7A4C;
}
.cardmember__card-point li strong {
  display: inline-block;
  margin-top: 5px;
  font-weight: 400;
  line-height: 1.7;
}
.cardmember__list {
  text-align: left;
  font-size: 4vw;
}
.cardmember__other .cardmember__button-wrap {
  margin: 14.6666666667vw 0 26.6666666667vw;
}
.cardmember__other .cardmember__button {
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  .cardmember .sp {
    display: none;
  }
  .cardmember .pc {
    display: block;
  }
  .cardmember .cardmember__button {
    width: 450px;
  }
  .cardmember .cardmember__button a {
    padding: 20px;
    font-size: 1.5rem;
  }
  .cardmember .cardmember__inner {
    padding: 50px 0 80px;
  }
  .cardmember__mv {
    font-family: "游明朝体", "Yu Mincho", "YuMincho", serif;
    font-weight: 700;
    font-size: min(5vw, 3.5rem);
  }
  .cardmember__mv span {
    font-size: min(3.5vw, 2.75rem);
    padding-bottom: 0;
  }
  .cardmember__mv h2 {
    line-height: 1.3;
  }
  .cardmember__mv-back {
    padding-bottom: 26.0416666667%;
  }
  .cardmember__lead p {
    font-family: "游明朝体", "Yu Mincho", "YuMincho", serif;
    font-weight: 400;
    font-size: 1.375rem;
  }
  .cardmember__lead h3 {
    font-family: "游明朝体", "Yu Mincho", "YuMincho", serif;
    font-weight: 400;
    font-size: 1.75rem;
    margin: 30px 0 45px;
  }
  .cardmember__title {
    padding: 92px 0;
    font-family: "游明朝体", "Yu Mincho", "YuMincho", serif;
    font-weight: 400;
    font-size: 2.5rem;
  }
  .cardmember__title span {
    margin-top: 18px;
    font-size: 1.0625rem;
  }
  .cardmember__heading p {
    font-size: min(2vw, 1.75rem);
    font-weight: 500;
    padding: 1.6% 0;
  }
  .cardmember__heading h3 {
    top: 40%;
  }
  .cardmember__heading h3 img {
    max-height: 70px;
  }
  .cardmember__heading-back {
    padding-bottom: 20.8333333333%;
  }
  .cardmember__service-contents {
    max-width: 1050px;
    margin: 0 auto;
    padding: 60px 0 100px;
    text-align: center;
  }
  .cardmember__service-contents p {
    font-weight: 400;
  }
  .cardmember__service-contents p + p {
    margin-top: 15px;
  }
  .cardmember__service-heading h4 {
    font-size: 1.75rem;
    font-weight: 700;
    font-size: 1.75rem;
    margin-bottom: 20px;
  }
  .cardmember__service-heading p {
    font-size: 1.25rem;
  }
  .cardmember__service-images {
    padding: 45px 0;
    display: flex;
    justify-content: space-around;
  }
  .cardmember__service-images div {
    width: 500px;
  }
  .cardmember__service-images div:nth-child(even) {
    margin-left: 50px;
  }
  .cardmember__service-images div + div {
    padding-top: 0;
  }
  .cardmember__service-text {
    font-size: 1.125rem;
    line-height: 2.3;
  }
  .cardmember__button-premium {
    max-width: 700px;
    margin: 45px auto 0;
  }
  .cardmember__button-premium a {
    padding: 4% 1%;
  }
  .cardmember__button-premium a::after {
    content: "";
    background: url(/d_images/premium/special/2023/0406_royalcardmember/images/icon-arrow.svg) no-repeat;
    right: 5%;
    width: 10px;
    height: 21px;
  }
  .cardmember__logo-lead img {
    width: 250px;
    padding-bottom: 18px;
  }
  .cardmember__logo-premium img {
    width: 180px;
  }
  .cardmember__card h5 {
    font-family: "游明朝体", "Yu Mincho", "YuMincho", serif;
    font-size: 1.5625rem;
    line-height: 1.9;
  }
  .cardmember__card .cardmember__button {
    margin-top: 55px;
  }
  .cardmember__card.cardmember__inner {
    padding-top: 80px;
  }
  .cardmember__card-heading span {
    font-family: "游明朝体", "Yu Mincho", "YuMincho", serif;
    font-size: 1.375rem;
    margin-bottom: 15px;
  }
  .cardmember__card-heading div {
    position: relative;
    display: inline-block;
    padding: 0 130px;
  }
  .cardmember__card-heading div em {
    font-size: 2.5rem;
    padding: 0 30px;
    background: #f3f1f0;
    z-index: 2;
    position: relative;
  }
  .cardmember__card-heading div:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 1px;
    background: rgba(156, 122, 76, 0.5);
    z-index: 1;
  }
  .cardmember__card-img img {
    width: 400px;
    margin: 35px auto 30px;
  }
  .cardmember__card-point {
    max-width: 900px;
    margin: 40px auto;
  }
  .cardmember__card-point li {
    font-size: 1.125rem;
    font-weight: 500;
    padding: 25px 0;
  }
  .cardmember__card-point li strong {
    font-weight: 500;
  }
  .cardmember__list {
    text-align: center;
    font-size: 1rem;
  }
  .cardmember__list li + li {
    margin-top: 8px;
  }
  .cardmember__other .cardmember__list {
    max-width: 900px;
    margin: 0 auto;
    text-align: left;
  }
  .cardmember__other .cardmember__button-wrap {
    display: flex;
    justify-content: center;
    margin: 90px auto 120px;
  }
  .cardmember__other .cardmember__button {
    margin: 0 30px;
    width: 350px;
  }
  .cardmember__other .cardmember__button a {
    font-size: 1.25rem;
  }
}

@keyframes fadeup {
  0% {
    transform: translateY(10px);
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}/*# sourceMappingURL=style.css.map */