@charset "UTF-8";

.swiper-renewal:has(.swiper-initialized) {
	opacity: 1 !important;
}

.p-pageHead__title {
	font-weight: 500;
}

@media screen and (max-width: 767px) {}

.main .js-scroll-show {
  opacity: 0;
  -webkit-transform: translateY(10px);
          transform: translateY(10px);
  -webkit-transition: opacity 0.5s ease-out 0.2s,-webkit-transform 0.5s ease-out 0.2s;
  transition: opacity 0.5s ease-out 0.2s,-webkit-transform 0.5s ease-out 0.2s;
  transition: opacity 0.5s ease-out 0.2s,transform 0.5s ease-out 0.2s;
  transition: opacity 0.5s ease-out 0.2s,transform 0.5s ease-out 0.2s,-webkit-transform 0.5s ease-out 0.2s;
}

.main .js-scroll-show.is-show {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.main-01 {
  position: relative;
  width: 100%;
  height: 70.44444vw;
  background-image: url(../img/main-01-bg.png);
  background-size: 1.22222vw 1.27778vw;
  background-position: 50% 0;
}

@media screen and (max-width: 767px) {
  .main-01 {
    height: 193.75vw;
    background-size: 2.65625vw 2.65625vw;
  }
}

.main-01-logo {
  position: absolute;
  top: 1.27778vw;
  left: 50%;
  z-index: 2;
  width: 22.77778vw;
  margin-left: -11.38889vw;
}

@media screen and (max-width: 767px) {
  .main-01-logo {
    top: 4.0625vw;
    left: 28.28125vw;
    width: 45.78125vw;
    margin-left: 0;
  }
}

.main-01-logo img {
  width: 100%;
}

.main-01-container {
  position: relative;
  width: 100vw;
  height: 70.44444vw;
  margin: 0 auto;
  background-image: url(../img/main-01-img.png);
  background-size: 100%;
  background-position: center;
}

@media screen and (max-width: 767px) {
  .main-01-container {
    width: 100vw;
    height: 193.75vw;
    background-image: url(../img/main-01-img-sp.png);
    background-size: 100%;
  }
}

.main-01-link {
  position: relative;
  text-decoration: none;
}

.main-01-link::before {
  position: absolute;
  top: -1.94444vw;
  left: 0.33333vw;
  display: block;
  content: "";
  width: 0.77778vw;
  height: 1.38889vw;
  background-image: url(../img/main-01-check-arrow.png);
  background-size: 100%;
  background-repeat: no-repeat;
  -webkit-transition: top 0.1s linear;
  transition: top 0.1s linear;
}

.main-01-link::after {
  position: absolute;
  top: -1.55556vw;
  left: 1.5vw;
  content: "Check";
  color: #7B1482;
  font-size: 0.94444vw;
  font-family: "jins_next_ttmedium", sans-serif;
  line-height: 1;
  -webkit-transition: top 0.1s linear;
  transition: top 0.1s linear;
}

.main-01-link:hover::before {
  top: -1.55556vw;
}

.main-01-link:hover::after {
  top: -1.16667vw;
}

@media screen and (max-width: 767px) {
  .main-01-link::before {
    top: -4.0625vw;
    left: 0.9375vw;
    width: 1.875vw;
    height: 3.125vw;
    background-image: url(../img/main-01-check-arrow-sp.png);
  }
  .main-01-link::after {
    top: -3.28125vw;
    left: 3.90625vw;
    font-size: 2.1875vw;
  }
  .main-01-link:hover::before {
    top: -4.0625vw;
  }
  .main-01-link:hover::after {
    top: -3.28125vw;
  }
}

.main-01-link-01-note {
  position: absolute;
  bottom: 15vw;
  left: 0;
  width: 100%;
  margin: 0;
  color: #7B1482;
  font-size: 0.72222vw;
  line-height: 1;
  text-align: center;
  letter-spacing: -0.01em;
}

@media screen and (max-width: 767px) {
  .main-01-link-01-note {
    bottom: 44.84375vw;
    font-size: 1.5625vw;
    letter-spacing: 0;
  }
}

.main-01-link-01 {
  display: block;
  position: absolute;
  top: 35.44444vw;
  right: 6.38889vw;
  width: 15.5vw;
}

@media screen and (max-width: 767px) {
  .main-01-link-01 {
    display: none;
  }
}

.main-01-link-01::before {
  left: 4.94444vw;
}

.main-01-link-01::after {
  left: 6.11111vw;
}

.main-01-link-01 img {
  width: 100%;
  pointer-events: none;
}

.main-01-link-01-sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .main-01-link-01-sp {
    display: block;
    position: absolute;
    top: 97.96875vw;
    left: 6.875vw;
    width: 38.125vw;
  }
  .main-01-link-01-sp::before {
    left: -0.3125vw;
  }
  .main-01-link-01-sp::after {
    left: 2.5vw;
  }
}

.main-01-link-01-sp img {
  width: 100%;
  pointer-events: none;
}

