@charset "UTF-8";
@font-face {
  font-family: "FriendlyExpart";
  src: url(../../font/FriendlyExpart.woff) format("woff");
}
:root {
  --primary: #FADBAA;
  --white: #fff;
  --lightGoldGray: #FDFAF2;
  --midGoldGray: #FBF8F0;
  --goldGray: #F8F3E7;
  --lightRizeGold: #C6B183;
  --rizeGold: #B59751;
  --green: #65D171;
  --orange: #F7B837;
  --lightGray: #B2ADA9;
  --gray: #88837F;
  --darkGray: #6D6764;
  --subGray01: #A7A7A7;
  --subGray02: #BFBFBF;
  --navy: #7F8BE3;
  --lightBlue: #23B8BA;
  --grad-start-color01: #F7B837;
  --grad-end-color01: #B59751;
  --bg-gradient01: linear-gradient(var(--grad-start-color01), var(--grad-end-color01));
  --grad-start-color02: #BAA063;
  --grad-end-color02: #A88534;
  --bg-gradient02: linear-gradient(var(--grad-start-color02), var(--grad-end-color02));
}

* {
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
  -webkit-font-smoothing: antialiased;
}

body {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, Arial, Helvetica, Verdana, sans-serif, "ＭＳ Ｐゴシック", "MS PGothic";
  font-weight: bold;
  line-height: 1.6;
  color: #000;
  font-size: 16px;
  background: #151515;
}
@media screen and (max-width: 657px) {
  body {
    font-size: 3.4375vw;
  }
}
@media screen and (min-width: 658px) {
  body {
    min-width: 1280px;
  }
}

a {
  color: inherit;
  text-decoration: none;
}
@media screen and (min-width: 658px) {
  a {
    -wewbkit-transition: 0.3s ease-out;
    transition: 0.3s ease-out;
  }
  a:hover {
    opacity: 0.7;
  }
}

img {
  width: 100%;
  height: auto;
  vertical-align: middle;
}

main {
  position: relative;
  overflow: hidden;
}

@media screen and (min-width: 658px) {
  .krkr-button-img {
    right: 20px !important;
    bottom: 20px !important;
  }
}
@media screen and (max-width: 657px) {
  .krkr-button-img {
    width: 21.875vw;
    right: 3.125vw !important;
    bottom: 3.125vw !important;
  }
}
.jsFadeup {
  transform: translateY(40px);
  opacity: 0;
  transition: transform 0.7s 0.4s ease, opacity 0.7s 0.4s ease;
}
.jsFadeup.is-act {
  transform: translateY(0);
  opacity: 1;
}

.jsFadeup2 {
  transform: translateY(40px);
  opacity: 0;
  transition: transform 0.7s 0s ease, opacity 0.7s 0s ease;
}
.jsFadeup2.is-act {
  transform: translateY(0);
  opacity: 1;
}

.jsFadeupLead {
  color: var(--gray);
}
.jsFadeupLead .row {
  display: block;
  position: relative;
  overflow: hidden;
  opacity: 0;
  min-height: 10vw;
  line-height: 1.8928571429;
}
@media screen and (min-width: 658px) {
  .jsFadeupLead .row {
    line-height: 1.89;
    min-height: 54px;
  }
}
.jsFadeupLead .line {
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  text-align: center;
  transform: translateY(88%);
  transition: 1s cubic-bezier(0.68, -0.6, 0.32, 1.6);
}
.jsFadeupLead .modDot::before {
  opacity: 0;
  transition-delay: 0.5s;
}
@media screen and (max-width: 657px) {
  .jsFadeupLead .modDot::before {
    top: -1.875vw;
  }
}
.jsFadeupLead.is-act .row {
  opacity: 1;
}
.jsFadeupLead.is-act .line {
  transform: translateY(0);
  bottom: 0;
}
.jsFadeupLead.is-act .modDot::before {
  opacity: 1;
}

