@charset "UTF-8";
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}

q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

* {
  box-sizing: border-box;
  outline: none;
  backface-visibility: hidden;
}

*:before,
*:after {
  box-sizing: border-box;
}

html {
  font-size: 10px;
  line-height: 1.6;
}

body {
  position: relative;
  color: #222;
  font-family: "Noto Sans JP", serif;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  -webkit-font-smoothing: antialiased;
}
body.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
}

.container {
  max-width: 750px;
  min-height: 100vh;
  min-height: 100dvh;
  margin-left: auto;
  margin-right: auto;
  opacity: 0;
  pointer-events: none;
}
.loaded .container {
  opacity: 1;
  transition: opacity 1s;
  pointer-events: auto;
}

main {
  position: relative;
}

a {
  color: inherit;
  text-decoration: none;
  transition: 0.25s;
}
a:hover {
  opacity: 0.5;
}

img {
  display: block;
  max-width: 100%;
}

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

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

.inview:not(.view) {
  opacity: 0.01;
}
.inview.view {
  opacity: 1;
  animation: view 0.5s backwards;
}
@keyframes view {
  0% {
    opacity: 0.01;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.inview2:not(.view) {
  opacity: 0.01;
  transition: opacity 0.25s;
}
.inview2.view {
  opacity: 1;
  transition: opacity 0.25s;
}

.inviews:not(.view) > * {
  opacity: 0.01;
}
.inviews.view > * {
  opacity: 1;
  animation: views 0.5s backwards;
}
@keyframes views {
  0% {
    opacity: 0.01;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.inviewParent {
  position: relative;
}
.inviewTrigger {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  z-index: -1;
  pointer-events: none;
}
@media only screen and (min-width: 768px) {
  .inviewTrigger {
    top: 40%;
  }
}
.inviewChild:not(.view) {
  opacity: 0.001;
  transition: opacity 0.25s;
}
.inviewChild.view {
  opacity: 1;
  transition: opacity 0.25s;
}

.fv h1 {
  background-color: #000;
  padding-bottom: min(75 / 750 * 100vw, 75px);
}

.cta {
  position: relative;
}
.cta h2 {
  position: relative;
  margin-top: max(-50 / 750 * 100vw, -50px);
}
.cta h2 span {
  position: absolute;
  top: min(40 / 750 * 100vw, 40px);
  left: min(280 / 750 * 100vw, 280px);
  color: #fff;
  font-size: min(39 / 750 * 100vw, 39px);
  font-weight: bold;
  line-height: 1;
}
.cta h2 span b {
  color: #fff6bd;
  font-size: min(83 / 750 * 100vw, 83px);
}
.cta__itemInner {
  position: relative;
}
.cta__item01 {
  position: absolute;
  top: min(242 / 750 * 100vw, 242px);
  left: min(30 / 750 * 100vw, 30px);
  width: min(341.5 / 750 * 100vw, 341.5px);
}
.cta__item02 {
  position: absolute;
  top: min(242 / 750 * 100vw, 242px);
  left: min(390 / 750 * 100vw, 390px);
  width: min(341.5 / 750 * 100vw, 341.5px);
}
.cta__btn {
  position: absolute;
  bottom: min(20 / 750 * 100vw, 20px);
  left: min(20 / 750 * 100vw, 20px);
  width: min(301.5 / 750 * 100vw, 301.5px);
}
.cta__intro {
  position: absolute;
  top: min(20 / 750 * 100vw, 20px);
  left: 50%;
  font-size: min(41 / 750 * 100vw, 41px);
  font-weight: bold;
  text-align: center;
  white-space: nowrap;
  line-height: 1.2;
  transform: translateX(-50%);
}
.cta__intro.-intro02 {
  top: min(15 / 750 * 100vw, 15px);
  line-height: 1;
}
.cta__intro .q1 {
  font-size: min(34 / 750 * 100vw, 34px);
}
.cta__intro .q2 {
  font-size: min(60 / 750 * 100vw, 60px);
}
.cta__caption {
  position: absolute;
  top: min(140 / 750 * 100vw, 140px);
  left: 50%;
  color: #fff;
  font-size: min(60 / 750 * 100vw, 60px);
  font-weight: bold;
  text-align: center;
  white-space: nowrap;
  line-height: 1.2;
  transform: translateX(-50%);
}
.cta__caption span {
  font-size: min(35 / 750 * 100vw, 35px);
}
.cta__title {
  position: absolute;
  top: min(350 / 750 * 100vw, 350px);
  left: 50%;
  font-size: min(28 / 750 * 100vw, 28px);
  font-weight: bold;
  text-align: center;
  white-space: nowrap;
  line-height: 1.2;
  transform: translateX(-50%);
}
.cta__title span {
  color: #9d152d;
  font-size: min(32 / 750 * 100vw, 32px);
}
.cta__price {
  position: absolute;
  top: min(785 / 750 * 100vw, 785px);
  left: 50%;
  color: #9d152d;
  font-size: min(70 / 750 * 100vw, 70px);
  font-weight: bold;
  text-align: center;
  white-space: nowrap;
  line-height: 1.2;
  font-feature-settings: "palt" 1;
  transform: translateX(-50%);
}
.cta__price span {
  font-size: min(50 / 750 * 100vw, 50px);
}
.cta__info {
  position: absolute;
  top: min(874 / 750 * 100vw, 874px);
  left: 50%;
  color: #9d152d;
  font-size: min(32 / 750 * 100vw, 32px);
  font-weight: bold;
  text-align: center;
  white-space: nowrap;
  transform: translateX(-50%);
}

.mecanism {
  position: relative;
}
.mecanism h2 {
  position: relative;
}
.mecanism h2 span {
  position: absolute;
  top: min(40 / 750 * 100vw, 40px);
  left: 50%;
  width: 100%;
  font-family: serif;
  font-size: min(47 / 750 * 100vw, 47px);
  font-weight: bold;
  text-align: center;
  line-height: 1.2;
  transform: translateX(-50%);
}
.mecanism h2 span b {
  font-size: min(76 / 750 * 100vw, 76px);
}
.mecanism .item01 {
  position: absolute;
  top: min(857 / 750 * 100vw, 857px);
  left: min(30 / 750 * 100vw, 30px);
  width: min(330 / 750 * 100vw, 330px);
}
.mecanism .item02 {
  position: absolute;
  top: min(857 / 750 * 100vw, 857px);
  right: min(30 / 750 * 100vw, 30px);
  width: min(330 / 750 * 100vw, 330px);
}

.apprroach {
  position: relative;
}
.apprroach h2 {
  position: relative;
}
.apprroach h2 span {
  position: absolute;
  top: min(40 / 750 * 100vw, 40px);
  left: 50%;
  width: 100%;
  font-size: min(58 / 750 * 100vw, 58px);
  font-weight: bold;
  text-align: center;
  line-height: 1;
  transform: translateX(-50%);
}
.apprroach__img {
  position: absolute;
  bottom: 0;
  left: 0;
}

.difference h2 {
  width: min(656 / 750 * 100vw, 656px);
  margin-top: min(30 / 750 * 100vw, 30px);
  margin-left: auto;
  margin-right: auto;
}
.difference__item {
  position: relative;
  margin-top: min(40 / 750 * 100vw, 40px);
}
.difference__item + .difference__item {
  margin-top: min(20 / 750 * 100vw, 20px);
}
.difference__item .-gif {
  position: absolute;
  top: min(2 / 750 * 100vw, 2px);
  right: min(2 / 750 * 100vw, 2px);
  width: min(322 / 750 * 100vw, 322px);
}
.difference__outro {
  width: min(638 / 750 * 100vw, 638px);
  margin-left: auto;
  margin-right: auto;
  margin-top: min(20 / 750 * 100vw, 20px);
}

.point {
  margin-top: min(50 / 750 * 100vw, 50px);
}
.point__img {
  width: min(693 / 750 * 100vw, 693px);
  margin-left: auto;
  margin-right: auto;
  margin-top: min(40 / 750 * 100vw, 40px);
}

.message {
  margin-top: min(20 / 750 * 100vw, 20px);
}
.message h2 {
  position: relative;
}
.message h2 span {
  position: absolute;
  top: min(40 / 750 * 100vw, 40px);
  left: 50%;
  width: 100%;
  font-size: min(44 / 750 * 100vw, 44px);
  font-weight: bold;
  text-align: center;
  line-height: 1.2;
  transform: translateX(-50%);
}
.message h2 b {
  font-family: serif;
  font-size: min(39 / 750 * 100vw, 39px);
}

.feature {
  background-color: #000;
  padding-bottom: min(50 / 750 * 100vw, 50px);
}
.feature__item {
  position: relative;
  width: min(690 / 750 * 100vw, 690px);
  margin-left: auto;
  margin-right: auto;
  margin-top: min(90 / 750 * 100vw, 90px);
  background-color: #fff;
  box-shadow: 0px 0px 5vw 0px rgba(255, 255, 255, 0.7);
  padding-top: min(100 / 750 * 100vw, 100px);
  padding-bottom: min(450 / 750 * 100vw, 450px);
  padding-left: min(20 / 750 * 100vw, 20px);
  padding-right: min(20 / 750 * 100vw, 20px);
  background-size: contain;
  background-position: center bottom;
  background-repeat: no-repeat;
}
.feature__item + .feature__item {
  margin-top: min(150 / 750 * 100vw, 150px);
}
.feature__itemIcon {
  position: absolute;
  top: 0;
  left: 50%;
  width: min(148 / 750 * 100vw, 148px);
  transform: translate(-50%, -50%);
}
.feature__itemIntro {
  margin-left: auto;
  margin-right: auto;
}
.feature__itemDetail {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(650 / 750 * 100vw, 650px);
  height: min(50 / 750 * 100vw, 50px);
  font-size: min(26 / 750 * 100vw, 26px);
  font-weight: bold;
  background-color: #d9d9d9;
  margin-top: min(30 / 750 * 100vw, 30px);
  margin-bottom: min(30 / 750 * 100vw, 30px);
  cursor: pointer;
}
.feature__itemDetail::after {
  width: min(26 / 750 * 100vw, 26px);
  content: "＋";
  text-align: center;
}
.feature__itemDetail.-active::after {
  content: "−";
}
.feature__itemImg {
  display: none;
}
.feature__item.-item01 {
  background-image: url(../img/bg_feature01.webp);
}
.feature__item.-item01 .feature__itemIntro {
  width: min(619 / 750 * 100vw, 619px);
}
.feature__item.-item01 .feature__itemImg {
  width: min(580 / 750 * 100vw, 580px);
}
.feature__item.-item02 {
  background-image: url(../img/bg_feature02.webp);
}
.feature__item.-item02 .feature__itemIntro {
  width: min(337 / 750 * 100vw, 337px);
}
.feature__item.-item02 .feature__itemImg {
  width: min(653 / 750 * 100vw, 653px);
}
.feature__item.-item03 {
  background-image: url(../img/bg_feature03.webp);
}
.feature__item.-item03 .feature__itemIntro {
  width: min(566 / 750 * 100vw, 566px);
}
.feature__item.-item03 .feature__itemImg {
  width: min(606 / 750 * 100vw, 606px);
}

.check {
  background-color: #dcf7ff;
  padding-bottom: min(100 / 750 * 100vw, 100px);
}
.check__item {
  position: relative;
  width: min(690 / 750 * 100vw, 690px);
  margin-left: auto;
  margin-right: auto;
  margin-top: min(30 / 750 * 100vw, 30px);
}
.check__item .-gif {
  position: absolute;
  top: min(160 / 750 * 100vw, 160px);
  left: 0;
}
.check__img {
  width: min(690 / 750 * 100vw, 690px);
  margin-left: auto;
  margin-right: auto;
  margin-top: min(30 / 750 * 100vw, 30px);
}

.lineup {
  position: relative;
  background-color: #dadada;
}
.lineup .item01 {
  position: absolute;
  top: min(443 / 750 * 100vw, 443px);
  left: min(50 / 750 * 100vw, 50px);
  width: min(280.5 / 750 * 100vw, 280.5px);
}
.lineup .item02 {
  position: absolute;
  top: min(473 / 750 * 100vw, 473px);
  right: min(85 / 750 * 100vw, 85px);
  width: min(236 / 750 * 100vw, 236px);
}
.lineup .intro {
  position: relative;
}
.lineup .introPrice {
  position: absolute;
  top: min(1810 / 750 * 100vw, 1810px);
  color: #9d152d;
  font-size: min(80 / 750 * 100vw, 80px);
  font-weight: bold;
  text-align: center;
}
.lineup .introPrice::after {
  content: "（税込）";
  position: absolute;
  top: min(25 / 750 * 100vw, 25px);
  left: min(215 / 750 * 100vw, 215px);
  display: inline-block;
  color: #222;
  font-weight: bold;
  font-size: min(17 / 750 * 100vw, 17px);
  white-space: nowrap;
}
.lineup .introPrice span {
  font-size: min(55 / 750 * 100vw, 55px);
}
.lineup .introPrice.p01 {
  left: min(70 / 750 * 100vw, 70px);
}
.lineup .introPrice.p02 {
  right: min(70 / 750 * 100vw, 70px);
}
.lineup .introInfo {
  position: absolute;
  top: min(1920 / 750 * 100vw, 1920px);
  font-size: min(45 / 750 * 100vw, 45px);
  font-weight: bold;
  text-align: center;
}
.lineup .introInfo.i01 {
  left: min(135 / 750 * 100vw, 135px);
}
.lineup .introInfo.i02 {
  right: min(135 / 750 * 100vw, 135px);
}

.support {
  background-image: url(../img/bg_support.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding-top: min(30 / 750 * 100vw, 30px);
  padding-bottom: min(30 / 750 * 100vw, 30px);
}
.support h2 {
  width: min(610 / 750 * 100vw, 610px);
  margin-left: auto;
  margin-right: auto;
}
.support__link {
  width: min(650 / 750 * 100vw, 650px);
  margin-left: auto;
  margin-right: auto;
  margin-top: min(50 / 750 * 100vw, 50px);
}
.support__img {
  width: min(658 / 750 * 100vw, 658px);
  margin-left: auto;
  margin-right: auto;
  margin-top: min(50 / 750 * 100vw, 50px);
}
.support__item {
  position: relative;
  width: min(650 / 750 * 100vw, 650px);
  margin-left: auto;
  margin-right: auto;
  margin-top: min(30 / 750 * 100vw, 30px);
}
.support__item .-gif {
  position: absolute;
  top: min(380 / 750 * 100vw, 380px);
  left: min(43 / 750 * 100vw, 43px);
  width: min(560 / 750 * 100vw, 560px);
}

.notice {
  padding-top: min(40 / 750 * 100vw, 40px);
  padding-bottom: min(40 / 750 * 100vw, 40px);
  padding-left: min(30 / 750 * 100vw, 30px);
  margin-right: min(30 / 750 * 100vw, 30px);
}
.notice__img {
  padding-top: min(30 / 750 * 100vw, 30px);
}

.qa {
  background-color: #000;
  padding-top: min(40 / 750 * 100vw, 40px);
  padding-bottom: min(40 / 750 * 100vw, 40px);
}
.qa .qa-content {
  width: min(652 / 750 * 100vw, 652px);
  background-color: #fff;
  margin-left: auto;
  margin-right: auto;
  margin-top: min(30 / 750 * 100vw, 30px);
}
.qa .qa-item {
  border-bottom: 1px solid #b19a55;
  padding: min(30 / 750 * 100vw, 30px);
}
.qa .qa-item:last-child {
  border-bottom: none;
}
.qa .qa-question {
  padding-left: min(70 / 750 * 100vw, 70px);
  position: relative;
  cursor: pointer;
}
.qa .qa-question:before {
  content: "";
  display: block;
  width: min(50 / 750 * 100vw, 50px);
  height: min(50 / 750 * 100vw, 50px);
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20%0A%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%0A%20width%3D%2273px%22%20height%3D%2273px%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20%20fill%3D%22rgb(164%2C%20134%2C%2079)%22%0A%20d%3D%22M-0.000%2C-0.000%20L73.000%2C-0.000%20L73.000%2C72.1000%20L-0.000%2C72.1000%20L-0.000%2C-0.000%20Z%22%2F%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20%20fill%3D%22rgb(255%2C%20255%2C%20255)%22%0A%20d%3D%22M50.520%2C38.450%20L50.520%2C33.170%20C50.520%2C20.150%2044.281%2C14.571%2034.981%2C14.571%20C25.741%2C14.571%2019.502%2C20.150%2019.502%2C33.170%20L19.502%2C38.450%20C19.502%2C51.469%2025.741%2C57.049%2034.981%2C57.049%20C38.881%2C57.049%2042.301%2C56.089%2044.881%2C53.929%20L50.160%2C58.609%20L54.060%2C54.169%20L48.480%2C49.189%20C49.800%2C46.429%2050.520%2C42.829%2050.520%2C38.450%20ZM26.461%2C33.170%20C26.461%2C24.230%2029.461%2C20.630%2034.981%2C20.630%20C40.501%2C20.630%2043.561%2C24.230%2043.561%2C33.170%20L43.561%2C38.450%20C43.561%2C40.730%2043.381%2C42.649%2042.961%2C44.209%20L38.641%2C40.310%20L34.621%2C44.809%20L39.901%2C49.549%20C38.581%2C50.509%2036.961%2C50.989%2034.981%2C50.989%20C29.461%2C50.989%2026.461%2C47.389%2026.461%2C38.450%20L26.461%2C33.170%20Z%22%2F%3E%0A%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
.qa .qa-question-text {
  color: #a58750;
  font-size: min(26 / 750 * 100vw, 26px);
  font-weight: bold;
  line-height: 1.6;
  padding-right: min(70 / 750 * 100vw, 70px);
}
.qa .qa-question-btn {
  width: min(42 / 750 * 100vw, 42px);
  height: min(42 / 750 * 100vw, 42px);
  border-radius: 50%;
  border: 1px solid #a58750;
}
.qa .qa-question-btn,
.qa .qa-question-btn:after,
.qa .qa-question-btn:before {
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
.qa .qa-question-btn:after,
.qa .qa-question-btn:before {
  content: "";
  width: min(24 / 750 * 100vw, 24px);
  height: min(3 / 750 * 100vw, 3px);
  background-color: #a58750;
  left: 0;
}
.qa .qa-question-btn:after {
  transform: rotate(0);
  transition: 0.3s;
}
.qa .is-close .qa-question-btn:after {
  transform: rotate(90deg);
}
.qa .qa-answer {
  text-align: center;
  padding-top: min(40 / 750 * 100vw, 40px);
  padding-left: min(70 / 750 * 100vw, 70px);
  position: relative;
  display: none;
}
.qa .qa-answer:before {
  content: "";
  display: block;
  width: min(50 / 750 * 100vw, 50px);
  height: min(50 / 750 * 100vw, 50px);
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20%0A%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%0A%20width%3D%2273px%22%20height%3D%2273px%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20%20fill%3D%22rgb(158%2C%2022%2C%2046)%22%0A%20d%3D%22M-0.000%2C0.000%20L73.000%2C0.000%20L73.000%2C73.000%20L-0.000%2C73.000%20L-0.000%2C0.000%20Z%22%2F%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20%20fill%3D%22rgb(255%2C%20255%2C%20255)%22%0A%20d%3D%22M24.841%2C56.509%20L27.661%2C47.929%20L42.601%2C47.929%20L45.421%2C56.509%20L52.800%2C56.509%20L38.401%2C15.111%20L31.801%2C15.111%20L17.402%2C56.509%20L24.841%2C56.509%20ZM35.101%2C25.190%20L40.621%2C41.929%20L29.581%2C41.929%20L35.101%2C25.190%20Z%22%2F%3E%0A%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  position: absolute;
  top: min(45 / 750 * 100vw, 45px);
  left: 0;
  margin: auto;
}
.qa .qa-answer-text {
  font-size: min(26 / 750 * 100vw, 26px);
  text-align: left;
  line-height: 1.6;
}
.qa .qa-answer-img {
  margin-top: min(40 / 750 * 100vw, 40px);
  margin-bottom: min(40 / 750 * 100vw, 40px);
}
.qa .qa-answer-note {
  text-align: left;
  font-size: min(18 / 750 * 100vw, 18px);
  line-height: 1.6;
}
.qa .qa-answer-list-item {
  font-size: min(26 / 750 * 100vw, 26px);
  text-align: left;
  line-height: 1.6;
  position: relative;
  padding-left: min(20 / 750 * 100vw, 20px);
}
.qa .qa-answer-list-item:before {
  content: "";
  width: min(15 / 750 * 100vw, 15px);
  height: min(15 / 750 * 100vw, 15px);
  border-radius: 50%;
  background-color: #000;
  position: absolute;
  left: 0;
  top: min(12 / 750 * 100vw, 12px);
}
.qa .qa-answer-lead {
  font-size: min(26 / 750 * 100vw, 26px);
  line-height: 1.6;
  margin-bottom: min(12 / 750 * 100vw, 12px);
  font-weight: 700;
  text-align: left;
}
.qa .qa-answer-arrow {
  font-size: min(26 / 750 * 100vw, 26px);
  text-align: left;
  line-height: 1.6;
  position: relative;
  padding-left: min(20 / 750 * 100vw, 20px);
  margin-bottom: min(15 / 750 * 100vw, 15px);
}
.qa .qa-answer-arrow:before {
  content: "-";
  position: absolute;
  left: 0;
  top: 0;
}/*# sourceMappingURL=style.css.map */