.main-01-link-01-text {
  position: absolute;
  top: 45.27778vw;
  right: 7.5vw;
  width: 14vw;
}

@media screen and (max-width: 767px) {
  .main-01-link-01-text {
    top: 121.40625vw;
    right: auto;
    left: 7.1875vw;
    width: 39.375vw;
  }
}

.main-01-link-01-text img {
  width: 100%;
}

.main-01-link-02 {
  display: block;
  position: absolute;
  top: 5.66667vw;
  right: 22.22222vw;
  width: 10.61111vw;
}

@media screen and (max-width: 767px) {
  .main-01-link-02 {
    display: none;
  }
}

.main-01-link-02 img {
  width: 100%;
  pointer-events: none;
}

.main-01-link-02-sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .main-01-link-02-sp {
    display: block;
    position: absolute;
    top: 21.40625vw;
    right: auto;
    left: 34.6875vw;
    width: 33.125vw;
  }
}

.main-01-link-02-sp img {
  width: 100%;
  pointer-events: none;
}

.main-01-link-03 {
  display: block;
  position: absolute;
  top: 29.05556vw;
  left: 4.55556vw;
  width: 11.27778vw;
}

@media screen and (max-width: 767px) {
  .main-01-link-03 {
    display: none;
  }
}

.main-01-link-03 img {
  width: 100%;
  pointer-events: none;
}

.main-01-link-03-sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .main-01-link-03-sp {
    display: block;
    position: absolute;
    top: 65.9375vw;
    left: 60vw;
    width: 27.8125vw;
  }
}

.main-01-link-03-sp img {
  width: 100%;
  pointer-events: none;
}

.main-01-link-04 {
  display: block;
  position: absolute;
  top: 11.11111vw;
  right: 5.38889vw;
  width: 11.27778vw;
}

@media screen and (max-width: 767px) {
  .main-01-link-04 {
    display: none;
  }
}

.main-01-link-04 img {
  width: 100%;
  pointer-events: none;
}

.main-01-link-05 {
  display: block;
  position: absolute;
  top: 39.83333vw;
  left: 22.33333vw;
  width: 11.27778vw;
}

@media screen and (max-width: 767px) {
  .main-01-link-05 {
    display: none;
  }
}

.main-01-link-05 img {
  width: 100%;
  pointer-events: none;
}

.main-01-banner {
  position: absolute;
  bottom: 3.44444vw;
  left: 50%;
  width: 61.44444vw;
  height: 9.72222vw;
  margin: 0 0 0 -30.72222vw;
  padding: 1.11111vw 0 0 0;
  border: 0.38889vw solid #FFB71B;
  background-color: #fff;
  box-sizing: border-box;
}

.main-01-banner::before {
  position: absolute;
  top: -0.16667vw;
  right: -0.16667vw;
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 10.5vw 4.88889vw 0;
  border-color: transparent #FFB71B transparent transparent;
}

@media screen and (max-width: 767px) {
  .main-01-banner {
    bottom: 4.6875vw;
    width: 57.5vw;
    height: 31.5625vw;
    border: 3px solid #FFB71B;
    padding: 0;
  }
  .main-01-banner::before {
    content: none;
  }
}

.main-01-banner-plice {
  position: absolute;
  top: 1.11111vw;
  left: 3.94444vw;
  width: 6.55556vw;
  height: 6.55556vw;
  padding: 1.66667vw 0 0 0.94444vw;
  border-radius: 50%;
  background-color: #7B1482;
  font-size: 1.11111vw;
  line-height: 1.66667vw;
  font-weight: 700;
  text-indent: 0.33333vw;
  letter-spacing: 0.12em;
  color: #fff;
  box-sizing: border-box;
}

.main-01-banner-plice .en {
  margin-right: -0.22222vw;
  font-family: "jins_next_ttmedium", sans-serif;
  font-weight: normal;
}

@media screen and (max-width: 767px) {
  .main-01-banner-plice {
    position: static;
    width: 100%;
    height: 4.6875vw;
    margin-bottom: 2.8125vw;
    background-color: #FFB71B;
    padding: 1.09375vw 0 0;
    border-radius: 0;
    font-size: 2.65625vw;
    line-height: 1;
    text-align: center;
  }
  .main-01-banner-plice br {
    display: none;
  }
  .main-01-banner-plice .en {
    margin-right: -0.625vw;
    font-size: 2.5vw;
    line-height: 1;
  }
}

.main-01-banner-check {
  position: absolute;
  top: -0.27778vw;
  right: -0.27778vw;
  width: 10.72222vw;
  height: 5.05556vw;
  padding: 1.27778vw 0 0 6vw;
  color: #fff;
  font-size: 1vw;
  line-height: 1;
  font-family: "jins_next_ttmedium", sans-serif;
  letter-spacing: 0.1em;
  box-sizing: border-box;
}

