/*!
 * ress.css • v2.0.4
 * MIT License
 * github.com/filipelinhares/ress
 */
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  word-break: normal;
  -moz-tab-size: 4;
  tab-size: 4;
}
*,
:after,
:before {
  background-repeat: no-repeat;
  box-sizing: inherit;
}
:after,
:before {
  text-decoration: inherit;
  vertical-align: inherit;
}
* {
  padding: 0;
  margin: 0;
}
hr {
  overflow: visible;
  height: 0;
}
details,
main {
  display: block;
}
summary {
  display: list-item;
}
small {
  font-size: 80%;
}
[hidden] {
  display: none;
}
abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}
a {
  background-color: transparent;
}
a:active,
a:hover {
  outline-width: 0;
}
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
}
pre {
  font-size: 1em;
}
b,
strong {
  font-weight: bolder;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
input {
  border-radius: 0;
}
[disabled] {
  cursor: default;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
textarea {
  overflow: auto;
  resize: vertical;
}
button,
input,
optgroup,
select,
textarea {
  font: inherit;
}
optgroup {
  font-weight: 700;
}
button {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
[role="button"],
[type="button"],
[type="reset"],
[type="submit"],
button {
  cursor: pointer;
  color: inherit;
}
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner,
button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner,
button:-moz-focusring {
  outline: 1px dotted ButtonText;
}
[type="reset"],
[type="submit"],
button,
html [type="button"] {
  -webkit-appearance: button;
}
button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
}
select {
  -moz-appearance: none;
  -webkit-appearance: none;
}
select::-ms-expand {
  display: none;
}
select::-ms-value {
  color: currentColor;
}
legend {
  border: 0;
  color: inherit;
  display: table;
  white-space: normal;
  max-width: 100%;
}
::-webkit-file-upload-button {
  -webkit-appearance: button;
  color: inherit;
  font: inherit;
}
img {
  border-style: none;
}
progress {
  vertical-align: baseline;
}
svg:not([fill]) {
  fill: currentColor;
}
@media screen {
  [hidden~="screen"] {
    display: inherit;
  }
  [hidden~="screen"]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
  }
}
[aria-busy="true"] {
  cursor: progress;
}
[aria-controls] {
  cursor: pointer;
}
[aria-disabled] {
  cursor: default;
}

@keyframes shake-large {
  0% {
    transform: translateX(0);
  }
  1% {
    transform: translateX(1.04px);
  }
  2% {
    transform: translateX(2.08px);
  }
  3% {
    transform: translateX(3.11px);
  }
  4% {
    transform: translateX(4.13px);
  }
  5% {
    transform: translateX(5.13px);
  }
  6% {
    transform: translateX(6.1px);
  }
  7% {
    transform: translateX(7.04px);
  }
  8% {
    transform: translateX(7.94px);
  }
  10% {
    transform: translateX(8.81px);
  }
  11% {
    transform: translateX(9.64px);
  }
  12% {
    transform: translateX(10.41px);
  }
  13% {
    transform: translateX(11.14px);
  }
  14% {
    transform: translateX(11.82px);
  }
  15% {
    transform: translateX(12.43px);
  }
  16% {
    transform: translateX(12.99px);
  }
  17% {
    transform: translateX(13.48px);
  }
  18% {
    transform: translateX(13.9px);
  }
  20% {
    transform: translateX(14.26px);
  }
  21% {
    transform: translateX(14.55px);
  }
  22% {
    transform: translateX(14.77px);
  }
  23% {
    transform: translateX(14.91px);
  }
  24% {
    transform: translateX(14.99px);
  }
  25% {
    transform: translateX(14.99px);
  }
  26% {
    transform: translateX(14.91px);
  }
  27% {
    transform: translateX(14.77px);
  }
  28% {
    transform: translateX(14.55px);
  }
  30% {
    transform: translateX(14.26px);
  }
  31% {
    transform: translateX(13.9px);
  }
  32% {
    transform: translateX(13.48px);
  }
  33% {
    transform: translateX(12.99px);
  }
  34% {
    transform: translateX(12.43px);
  }
  35% {
    transform: translateX(11.82px);
  }
  36% {
    transform: translateX(11.14px);
  }
  37% {
    transform: translateX(10.41px);
  }
  38% {
    transform: translateX(9.64px);
  }
  40% {
    transform: translateX(8.81px);
  }
  41% {
    transform: translateX(7.94px);
  }
  42% {
    transform: translateX(7.04px);
  }
  43% {
    transform: translateX(6.1px);
  }
  44% {
    transform: translateX(5.13px);
  }
  45% {
    transform: translateX(4.13px);
  }
  46% {
    transform: translateX(3.11px);
  }
  47% {
    transform: translateX(2.08px);
  }
  48% {
    transform: translateX(1.04px);
  }
  50% {
    transform: translateX(0px);
  }
  51% {
    transform: translateX(-1.04px);
  }
  52% {
    transform: translateX(-2.08px);
  }
  53% {
    transform: translateX(-3.11px);
  }
  54% {
    transform: translateX(-4.13px);
  }
  55% {
    transform: translateX(-5.13px);
  }
  56% {
    transform: translateX(-6.1px);
  }
  57% {
    transform: translateX(-7.04px);
  }
  58% {
    transform: translateX(-7.94px);
  }
  60% {
    transform: translateX(-8.81px);
  }
  61% {
    transform: translateX(-9.64px);
  }
  62% {
    transform: translateX(-10.41px);
  }
  63% {
    transform: translateX(-11.14px);
  }
  64% {
    transform: translateX(-11.82px);
  }
  65% {
    transform: translateX(-12.43px);
  }
  66% {
    transform: translateX(-12.99px);
  }
  67% {
    transform: translateX(-13.48px);
  }
  68% {
    transform: translateX(-13.9px);
  }
  70% {
    transform: translateX(-14.26px);
  }
  71% {
    transform: translateX(-14.55px);
  }
  72% {
    transform: translateX(-14.77px);
  }
  73% {
    transform: translateX(-14.91px);
  }
  74% {
    transform: translateX(-14.99px);
  }
  75% {
    transform: translateX(-14.99px);
  }
  76% {
    transform: translateX(-14.91px);
  }
  77% {
    transform: translateX(-14.77px);
  }
  78% {
    transform: translateX(-14.55px);
  }
  80% {
    transform: translateX(-14.26px);
  }
  81% {
    transform: translateX(-13.9px);
  }
  82% {
    transform: translateX(-13.48px);
  }
  83% {
    transform: translateX(-12.99px);
  }
  84% {
    transform: translateX(-12.43px);
  }
  85% {
    transform: translateX(-11.82px);
  }
  86% {
    transform: translateX(-11.14px);
  }
  87% {
    transform: translateX(-10.41px);
  }
  88% {
    transform: translateX(-9.64px);
  }
  90% {
    transform: translateX(-8.81px);
  }
  91% {
    transform: translateX(-7.94px);
  }
  92% {
    transform: translateX(-7.04px);
  }
  93% {
    transform: translateX(-6.1px);
  }
  94% {
    transform: translateX(-5.13px);
  }
  95% {
    transform: translateX(-4.13px);
  }
  96% {
    transform: translateX(-3.11px);
  }
  97% {
    transform: translateX(-2.08px);
  }
  98% {
    transform: translateX(-1.04px);
  }
  100% {
    transform: translateX(0px);
  }
}
@keyframes shake-middle {
  0% {
    transform: translateX(0);
  }
  1% {
    transform: translateX(0.69px);
  }
  2% {
    transform: translateX(1.39px);
  }
  3% {
    transform: translateX(2.07px);
  }
  4% {
    transform: translateX(2.75px);
  }
  5% {
    transform: translateX(3.42px);
  }
  6% {
    transform: translateX(4.06px);
  }
  7% {
    transform: translateX(4.69px);
  }
  8% {
    transform: translateX(5.29px);
  }
  10% {
    transform: translateX(5.87px);
  }
  11% {
    transform: translateX(6.42px);
  }
  12% {
    transform: translateX(6.94px);
  }
  13% {
    transform: translateX(7.43px);
  }
  14% {
    transform: translateX(7.88px);
  }
  15% {
    transform: translateX(8.29px);
  }
  16% {
    transform: translateX(8.66px);
  }
  17% {
    transform: translateX(8.98px);
  }
  18% {
    transform: translateX(9.27px);
  }
  20% {
    transform: translateX(9.51px);
  }
  21% {
    transform: translateX(9.7px);
  }
  22% {
    transform: translateX(9.84px);
  }
  23% {
    transform: translateX(9.94px);
  }
  24% {
    transform: translateX(9.99px);
  }
  25% {
    transform: translateX(9.99px);
  }
  26% {
    transform: translateX(9.94px);
  }
  27% {
    transform: translateX(9.84px);
  }
  28% {
    transform: translateX(9.7px);
  }
  30% {
    transform: translateX(9.51px);
  }
  31% {
    transform: translateX(9.27px);
  }
  32% {
    transform: translateX(8.98px);
  }
  33% {
    transform: translateX(8.66px);
  }
  34% {
    transform: translateX(8.29px);
  }
  35% {
    transform: translateX(7.88px);
  }
  36% {
    transform: translateX(7.43px);
  }
  37% {
    transform: translateX(6.94px);
  }
  38% {
    transform: translateX(6.42px);
  }
  40% {
    transform: translateX(5.87px);
  }
  41% {
    transform: translateX(5.29px);
  }
  42% {
    transform: translateX(4.69px);
  }
  43% {
    transform: translateX(4.06px);
  }
  44% {
    transform: translateX(3.42px);
  }
  45% {
    transform: translateX(2.75px);
  }
  46% {
    transform: translateX(2.07px);
  }
  47% {
    transform: translateX(1.39px);
  }
  48% {
    transform: translateX(0.69px);
  }
  50% {
    transform: translateX(0px);
  }
  51% {
    transform: translateX(-0.69px);
  }
  52% {
    transform: translateX(-1.39px);
  }
  53% {
    transform: translateX(-2.07px);
  }
  54% {
    transform: translateX(-2.75px);
  }
  55% {
    transform: translateX(-3.42px);
  }
  56% {
    transform: translateX(-4.06px);
  }
  57% {
    transform: translateX(-4.69px);
  }
  58% {
    transform: translateX(-5.29px);
  }
  60% {
    transform: translateX(-5.87px);
  }
  61% {
    transform: translateX(-6.42px);
  }
  62% {
    transform: translateX(-6.94px);
  }
  63% {
    transform: translateX(-7.43px);
  }
  64% {
    transform: translateX(-7.88px);
  }
  65% {
    transform: translateX(-8.29px);
  }
  66% {
    transform: translateX(-8.66px);
  }
  67% {
    transform: translateX(-8.98px);
  }
  68% {
    transform: translateX(-9.27px);
  }
  70% {
    transform: translateX(-9.51px);
  }
  71% {
    transform: translateX(-9.7px);
  }
  72% {
    transform: translateX(-9.84px);
  }
  73% {
    transform: translateX(-9.94px);
  }
  74% {
    transform: translateX(-9.99px);
  }
  75% {
    transform: translateX(-9.99px);
  }
  76% {
    transform: translateX(-9.94px);
  }
  77% {
    transform: translateX(-9.84px);
  }
  78% {
    transform: translateX(-9.7px);
  }
  80% {
    transform: translateX(-9.51px);
  }
  81% {
    transform: translateX(-9.27px);
  }
  82% {
    transform: translateX(-8.98px);
  }
  83% {
    transform: translateX(-8.66px);
  }
  84% {
    transform: translateX(-8.29px);
  }
  85% {
    transform: translateX(-7.88px);
  }
  86% {
    transform: translateX(-7.43px);
  }
  87% {
    transform: translateX(-6.94px);
  }
  88% {
    transform: translateX(-6.42px);
  }
  90% {
    transform: translateX(-5.87px);
  }
  91% {
    transform: translateX(-5.29px);
  }
  92% {
    transform: translateX(-4.69px);
  }
  93% {
    transform: translateX(-4.06px);
  }
  94% {
    transform: translateX(-3.42px);
  }
  95% {
    transform: translateX(-2.75px);
  }
  96% {
    transform: translateX(-2.07px);
  }
  97% {
    transform: translateX(-1.39px);
  }
  98% {
    transform: translateX(-0.69px);
  }
  100% {
    transform: translateX(0px);
  }
}
@keyframes shake-small {
  0% {
    transform: translateX(0);
  }
  1% {
    transform: translateX(0.34px);
  }
  2% {
    transform: translateX(0.69px);
  }
  3% {
    transform: translateX(1.03px);
  }
  4% {
    transform: translateX(1.37px);
  }
  5% {
    transform: translateX(1.71px);
  }
  6% {
    transform: translateX(2.03px);
  }
  7% {
    transform: translateX(2.34px);
  }
  8% {
    transform: translateX(2.64px);
  }
  10% {
    transform: translateX(2.93px);
  }
  11% {
    transform: translateX(3.21px);
  }
  12% {
    transform: translateX(3.47px);
  }
  13% {
    transform: translateX(3.71px);
  }
  14% {
    transform: translateX(3.94px);
  }
  15% {
    transform: translateX(4.14px);
  }
  16% {
    transform: translateX(4.33px);
  }
  17% {
    transform: translateX(4.49px);
  }
  18% {
    transform: translateX(4.63px);
  }
  20% {
    transform: translateX(4.75px);
  }
  21% {
    transform: translateX(4.85px);
  }
  22% {
    transform: translateX(4.92px);
  }
  23% {
    transform: translateX(4.97px);
  }
  24% {
    transform: translateX(4.99px);
  }
  25% {
    transform: translateX(4.99px);
  }
  26% {
    transform: translateX(4.97px);
  }
  27% {
    transform: translateX(4.92px);
  }
  28% {
    transform: translateX(4.85px);
  }
  30% {
    transform: translateX(4.75px);
  }
  31% {
    transform: translateX(4.63px);
  }
  32% {
    transform: translateX(4.49px);
  }
  33% {
    transform: translateX(4.33px);
  }
  34% {
    transform: translateX(4.14px);
  }
  35% {
    transform: translateX(3.94px);
  }
  36% {
    transform: translateX(3.71px);
  }
  37% {
    transform: translateX(3.47px);
  }
  38% {
    transform: translateX(3.21px);
  }
  40% {
    transform: translateX(2.93px);
  }
  41% {
    transform: translateX(2.64px);
  }
  42% {
    transform: translateX(2.34px);
  }
  43% {
    transform: translateX(2.03px);
  }
  44% {
    transform: translateX(1.71px);
  }
  45% {
    transform: translateX(1.37px);
  }
  46% {
    transform: translateX(1.03px);
  }
  47% {
    transform: translateX(0.69px);
  }
  48% {
    transform: translateX(0.34px);
  }
  50% {
    transform: translateX(0px);
  }
  51% {
    transform: translateX(-0.34px);
  }
  52% {
    transform: translateX(-0.69px);
  }
  53% {
    transform: translateX(-1.03px);
  }
  54% {
    transform: translateX(-1.37px);
  }
  55% {
    transform: translateX(-1.71px);
  }
  56% {
    transform: translateX(-2.03px);
  }
  57% {
    transform: translateX(-2.34px);
  }
  58% {
    transform: translateX(-2.64px);
  }
  60% {
    transform: translateX(-2.93px);
  }
  61% {
    transform: translateX(-3.21px);
  }
  62% {
    transform: translateX(-3.47px);
  }
  63% {
    transform: translateX(-3.71px);
  }
  64% {
    transform: translateX(-3.94px);
  }
  65% {
    transform: translateX(-4.14px);
  }
  66% {
    transform: translateX(-4.33px);
  }
  67% {
    transform: translateX(-4.49px);
  }
  68% {
    transform: translateX(-4.63px);
  }
  70% {
    transform: translateX(-4.75px);
  }
  71% {
    transform: translateX(-4.85px);
  }
  72% {
    transform: translateX(-4.92px);
  }
  73% {
    transform: translateX(-4.97px);
  }
  74% {
    transform: translateX(-4.99px);
  }
  75% {
    transform: translateX(-4.99px);
  }
  76% {
    transform: translateX(-4.97px);
  }
  77% {
    transform: translateX(-4.92px);
  }
  78% {
    transform: translateX(-4.85px);
  }
  80% {
    transform: translateX(-4.75px);
  }
  81% {
    transform: translateX(-4.63px);
  }
  82% {
    transform: translateX(-4.49px);
  }
  83% {
    transform: translateX(-4.33px);
  }
  84% {
    transform: translateX(-4.14px);
  }
  85% {
    transform: translateX(-3.94px);
  }
  86% {
    transform: translateX(-3.71px);
  }
  87% {
    transform: translateX(-3.47px);
  }
  88% {
    transform: translateX(-3.21px);
  }
  90% {
    transform: translateX(-2.93px);
  }
  91% {
    transform: translateX(-2.64px);
  }
  92% {
    transform: translateX(-2.34px);
  }
  93% {
    transform: translateX(-2.03px);
  }
  94% {
    transform: translateX(-1.71px);
  }
  95% {
    transform: translateX(-1.37px);
  }
  96% {
    transform: translateX(-1.03px);
  }
  97% {
    transform: translateX(-0.69px);
  }
  98% {
    transform: translateX(-0.34px);
  }
  100% {
    transform: translateX(0px);
  }
}
@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeout {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes scrolldown {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
    opacity: 1;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
    opacity: 1;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
    opacity: 1;
  }
  90% {
    transform: scale(1, 0.3);
    transform-origin: 0 100%;
    opacity: 0;
  }
  100% {
    transform: scale(1, 0.3);
    transform-origin: 0 100%;
    opacity: 0;
  }
}
@keyframes arrow {
  0% {
    transform: rotate(135deg) scale(0, 1);
  }
  35% {
    transform: rotate(135deg) scale(0, 1);
  }
  40% {
    transform: rotate(135deg) scale(1, 1);
  }
  65% {
    transform: rotate(135deg) scale(1, 1);
    opacity: 1;
  }
  70% {
    transform: rotate(135deg) scale(1, 1);
    opacity: 1;
  }
  75% {
    transform: rotate(135deg) scale(1, 1);
    opacity: 0;
  }
  100% {
    transform: rotate(135deg) scale(1, 1);
    opacity: 0;
  }
}
@keyframes fadeinout {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fall {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(500px);
  }
}
@keyframes extend-up {
  0% {
    transform-origin: bottom;
    transform: scaleY(0);
  }
  100% {
    transform-origin: bottom;
    transform: scaleY(1);
  }
}
@keyframes extend-down {
  0% {
    transform-origin: top;
    transform: scaleY(0);
  }
  100% {
    transform-origin: top;
    transform: scaleY(1);
  }
}
@keyframes extend-right {
  0% {
    transform-origin: left;
    transform: scaleX(0);
  }
  100% {
    transform-origin: left;
    transform: scaleX(1);
  }
}
@keyframes extend-left {
  0% {
    transform-origin: right;
    transform: scaleX(0);
  }
  100% {
    transform-origin: right;
    transform: scaleX(1);
  }
}
@keyframes zoom {
  0% {
    transform-origin: center;
    transform: scale(0);
  }
  100% {
    transform-origin: center;
    transform: scale(1);
  }
}
@keyframes slide-right {
  0% {
  }
  100% {
    transform-origin: right;
    transform: translateX(0);
  }
}
@keyframes slide-left {
  0% {
  }
  100% {
    transform-origin: left;
    transform: translateX(0);
  }
}
html body header {
  position: relative;
  z-index: 2000;
}
html body main .contents {
  position: relative;
  z-index: 2100;
}
html body main .contents .content > .title {
  z-index: 3000;
}
html body main .contents .content > .insert-message {
  z-index: 3000;
}
html body main .contents .content .translucent {
  z-index: 2050;
}
html body main .contents .comfortableness .image-set {
  position: relative;
  z-index: 2000;
}
html body main .contents .comfortableness .zoom {
  position: absolute;
  z-index: 3000;
}
html body footer {
  position: relative;
  z-index: 2000;
}
html body .frame-left > *,
html body .frame-right > * {
  z-index: 2100;
}
html body .frame-left > *::after,
html body .frame-right > *::after {
  z-index: 2050;
}
.body-wrap {
  overflow: hidden;
}
.content {
  position: relative;
  padding: 0 6.5vw;
}
.content > .title {
  font-family: "Noto Serif JP", serif;
  position: absolute;
  top: -8.5vw;
  right: 9.8vw;
  padding: 2vw 0;
  line-height: 7vw;
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: wrap;
  max-height: 100vw;
  justify-content: flex-end;
}
.content > .title span {
  word-break: keep-all;
  font-size: 6vw;
  color: #fff;
  background-color: #ff4949;
  letter-spacing: 0.8vw;
  padding: 2vw 0;
  flex: 0 0 auto;
}
.content > .title span:nth-child(2) {
  margin-right: 3vw;
}
.hidden-sp {
  display: none;
}
.translucent {
  background-color: #d9ba6642;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.frame-right {
  margin-left: 6.5vw;
  margin-right: -6.5vw;
  padding-right: 6.5vw;
  position: relative;
}
.frame-right::before {
  position: absolute;
  content: "";
  width: 1.2vw;
  height: 0.3vw;
  top: 1.2vw;
  left: -1.2vw;
  background-color: #d9ba66;
}
.frame-right::after {
  position: absolute;
  content: "";
  width: 120%;
  height: 100%;
  top: 1.2vw;
  left: -1.2vw;
  border: 0.3vw solid #d9ba66;
  border-top: none;
}
.frame-left {
  margin-right: 6.5vw;
  margin-left: -6.5vw;
  padding-left: 6.5vw;
  position: relative;
}
.frame-left::before {
  position: absolute;
  content: "";
  width: 1.2vw;
  height: 0.3vw;
  top: 1.2vw;
  right: -1.2vw;
  background-color: #d9ba66;
}
.frame-left::after {
  position: absolute;
  content: "";
  width: 120%;
  height: 100%;
  top: 1.2vw;
  right: -1.2vw;
  border: 0.3vw solid #d9ba66;
  border-top: none;
}
@media (min-width: 1200px) {
  .html {
    font-size: 10px;
  }
  .content {
    padding: initial;
    width: 127.5rem;
    margin: 0 auto;
  }
  .content > .title {
    top: -7rem;
    right: 10.9rem;
    padding: 2rem 0;
    line-height: 5.4rem;
    max-height: 92rem;
  }
  .content > .title span {
    font-size: 4.6rem;
    letter-spacing: 0.8rem;
    padding: 2rem 0;
  }
  .content > .title span:nth-child(2) {
    margin-right: 2.5rem;
  }
  .hidden-pc {
    display: none;
  }
  .hidden-sp {
    display: block;
  }
  .translucent {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .frame-right {
    margin-left: 10.8rem;
    margin-right: -100%;
    padding-right: 0;
  }
  .frame-right::before {
    width: 1.2rem;
    height: 0.3rem;
    top: 1.2rem;
    left: -1.2rem;
  }
  .frame-right::after {
    width: 120%;
    height: 100%;
    top: 1.2rem;
    left: -1.2rem;
    border: 0.3rem solid #d9ba66;
    border-top: none;
    border-right: none;
  }
  .frame-left {
    margin-right: 10.8rem;
    margin-left: -100%;
    padding-left: 0;
  }
  .frame-left::before {
    width: 1.2rem;
    height: 0.3rem;
    top: 1.2rem;
    right: -1.2rem;
  }
  .frame-left::after {
    width: 120%;
    height: 100%;
    top: 1.2rem;
    right: -1.2rem;
    border: 0.3rem solid #d9ba66;
    border-top: none;
    border-left: none;
  }
}
.main-visual .animation1 {
  animation: fadein 1s ease-out 0s 1 normal both,
    fadeout 1s ease-out 1s 1 alternate forwards;
}
.main-visual .animation2 {
  animation: fadein 1s ease-out 1s 1 normal both,
    fadeout 1s ease-out 3s 1 alternate forwards;
}
.main-visual .animation3 {
  animation: fadein 2s ease-in 3s 1 normal both,
    fadeout 1s ease-out 6s 1 alternate forwards;
}
.main-visual .animation4 {
  animation: fadein 1s ease-out 6s 1 normal both;
}
.main-visual .cloud1 {
  animation: shake-small 5s linear 1s infinite normal both;
}
.main-visual .cloud2 {
  animation: shake-small 5s linear 2s infinite normal both;
}
.main-visual .cloud3 {
  animation: shake-small 5s linear 0s infinite normal both;
}
.main-visual .cloud4 {
  animation: shake-small 5s linear 1s infinite normal both;
}
.main-visual .cloud5 {
  animation: shake-small 5s linear 0s infinite normal both;
}
.main-visual .cloud6 {
  animation: shake-small 5s linear 0.5s infinite normal both;
}
.main-visual .scroll-arraw::before {
  animation: scrolldown 1.5s cubic-bezier(1, 0, 0, 1) 0.7s infinite;
}
.main-visual .scroll-arraw::after {
  animation: arrow 1.5s ease-in-out 0.8s infinite forwards;
}
.main-visual .fall {
  animation: fall 5s ease-in 6.05s 1 normal both;
}
.main-visual .leafs .leaf1 {
  width: 0.51%;
  top: 71.96%;
  left: 0%;
  animation: fadein 1s linear 2s 1 normal both,
    shake-middle 5s ease-in 6.05s 1 alternate both;
}
.main-visual .leafs .leaf2 {
  width: 0.95%;
  top: 59.25%;
  left: 1.42%;
  animation: fadein 1s linear 2.05s 1 normal both,
    shake-small 2.5s ease-in 6.05s 2 alternate both;
}
.main-visual .leafs .leaf3 {
  width: 0.66%;
  top: 60.87%;
  left: 6.01%;
  animation: fadein 1s linear 2.1s 1 normal both,
    shake-large 5s ease-in 6.05s 1 alternate both;
}
.main-visual .leafs .leaf4 {
  width: 0.66%;
  top: 62.06%;
  left: 9.57%;
  animation: fadein 1s linear 2.15s 1 normal both,
    shake-small 5s ease-in 6.05s 1 alternate both;
}
.main-visual .leafs .leaf5 {
  width: 0.51%;
  top: 49.03%;
  left: 10.2%;
  animation: fadein 1s linear 2.2s 1 normal both,
    shake-small 5s ease-in 6.05s 1 alternate both;
}
.main-visual .leafs .leaf6 {
  width: 0.95%;
  top: 45.19%;
  left: 13.86%;
  animation: fadein 1s linear 2.25s 1 normal both,
    shake-large 5s ease-in 6.05s 1 alternate both;
}
.main-visual .leafs .leaf7 {
  width: 0.51%;
  top: 40.74%;
  left: 14.95%;
  animation: fadein 1s linear 2.3s 1 normal both,
    shake-middle 5s ease-in 6.05s 1 alternate both;
}
.main-visual .leafs .leaf8 {
  width: 0.58%;
  top: 38.61%;
  left: 18.66%;
  animation: fadein 1s linear 2.35s 1 normal both,
    shake-small 5s ease-in 6.05s 1 alternate both;
}
.main-visual .leafs .leaf9 {
  width: 1.32%;
  top: 44.51%;
  left: 22.07%;
  animation: fadein 1s linear 2.4s 1 normal both,
    shake-small 5s ease-in 6.05s 1 alternate both;
}
.main-visual .leafs .leaf10 {
  width: 0.51%;
  top: 51.32%;
  left: 24.68%;
  animation: fadein 1s linear 2.45s 1 normal both,
    shake-small 2.5s ease-in 6.05s 2 alternate both;
}
.main-visual .leafs .leaf11 {
  width: 0.66%;
  top: 37.9%;
  left: 27.61%;
  animation: fadein 1s linear 2.5s 1 normal both,
    shake-large 2.5s ease-in 6.05s 2 alternate both;
}
.main-visual .leafs .leaf12 {
  width: 0.66%;
  top: 59.61%;
  left: 27.78%;
  animation: fadein 1s linear 2.55s 1 normal both,
    shake-small 5s ease-in 6.05s 1 alternate both;
}
.main-visual .leafs .leaf13 {
  width: 0.44%;
  top: 71.25%;
  left: 29.92%;
  animation: fadein 1s linear 2.6s 1 normal both,
    shake-large 5s ease-in 6.05s 1 alternate both;
}
.main-visual .leafs .leaf14 {
  width: 0.58%;
  top: 81.06%;
  left: 31.48%;
  animation: fadein 1s linear 2.65s 1 normal both,
    shake-middle 5s ease-in 6.05s 1 alternate both;
}
.main-visual .leafs .leaf15 {
  width: 0.36%;
  top: 75.29%;
  left: 31.89%;
  animation: fadein 1s linear 2.7s 1 normal both,
    shake-small 2.5s ease-in 6.05s 2 alternate both;
}
.main-visual .leafs .leaf16 {
  width: 0.8%;
  top: 60.9%;
  left: 33.23%;
  animation: fadein 1s linear 2.75s 1 normal both,
    shake-small 5s ease-in 6.05s 1 alternate both;
}
.main-visual .leafs .leaf17 {
  width: 0.58%;
  top: 72.12%;
  left: 36.5%;
  animation: fadein 1s linear 2.8s 1 normal both,
    shake-large 5s ease-in 6.05s 1 alternate both;
}
.main-visual .leafs .leaf18 {
  width: 0.36%;
  top: 63.41%;
  left: 36.94%;
  animation: fadein 1s linear 2.85s 1 normal both,
    shake-middle 2.5s ease-in 6.05s 2 alternate both;
}
.main-visual .leafs .leaf19 {
  width: 0.66%;
  top: 88.12%;
  left: 36.71%;
  animation: fadein 1s linear 2.9s 1 normal both,
    shake-small 5s ease-in 6.05s 1 alternate both;
}
.main-visual .leafs .leaf20 {
  width: 0.54%;
  top: 97.45%;
  left: 40.66%;
  animation: fadein 1s linear 2.95s 1 normal both,
    shake-small 2.5s ease-in 6.05s 2 alternate both;
}
.main-visual .leafs .leaf21 {
  width: 0.36%;
  top: 87.29%;
  left: 40.76%;
  animation: fadein 1s linear 3s 1 normal both,
    shake-middle 2.5s ease-in 6.05s 2 alternate both;
}
.main-visual .leafs .leaf22 {
  width: 0.88%;
  top: 65.7%;
  left: 41.16%;
  animation: fadein 1s linear 3.05s 1 normal both,
    shake-large 5s ease-in 6.05s 1 alternate both;
}
.main-visual .leafs .leaf23 {
  width: 0.73%;
  top: 83.7%;
  left: 42.74%;
  animation: fadein 1s linear 3.1s 1 normal both,
    shake-middle 5s ease-in 6.05s 1 alternate both;
}
.main-visual .leafs .leaf24 {
  width: 0.66%;
  top: 47.29%;
  left: 44.55%;
  animation: fadein 1s linear 3.15s 1 normal both,
    shake-small 2.5s ease-in 6.05s 2 alternate both;
}
.main-visual .leafs .leaf25 {
  width: 0.34%;
  top: 94.19%;
  left: 44.95%;
  animation: fadein 1s linear 3.2s 1 normal both,
    shake-small 2.5s ease-in 6.05s 2 alternate both;
}
.main-visual .leafs .leaf26 {
  width: 1.02%;
  top: 84.51%;
  left: 47.58%;
  animation: fadein 1s linear 3.25s 1 normal both,
    shake-small 5s ease-in 6.05s 1 alternate both;
}
.main-visual .leafs .leaf27 {
  width: 0.58%;
  top: 72.58%;
  left: 49.29%;
  animation: fadein 1s linear 3.3s 1 normal both,
    shake-large 2.5s ease-in 6.05s 2 alternate both;
}
.main-visual .leafs .leaf28 {
  width: 0.44%;
  top: 69.64%;
  left: 52.16%;
  animation: fadein 1s linear 3.35s 1 normal both,
    shake-small 5s ease-in 6.05s 1 alternate both;
}
.main-visual .leafs .leaf29 {
  width: 0.51%;
  top: 91.87%;
  left: 50.57%;
  animation: fadein 1s linear 3.4s 1 normal both,
    shake-large 2.5s ease-in 6.05s 2 alternate both;
}
.main-visual .leafs .leaf30 {
  width: 0.44%;
  top: 88.7%;
  left: 52.24%;
  animation: fadein 1s linear 3.45s 1 normal both,
    shake-middle 5s ease-in 6.05s 1 alternate both;
}
.main-visual .leafs .leaf31 {
  width: 0.66%;
  top: 69.16%;
  left: 54.05%;
  animation: fadein 1s linear 3.5s 1 normal both,
    shake-small 5s ease-in 6.05s 1 alternate both;
}
.main-visual .leafs .leaf32 {
  width: 0.44%;
  top: 82.25%;
  left: 55%;
  animation: fadein 1s linear 3.55s 1 normal both,
    shake-small 5s ease-in 6.05s 1 alternate both;
}
.main-visual .leafs .leaf33 {
  width: 0.36%;
  top: 62.03%;
  left: 49.93%;
  animation: fadein 1s linear 3.6s 1 normal both,
    shake-small 2.5s ease-in 6.05s 2 alternate both;
}
.main-visual .leafs .leaf34 {
  width: 0.66%;
  top: 24.74%;
  left: 55.76%;
  animation: fadein 1s linear 3.65s 1 normal both,
    shake-large 5s ease-in 6.05s 1 alternate both;
}
.main-visual .leafs .leaf35 {
  width: 1.17%;
  top: 67.09%;
  left: 62.76%;
  animation: fadein 1s linear 3.7s 1 normal both,
    shake-middle 2.5s ease-in 6.05s 2 alternate both;
}
.main-visual .leafs .leaf36 {
  width: 0.44%;
  top: 84.58%;
  left: 60.45%;
  animation: fadein 1s linear 3.75s 1 normal both,
    shake-small 2.5s ease-in 6.05s 2 alternate both;
}
.main-visual .leafs .leaf37 {
  width: 0.51%;
  top: 77.32%;
  left: 58.4%;
  animation: fadein 1s linear 3.8s 1 normal both,
    shake-small 5s ease-in 6.05s 1 alternate both;
}
.main-visual .leafs .leaf38 {
  width: 0.51%;
  top: 69.64%;
  left: 57.37%;
  animation: fadein 1s linear 3.85s 1 normal both,
    shake-middle 2.5s ease-in 6.05s 2 alternate both;
}
.main-visual .leafs .leaf39 {
  width: 0.58%;
  top: 52.61%;
  left: 65.37%;
  animation: fadein 1s linear 3.9s 1 normal both,
    shake-large 2.5s ease-in 6.05s 2 alternate both;
}
.main-visual .leafs .leaf40 {
  width: 0.51%;
  top: 69.12%;
  left: 69.72%;
  animation: fadein 1s linear 3.95s 1 normal both,
    shake-middle 2.5s ease-in 6.05s 2 alternate both;
}
.main-visual .leafs .leaf41 {
  width: 1.02%;
  top: 82.64%;
  left: 66.56%;
  animation: fadein 1s linear 4s 1 normal both,
    shake-small 2.5s ease-in 6.05s 2 alternate both;
}
.main-visual .leafs .leaf42 {
  width: 1.02%;
  top: 16.61%;
  left: 71.53%;
  animation: fadein 1s linear 4.05s 1 normal both,
    shake-small 2.5s ease-in 6.05s 2 alternate both;
}
.main-visual .leafs .leaf43 {
  width: 0.44%;
  top: 4.41%;
  left: 73.03%;
  animation: fadein 1s linear 4.1s 1 normal both,
    shake-small 5s ease-in 6.05s 1 alternate both;
}
.main-visual .leafs .leaf44 {
  width: 0.44%;
  top: 71.61%;
  left: 74.46%;
  animation: fadein 1s linear 4.15s 1 normal both,
    shake-small 2.5s ease-in 6.05s 2 alternate both;
}
.main-visual .leafs .leaf45 {
  width: 0.88%;
  top: 40.09%;
  left: 72.58%;
  animation: fadein 1s linear 4.2s 1 normal both,
    shake-small 2.5s ease-in 6.05s 2 alternate both;
}
.main-visual .leafs .leaf46 {
  width: 0.34%;
  top: 56.93%;
  left: 73.51%;
  animation: fadein 1s linear 4.25s 1 normal both,
    shake-large 5s ease-in 6.05s 1 alternate both;
}
.main-visual .leafs .leaf47 {
  width: 0.68%;
  top: 59.74%;
  left: 79.21%;
  animation: fadein 1s linear 4.3s 1 normal both,
    shake-small 2.5s ease-in 6.05s 2 alternate both;
}
.main-visual .leafs .leaf48 {
  width: 0.51%;
  top: 31%;
  left: 77.4%;
  animation: fadein 1s linear 4.35s 1 normal both,
    shake-middle 2.5s ease-in 6.05s 2 alternate both;
}
.main-visual .leafs .leaf49 {
  width: 0.83%;
  top: 31.93%;
  left: 81.04%;
  animation: fadein 1s linear 4.4s 1 normal both,
    shake-small 5s ease-in 6.05s 1 alternate both;
}
.main-visual .leafs .leaf50 {
  width: 0.36%;
  top: 42.61%;
  left: 76.61%;
  animation: fadein 1s linear 4.45s 1 normal both,
    shake-small 2.5s ease-in 6.05s 2 alternate both;
}
.main-visual .leafs .leaf51 {
  width: 0.44%;
  top: 24.48%;
  left: 80.42%;
  animation: fadein 1s linear 4.5s 1 normal both,
    shake-middle 2.5s ease-in 6.05s 2 alternate both;
}
.main-visual .leafs .leaf52 {
  width: 0.51%;
  top: 0%;
  left: 77.95%;
  animation: fadein 1s linear 4.55s 1 normal both,
    shake-large 5s ease-in 6.05s 1 alternate both;
}
.main-visual .leafs .leaf53 {
  width: 0.88%;
  top: 57.16%;
  left: 77.72%;
  animation: fadein 1s linear 4.6s 1 normal both,
    shake-middle 2.5s ease-in 6.05s 2 alternate both;
}
.main-visual .leafs .leaf54 {
  width: 0.95%;
  top: 13.22%;
  left: 97.1%;
  animation: fadein 1s linear 4.65s 1 normal both,
    shake-small 2.5s ease-in 6.05s 2 alternate both;
}
.main-visual .leafs .leaf55 {
  width: 0.58%;
  top: 19.06%;
  left: 88.25%;
  animation: fadein 1s linear 4.7s 1 normal both,
    shake-small 2.5s ease-in 6.05s 2 alternate both;
}
.main-visual .leafs .leaf56 {
  width: 0.66%;
  top: 48.03%;
  left: 99.25%;
  animation: fadein 1s linear 4.75s 1 normal both,
    shake-small 2.5s ease-in 6.05s 2 alternate both;
}
.main-visual .leafs .leaf57 {
  width: 1.1%;
  top: 43.32%;
  left: 86.91%;
  animation: fadein 1s linear 4.8s 1 normal both,
    shake-large 2.5s ease-in 6.05s 2 alternate both;
}
.main-visual .leafs .leaf58 {
  width: 0.58%;
  top: 29.22%;
  left: 92.04%;
  animation: fadein 1s linear 4.85s 1 normal both,
    shake-small 5s ease-in 6.05s 1 alternate both;
}
.main-visual .leafs .leaf59 {
  width: 1.02%;
  top: 58.32%;
  left: 84.29%;
  animation: fadein 1s linear 4.9s 1 normal both,
    shake-small 2.5s ease-in 6.05s 2 alternate both;
}
.main-visual .leafs .leaf60 {
  width: 0.83%;
  top: 3.45%;
  left: 83.9%;
  animation: fadein 1s linear 4.95s 1 normal both,
    shake-small 2.5s ease-in 6.05s 2 alternate both;
}
.main-visual .leafs .leaf61 {
  width: 0.58%;
  top: 33%;
  left: 84.54%;
  animation: fadein 1s linear 5s 1 normal both,
    shake-large 5s ease-in 6.05s 1 alternate both;
}
.main-visual .leafs .leaf62 {
  width: 0.8%;
  top: 37.93%;
  left: 95.7%;
  animation: fadein 1s linear 5.05s 1 normal both,
    shake-small 2.5s ease-in 6.05s 2 alternate both;
}
.main-visual {
  width: 100%;
  height: 175.1vw;
  background-color: #ff4949;
  position: relative;
}
.main-visual .white-rectangle {
  height: 171.5vw;
  margin: 3vw;
  margin-top: 0;
  border: 0.3vw solid #fff;
  border-top: none;
  margin-bottom: 3.5vw;
  position: absolute;
  width: calc(100% - 6vw);
}
.main-visual .logo {
  position: absolute;
  top: 6.5vw;
  left: 38vw;
  width: 22.3vw;
}
.main-visual .logo img {
  width: 100%;
}
.main-visual .btns {
  position: absolute;
  top: 16.5vw;
  left: 34vw;
  width: 30vw;
}
.main-visual .btns a {
  position: relative;
}
.main-visual .btns a:nth-child(2) {
  margin-top: 5.5vw;
}
.main-visual .btns .btn {
  width: 31vw;
  height: 6vw;
  position: relative;
  color: #ff4949;
  background-color: #fff;
  border: 0.3vw solid #ff4949;
  text-align: center;
  font-size: 2.5vw;
  line-height: 6vw;
  z-index: 20;
  padding-right: 4vw;
}
.main-visual .btns .btn:after {
  content: "";
  width: 2vw;
  height: 2vw;
  display: block;
  border-top: solid 0.3vw;
  border-right: solid 0.3vw;
  transform: rotate(45deg);
  position: absolute;
  top: 1.8vw;
  right: 3vw;
}
.main-visual .badge {
  position: absolute;
  top: 33.4vw;
  left: 62vw;
  width: 31.8vw;
}
.main-visual .badge img {
  width: 100%;
}
.main-visual .animation1,
.main-visual .animation2,
.main-visual .animation3,
.main-visual .animation4 {
  position: absolute;
}
.main-visual .animation1 img,
.main-visual .animation2 img,
.main-visual .animation3 img,
.main-visual .animation4 img {
  width: 100%;
}
.main-visual .animation1 {
  top: 58.4vw;
  left: 20vw;
  width: 59.8vw;
}
.main-visual .animation2 {
  top: 58.3vw;
  left: 19.8vw;
  width: 59.9vw;
}
.main-visual .animation3 {
  top: 58.5vw;
  left: 19.1vw;
  width: 74.3vw;
}
.main-visual .animation4 {
  top: 58.4vw;
  left: 17.4vw;
  width: 77.8vw;
}
.main-visual .cloud {
  position: absolute;
}
.main-visual .cloud1 {
  opacity: 0.5;
  top: -3.7vw;
  left: -39vw;
  width: 60vw;
}
.main-visual .cloud2 {
  opacity: 0.5;
  top: 20.3vw;
  left: 77vw;
  width: 70vw;
}
.main-visual .cloud3 {
  opacity: 0.5;
  top: 33.8vw;
  left: -44vw;
  width: 89vw;
}
.main-visual .cloud4 {
  opacity: 0.5;
  top: 49.3vw;
  left: 57vw;
  width: 84vw;
}
.main-visual .cloud5 {
  opacity: 0.5;
  top: 108.3vw;
  left: 51vw;
  width: 88vw;
}
.main-visual .cloud6 {
  opacity: 0.5;
  top: 131.3vw;
  left: -69vw;
  width: 115vw;
}
.main-visual .name {
  position: absolute;
  top: 149.3vw;
  left: 30.4vw;
  width: 39vw;
}
.main-visual .copy {
  position: absolute;
  top: 26vw;
  left: 15vw;
  width: 68.2vw;
}
.main-visual .copyright {
  position: absolute;
  top: 68.4vw;
  left: 6.3vw;
  width: 1.7vw;
}
.main-visual .scroll {
  position: absolute;
  top: 159.2vw;
  left: 40.8vw;
  width: 18vw;
}
.main-visual .scroll-arraw {
  position: absolute;
  top: 166.1vw;
  left: 48.7vw;
  width: 2.4vw;
  height: 18.3vw;
}
.main-visual .scroll-arraw::before {
  content: url(../js/../asset/arraw_bar.svg);
  display: block;
  width: 100%;
}
.main-visual .scroll-arraw::after {
  content: "";
  display: block;
  width: 0.2vw;
  height: 0.3vw;
  border-left: 2.4vw solid #ff4949;
  position: absolute;
  bottom: 0.2vw;
  left: -1.3vw;
  transform: rotate(135deg) scale(1, 1);
  transform-origin: right bottom;
}
.main-visual .leafs {
  position: absolute;
  width: 297vw;
  height: 92vw;
  left: -96.2vw;
  top: 40vw;
}
.main-visual .leafs .leaf {
  position: absolute;
  top: 0;
  right: 0;
}
.main-visual .leafs .leaf img {
  width: 100%;
}
.main-visual .leafs .leaf1 {
  width: 0.51%;
  top: 71.96%;
  left: 0%;
}
.main-visual .leafs .leaf2 {
  width: 0.95%;
  top: 59.25%;
  left: 1.42%;
}
.main-visual .leafs .leaf3 {
  width: 0.66%;
  top: 60.87%;
  left: 6.01%;
}
.main-visual .leafs .leaf4 {
  width: 0.66%;
  top: 62.06%;
  left: 9.57%;
}
.main-visual .leafs .leaf5 {
  width: 0.51%;
  top: 49.03%;
  left: 10.2%;
}
.main-visual .leafs .leaf6 {
  width: 0.95%;
  top: 45.19%;
  left: 13.86%;
}
.main-visual .leafs .leaf7 {
  width: 0.51%;
  top: 40.74%;
  left: 14.95%;
}
.main-visual .leafs .leaf8 {
  width: 0.58%;
  top: 38.61%;
  left: 18.66%;
}
.main-visual .leafs .leaf9 {
  width: 1.32%;
  top: 44.51%;
  left: 22.07%;
}
.main-visual .leafs .leaf10 {
  width: 0.51%;
  top: 51.32%;
  left: 24.68%;
}
.main-visual .leafs .leaf11 {
  width: 0.66%;
  top: 37.9%;
  left: 27.61%;
}
.main-visual .leafs .leaf12 {
  width: 0.66%;
  top: 59.61%;
  left: 27.78%;
}
.main-visual .leafs .leaf13 {
  width: 0.44%;
  top: 71.25%;
  left: 29.92%;
}
.main-visual .leafs .leaf14 {
  width: 0.58%;
  top: 81.06%;
  left: 31.48%;
}
.main-visual .leafs .leaf15 {
  width: 0.36%;
  top: 75.29%;
  left: 31.89%;
}
.main-visual .leafs .leaf16 {
  width: 0.8%;
  top: 60.9%;
  left: 33.23%;
}
.main-visual .leafs .leaf17 {
  width: 0.58%;
  top: 72.12%;
  left: 36.5%;
}
.main-visual .leafs .leaf18 {
  width: 0.36%;
  top: 63.41%;
  left: 36.94%;
}
.main-visual .leafs .leaf19 {
  width: 0.66%;
  top: 88.12%;
  left: 36.71%;
}
.main-visual .leafs .leaf20 {
  width: 0.54%;
  top: 97.45%;
  left: 40.66%;
}
.main-visual .leafs .leaf21 {
  width: 0.36%;
  top: 87.29%;
  left: 40.76%;
}
.main-visual .leafs .leaf22 {
  width: 0.88%;
  top: 65.7%;
  left: 41.16%;
}
.main-visual .leafs .leaf23 {
  width: 0.73%;
  top: 83.7%;
  left: 42.74%;
}
.main-visual .leafs .leaf24 {
  width: 0.66%;
  top: 47.29%;
  left: 44.55%;
}
.main-visual .leafs .leaf25 {
  width: 0.34%;
  top: 94.19%;
  left: 44.95%;
}
.main-visual .leafs .leaf26 {
  width: 1.02%;
  top: 84.51%;
  left: 47.58%;
}
.main-visual .leafs .leaf27 {
  width: 0.58%;
  top: 72.58%;
  left: 49.29%;
}
.main-visual .leafs .leaf28 {
  width: 0.44%;
  top: 69.64%;
  left: 52.16%;
}
.main-visual .leafs .leaf29 {
  width: 0.51%;
  top: 91.87%;
  left: 50.57%;
}
.main-visual .leafs .leaf30 {
  width: 0.44%;
  top: 88.7%;
  left: 52.24%;
}
.main-visual .leafs .leaf31 {
  width: 0.66%;
  top: 69.16%;
  left: 54.05%;
}
.main-visual .leafs .leaf32 {
  width: 0.44%;
  top: 82.25%;
  left: 55%;
}
.main-visual .leafs .leaf33 {
  width: 0.36%;
  top: 62.03%;
  left: 49.93%;
}
.main-visual .leafs .leaf34 {
  width: 0.66%;
  top: 24.74%;
  left: 55.76%;
}
.main-visual .leafs .leaf35 {
  width: 1.17%;
  top: 67.09%;
  left: 62.76%;
}
.main-visual .leafs .leaf36 {
  width: 0.44%;
  top: 84.58%;
  left: 60.45%;
}
.main-visual .leafs .leaf37 {
  width: 0.51%;
  top: 77.32%;
  left: 58.4%;
}
.main-visual .leafs .leaf38 {
  width: 0.51%;
  top: 69.64%;
  left: 57.37%;
}
.main-visual .leafs .leaf39 {
  width: 0.58%;
  top: 52.61%;
  left: 65.37%;
}
.main-visual .leafs .leaf40 {
  width: 0.51%;
  top: 69.12%;
  left: 69.72%;
}
.main-visual .leafs .leaf41 {
  width: 1.02%;
  top: 82.64%;
  left: 66.56%;
}
.main-visual .leafs .leaf42 {
  width: 1.02%;
  top: 16.61%;
  left: 71.53%;
}
.main-visual .leafs .leaf43 {
  width: 0.44%;
  top: 4.41%;
  left: 73.03%;
}
.main-visual .leafs .leaf44 {
  width: 0.44%;
  top: 71.61%;
  left: 74.46%;
}
.main-visual .leafs .leaf45 {
  width: 0.88%;
  top: 40.09%;
  left: 72.58%;
}
.main-visual .leafs .leaf46 {
  width: 0.34%;
  top: 56.93%;
  left: 73.51%;
}
.main-visual .leafs .leaf47 {
  width: 0.68%;
  top: 59.74%;
  left: 79.21%;
}
.main-visual .leafs .leaf48 {
  width: 0.51%;
  top: 31%;
  left: 77.4%;
}
.main-visual .leafs .leaf49 {
  width: 0.83%;
  top: 31.93%;
  left: 81.04%;
}
.main-visual .leafs .leaf50 {
  width: 0.36%;
  top: 42.61%;
  left: 76.61%;
}
.main-visual .leafs .leaf51 {
  width: 0.44%;
  top: 24.48%;
  left: 80.42%;
}
.main-visual .leafs .leaf52 {
  width: 0.51%;
  top: 0%;
  left: 77.95%;
}
.main-visual .leafs .leaf53 {
  width: 0.88%;
  top: 57.16%;
  left: 77.72%;
}
.main-visual .leafs .leaf54 {
  width: 0.95%;
  top: 13.22%;
  left: 97.1%;
}
.main-visual .leafs .leaf55 {
  width: 0.58%;
  top: 19.06%;
  left: 88.25%;
}
.main-visual .leafs .leaf56 {
  width: 0.66%;
  top: 48.03%;
  left: 99.25%;
}
.main-visual .leafs .leaf57 {
  width: 1.1%;
  top: 43.32%;
  left: 86.91%;
}
.main-visual .leafs .leaf58 {
  width: 0.58%;
  top: 29.22%;
  left: 92.04%;
}
.main-visual .leafs .leaf59 {
  width: 1.02%;
  top: 58.32%;
  left: 84.29%;
}
.main-visual .leafs .leaf60 {
  width: 0.83%;
  top: 3.45%;
  left: 83.9%;
}
.main-visual .leafs .leaf61 {
  width: 0.58%;
  top: 33%;
  left: 84.54%;
}
.main-visual .leafs .leaf62 {
  width: 0.8%;
  top: 37.93%;
  left: 95.7%;
}
@media (min-width: 1200px) {
  .visual-contents {
    position: relative;
    width: 100rem;
    margin: 0 auto;
  }
  .main-visual {
    width: 100%;
    height: 117.6rem;
    background-color: #ff4949;
    position: relative;
  }
  .main-visual .logo {
    top: 4.2rem;
    left: 36.2rem;
    width: 16.8rem;
  }
  .main-visual .btns {
    top: 5.1rem;
    left: auto;
    right: 36.2rem;
    width: 17rem;
  }
  .main-visual .btns .btn {
    width: 17rem;
    height: 3rem;
    border: 0.3rem solid #ff4949;
    font-size: 1.3rem;
    line-height: 2.6rem;
    padding-right: 1.5rem;
    font-weight: bold;
  }
  .main-visual .btns .btn:after {
    width: 1.2rem;
    height: 1.2rem;
    border-top: solid 0.2rem;
    border-right: solid 0.2rem;
    top: 0.6rem;
    right: 1rem;
  }
  .main-visual .white-rectangle {
    height: 114.6rem;
    margin: 3rem;
    margin-top: 0;
    border: 0.4rem solid #fff;
    border-top: none;
    margin-bottom: 3rem;
    width: calc(100% - 6rem);
  }
  .main-visual .badge {
    top: 9.4rem;
    left: 66vw;
    width: 22.8rem;
  }
  .main-visual .animation1 {
    top: 24.6rem;
    left: 19.4rem;
    width: 64.1rem;
  }
  .main-visual .animation2 {
    top: 24.7rem;
    left: 19.3rem;
    width: 64.1rem;
  }
  .main-visual .animation3 {
    top: 24.5rem;
    left: 18.4rem;
    width: 80.1rem;
  }
  .main-visual .animation4 {
    top: 24.4rem;
    left: 16.4rem;
    width: 83.9rem;
  }
  .main-visual .cloud1 {
    top: -3.2rem;
    left: -53.2rem;
    width: 49rem;
  }
  .main-visual .cloud2 {
    top: 9.5rem;
    left: 105.3rem;
    width: 55.4rem;
  }
  .main-visual .cloud3 {
    top: 30.6rem;
    left: -57.8rem;
    width: 71rem;
  }
  .main-visual .cloud4 {
    top: 36.3rem;
    left: 89rem;
    width: 67.5rem;
  }
  .main-visual .cloud5 {
    top: 74.9rem;
    left: 84.3rem;
    width: 71rem;
  }
  .main-visual .cloud6 {
    top: 86.3rem;
    left: -66.9rem;
    width: 93.5rem;
  }
  .main-visual .name {
    top: 96.9rem;
    left: 36.5rem;
    width: 28.2rem;
  }
  .main-visual .copy {
    top: 13.3rem;
    left: 30.4rem;
    width: 38.8rem;
  }
  .main-visual .copyright {
    top: 47.4rem;
    left: -6.3rem;
    width: 1rem;
  }
  .main-visual .scroll {
    top: 105.7rem;
    left: 45.2rem;
    width: 10.5rem;
  }
  .main-visual .scroll-arraw {
    top: 110.4rem;
    left: 49.7rem;
    width: 1.9rem;
    height: 14.4rem;
  }
  .main-visual .scroll-arraw::after {
    width: 0.2rem;
    height: 0.2rem;
    border-left: 2.4rem solid #ff4949;
    bottom: 0.1rem;
    left: -1.5rem;
  }
  .main-visual .leafs {
    width: 238.7rem;
    height: 74.6rem;
    left: -22rem;
    top: 30rem;
  }
}
.catchcopy {
  margin-top: 38vw;
}
.catchcopy .copy1,
.catchcopy .copy2,
.catchcopy .copy3,
.catchcopy .copy4 {
  margin: 0 auto;
}
.catchcopy .copy1 img,
.catchcopy .copy2 img,
.catchcopy .copy3 img,
.catchcopy .copy4 img {
  width: 100%;
}
.catchcopy .copy1 {
  width: 54.5vw;
}
.catchcopy .copy2.sp {
  width: 46.2vw;
  margin-top: 15vw;
}
.catchcopy .copy2.pc {
  display: none;
}
.catchcopy .copy3 {
  width: 81.5vw;
  margin-top: 13.4vw;
}
.catchcopy .copy4.sp {
  width: 69vw;
  margin-top: 8.3vw;
}
.catchcopy .copy4.pc {
  display: none;
}
.catchcopy .copy5.sp {
  width: 75.5vw;
  margin-top: 9.1vw;
  margin-left: 5vw;
}
.catchcopy .copy5.pc {
  display: none;
}
.catchcopy .copy6 {
  width: 75vw;
  margin-top: 8.7vw;
  margin-left: 4.8vw;
}
.catchcopy .copy7 {
  width: 70.3vw;
  margin-top: 8.6vw;
  margin-left: 7vw;
}
@media (min-width: 1200px) {
  .catchcopy {
    margin-top: 18rem;
  }
  .catchcopy .copy1 {
    width: 40rem;
  }
  .catchcopy .copy2.sp {
    display: none;
  }
  .catchcopy .copy2.pc {
    display: block;
    width: 68.5rem;
    margin-top: 9.6rem;
  }
  .catchcopy .copy3 {
    width: 61.5rem;
    margin-top: 10.8rem;
  }
  .catchcopy .copy4.sp {
    display: none;
  }
  .catchcopy .copy4.pc {
    display: block;
    width: 77rem;
    margin-top: 6.3rem;
  }
  .catchcopy .copy5.sp {
    display: none;
  }
  .catchcopy .copy5.pc {
    display: block;
    width: 93.5rem;
    margin-top: 8rem;
    margin-left: auto;
    margin-right: auto;
  }
  .catchcopy .copy6 {
    width: 55.6rem;
    margin-top: 7.3rem;
    margin-left: auto;
    margin-right: auto;
  }
  .catchcopy .copy7 {
    width: 52rem;
    margin-top: 7.6rem;
    margin-left: auto;
    margin-right: auto;
  }
}
.comfortableness {
  margin-top: 41vw;
}
.comfortableness .title {
  margin-top: -11.5vw;
}
.comfortableness .points .frame-left {
  text-align: right;
  position: absolute;
}
.comfortableness .points .frame-left .overlay {
  right: 0;
}
.comfortableness .points .frame-right .overlay {
  left: 0;
}
.comfortableness .points .point {
  position: relative;
  height: 92vw;
}
.comfortableness .points .point .description {
  font-family: "Noto Serif JP", serif;
  position: absolute;
  background-color: #fff;
  border: 0.3vw solid #ff4949;
  height: 77vw;
  padding: 4.6vw 3vw;
  font-size: 5.5vw;
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.comfortableness .points .point .description .name {
  letter-spacing: 0.8vw;
}
.comfortableness .points .point .description .detail {
  font-size: 3vw;
  margin-right: 1vw;
  letter-spacing: 0.1vw;
}
.comfortableness .points .point .image-set {
  height: 100%;
}
.comfortableness .points .point .image-set .image {
  height: 100%;
  overflow: hidden;
}
.comfortableness .points .point .image-set .overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  background: #fff;
  opacity: 0.6;
  z-index: 10;
  top: 0;
}
.comfortableness .points .point:nth-child(1) .description {
  left: 39.1vw;
  top: 61vw;
}
.comfortableness .points .point:nth-child(1) .image-set {
  margin-right: -6.5vw;
}
.comfortableness .points .point:nth-child(1) .image-set .image img {
  width: 168vw;
  margin-left: -69vw;
  margin-top: -17.5vw;
}
.comfortableness .points .point:nth-child(1) .image-set .zoom {
  top: 22.2vw;
  left: -0.5vw;
  width: 47.5vw;
}
.comfortableness .points .point:nth-child(1) .image-set .zoom img {
  width: 100%;
}
.comfortableness .points .point:nth-child(2) {
  margin-top: 57.3vw;
}
.comfortableness .points .point:nth-child(2) .description {
  right: 49.6vw;
  top: 28vw;
}
.comfortableness .points .point:nth-child(2) .image-set {
  margin-left: -6.5vw;
}
.comfortableness .points .point:nth-child(2) .image-set .image {
  position: relative;
}
.comfortableness .points .point:nth-child(2) .image-set .image img {
  position: absolute;
  width: 142vw;
  right: -52.4vw;
  top: -1.5vw;
}
.comfortableness .points .point:nth-child(2) .image-set .zoom {
  top: 20.4vw;
  right: -1.9vw;
  width: 51.5vw;
}
.comfortableness .points .point:nth-child(2) .image-set .zoom img {
  width: 100%;
}
.comfortableness .points .point:nth-child(2) .detail {
  font-size: 2.6vw;
}
.comfortableness .copy8.sp {
  width: 85.3vw;
  margin-top: 44vw;
  margin-left: -1vw;
}
.comfortableness .copy8.pc {
  display: none;
}
@media (min-width: 1200px) {
  .comfortableness {
    margin-top: 20.5rem;
  }
  .comfortableness .title {
    top: 5rem;
  }
  .comfortableness .points .frame-right .overlay {
    max-width: 149rem;
  }
  .comfortableness .points .frame-right::after {
    max-width: 150.3rem;
  }
  .comfortableness .points .frame-left .overlay {
    max-width: 149rem;
  }
  .comfortableness .points .frame-left::after {
    max-width: 150.3rem;
  }
  .comfortableness .points .point {
    height: 64rem;
  }
  .comfortableness .points .point .description {
    border: 0.3rem solid #ff4949;
    height: 88.5rem;
    top: 30rem;
    padding: 3.8rem 2rem;
    font-size: 4.3rem;
  }
  .comfortableness .points .point .description .name {
    letter-spacing: 0.8rem;
  }
  .comfortableness .points .point .description .name br {
    display: none;
  }
  .comfortableness .points .point .description .detail {
    font-size: 2.1rem;
    margin-right: 1.5rem;
    letter-spacing: 0.2rem;
  }
  .comfortableness .points .point .image-set {
    height: 100%;
  }
  .comfortableness .points .point .image-set .image {
    height: 100%;
    overflow: hidden;
  }
  .comfortableness .points .point:nth-child(1) .description {
    top: 12rem;
    left: 74.8rem;
  }
  .comfortableness .points .point:nth-child(1) .image-set {
    margin-right: -6.5rem;
  }
  .comfortableness .points .point:nth-child(1) .image-set .image img {
    width: 176rem;
    margin-left: -27rem;
    margin-top: -25.4rem;
  }
  .comfortableness .points .point:nth-child(1) .image-set .zoom {
    top: 3.4rem;
    left: 10.9rem;
    width: 60rem;
  }
  .comfortableness .points .point:nth-child(2) {
    margin-top: 44.3rem;
  }
  .comfortableness .points .point:nth-child(2) .description {
    right: 78.6rem;
    top: 21rem;
    height: 65rem;
  }
  .comfortableness .points .point:nth-child(2) .image-set {
    margin-left: -6.5rem;
  }
  .comfortableness .points .point:nth-child(2) .image-set .image img {
    width: 150rem;
    right: -1rem;
    top: -19rem;
  }
  .comfortableness .points .point:nth-child(2) .image-set .zoom {
    top: 0.4rem;
    right: 9.1rem;
    width: 60rem;
  }
  .comfortableness .copy8.sp {
    display: none;
  }
  .comfortableness .copy8.pc {
    display: block;
    width: 100.5rem;
    margin-top: 38rem;
    margin-left: auto;
    margin-right: auto;
  }
}
.navigation {
  margin-top: 28vw;
}
.navigation .red-circle {
  text-align: center;
  font-family: "Noto Serif JP", serif;
  border-radius: 100%;
  background-color: #ff4949;
  color: #fff;
  position: relative;
  width: 40vw;
  height: 40vw;
  font-size: 3.2vw;
  line-height: 4.3vw;
}
.navigation .red-circle .title {
  position: absolute;
  top: 0;
  right: -4.5vw;
  width: 6.5vw;
  height: 100%;
  padding: 0 1vw;
  color: #ff4949;
  font-size: 3.8vw;
  letter-spacing: 0.8vw;
  border: 0.3vw solid #ff4949;
  background-color: #fff;
  text-align: center;
}
.navigation .red-circle .arraw {
  width: 100%;
  position: absolute;
  padding: 0 16.3vw;
  display: flex;
  flex-direction: column;
}
.navigation .red-circle .arraw img {
  height: 2.8vw;
  margin-top: -0.6vw;
}
.navigation .right-side {
  margin-right: 4.5vw;
  margin-left: auto;
}
.navigation .policy {
  position: relative;
}
.navigation .policy .description {
  z-index: 30;
  position: relative;
  width: 18vw;
  margin: 3vw auto;
  margin-bottom: 5vw;
}
.navigation .policy .image {
  z-index: 20;
  position: absolute;
  top: 4vw;
  width: 88vw;
  left: -1vw;
}
.navigation .left-side {
  padding-top: 9vw;
}
.navigation .arraw-top {
  padding-top: 11vw;
}
.navigation .arraw-bottom {
  padding-top: 13.2vw;
}
@media (min-width: 1200px) {
  .navigation {
    margin-top: 19rem;
  }
  .navigation .red-circle {
    text-align: center;
    font-family: "Noto Serif JP", serif;
    border-radius: 100%;
    background-color: #ff4949;
    color: #fff;
    position: relative;
    width: 29.2rem;
    height: 29.2rem;
    font-size: 2.2rem;
    line-height: 3.1rem;
    z-index: 20;
  }
  .navigation .red-circle .title {
    position: absolute;
    top: -1rem;
    right: -3.3rem;
    width: 5.6rem;
    height: 107.5%;
    padding: 0.6rem 1rem 0 1.5rem;
    font-size: 3.3rem;
    letter-spacing: 0.55rem;
    border: 0.3rem solid #ff4949;
  }
  .navigation .red-circle .arraw {
    width: 100%;
    position: absolute;
    padding: 0 16.3rem;
    display: flex;
    flex-direction: column;
  }
  .navigation .red-circle .arraw img {
    height: 2.8rem;
    margin-top: -1rem;
    width: 6.2rem;
    margin-left: -5rem;
  }
  .navigation .right-side {
    margin-right: 14rem;
    margin-left: auto;
  }
  .navigation .policy {
    position: relative;
    margin-top: -35rem;
    z-index: 10;
  }
  .navigation .policy .description {
    z-index: 30;
    position: relative;
    width: 18rem;
    margin: 3rem auto;
    margin-bottom: 5rem;
    top: 7.9rem;
    left: 0.4rem;
  }
  .navigation .policy .image {
    z-index: 20;
    position: absolute;
    top: 4.6rem;
    width: 115rem;
    left: 10.7rem;
  }
  .navigation .left-side {
    padding-top: 9rem;
  }
  .navigation .arraw-top {
    padding-top: 8.2rem;
  }
  .navigation .arraw-top .arraw {
    top: -7.4rem;
  }
  .navigation .arraw-bottom {
    padding-top: 10.3rem;
    top: -21rem;
    left: 11.7rem;
  }
  .navigation .arraw-bottom .arraw {
    bottom: -8.8rem;
  }
}
.buybtn {
  margin-top: 21vw;
  text-align: center;
}
.buybtn.part2 {
  margin-top: 25vw;
}
.buybtn img {
  width: 72vw !important;
  height: 8.7vw !important;
}
@media (min-width: 1200px) {
  .buybtn {
    margin-top: 1rem;
    text-align: center;
  }
  .buybtn.part2 {
    margin-top: 27rem;
  }
  .buybtn img {
    width: 42rem !important;
    height: 5rem !important;
  }
}
.structure .points .point .dot {
  transform: scale(0);
}
.structure .points .point .card {
  opacity: 0;
}
.structure .points .point .line-vertical {
  transform: scaleY(0);
}
.structure .points .point .line-horizontal {
  transform: scaleX(0);
}
.structure .points.animation-start .point:nth-child(1) .dot {
  animation: zoom 0.5s linear 0s 1 normal both;
}
.structure .points.animation-start .point:nth-child(1) .line-vertical {
  animation: extend-up 0.5s linear 0.3s 1 normal both;
}
.structure .points.animation-start .point:nth-child(1) .card {
  animation: fadein 0.5s linear 1s 1 normal both;
}
.structure .points.animation-start .point:nth-child(2) .dot {
  animation: zoom 0.5s linear 0s 1 normal both;
}
.structure .points.animation-start .point:nth-child(2) .line-vertical.no2 {
  animation: extend-up 0.3s linear 0.3s 1 normal both;
}
.structure .points.animation-start .point:nth-child(2) .line-horizontal {
  animation: extend-right 0.2s linear 0.6s 1 normal both;
}
.structure .points.animation-start .point:nth-child(2) .line-vertical.no1 {
  animation: extend-up 0.2s linear 0.8s 1 normal both;
}
.structure .points.animation-start .point:nth-child(2) .card {
  animation: fadein 0.5s linear 1s 1 normal both;
}
.structure .points.animation-start .point:nth-child(3) .dot {
  animation: zoom 0.5s linear 0s 1 normal both;
}
.structure .points.animation-start .point:nth-child(3) .line-vertical.no2 {
  animation: extend-down 0.3s linear 0.3s 1 normal both;
}
.structure .points.animation-start .point:nth-child(3) .line-horizontal {
  animation: extend-left 0.2s linear 0.6s 1 normal both;
}
.structure .points.animation-start .point:nth-child(3) .line-vertical.no1 {
  animation: extend-down 0.2s linear 0.8s 1 normal both;
}
.structure .points.animation-start .point:nth-child(3) .card {
  animation: fadein 0.5s linear 1s 1 normal both;
}
.structure .points.animation-start .point:nth-child(4) .dot {
  animation: zoom 0.5s linear 0s 1 normal both;
}
.structure .points.animation-start .point:nth-child(4) .line-vertical {
  animation: extend-down 0.5s linear 0.3s 1 normal both;
}
.structure .points.animation-start .point:nth-child(4) .card {
  animation: fadein 0.5s linear 1s 1 normal both;
}
.structure {
  margin-top: 21vw;
}
.structure .insert-message {
  font-family: "Noto Serif JP", serif;
  right: 20vw;
  position: absolute;
  top: -7vw;
  font-size: 2.5vw;
  word-break: keep-all;
  letter-spacing: 0.3vw;
}
.structure .frame-right {
  padding-top: 19.5vw;
}
.structure .points {
  opacity: 1;
  position: relative;
  height: 100vw;
  margin-left: -6vw;
}
.structure .points .point {
  position: absolute;
  width: 28vw;
  z-index: 40;
}
.structure .points .point .card {
  padding: 1.5vw 2vw;
  border: 0.3vw solid #ff4949;
  background-color: #fff;
}
.structure .points .point .line-vertical {
  width: 0.3vw;
  background-color: #ff4949;
  position: absolute;
}
.structure .points .point .line-horizontal {
  height: 0.3vw;
  background-color: #ff4949;
  position: absolute;
}
.structure .points .point .dot {
  width: 1vw;
  height: 1vw;
  border-radius: 100%;
  background-color: #ff4949;
  position: absolute;
}
.structure .points .point .no {
  position: absolute;
  width: 5vw;
  left: -2.7vw;
  top: -2.5vw;
}
.structure .points .point .title {
  font-family: "Noto Serif JP", serif;
  font-size: 3vw;
}
.structure .points .point .detail {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.5vw;
  letter-spacing: 0.1vw;
  margin-top: 1vw;
  line-height: 3.6vw;
}
.structure .points .point:nth-child(1) {
  top: 0;
  left: 0;
}
.structure .points .point:nth-child(1) .line-vertical {
  height: 18.2vw;
  top: 29.7vw;
  left: 20vw;
}
.structure .points .point:nth-child(1) .dot {
  top: 47.2vw;
  left: 19.65vw;
}
.structure .points .point:nth-child(2) {
  top: 7.4vw;
  left: 34vw;
}
.structure .points .point:nth-child(2) .line-vertical.no1 {
  height: 6.5vw;
  top: 19.3vw;
  left: 13vw;
}
.structure .points .point:nth-child(2) .line-vertical.no2 {
  height: 13.2vw;
  top: 25.6vw;
  left: -4.3vw;
}
.structure .points .point:nth-child(2) .line-horizontal {
  top: 25.6vw;
  width: 17.3vw;
  left: -4vw;
}
.structure .points .point:nth-child(2) .dot {
  top: 38.2vw;
  left: -4.65vw;
}
.structure .points .point:nth-child(3) {
  top: 77vw;
  left: 23vw;
}
.structure .points .point:nth-child(3) .line-vertical.no1 {
  top: -10.1vw;
  height: 10.1vw;
  left: 18.8vw;
}
.structure .points .point:nth-child(3) .line-vertical.no2 {
  top: -18.1vw;
  height: 8.2vw;
  left: 32vw;
}
.structure .points .point:nth-child(3) .line-horizontal {
  top: -10.2vw;
  width: 13.5vw;
  left: 18.8vw;
}
.structure .points .point:nth-child(3) .dot {
  top: -18.4vw;
  left: 31.65vw;
}
.structure .points .point:nth-child(3) .detail {
  line-height: 3.1vw;
  margin-right: -2.3vw;
}
.structure .points .point:nth-child(4) {
  top: 74vw;
  left: 57vw;
}
.structure .points .point:nth-child(4) .line-vertical {
  top: -15.1vw;
  height: 15.1vw;
  left: 6.6vw;
}
.structure .points .point:nth-child(4) .dot {
  top: -15.6vw;
  left: 6.3vw;
}
.structure .points .white-circle {
  position: absolute;
  top: 18vw;
  left: 11vw;
  width: 67vw;
  height: 67vw;
  background-color: #fff;
  border-radius: 100%;
  z-index: 20;
}
.structure .points .filter {
  z-index: 30;
  position: absolute;
  top: 35.6vw;
  left: 6.2vw;
  width: 75.5vw;
}
.structure .points .filter img {
  width: 100%;
}
.structure .points .air {
  z-index: 30;
  position: absolute;
  top: 30.4vw;
  left: 76vw;
  width: 11vw;
}
.structure .points .air img {
  width: 100%;
}
.structure .filter-size {
  z-index: 2100;
  position: relative;
}
.structure .filter-size img {
  width: 92vw;
  margin-left: -3vw;
}
@media (min-width: 1200px) {
  .structure {
    margin-top: 20.6rem;
  }
  .structure .title {
    top: -13rem;
  }
  .structure .insert-message {
    left: 106rem;
    top: -11rem;
    font-size: 2rem;
    letter-spacing: 0.3rem;
    right: auto;
  }
  .structure .frame-right {
    padding-top: 10.1rem;
    margin-left: 15.1rem;
    margin-right: -100%;
    padding-right: 0;
    padding-bottom: 1.8rem;
  }
  .structure .points {
    height: 65rem;
    margin-left: -6rem;
  }
  .structure .points .point {
    width: 29.5rem;
  }
  .structure .points .point .card {
    padding: 1.5rem 2rem;
    border: 0.3rem solid #ff4949;
  }
  .structure .points .point .line-vertical {
    width: 0.3rem;
  }
  .structure .points .point .line-horizontal {
    height: 0.3rem;
  }
  .structure .points .point .dot {
    width: 1rem;
    height: 1rem;
    border-radius: 100%;
  }
  .structure .points .point .no {
    width: 5rem;
    left: -2.7rem;
    top: -2.5rem;
  }
  .structure .points .point .title {
    font-size: 2.3rem;
  }
  .structure .points .point .detail {
    font-size: 1.5rem;
    letter-spacing: 0.1rem;
    margin-top: 0;
    line-height: 2.9rem;
  }
  .structure .points .point:nth-child(1) {
    top: 3.7rem;
    left: 5.2rem;
  }
  .structure .points .point:nth-child(1) .line-vertical {
    height: 6rem;
    top: 18.3rem;
    left: 19.6rem;
  }
  .structure .points .point:nth-child(1) .dot {
    top: 23.9rem;
    left: 19.2rem;
  }
  .structure .points .point:nth-child(2) {
    top: 2.1rem;
    left: 40.7rem;
  }
  .structure .points .point:nth-child(2) .line-vertical.no1 {
    height: 3.1rem;
    top: 12.6rem;
    left: 8.9rem;
  }
  .structure .points .point:nth-child(2) .line-vertical.no2 {
    height: 8.5rem;
    top: 15.4rem;
    left: -1rem;
  }
  .structure .points .point:nth-child(2) .line-horizontal {
    top: 15.4rem;
    width: 10.1rem;
    left: -1rem;
  }
  .structure .points .point:nth-child(2) .dot {
    top: 23.2rem;
    left: -1.45rem;
  }
  .structure .points .point:nth-child(3) {
    top: 49.4rem;
    left: 41.5rem;
  }
  .structure .points .point:nth-child(3) .line-vertical.no1 {
    top: -10.1rem;
    height: 10.1rem;
    left: 22.6rem;
  }
  .structure .points .point:nth-child(3) .line-vertical.no2 {
    display: none;
  }
  .structure .points .point:nth-child(3) .line-horizontal {
    display: none;
  }
  .structure .points .point:nth-child(3) .dot {
    top: -10.2rem;
    left: 22.25rem;
  }
  .structure .points .point:nth-child(3) .detail {
    line-height: 2.7rem;
    margin-right: 0;
  }
  .structure .points .point:nth-child(4) {
    top: 45.8rem;
    left: 76.5rem;
  }
  .structure .points .point:nth-child(4) .line-vertical {
    top: -9rem;
    height: 9rem;
    left: 3.1rem;
  }
  .structure .points .point:nth-child(4) .dot {
    top: -9.1rem;
    left: 2.7rem;
  }
  .structure .points .white-circle {
    top: 0;
    left: 22rem;
    width: 65rem;
    height: 65rem;
    z-index: 20;
  }
  .structure .points .filter {
    top: 14.7rem;
    left: 11.7rem;
    width: 81.4rem;
  }
  .structure .points .air {
    top: 9.4rem;
    left: 86.5rem;
    width: 11.8rem;
  }
  .structure .points .air img {
    width: 100%;
  }
  .structure .filter-size {
    z-index: 2100;
    position: relative;
  }
  .structure .filter-size img {
    width: 75.5rem;
    margin-left: 34rem;
    margin-top: -2.9rem;
  }
}
.movies {
  margin-top: 30vw;
}
.movies .frame-left {
  padding-top: 20vw;
  padding-bottom: 13vw;
}
.movies .frame-left .movie {
  position: relative;
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-start;
}
.movies .frame-left .movie .title {
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.4vw;
  font-size: 2.7vw;
}
.movies .frame-left .movie .spe1 {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  height: 43vw;
}
.movies .frame-left .movie .youtube {
  width: 64.3vw;
  height: 36vw;
}
.movies .frame-left .movie .youtube iframe {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.movies .frame-left .movie:nth-child(1) .title {
  margin-right: 10vw;
  margin-left: 0.8vw;
  color: #ff4949;
}
.movies .frame-left .movie:nth-child(2) {
  margin-top: 6.5vw;
}
.movies .frame-left .movie:nth-child(2) .title {
  margin-right: 2vw;
  margin-left: 1.5vw;
  color: #ff4949;
}
@media (min-width: 1200px) {
  .movies {
    margin-top: 21rem;
  }
  .movies .title {
    top: -13rem;
  }
  .movies .frame-left {
    padding-top: 10.5rem;
    padding-bottom: 10.5rem;
    margin-right: 14.8rem;
    margin-left: -100%;
    padding-left: 0;
  }
  .movies .frame-left .movie .title {
    font-size: 2rem;
    letter-spacing: 0.1rem;
  }
  .movies .frame-left .movie .spe1 {
    height: 29rem;
  }
  .movies .frame-left .movie .youtube {
    width: 51.6rem;
    height: 29rem;
  }
  .movies .frame-left .movie:nth-child(1) {
    margin-left: 27.3rem;
  }
  .movies .frame-left .movie:nth-child(1) .title {
    margin-right: 29rem;
    margin-left: 1.8rem;
  }
  .movies .frame-left .movie:nth-child(2) {
    margin-top: 5.3rem;
    margin-left: 44.2rem;
  }
  .movies .frame-left .movie:nth-child(2) .title {
    margin-right: 8rem;
    margin-left: 2.8rem;
  }
}
.instruction {
  margin-top: 30vw;
}
.instruction .frame-right {
  padding-bottom: 13vw;
}
.instruction .frame-right .points {
  padding-top: 20vw;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  margin-left: -6.5vw;
  position: relative;
}
.instruction .frame-right .points .point {
  display: flex;
  flex-direction: row;
  background-color: #fff;
  margin-bottom: 8vw;
  width: 66vw;
  height: 19vw;
  position: relative;
}
.instruction .frame-right .points .point .step-no {
  position: absolute;
  width: 5vw;
  left: -2.1vw;
  top: -5.1vw;
  text-align: center;
}
.instruction .frame-right .points .point .step-no img:nth-child(1) {
  width: 4.2vw;
}
.instruction .frame-right .points .point .image {
  width: 25vw;
  flex: 0 0 auto;
}
.instruction .frame-right .points .point .description {
  font-family: "Noto Sans JP", sans-serif;
  flex: 1 1 auto;
  font-size: 2.1vw;
  padding: 1.1vw;
  line-height: 3.4vw;
}
.instruction .frame-right .points .point:nth-child(1) {
  margin-left: 3vw;
}
.instruction .frame-right .points .point:nth-child(2) {
  margin-left: 13vw;
}
.instruction .frame-right .points .point:nth-child(2) .description {
  padding-right: 0.2vw;
}
.instruction .frame-right .points .point:nth-child(3) {
  margin-left: 3vw;
}
.instruction .frame-right .points .point:nth-child(3) .description {
  padding-right: 0.2vw;
}
.instruction .frame-right .points .point:nth-child(4) {
  margin-left: 13vw;
}
@media (min-width: 1200px) {
  .instruction {
    margin-top: 21.2rem;
  }
  .instruction .title {
    margin-top: -6rem;
  }
  .instruction .frame-right {
    padding-bottom: 3.6rem;
    margin-left: 15rem;
    margin-right: -100%;
    padding-right: 0;
  }
  .instruction .frame-right .points {
    padding-top: 14.2rem;
    flex-direction: row;
    margin-left: -6.5rem;
  }
  .instruction .frame-right .points .point {
    display: flex;
    flex-direction: column;
    margin-bottom: 8rem;
    width: 23rem;
    height: 38rem;
  }
  .instruction .frame-right .points .point .step-no {
    width: 3.9rem;
    left: -1.4rem;
    top: -4.1rem;
  }
  .instruction .frame-right .points .point .step-no img:nth-child(1) {
    width: 4.2rem;
  }
  .instruction .frame-right .points .point .image {
    width: 23rem;
    height: 15.3rem;
    overflow: hidden;
  }
  .instruction .frame-right .points .point .description {
    font-size: 1.3rem;
    padding: 2.5rem;
    line-height: 2.8rem;
  }
  .instruction .frame-right .points .point:nth-child(1) {
    margin-left: 4rem;
  }
  .instruction .frame-right .points .point:nth-child(2) {
    margin-left: 4rem;
    margin-top: 5.3rem;
  }
  .instruction .frame-right .points .point:nth-child(2) .description {
    padding-right: 0.2rem;
  }
  .instruction .frame-right .points .point:nth-child(3) {
    margin-left: 3.6rem;
    margin-top: 10.6rem;
  }
  .instruction .frame-right .points .point:nth-child(3) .description {
    padding-right: 0.2rem;
  }
  .instruction .frame-right .points .point:nth-child(4) {
    margin-left: 3.3rem;
    margin-top: 15.9rem;
  }
}
.product .circle-set .red-circle {
  transform-origin: left;
  transform: translateX(37%);
}
.product .circle-set .red-circle img {
  opacity: 0;
}
.product .circle-set .white-circle {
  transform-origin: right;
  transform: translateX(-37%);
}
.product .circle-set .mask {
  transform-origin: right;
  transform: translateX(-37%);
}
.product .circle-set.animation-start .red-circle {
  animation: slide-left 0.3s linear 0.3s 1 normal both;
}
.product .circle-set.animation-start .red-circle img {
  animation: fadein 0.5s linear 0.4s 1 normal both;
}
.product .circle-set.animation-start .white-circle {
  animation: slide-right 0.3s linear 0.3s 1 normal both;
}
.product .circle-set.animation-start .mask {
  animation: slide-right 0.3s linear 0.3s 1 normal both;
}
.product {
  margin-top: 43vw;
  padding-top: 8vw;
  padding-bottom: 28vw;
  background-color: #ff494933;
  border-bottom: 0.3vw solid #ff4949;
}
.product .frame-center {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  background-color: #fff;
}
.product .circle-set {
  flex: 1 1 auto;
  margin-top: -22vw;
  margin-bottom: 22vw;
  margin-left: 4vw;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
}
.product .circle-set .circle {
  width: 45vw;
  height: 45vw;
}
.product .circle-set .red-circle {
  z-index: 20;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  border-radius: 100%;
  background-color: #ff4949;
  color: #fff;
  position: relative;
  font-size: 3.2vw;
  line-height: 4.3vw;
}
.product .circle-set .red-circle img {
  width: 32vw;
  margin-top: 13.5vw;
  margin-left: -6vw;
}
.product .circle-set .white-circle {
  z-index: 10;
  margin-left: -12vw;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  border-radius: 100%;
  background-color: #fff;
  border: 0.3vw solid #ff4949;
  position: relative;
  font-size: 3.2vw;
  line-height: 4.3vw;
}
.product .circle-set .mask {
  z-index: 30;
  margin-left: -42vw;
  width: 47vw;
}
.product .circle-set .mask img {
  width: 48vw;
  margin-top: 5.5vw;
  margin-left: -0.5vw;
}
.product .package {
  flex: 1 1 auto;
  width: 100%;
  margin-top: -15vw;
  text-align: center;
}
.product .package img {
  width: 46vw;
}
.product .description {
  font-family: "Noto Sans JP", sans-serif;
  flex: 1 1 auto;
  width: 100%;
  padding: 6vw;
  font-size: 2vw;
  letter-spacing: 0.4vw;
  line-height: 4vw;
  display: flex;
  flex-direction: column;
}
.product .description .text {
  width: 100%;
  margin-bottom: 5vw;
}
.product .description .text .benchmark {
  margin: 1vw 0;
}
.product .description .image {
  margin-top: 2vw;
  width: 100%;
  position: relative;
}
.product .description .image .photo {
  position: absolute;
  width: 24vw;
  left: 3vw;
  top: 4vw;
}
@media (min-width: 1200px) {
  .product {
    width: 100%;
    margin-top: 32.8rem;
    padding-top: 5.9rem;
    padding-bottom: 10.8rem;
    border-bottom: 0.3rem solid #ff4949;
  }
  .product .frame-center {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 1270px;
    margin: 0 auto;
  }
  .product .circle-set {
    flex: 0 0 auto;
    margin-top: -17.8rem;
    margin-bottom: 0;
    margin-left: 16.1rem;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    width: 67rem;
  }
  .product .circle-set .circle {
    width: 36rem;
    height: 36rem;
  }
  .product .circle-set .red-circle {
    z-index: 20;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    border-radius: 100%;
    background-color: #ff4949;
    color: #fff;
    position: relative;
    font-size: 3.2rem;
    line-height: 4.3rem;
  }
  .product .circle-set .red-circle img {
    width: 22rem;
    margin-top: 10.4rem;
    margin-left: -6rem;
  }
  .product .circle-set .white-circle {
    z-index: 10;
    margin-left: -9rem;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    border-radius: 100%;
    background-color: #fff;
    border: 0.3rem solid #ff4949;
    position: relative;
    font-size: 3.2rem;
    line-height: 4.3rem;
  }
  .product .circle-set .mask {
    z-index: 30;
    margin-left: -36rem;
    width: 40rem;
  }
  .product .circle-set .mask img {
    width: 40.5rem;
    margin-top: 3.5rem;
    margin-left: 0;
  }
  .product .package {
    width: 26.2rem;
    margin-top: -18.8rem;
    margin-left: 2.2rem;
    text-align: left;
    flex: 0 0 auto;
  }
  .product .package img {
    width: 100%;
  }
  .product .description {
    flex: 1 1 auto;
    width: 100%;
    padding: 0 16rem;
    font-size: 1.35rem;
    letter-spacing: 0.1rem;
    line-height: 2.7rem;
    margin-top: 5.5rem;
    margin-bottom: 4.7rem;
    display: flex;
    flex-direction: column;
  }
  .product .description .text .benchmark {
    margin: 1rem 0;
  }
  .product .description .image {
    margin-top: 2rem;
    position: relative;
  }
  .product .description .image .photo {
    position: absolute;
    width: 13rem;
    left: 3.2rem;
    top: -7.5rem;
  }
}
footer {
  padding: 8vw 12vw 25vw 12vw;
  font-family: "Noto Sans JP", sans-serif;
}
footer .company .logo {
  text-align: center;
}
footer .company .logo img {
  width: 21vw;
}
footer .company .name {
  text-align: center;
  padding: 4vw;
  font-size: 2.2vw;
}
footer .company .bar {
  width: 4.2vw;
  margin: 1.7vw auto;
  height: 0.3vw;
  background-color: #000;
}
footer .company .detail {
  padding: 4vw 1.5vw;
  font-size: 2.5vw;
}
footer .btns {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 1.4vw;
}
footer .btns a {
  position: relative;
}
footer .btns a:nth-child(n + 2) {
  margin-top: 5.5vw;
}
footer .btns .btn,
footer .btns .shadow {
  width: 45vw;
  height: 7.6vw;
}
footer .btns .btn {
  position: relative;
  color: #ff4949;
  background-color: #fff;
  border: 0.3vw solid #ff4949;
  text-align: center;
  font-size: 4vw;
  line-height: 7vw;
  z-index: 20;
}
footer .btns .btn.font-small {
  font-size: 3.5vw;
}
footer .btns .btn:after {
  content: "";
  width: 2.5vw;
  height: 2.5vw;
  display: block;
  border-top: solid 0.3vw;
  border-right: solid 0.3vw;
  transform: rotate(45deg);
  position: absolute;
  top: 2.5vw;
  right: 3vw;
}
footer .btns .shadow {
  position: absolute;
  background-color: #ff4949;
  top: 0.6vw;
  left: 0.6vw;
  z-index: 10;
}
@media (min-width: 1200px) {
  footer {
    padding: 5rem;
  }
  footer .company {
    width: 120rem;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
  }
  footer .company .logo {
    width: 15.3rem;
    margin-top: 1rem;
    margin-left: 4rem;
  }
  footer .company .logo img {
    width: 100%;
  }
  footer .company .name {
    text-align: center;
    padding: 2.5rem 0 2.5rem 3.1rem;
    font-size: 1.3rem;
  }
  footer .company .bar {
    width: 0.2rem;
    margin: 1.7rem;
    height: 3.5rem;
  }
  footer .company .detail {
    padding: 1.5rem 0;
    font-size: 1.4rem;
  }
  footer .btns {
    width: 37rem;
    display: flex;
    flex-direction: row;
    align-items: center;
    padding-top: 0;
  }
  footer .btns a {
    position: relative;
  }
  footer .btns a:nth-child(1) {
    margin-left: 3rem;
  }
  footer .btns a:nth-child(n + 2) {
    margin-top: 0;
    margin-left: 1.6rem;
  }
  footer .btns .btn,
  footer .btns .shadow {
    width: 16.2rem;
    height: 2.8rem;
  }
  footer .btns .btn {
    position: relative;
    color: #ff4949;
    background-color: #fff;
    border: 0.2rem solid #ff4949;
    text-align: center;
    font-size: 1.3rem;
    line-height: 1.9rem;
    z-index: 20;
    padding-right: 1rem;
  }
  footer .btns .btn.font-small {
    font-size: 1.2rem;
  }
  footer .btns .btn:after {
    content: "";
    width: 1rem;
    height: 1rem;
    display: block;
    border-top: solid 0.2rem;
    border-right: solid 0.2rem;
    transform: rotate(45deg);
    position: absolute;
    top: 0.6rem;
    right: 1rem;
  }
  footer .btns .shadow {
    top: 0.2rem;
    left: 0.2rem;
  }
}
.baseline {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100000;
  width: 100%;
  height: calc(1697.4vw + 200px);
  background-image: url(../js/../asset/baseline_sp.jpg);
  background-size: contain;
  opacity: 0.7;
}
.vertical-text {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
.text-combine {
  -webkit-text-combine: horizontal;
  -ms-text-combine-horizontal: all;
  text-combine-upright: all;
}
@media (min-width: 1200px) {
  .baseline {
    height: calc(600vw + 855px);
    background-image: url(../js/../asset/baseline_pc.jpg);
  }
}
html {
  font-size: 10px;
}
html body * {
  box-sizing: border-box;
}
html ul {
  list-style-type: none;
}
html a {
  text-decoration: none;
}
html body {
  background: url(../js/../asset/bg.png);
}
html .scroll-top {
  display: none;
  position: fixed;
  width: 6.9vw;
  right: 4.1vw;
  bottom: 8vw;
  z-index: 4000;
  cursor: pointer;
}
html .scroll-top img {
  width: 100%;
}
@media (min-width: 1200px) {
  html .scroll-top {
    width: 5.9rem;
    right: calc(50% - 60rem);
    bottom: 12rem;
  }
}

/* ==============================
  コピーライト
============================== */


footer + p.copyright {
  font-size: 2.5vw;
  text-align: center;
  background-color: #FFF;
  padding: 4vw 0;
}
@media (min-width: 1200px) {
  footer + p.copyright {
    font-size: 1.4rem;
    padding: 1.2% 0 1.1%;
  }
}