.jsSlideIn {
  opacity: 0;
}
.jsSlideIn.is-act {
  animation: SlideIn 1.6s forwards;
}
@keyframes SlideIn {
  0% {
    opacity: 0;
    transform: translateX(64px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

.relative {
  position: relative;
}

.bold {
  font-weight: bold;
}

.fw_normal {
  font-weight: normal;
}

.font_red {
  color: #E8857D;
}

.font_brown {
  color: #C2AD80;
}

.font_purple {
  color: #4425AD;
}

.font_pink {
  color: #F4A0AA;
}

.font_orange {
  color: var(--orange);
}

.font_navy {
  color: var(--navy);
}

.font_bordeaux {
  color: #8D0333;
}

.font_fee {
  font-family: "FriendlyExpart";
  font-weight: normal;
  letter-spacing: -0.01em;
  line-height: 1;
}

.ls0 {
  letter-spacing: 0;
}

.rl {
  -webkit-writing-mode: vertical-rl;
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -ms-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
}

.inner__content {
  padding: 0 5.3125vw;
}
@media screen and (min-width: 658px) {
  .inner__content {
    padding: 0 34px;
  }
}

.inner__content.cv > .fw_normal {
  font-size: 14px;
  line-height: 1.4;
  margin-top: 4.984375vw;
}
@media screen and (max-width: 657px) {
  .inner__content.cv > .fw_normal {
    font-size: 2.8125vw;
  }
}
@media screen and (min-width: 658px) {
  .inner__content.cv > .fw_normal {
    margin-top: 31.9px;
  }
}

.flex {
  display: flex;
}

.va1 {
  vertical-align: 1px;
}

.va3 {
  vertical-align: 3px !important;
}

.va5 {
  vertical-align: 5px;
}

.vam {
  vertical-align: middle;
}

.drop-shadow {
  filter: drop-shadow(0 0 3.75vw rgba(0, 0, 0, 0.16));
}
@media screen and (min-width: 658px) {
  .drop-shadow {
    filter: drop-shadow(0 0 24px rgba(0, 0, 0, 0.16));
  }
}

.modAccordion {
  margin: 0;
}

.modAccordion__head {
  max-width: initial;
  background: #C6B183;
  padding: 3.90625vw 5.3125vw 3.90625vw 5.3125vw;
}
@media screen and (min-width: 658px) {
  .modAccordion__head {
    padding: 25px 0;
  }
}
.modAccordion__head h3 {
  position: relative;
}
.modAccordion__head h3 .toggleIcon {
  right: 0;
}
@media screen and (min-width: 658px) {
  .modAccordion__head h3 {
    width: 640px;
    padding: 0 34px;
    margin: 0 auto;
  }
  .modAccordion__head h3 .toggleIcon {
    right: 34px;
  }
}

.modAccordion__body {
  background: none;
  display: none;
}
@media screen and (min-width: 658px) {
  .modAccordion__body {
    margin: 0 auto;
    padding: 70px 0;
  }
}

.cv__button {
  text-align: center;
}
.cv__button p {
  color: #A07754;
  font-size: 32px;
  margin-bottom: 4.0625vw;
  position: relative;
}
@media screen and (max-width: 657px) {
  .cv__button p {
    font-size: 4.375vw;
  }
}
@media screen and (min-width: 658px) {
  .cv__button p {
    margin-bottom: 45px;
  }
}
.cv__button p:after {
  content: "";
  background: url(../../img/img_smile.png) center left no-repeat;
  background-size: 4.375vw auto;
  width: 4.375vw;
  height: 4.375vw;
  position: absolute;
  top: 1.5625vw;
  left: 0;
  right: 0;
  padding-right: 1.25vw;
  margin: 0 auto;
}
@media screen and (min-width: 658px) {
  .cv__button p:after {
    background-size: 32px auto;
    width: 32px;
    height: 32px;
    top: 14px;
    padding-right: 14px;
  }
}
.cv__button .modBtn--grade {
  color: var(--white);
  font-size: 24px;
  background: -webkit-linear-gradient(left, #003BFF 0%, #9541E8 100%);
  background: -moz-linear-gradient(left, #003BFF 0%, #9541E8 100%);
  background: -o-linear-gradient(left, #003BFF 0%, #9541E8 100%);
  background: -ms-linear-gradient(left, #003BFF 0%, #9541E8 100%);
  background: linear-gradient(to right, #003BFF 0%, #9541E8 100%);
  padding: 0;
  line-height: 19.6875vw;
  width: 100%;
}
@media screen and (max-width: 657px) {
  .cv__button .modBtn--grade {
    font-size: 5.3125vw;
  }
}
@media screen and (min-width: 658px) {
  .cv__button .modBtn--grade {
    line-height: 110px;
    border-radius: 64px;
  }
}
.cv__button .modBtn--grade .modBtn__icon_calendar {
  display: inline-block;
  vertical-align: middle;
  background: url(../../img/icon_calendar.png) no-repeat center center;
  background-size: 100% auto;
  width: 5.4515625vw;
  height: 5.4515625vw;
  margin: -0.9375vw 3.53125vw 0vw 0vw;
}
@media screen and (min-width: 658px) {
  .cv__button .modBtn--grade .modBtn__icon_calendar {
    width: 34.89px;
    height: 34.89px;
    margin: -6px 22.6px 0 0;
  }
}
.cv__button .modBtn::after {
  background: url(../../img/btn_arrow.png) center center no-repeat;
  background-size: 100% auto;
}
@media screen and (min-width: 658px) {
  .cv__button .modBtn::after {
    width: 32px;
    height: 6px;
    right: 20px;
  }
}

/**cv__button__end**/
#wrapper {
  width: 100%;
  margin: 0 auto;
  background: #151515;
  filter: drop-shadow(0 0 4.6875vw rgba(0, 0, 0, 0.1));
}
@media screen and (min-width: 658px) {
  #wrapper {
    width: 640px;
    filter: drop-shadow(0 0 30px rgba(0, 0, 0, 0.1));
  }
}

@media screen and (min-width: 658px) {
  .bg_pc_fixed {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    background: url("../../img/bg_pc_fixed.jpg") top center no-repeat;
    background-size: cover;
    z-index: -2;
  }
}

@media screen and (min-width: 658px) {
  .max_w640 {
    max-width: 640px;
    margin: 0 34px;
  }
  .max_w900 {
    max-width: 900px;
    margin: 0 auto;
  }
  .max_w1280 {
    max-width: 1280px;
    margin: 0 auto;
  }
}
#mv {
  background: url(../../img/mv/mv.jpg) top center no-repeat;
  background-size: 100% auto;
  height: 132.65625vw;
  position: relative;
}
@media screen and (min-width: 658px) {
  #mv {
    height: 849px;
  }
}

/**MV__end**/
.youtube iframe {
  width: 100%;
  height: 56.09375vw;
}
@media screen and (min-width: 658px) {
  .youtube iframe {
    height: 359px;
  }
}

.footer {
  color: #fff;
  padding: 34.0625vw 0vw 6.828125vw 0vw;
  position: relative;
}
@media screen and (min-width: 658px) {
  .footer {
    padding: 218px 0 43.7px;
  }
}
.footer__logo {
  text-align: center;
}
.footer__logo__icon {
  display: inline-block;
}
.footer__logo__icon img {
  width: 17.1875vw;
}
@media screen and (min-width: 658px) {
  .footer__logo__icon img {
    width: 110px;
  }
}
.footer__logo__text {
  font-weight: normal;
  font-size: 18px;
  margin: 4.375vw 0vw 15.625vw 0vw;
}
@media screen and (max-width: 657px) {
  .footer__logo__text {
    font-size: 2.8125vw;
  }
}
@media screen and (min-width: 658px) {
  .footer__logo__text {
    margin: 28px 0 100px;
  }
}
.footer__logo__text .emp {
  font-weight: bold;
  font-size: 24px;
}
@media screen and (max-width: 657px) {
  .footer__logo__text .emp {
    font-size: 3.75vw;
  }
}
.footer .flex {
  font-size: 18px;
  justify-content: center;
  margin-top: 32.96875vw;
  margin-bottom: 4.0625vw;
}
@media screen and (max-width: 657px) {
  .footer .flex {
    font-size: 2.8125vw;
  }
}
@media screen and (min-width: 658px) {
  .footer .flex {
    margin-top: 211px;
    margin-bottom: 26px;
  }
}
.footer copyright {
  font-size: 17px;
  font-weight: normal;
  text-align: center;
  display: table;
  margin: 0 auto;
}
@media screen and (max-width: 657px) {
  .footer copyright {
    font-size: 2.65625vw;
  }
}

/*titaniumLP_original*/
.area__caution {
  color: #000;
  font-size: 18px;
  background: rgba(240, 240, 240, 0.39);
  margin: 12.5vw 3.125vw 0;
  padding: 4.6875vw 3.125vw;
}
@media screen and (max-width: 657px) {
  .area__caution {
    font-size: 2.8125vw;
  }
}
@media screen and (min-width: 658px) {
  .area__caution {
    margin: 80px 20px 0;
    padding: 30px 20px;
  }
}

.lead {
  color: #aaa;
}

.movie {
  padding-bottom: 17.5vw;
  overflow: hidden;
  position: relative;
}
@media screen and (min-width: 658px) {
  .movie {
    padding-bottom: 112px;
  }
}
.movie .img_movie {
  width: 62.5vw;
  margin: 2.03125vw 0 0 -5.9375vw;
  z-index: 5;
}
@media screen and (min-width: 658px) {
  .movie .img_movie {
    width: 400px;
    margin: 13px 0 0 -38px;
  }
}
.movie video {
  width: 60.9375vw;
  height: auto;
  position: absolute;
  top: 18.75vw;
  right: 0;
  z-index: -1;
}
@media screen and (min-width: 658px) {
  .movie video {
    width: 390px;
    top: 120px;
  }
}

.case .box {
  font-size: 22px;
  line-height: 1.73;
  width: 89.375vw;
  background: linear-gradient(to right, #7083AC, #9379EA);
  margin: 0 auto 1.5625vw;
  border-radius: 0.78125vw 0.78125vw 0 0;
}
@media screen and (max-width: 657px) {
  .case .box {
    font-size: 3.4375vw;
  }
}
@media screen and (min-width: 658px) {
  .case .box {
    width: 572px;
    margin: 0 auto 10px;
    border-radius: 5px 5px 0 0;
  }
}
.case .box .ttl_aco {
  color: #000;
  text-align: center;
  padding: 4.6875vw 6.25vw;
  position: relative;
  cursor: pointer;
}
@media screen and (min-width: 658px) {
  .case .box .ttl_aco {
    padding: 30px 40px;
  }
}
.case .box .ttl_aco::before, .case .box .ttl_aco::after {
  content: "";
  background: #C2A8FF;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 6.25vw;
}
@media screen and (min-width: 658px) {
  .case .box .ttl_aco::before, .case .box .ttl_aco::after {
    right: 40px;
  }
}
.case .box .ttl_aco::before {
  width: 0.15625vw;
  height: 3.125vw;
  right: 7.734375vw;
}
@media screen and (min-width: 658px) {
  .case .box .ttl_aco::before {
    width: 1px;
    height: 20px;
    right: 49.5px;
  }
}
.case .box .ttl_aco::after {
  width: 3.125vw;
  height: 0.15625vw;
}
@media screen and (min-width: 658px) {
  .case .box .ttl_aco::after {
    width: 20px;
    height: 1px;
  }
}
.case .box .ttl_aco.active::before {
  display: none;
}
.case .box .body_aco {
  background: linear-gradient(to right, #DBDFFF, #FBF5FF);
  border-radius: 0 0 0.78125vw 0.78125vw;
  padding: 6.25vw;
  display: none;
}
@media screen and (min-width: 658px) {
  .case .box .body_aco {
    border-radius: 0 0 5px 5px;
    padding: 40px;
  }
}

.bg_dark_purple {
  background: #4D4A71;
}

.faq {
  margin-top: 18.75vw;
}
@media screen and (min-width: 658px) {
  .faq {
    margin-top: 120px;
  }
}
.faq .ttl_aco {
  text-align: center;
  padding: 4.6875vw 0;
  position: relative;
  cursor: pointer;
}
@media screen and (min-width: 658px) {
  .faq .ttl_aco {
    padding: 30px 0;
  }
}
.faq .ttl_aco::before, .faq .ttl_aco::after {
  content: "";
  background: #fff;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 5.3125vw;
}
@media screen and (min-width: 658px) {
  .faq .ttl_aco::before, .faq .ttl_aco::after {
    right: 34px;
  }
}
.faq .ttl_aco::before {
  width: 0.15625vw;
  height: 3.125vw;
  right: 6.796875vw;
}
@media screen and (min-width: 658px) {
  .faq .ttl_aco::before {
    width: 1px;
    height: 20px;
    right: 43.5px;
  }
}
.faq .ttl_aco::after {
  width: 3.125vw;
  height: 0.15625vw;
}
@media screen and (min-width: 658px) {
  .faq .ttl_aco::after {
    width: 20px;
    height: 1px;
  }
}
.faq .ttl_aco.active::before {
  display: none;
}
.faq .ttl_aco.h2 {
  color: var(--white);
  font-size: 34px;
  text-align: center;
  letter-spacing: 0.2em;
  background: linear-gradient(to right, #550081, #280357, #5331AF);
  padding: 4.0625vw 0;
}
@media screen and (max-width: 657px) {
  .faq .ttl_aco.h2 {
    font-size: 5.3125vw;
  }
}
@media screen and (min-width: 658px) {
  .faq .ttl_aco.h2 {
    padding: 26px 0;
  }
}
.faq .body_aco {
  padding-top: 14.0625vw;
  padding-bottom: 6.25vw;
  display: none;
}
@media screen and (min-width: 658px) {
  .faq .body_aco {
    padding-top: 90px;
    padding-bottom: 40px;
  }
}
.faq .body_aco .box {
  font-size: 22px;
  line-height: 1.73;
  width: 89.375vw;
  background: #fff;
  padding: 0 6.25vw;
  margin: 0 auto 5.625vw;
  border-radius: 0.78125vw;
  box-shadow: 0 0 1.5625vw rgba(121, 121, 121, 0.16);
}
@media screen and (max-width: 657px) {
  .faq .body_aco .box {
    font-size: 3.4375vw;
  }
}
@media screen and (min-width: 658px) {
  .faq .body_aco .box {
    width: 572px;
    padding: 0 40px;
    margin: 0 auto 36px;
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(121, 121, 121, 0.16);
  }
}
.faq .body_aco .box .ttl_aco {
  font-size: 28px;
  padding: 7.34375vw 0;
}
@media screen and (max-width: 657px) {
  .faq .body_aco .box .ttl_aco {
    font-size: 4.375vw;
  }
}
@media screen and (min-width: 658px) {
  .faq .body_aco .box .ttl_aco {
    padding: 47px 0;
  }
}
.faq .body_aco .box .ttl_aco img {
  width: 9.21875vw;
  height: auto;
}
@media screen and (min-width: 658px) {
  .faq .body_aco .box .ttl_aco img {
    width: 59px;
  }
}
.faq .body_aco .box .ttl_aco li:nth-child(2) {
  text-align: left;
  margin-left: 4.6875vw;
}
@media screen and (min-width: 658px) {
  .faq .body_aco .box .ttl_aco li:nth-child(2) {
    margin-left: 30px;
  }
}
.faq .body_aco .box .ttl_aco::before, .faq .body_aco .box .ttl_aco::after {
  background: #7EB9FF;
}
.faq .body_aco .box .ttl_aco::before {
  right: 1.484375vw;
}
@media screen and (min-width: 658px) {
  .faq .body_aco .box .ttl_aco::before {
    right: 9.5px;
  }
}
.faq .body_aco .box .ttl_aco::after {
  right: 0;
}
.faq .body_aco .box .body_aco {
  font-size: 22px;
  font-weight: normal;
  padding-top: 1.5625vw;
  padding-left: 3.4375vw;
}
@media screen and (max-width: 657px) {
  .faq .body_aco .box .body_aco {
    font-size: 3.4375vw;
  }
}
@media screen and (min-width: 658px) {
  .faq .body_aco .box .body_aco {
    padding-top: 10px;
    padding-left: 22px;
  }
}
.faq .body_aco .box .body_aco img {
  width: 5.703125vw;
  height: auto;
}
@media screen and (min-width: 658px) {
  .faq .body_aco .box .body_aco img {
    width: 36.5px;
  }
}
.faq .body_aco .box .body_aco li:nth-child(2) {
  text-align: left;
  margin-left: 4.6875vw;
}
@media screen and (min-width: 658px) {
  .faq .body_aco .box .body_aco li:nth-child(2) {
    margin-left: 30px;
  }
}

/*titaniumLP_original__end*/