@media screen and (max-width: 767px) {
  .main-01-banner-check {
    position: absolute;
    top: -4.0625vw;
    left: 22.34375vw;
    width: 11.875vw;
    padding: 0.3125vw 0 0;
    color: #7B1482;
    font-size: 2.5vw;
    letter-spacing: 0.08em;
    text-align: center;
  }
  .main-01-banner-check::before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    content: "";
    font-size: 0;
    width: 1px;
    height: 2.65625vw;
    background-color: #7B1482;
    -webkit-transform: rotate(-34deg);
            transform: rotate(-34deg);
  }
  .main-01-banner-check::after {
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    content: "";
    font-size: 0;
    width: 1px;
    height: 2.65625vw;
    background-color: #7B1482;
    -webkit-transform: rotate(34deg);
            transform: rotate(34deg);
  }
}

.main-01-banner-logo {
  width: 14.22222vw;
  margin: 0 0 1vw 23.44444vw;
  font-size: 0;
}

@media screen and (max-width: 767px) {
  .main-01-banner-logo {
    width: 27.5vw;
    margin: 0 auto;
  }
  .m-layout02 .main-01-banner-logo {
    margin-top: 4.6vw;
  }
}

.main-01-banner-logo img {
  width: 100%;
}

.main-01-banner-unit {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0 0 12.44444vw;
}

@media screen and (max-width: 767px) {
  .main-01-banner-unit {
    display: block;
    margin: 0;
  }
}

.main-01-banner-text {
  margin: 0;
  font-size: 0.94444vw;
  line-height: 2vw;
  font-weight: 400;
  vertical-align: middle;
  color: #3C4761;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 767px) {
  .main-01-banner-text {
    margin: 0 0 0.625vw;
    font-size: 1.71875vw;
    line-height: 1;
    text-align: center;
  }
}

.main-01-banner-text .line01 {
  letter-spacing: 0.05em;
}

@media screen and (max-width: 767px) {
  .main-01-banner-text .line01 {
    font-size: 1.71875vw;
    line-height: 3.125vw;
    letter-spacing: 0.02em;
  }
}

@media screen and (max-width: 767px) {
  .main-01-banner-text .line02 {
    font-size: 2.34375vw;
    line-height: 4.6875vw;
  }
}

@media screen and (max-width: 767px) {
  .main-01-banner-text .line03 {
    font-size: 2.34375vw;
    letter-spacing: 0.1em;
  }
}

.main-01-banner-text .plus {
  font-size: 1.77778vw;
  font-family: "jins_next_ttlight", sans-serif;
  vertical-align: -0.33333vw;
  letter-spacing: 0;
  margin: 0 0.33333vw 0 0.22222vw;
}

@media screen and (max-width: 767px) {
  .main-01-banner-text .plus {
    font-size: 4.375vw;
    vertical-align: -0.78125vw;
    margin: 0 0.625vw;
  }
}

.main-01-banner-text .yen {
  font-size: 1.38889vw;
  vertical-align: -0.16667vw;
  font-weight: 700;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .main-01-banner-text .yen {
    font-size: 3.90625vw;
    vertical-align: -0.46875vw;
  }
}

.main-01-banner-text .num {
  font-size: 1.44444vw;
  font-family: "jins_next_ttregular", sans-serif;
  vertical-align: -0.16667vw;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .main-01-banner-text .num {
    font-size: 3.75vw;
    letter-spacing: 0.05em;
    vertical-align: -0.46875vw;
  }
}

.main-01-banner-text .tax {
  font-weight: 700;
  margin: 0 -0.38889vw;
}

@media screen and (max-width: 767px) {
  .main-01-banner-text .tax {
    font-size: 1.875vw;
    vertical-align: 0.15625vw;
  }
}

.main-01-banner-link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 13.44444vw;
  height: 3.38889vw;
  margin-left: 2.44444vw;
  border: 1px solid #3B465F;
  border-radius: 5px;
  color: #3C4761;
  font-size: 0.88889vw;
  letter-spacing: 0.1em;
  box-sizing: border-box;
  text-decoration: none;
}

.main-01-banner-link:hover {
  color: #fff;
  background-color: #7B1482;
  border: 1px solid #7B1482;
  -webkit-transition: color 0.3s cubic-bezier(0.25, 0.1, 0.25, 1), background-color 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
  transition: color 0.3s cubic-bezier(0.25, 0.1, 0.25, 1), background-color 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
}

@media screen and (max-width: 767px) {
  .main-01-banner-link {
    width: 30.78125vw;
    height: 7.8125vw;
    margin: 0 auto;
    font-size: 2.03125vw;
    letter-spacing: 0.16em;
  }
  .main-01-banner-link:hover {
    color: #3C4761;
    background-color: inherit;
    border: 1px solid #3B465F;
  }
}

.main-01-modal {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 0;
  background-color: rgba(138, 143, 160, 0.7);
  z-index: 3;
  opacity: 0;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
  overflow: hidden;
}

.main-01-modal.is-show {
  position: fixed;
  height: 100%;
  overflow: auto;
  opacity: 1;
}

.main-01-modal.is-show.is-hide {
  opacity: 0;
}

.main-01-modal-box {
  position: relative;
  width: 45.11111vw;
  height: 34.11111vw;
  margin-top: 51px;
  border: 0.22222vw solid #7B1482;
  background-color: rgba(255, 255, 255, 0.9);
  background-size: 100%;
}

@media screen and (max-width: 767px) {
  .main-01-modal-box {
    width: 81.40625vw;
    height: 98.90625vw;
    border: 2px solid #7B1482;
  }
}

.main-01-modal-box.is-01 {
  background-image: url("../img/main-01-modal-01.png");
}

@media screen and (max-width: 767px) {
  .main-01-modal-box.is-01 {
    background-image: url("../img/main-01-modal-01-sp.png");
  }
}

.main-01-modal-box.is-02 {
  background-image: url("../img/main-01-modal-02.png");
}

@media screen and (max-width: 767px) {
  .main-01-modal-box.is-02 {
    background-image: url("../img/main-01-modal-02-sp.png");
  }
}

.main-01-modal-box.is-03 {
  background-image: url("../img/main-01-modal-03.png");
}

@media screen and (max-width: 767px) {
  .main-01-modal-box.is-03 {
    background-image: url("../img/main-01-modal-03-sp.png");
  }
}

.main-01-modal-box.is-04 {
  background-image: url("../img/main-01-modal-04.png");
}

.main-01-modal-box.is-05 {
  background-image: url("../img/main-01-modal-05.png");
}

.main-01-modal-close {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  top: -0.11111vw;
  right: -0.11111vw;
  width: 2.33333vw;
  height: 2.33333vw;
  font-size: 0;
  background-color: #7B1482;
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  .main-01-modal-close {
    top: -0.3125vw;
    right: -0.3125vw;
    width: 6.5625vw;
    height: 6.5625vw;
  }
}

.main-01-modal-close img {
  width: 1.44444vw;
  height: 1.44444vw;
}

@media screen and (max-width: 767px) {
  .main-01-modal-close img {
    width: 4.0625vw;
    height: 4.0625vw;
  }
}

.main-01-modal-title {
  color: #7B1482;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.1em;
}

.main-01-modal-title.is-01 {
  margin: 4.16667vw 0 2.77778vw;
  font-size: 1.94444vw;
  line-height: 3.55556vw;
}

@media screen and (max-width: 767px) {
  .main-01-modal-title.is-01 {
    margin: 10.625vw 0 11.09375vw;
    font-size: 3.75vw;
    line-height: 6.71875vw;
  }
}

.main-01-modal-title.is-02 {
  margin: 3.22222vw 0 2vw;
  font-size: 1.83333vw;
  line-height: 3.33333vw;
  letter-spacing: 0.08em;
}

@media screen and (max-width: 767px) {
  .main-01-modal-title.is-02 {
    margin: 7.34375vw 0 7.65625vw;
    font-size: 3.75vw;
    line-height: 6.71875vw;
    letter-spacing: 0.02em;
  }
}

.main-01-modal-title.is-03 {
  margin: 3vw 0 1.5vw;
  font-size: 1.5vw;
  line-height: 2.72222vw;
  letter-spacing: 0.12em;
}

@media screen and (max-width: 767px) {
  .main-01-modal-title.is-03 {
    margin: 7.34375vw 0 6.5625vw;
    font-size: 3.75vw;
    line-height: 6.71875vw;
  }
}

.main-01-modal-title.is-03 .sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .main-01-modal-title.is-03 .sp {
    display: inline;
  }
}

.main-01-modal-title.is-03 .large {
  display: inline-block;
  margin-bottom: 0.27778vw;
  font-size: 5.16667vw;
  line-height: 6.11111vw;
}

@media screen and (max-width: 767px) {
  .main-01-modal-title.is-03 .large {
    margin-bottom: -1.5625vw;
    font-size: 12.34375vw;
    line-height: 14.0625vw;
  }
  .main-01-modal-title.is-03 .large .dot {
    font-size: 7.03125vw;
  }
  .main-01-modal-title.is-03 .large .percent {
    font-size: 7.03125vw;
  }
}

.main-01-modal-title.is-04 {
  margin: 3.22222vw 0 1.55556vw;
  font-size: 1.66667vw;
  line-height: 3vw;
}

.main-01-modal-title.is-05 {
  margin: 1.61111vw 0 0.55556vw;
  font-size: 1.83333vw;
  line-height: 3.33333vw;
  letter-spacing: 0.08em;
}

.main-01-modal-text {
  display: inline-block;
  color: #7B1482;
  font-size: 1.05556vw;
  font-weight: bold;
  text-align: center;
  line-height: 1.83333vw;
  letter-spacing: 0.12em;
}

@media screen and (max-width: 767px) {
  .main-01-modal-text {
    font-size: 2.65625vw;
    line-height: 1;
    letter-spacing: 0.11em;
  }
}

.main-01-modal-text.is-01 {
  margin: 0 0 0 9vw;
}

@media screen and (max-width: 767px) {
  .main-01-modal-text.is-01 {
    margin: 0 0 0 9.375vw;
  }
}

.main-01-modal-text.is-02 {
  margin: 0 0 0 12.27778vw;
  letter-spacing: 0.13em;
}

@media screen and (max-width: 767px) {
  .main-01-modal-text.is-02 {
    margin: 0 0 0 17.03125vw;
  }
}

.main-01-modal-text.is-03 {
  margin: 0 0 0 11.16667vw;
  letter-spacing: 0.08em;
}

@media screen and (max-width: 767px) {
  .main-01-modal-text.is-03 {
    margin: 0 0 0 12.03125vw;
  }
}

.main-01-modal-text.is-04 {
  margin: 0 0 0 7.33333vw;
}

.main-01-modal-text.is-05 {
  margin: 0 0 0 11.66667vw;
}

/*----------main-02----------*/
.main-02 {
  padding: 7.33333vw 0 8.66667vw;
}

@media screen and (max-width: 767px) {
  .main-02 {
    padding: 9.375vw 0 11.875vw;
  }
}

.main-02-box {
  position: relative;
  width: 83.33333vw;
  margin: 0 auto;
  padding: 4.55556vw 0 5.33333vw;
  border: 0.44444vw solid #B67DBA;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .main-02-box {
    width: 82.1875vw;
    padding: 10.15625vw 0 5.9375vw;
    border: 4px solid #B67DBA;
  }
}

.main-02-box-title {
  margin-bottom: 2.33333vw;
  font-size: 3.77778vw;
  line-height: 1;
  text-align: center;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 767px) {
  .main-02-box-title {
    margin-bottom: 4.53125vw;
    font-size: 7.96875vw;
  }
}

.main-02-box-lead {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 4.33333vw;
  font-size: 2.11111vw;
  line-height: 1;
  text-align: center;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 767px) {
  .main-02-box-lead {
    margin-bottom: 7.1875vw;
    font-size: 4.21875vw;
  }
}

.main-02-box-lead::before {
  display: block;
  content: "";
  width: 0.77778vw;
  height: 0.16667vw;
  margin-right: 0.5vw;
  background-color: #3C4761;
  font-size: 0;
}

@media screen and (max-width: 767px) {
  .main-02-box-lead::before {
    width: 1.5625vw;
    height: 0.46875vw;
    margin-right: 1.5625vw;
  }
}

.main-02-box-lead::after {
  display: block;
  content: "";
  width: 0.77778vw;
  height: 0.16667vw;
  margin-right: 0.5vw;
  background-color: #3C4761;
  font-size: 0;
}

@media screen and (max-width: 767px) {
  .main-02-box-lead::after {
    width: 1.5625vw;
    height: 0.46875vw;
    margin-left: 1.5625vw;
  }
}

.main-02-box-text {
  width: 73.66667vw;
  margin: 0 auto 4vw;
  font-size: 1.44444vw;
  line-height: 3.55556vw;
}

@media screen and (max-width: 767px) {
  .main-02-box-text {
    width: 69.6875vw;
    margin-bottom: 5.625vw;
    font-size: 2.96875vw;
    line-height: 5.78125vw;
    letter-spacing: 0.1em;
  }
}

.main-02-box-text b {
  color: #7B1482;
  font-size: 2vw;
  font-weight: normal;
  text-decoration: underline;
}

@media screen and (max-width: 767px) {
  .main-02-box-text b {
    font-size: 3.4375vw;
  }
}

.main-02-box-name {
  width: 73.66667vw;
  margin: 0 auto 3.44444vw;
  font-size: 1.44444vw;
  line-height: 1;
  letter-spacing: 0.08em;
}

@media screen and (max-width: 767px) {
  .main-02-box-name {
    width: 69.6875vw;
    margin-bottom: 5.625vw;
    font-size: 2.96875vw;
    line-height: 5.78125vw;
    letter-spacing: 0.1em;
  }
}

.main-02-box-name .sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .main-02-box-name .sp {
    display: inline;
  }
}

.main-02-box-link {
  font-size: 1.33333vw;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .main-02-box-link {
    width: 69.6875vw;
    margin: 0 auto;
    font-size: 2.34375vw;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
    text-align: left;
    letter-spacing: 0.16em;
  }
}

.main-02-box-link a {
  color: #7B1482;
  text-decoration: none;
}

.main-02-box-link a .arrow {
  display: inline-block;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.main-02-box-img {
  position: absolute;
  bottom: 3.05556vw;
  right: 4.88889vw;
  width: 13.55556vw;
}

@media screen and (max-width: 767px) {
  .main-02-box-img {
    bottom: 6.71875vw;
    right: 6.5625vw;
    width: 28.75vw;
  }
}

.main-02-box-img img {
  width: 100%;
}

/*----------main-03----------*/
.main-03-img-container {
  background-color: #E1DAEC;
}

.main-03-img {
  width: 100vw;
  margin: 0 auto;
}

.main-03-img img {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .main-03-img {
    width: 100%;
  }
}

/*----------main-04----------*/
/*----------main-06----------*/
.main-04 {
  padding: 4.66667vw 0 4.88889vw;
  background-color: #DCDDDD;
}

@media screen and (max-width: 767px) {
  .main-04 {
    padding: 10vw 0 13.125vw;
  }
}

.main-06 {
  padding: 5.22222vw 0 4.88889vw;
  background-color: #DCDDDD;
}

@media screen and (max-width: 767px) {
  .main-06 {
    padding: 9.375vw 0 9.375vw;
  }
}

.main-04-logo {
  width: 14.11111vw;
  margin: 0 auto 30px;
}

@media screen and (max-width: 767px) {
  .main-04-logo {
    width: 39.53125vw;
    margin-bottom: 6.875vw;
  }
}

.main-06-logo {
  width: 14.11111vw;
  margin: 0 auto 4.66667vw;
}

@media screen and (max-width: 767px) {
  .main-06-logo {
    width: 39.53125vw;
    margin-bottom: 9.375vw;
  }
}

.main-04-title, .main-06-title {
  margin-bottom: 2.44444vw;
  font-size: 3.66667vw;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 767px) {
  .main-04-title, .main-06-title {
    font-size: 9.53125vw;
    margin-bottom: 7.34375vw;
  }
}

.main-04-text, .main-06-text {
  margin-bottom: 1.11111vw;
  font-size: 2vw;
  line-height: 4vw;
  text-align: center;
  letter-spacing: 0.16em;
}

@media screen and (max-width: 767px) {
  .main-04-text, .main-06-text {
    margin-bottom: 2.8125vw;
    font-size: 4.375vw;
    line-height: 8.125vw;
    letter-spacing: 0.1em;
  }
}

.main-04-text .sp, .main-06-text .sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .main-04-text .sp, .main-06-text .sp {
    display: inline;
  }
}

.main-04-note, .main-06-note {
  margin: 0 0 3.33333vw;
  font-size: 1.16667vw;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 2.33333vw;
  text-align: center;
  letter-spacing: 0.15em;
}

@media screen and (max-width: 767px) {
  .main-04-note, .main-06-note {
    margin-bottom: 7.96875vw;
    font-size: 2.1875vw;
    line-height: 4.21875vw;
    letter-spacing: 0.1em;
  }
}

@media screen and (max-width: 767px) {
  .main-04-note .pc, .main-06-note .pc {
    display: none;
  }
}

.main-04-note .sp, .main-06-note .sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .main-04-note .sp, .main-06-note .sp {
    display: inline;
  }
}

.main-04-price, .main-06-price {
  margin: 0 0 2.44444vw;
  font-size: 2.66667vw;
  line-height: 1;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .main-04-price, .main-06-price {
    margin-bottom: 7.1875vw;
    font-size: 6.40625vw;
  }
}

.main-04-price .frame, .main-06-price .frame {
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .main-04-price .frame, .main-06-price .frame {
    letter-spacing: 0.02em;
  }
}

.main-04-price .plus, .main-06-price .plus {
  margin: 0 1.11111vw 0 0.66667vw;
  letter-spacing: 0.08em;
  vertical-align: 0.11111vw;
}

@media screen and (max-width: 767px) {
  .main-04-price .plus, .main-06-price .plus {
    margin: 0 3.90625vw 0 3.125vw;
  }
}

.main-04-price .yen, .main-06-price .yen {
  color: #7B1482;
  font-weight: 700;
  letter-spacing: 0.2em;
}

.main-04-price .num, .main-06-price .num {
  color: #7B1482;
  font-family: "jins_next_ttregular", sans-serif;
  letter-spacing: 0.05em;
}

.main-04-price .tax, .main-06-price .tax {
  margin-left: -7px;
  color: #7B1482;
  font-size: 2.44444vw;
  font-weight: 700;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: 0.1em;
  vertical-align: 0.11111vw;
}

@media screen and (max-width: 767px) {
  .main-04-price .tax, .main-06-price .tax {
    margin-left: -1.875vw;
    font-size: 5.78125vw;
  }
}

.main-04-img, .main-06-img {
  width: 43.22222vw;
  margin: 0 auto 3.22222vw;
}

@media screen and (max-width: 767px) {
  .main-04-img, .main-06-img {
    width: 77.1875vw;
    margin-bottom: 9.21875vw;
  }
}

.main-04-img img, .main-06-img img {
  width: 100%;
}

.main-04-link, .main-06-link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 16.11111vw;
  height: 4.11111vw;
  margin: 0 auto;
  background-color: #7B1482;
  border: 0.11111vw solid #fff;
  border-radius: 5px;
  color: #fff;
  font-size: 1.11111vw;
  box-sizing: border-box;
  text-decoration: none;
}

.main-04-link:hover, .main-06-link:hover {
  color: #7B1482;
  background-color: #fff;
  border: 0.11111vw solid #7B1482;
  -webkit-transition: color 0.3s cubic-bezier(0.25, 0.1, 0.25, 1), background-color 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
  transition: color 0.3s cubic-bezier(0.25, 0.1, 0.25, 1), background-color 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
}

@media screen and (max-width: 767px) {
  .main-04-link, .main-06-link {
    width: 47.65625vw;
    height: 12.03125vw;
    margin: 0 auto;
    font-size: 3.125vw;
    letter-spacing: 0.16em;
    border: 1px solid #fff;
  }
  .main-04-link:hover, .main-06-link:hover {
    color: #fff;
    background-color: #7B1482;
    border: 1px solid #fff;
  }
}

/*----------main-05-01----------*/
.p-main-05__item {
	background: #F8F8F8;
	border-radius: 10px;
	margin: 60px 0;
	padding: 40px;
}
.main-05-00 {
	display: flex;
	align-items: center;
	gap: 20px 40px;
	margin: 0 0 40px;
}
.main-05-00__content {
	flex: 1;
}
.main-05-00__title {
	margin-bottom: 10px;
	line-height: 1.55;
	font-size: 20px;
	font-weight: bold;
}
.main-05-00__text {
	line-height: 1.66;
}

@media screen and (max-width: 767px) {
	.main-05-00 {
		flex-direction: column-reverse;
	}
	.p-main-05__item {
		padding: 24px;
	}
}

.main-05-01 {}

@media screen and (max-width: 767px) {
  .main-05-01 {}
}

.main-05-01-title {
  line-height: 1.66;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .main-05-01-title {
    text-align: left;
  }
}

.main-05-01-title .sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .main-05-01-title .sp {
    display: inline;
  }
}

.main-05-01-text {
  margin-bottom: 20px;
  line-height: 1.55;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .main-05-01-text {
    text-align: left;
  }
  .main-05-01-text .sp {
    display: none;
  }
}

.main-05-01-img {
  max-width: 660px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
	.main-05-01-img {
		margin-bottom: 20px;
	}
}

/*----------main-05-02----------*/
.main-05-02 {}

@media screen and (max-width: 767px) {
  .main-05-02 {}
}

.main-05-02-title {
  margin-bottom: 7.44444vw;
  color: #7B1482;
  font-size: 2.94444vw;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 1;
  text-align: center;
  letter-spacing: 0.16em;
}

@media screen and (max-width: 767px) {
  .main-05-02-title {
    margin-bottom: 10.625vw;
    font-size: 4.375vw;
    line-height: 7.96875vw;
    letter-spacing: 0.1em;
  }
}

.main-05-02-title .sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .main-05-02-title .sp {
    display: inline;
  }
}

.main-05-02-img {
	max-width: 760px;
	margin: 0 auto 40px;
}

@media screen and (max-width: 767px) {
  .main-05-02-img {}
}

.main-05-02-img img {
  width: 100%;
}

.main-05-02-img-sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .main-05-02-img-sp {
    display: block;
    margin: 0 auto;
  }
}

.main-05-02-note {
	line-height: 1.66;
	font-size: 11px;
	color: #5E5E5E;
}
.main-05-02-note__item {
	margin: 0 0 4px 1.9em;
	text-indent: -1.9em;
	line-height: 1.66;
}

@media screen and (max-width: 767px) {
  .main-05-02-note {}
  .main-05-02-note .pc {
    display: none;
  }
}

/*----------main06-03----------*/
.main-05-03 {
  padding: 5.33333vw 0 7.11111vw;
  border-top: 1px solid #A0A5B2;
}

@media screen and (max-width: 767px) {
  .main-05-03 {
    padding: 9.375vw 0 10.78125vw;
  }
}

.main-05-03-title {
  margin-bottom: 4.44444vw;
  color: #7B1482;
  font-size: 2.88889vw;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 5.33333vw;
  text-align: center;
  letter-spacing: 0.16em;
}

@media screen and (max-width: 767px) {
  .main-05-03-title {
    margin-bottom: 7.03125vw;
    font-size: 4.375vw;
    line-height: 7.96875vw;
    letter-spacing: 0.1em;
  }
}

.main-05-03-unit {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 767px) {
  .main-05-03-unit {
    display: block;
  }
}

.main-05-03-img {
  margin: 0 9.66667vw 0 5.11111vw;
  width: 38.44444vw;
}

@media screen and (max-width: 767px) {
  .main-05-03-img {
    width: 76.71875vw;
    margin: 0 auto 6.875vw;
  }
}

.main-05-03-img img {
  width: 100%;
}

.main-05-03-text {
  color: #3C4761;
  font-size: 1.66667vw;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 3.11111vw;
  letter-spacing: 0.16em;
}

@media screen and (max-width: 767px) {
  .main-05-03-text {
    width: 77.34375vw;
    margin: 0 auto;
    font-size: 3.90625vw;
    line-height: 6.875vw;
    letter-spacing: 0.1em;
  }
  .main-05-03-text .pc {
    display: none;
  }
}

/*----------main-07----------*/
.main-07 {
  padding: 9.11111vw 0 9.44444vw;
}

@media screen and (max-width: 767px) {
  .main-07 {
    padding: 13.75vw 0 25vw;
  }
}

.main-07-container {
  width: 83.16667vw;
  height: 26.88889vw;
  margin: 0 auto;
  padding: 4.66667vw 0 0;
  border: 1px solid #DBDDE2;
  border-radius: 30px;
  box-sizing: border-box;
}

@media screen and (max-width: 767px) {
  .main-07-container {
    width: 77.1875vw;
    height: 82.1875vw;
    padding: 7.1875vw 0 0;
    border-radius: 20px;
  }
}

.main-07-unit {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1.05556vw;
}

@media screen and (max-width: 767px) {
  .main-07-unit {
    display: block;
    margin-bottom: 0;
  }
}

.main-07-img {
  width: 14vw;
  margin: 0 2.77778vw 0 4.77778vw;
}

@media screen and (max-width: 767px) {
  .main-07-img {
    width: 32.5vw;
    margin: 0 auto 1.5625vw;
  }
}

.main-07-img img {
  width: 100%;
}

.main-07-text {
  margin: 0;
  color: #3C4761;
  font-size: 1.77778vw;
  line-height: 3.55556vw;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .main-07-text {
    margin-bottom: 6.25vw;
    font-size: 3.28125vw;
    text-align: center;
    line-height: 6.875vw;
    letter-spacing: 0.05em;
  }
}

.main-07-text .sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .main-07-text .sp {
    display: inline;
  }
}

.main-07-link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 22.22222vw;
  height: 5.55556vw;
  margin: 0 auto;
  border: 0.16667vw solid #3B465F;
  border-radius: 7px;
  color: #3C4761;
  font-size: 1.44444vw;
  text-decoration: none;
}

.main-07-link:hover {
  color: #fff;
  background-color: #3C4761;
  border: 0.16667vw solid #3C4761;
  -webkit-transition: color 0.3s cubic-bezier(0.25, 0.1, 0.25, 1), background-color 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
  transition: color 0.3s cubic-bezier(0.25, 0.1, 0.25, 1), background-color 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
}

@media screen and (max-width: 767px) {
  .main-07-link {
    width: 47.65625vw;
    height: 12.03125vw;
    border: 1px solid #3B465F;
    font-size: 3.125vw;
  }
  .main-07-link:hover {
    background-color: #fff;
    border: 1px solid #3B465F;
    color: #3C4761;
  }
}

/* ----------- LENS GUIDE TOP 導線追加 2020/08 ----------- */
.spOnly {
  display: none !important;
}

@media only screen and (max-width: 768px) {
  .spOnly {
    display: block !important;
  }
}

.pcOnly {
  display: block !important;
}

@media only screen and (max-width: 768px) {
  .pcOnly {
    display: none !important;
  }
}

.lensguidetop-link {
  width: 84%;
  max-width: 1040px;
  margin: auto auto 80px;
}

.lensguidetop-link .banner-link {
  width: 100%;
  padding: 0;
  color: #3e3a39;
  background: #eeeeee;
}

@media only screen and (min-width: 769px) {
  .lensguidetop-link .banner-link {
    width: 100%;
    max-width: 660px;
    margin: auto;
  }
  .lensguidetop-link .banner-link a {
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
  .lensguidetop-link .banner-link a:hover {
    opacity: 0.8;
  }
}

/* ipadリンク対応 */
#store__ipad #header {
	display: none;
  }
  
  #store__ipad .main {
	padding-top: 0px;
  }

  #store__ipad .main-01-banner-unit a {
    display: none;
  }

  #store__ipad .main-02-box-link {
    display: none;
  }

  #store__ipad .main-04 a {
    display: none;
  }

  #store__ipad .main-06 a {
    display: none;
  }

  #store__ipad .main-07-container {
    height: 19.88889vw;
  }

  #store__ipad .main-07 a {
    display: none;
  }

    #store__ipad .footer {
	display: none;
  }
  
  #store__ipad .ipt_search {
	display: none;
  }
  
  /* #store__ipad a {
	pointer-events: none;
  } */

/* p-price
--------------------------------*/
.p-price-lens__note {
    margin-top: -4px;
    font-weight: normal;
    font-size: 12.2px;
} 

.p-priceFooter {
	margin-top: 29px;
	text-align: center;
}
.main .button-m-3-sub2-jp {
	display: inline-block;
}
.p-priceFooter__text {
	margin-top: 15px;
	line-height: 1.66;
	font-size: 14.4px;
}

.p-recommendLenses {
	margin-top: 80px;
	margin-bottom: 90px;
	text-align: center;
}
.p-recommendLenses .button-l-1-main-jp {
	display: inline-block;
}

@media screen and (min-width: 769px) {
	.p-recommendLenses .button-l-1-main-jp {
		width: auto;
	}
}

@media screen and (max-width: 768px) {
	.p-recommendLenses {
		margin-top: 50px;
		margin-bottom: 60px;
	}
}
