/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}

br.optional-br-xxs {
  display: none;
}
@media all and (max-width: 480px) {
  br.optional-br-xxs {
    display: block;
  }
}
br.optional-br-xxxs {
  display: none;
}
@media all and (max-width: 375px) {
  br.optional-br-xxxs {
    display: block;
  }
}
br.optional-br-xxxxs {
  display: none;
}
@media all and (max-width: 320px) {
  br.optional-br-xxxxs {
    display: block;
  }
}
.hidden {
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px;
}
html {
  font-size: 21px;
}
@media all and (min-width: 1024px) and (max-width: 1280px) {
  html {
    font-size: 19px;
  }
}
@media all and (min-width: 800px) and (max-width: 1024px) {
  html {
    font-size: 15px;
  }
}
@media all and (min-width: 640px) and (max-width: 800px) {
  html {
    font-size: 12px;
  }
}
@media all and (min-width: 480px) and (max-width: 640px) {
  html {
    font-size: 12px;
  }
}
@media all and (max-width: 480px) {
  html {
    font-size: 12px;
  }
}
body {
  font-family: "源ノ角ゴシック", "Source Han Sans", -apple-system, "Roboto", "Helvetica Neue", "Droid Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Meiryo", "メイリオ", "Osaka", "MS PGothic", arial, sans-serif;
  line-height: 1.6;
  color: #262626;
}
header {
  position: fixed;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-bottom: rgba(55,55,66,0.25) solid 1px;
  background: #fff;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
}
header h1 {
  position: absolute;
  top: 0;
  right: 0;
  font-size: 0.4375rem;
  color: #d9d9d9;
}
@media all and (max-width: 640px) {
  header h1 {
    visibility: hidden;
  }
}
header .contact-form {
  position: relative;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  height: 2.6875rem;
  background: -webkit-gradient(linear, left top, right top, from(#ffa770), to(#ff4a4a));
  background: linear-gradient(90deg, #ffa770 0%, #ff4a4a 100%);
  border-radius: 0.625rem;
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  white-space: nowrap;
}
header .contact-form:hover {
  background: -webkit-gradient(linear, left top, right top, from(#ff924e), to(#ff3030));
  background: linear-gradient(90deg, #ff924e 0%, #ff3030 100%);
}
header .contact-form span {
  color: #fff;
  font-size: 0.9375rem;
}
header .contact-form.application {
  background: -webkit-gradient(linear, right top, left top, from(#ff1f1f), to(#ff6e54));
  background: linear-gradient(270deg, #ff1f1f 0%, #ff6e54 100%);
  margin-right: 0.625rem;
}
header .contact-form.application:hover {
  background: -webkit-gradient(linear, right top, left top, from(#f11), to(#ff4a39));
  background: linear-gradient(270deg, #f11 0%, #ff4a39 100%);
}
header .contact-form .campaign {
  position: absolute;
  color: #ffaba3;
  font-size: 0.59375rem;
  font-style: italic;
  top: -1rem;
  left: 0;
}
#header-container {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  height: 5.9375rem;
  padding-left: 1.46875rem;
  padding-right: 0.8125rem;
  width: 100%;
  max-width: 60rem;
}
@media all and (max-width: 640px) {
  #header-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: 7.5rem;
  }
}
#header-logo {
  display: block;
  text-decoration: none;
}
#header-logo img {
  width: 23.0625rem;
  height: 2rem;
}
@media all and (max-width: 640px) {
  #header-logo {
    margin-top: 0.3125rem;
    margin-bottom: 0.3125rem;
  }
}
#header-contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 0.625rem;
}
@media all and (max-width: 640px) {
  #header-contact {
    margin-top: 0.3125rem;
    margin-bottom: 0.3125rem;
  }
}
#header-contact-tel {
  margin-right: 1.5625rem;
}
#header-contact-tel img {
  width: 10.3125rem;
  height: 1.625rem;
}
@media all and (max-width: 320px) {
  #header-contact-tel img {
    width: 8.25rem;
    height: 1.3rem;
  }
}
nav {
  margin: 1.875rem auto;
  max-width: 60rem;
}
nav a {
  color: #3f51b5;
  text-decoration: none;
  font-size: 1.375rem;
  margin-left: 1.25rem;
}
#campaign-20191004 {
  max-width: 60rem;
  margin: 0 auto 1.875rem;
}
#campaign-20191004 div {
  padding: 0 9.375rem;
}
@media all and (max-width: 1280px) {
  #campaign-20191004 div {
    padding: 0 6.25rem;
  }
}
@media all and (max-width: 1024px) {
  #campaign-20191004 div {
    padding: 0 3.125rem;
  }
}
@media all and (max-width: 800px) {
  #campaign-20191004 div {
    padding: 0 1.5625rem;
  }
}
@media all and (max-width: 640px) {
  #campaign-20191004 div {
    padding: 0 0.625rem;
  }
}
#campaign-20191004 img {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  position: relative;
  left: 1.25rem;
}
#content,
#hero {
  padding-top: 7.1875rem;
}
@media all and (max-width: 640px) {
  #content,
  #hero {
    padding-top: 8.75rem;
  }
}
.general-header {
  font-weight: normal;
  margin-top: 0;
  margin-bottom: 1.5625rem;
  font-size: 1.34375rem;
}
@media all and (min-width: 640px) and (max-width: 800px) {
  .general-header {
    font-size: 1.6796875rem;
  }
}
@media all and (max-width: 640px) {
  .general-header {
    font-size: 1.746875rem;
  }
}
.general-header.center {
  text-align: center;
}
.general-sub-header {
  font-size: 0.75rem;
  font-weight: bold;
}
@media all and (min-width: 640px) and (max-width: 800px) {
  .general-sub-header {
    font-size: 0.9375rem;
  }
}
@media all and (max-width: 640px) {
  .general-sub-header {
    font-size: 1.05rem;
  }
}
.general-body {
  font-size: 0.75rem;
  margin-bottom: 1.5625rem;
}
@media all and (min-width: 640px) and (max-width: 800px) {
  .general-body {
    font-size: 0.9375rem;
  }
}
@media all and (max-width: 640px) {
  .general-body {
    font-size: 1.05rem;
  }
}
.general-annotation {
  color: #787878;
  font-size: 0.625rem;
}
@media all and (min-width: 640px) and (max-width: 800px) {
  .general-annotation {
    font-size: 0.78125rem;
  }
}
@media all and (max-width: 640px) {
  .general-annotation {
    font-size: 0.875rem;
  }
}
#content {
  background: #fafafa;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
}
#content .body {
  padding: 4rem;
  background: #fff;
  max-width: 40rem;
  margin: 0 auto;
}
@media all and (max-width: 640px) {
  #content .body {
    padding: 2rem;
  }
}
#hero {
  background: #373742;
  height: 25.125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow: hidden;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media all and (max-width: 640px) {
  #hero {
    height: auto;
  }
}
#hero-contents {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  z-index: 1;
}
#hero-contents #hero-content-right {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-bottom: 1.25rem;
}
#hero-contents #hero-content-right img {
  width: 20.375rem;
  height: 7.9375rem;
}
@media all and (max-width: 640px) {
  #hero-contents #hero-content-right {
    padding-bottom: 8.75rem;
  }
}
#hero-contents #hero-content-left {
  width: 27.375rem;
}
@media all and (max-width: 640px) {
  #hero-contents #hero-content-left {
    width: 100%;
    margin-bottom: 2.5rem;
  }
  #hero-contents #hero-content-left::after {
    content: "";
    display: block;
    padding-bottom: 59.74973931178311%;
    background-image: url("hero-box.5688da54.jpg");
    background-size: contain;
    background-repeat: no-repeat;
  }
}
@media all and (max-width: 640px) and (-webkit-min-device-pixel-ratio: 1.5), all and (max-width: 640px) and (min-resolution: 1.5dppx) {
  #hero-contents #hero-content-left::after {
    background-image: url("hero-box@2x.ab2a1e90.jpg");
  }
}
@media all and (max-width: 640px) {
  #hero-contents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#hero-flowers {
  position: relative;
  width: 100%;
  max-width: 60rem;
}
#hero-flowers div {
  position: absolute;
  bottom: 0;
}
#hero-flowers div.right {
  right: -9.3125rem;
  width: 26.59375rem;
  height: 14.53125rem;
  background-image: url("flower-right.bca2beb0.jpg");
  background-size: contain;
  background-repeat: no-repeat;
}
@media all and (-webkit-min-device-pixel-ratio: 1.5), all and (min-resolution: 1.5dppx) {
  #hero-flowers div.right {
    background-image: url("flower-right@2x.1ae8f2f3.jpg");
  }
}
#hero-flowers div.left {
  left: -8.75rem;
  width: 36.15625rem;
  height: 25.125rem;
  background-image: url("flower-left.3ad93496.jpg");
  background-size: contain;
  background-repeat: no-repeat;
}
@media all and (-webkit-min-device-pixel-ratio: 1.5), all and (min-resolution: 1.5dppx) {
  #hero-flowers div.left {
    background-image: url("flower-left@2x.b14bc30c.jpg");
  }
}
#hero-flowers div.center {
  display: none;
  left: 0;
  width: 100%;
  padding-bottom: 47.8125%;
}
@media all and (max-width: 640px) {
  #hero-flowers div.right,
  #hero-flowers div.left {
    display: none;
    background-image: none;
  }
  #hero-flowers div.center {
    display: block;
    background-image: url("flower-center.b85706c9.jpg");
    background-size: contain;
    background-repeat: no-repeat;
  }
}
@media all and (max-width: 640px) and (-webkit-min-device-pixel-ratio: 1.5), all and (max-width: 640px) and (min-resolution: 1.5dppx) {
  #hero-flowers div.center {
    background-image: url("flower-center@2x.405160e4.jpg");
  }
}
.conversion {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 1.875rem;
}
.conversion a {
  -webkit-transition: -webkit-box-shadow 0.2s;
  transition: -webkit-box-shadow 0.2s;
  transition: box-shadow 0.2s;
  transition: box-shadow 0.2s, -webkit-box-shadow 0.2s;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 1.3125rem 8.5625rem;
  top: -1.5625rem;
  z-index: 2;
  background: #fff;
  border-radius: 1.1875rem;
  text-decoration: none;
  -webkit-box-shadow: 0 0.6875rem 2.1875rem rgba(102,29,48,0.2);
          box-shadow: 0 0.6875rem 2.1875rem rgba(102,29,48,0.2);
  max-width: 95%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.conversion a:hover {
  -webkit-box-shadow: 0 0.8125rem 2.53125rem rgba(102,29,48,0.3);
          box-shadow: 0 0.8125rem 2.53125rem rgba(102,29,48,0.3);
}
.conversion a:hover .disclosure {
  -webkit-transform: translate(0.625rem, 0);
          transform: translate(0.625rem, 0);
}
@media all and (max-width: 640px) {
  .conversion a {
    padding-right: 4.6875rem;
    padding-left: 4.6875rem;
  }
}
.conversion .balloon-container {
  width: 0;
  height: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.conversion .balloon-container .balloon {
  right: 6.96875rem;
  top: -3.75rem;
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 11rem;
  height: 3.9375rem;
  background-image: url("balloon.bcd621d6.png");
  background-size: contain;
  background-repeat: no-repeat;
}
@media all and (-webkit-min-device-pixel-ratio: 1.5), all and (min-resolution: 1.5dppx) {
  .conversion .balloon-container .balloon {
    background-image: url("balloon@2x.20bb8752.png");
  }
}
@media all and (max-width: 640px) {
  .conversion .balloon-container .balloon {
    right: 4.375rem;
  }
}
.conversion .text-container {
  margin-left: 0.625rem;
}
.conversion .text-container .catch {
  display: block;
  color: #ed6a17;
  font-size: 0.96875rem;
  margin-bottom: 0.25rem;
  text-align: center;
}
@media all and (max-width: 374px) {
  .conversion .text-container .catch {
    font-size: 0.78125rem;
  }
}
.conversion .text-container .title {
  display: block;
  color: #000;
  font-weight: bold;
  font-size: 1.4375rem;
  text-align: center;
  white-space: nowrap;
}
@media all and (max-width: 374px) {
  .conversion .text-container .title {
    font-size: 1rem;
  }
}
.conversion .disclosure-container {
  width: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.conversion .disclosure-container .disclosure {
  -webkit-transition: -webkit-transform 0.2s;
  transition: -webkit-transform 0.2s;
  transition: transform 0.2s;
  transition: transform 0.2s, -webkit-transform 0.2s;
  margin-left: 1.5rem;
  width: 1rem;
  height: 1.875rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background-image: url("disclosure-orange.37274ebd.png");
  background-size: contain;
  background-repeat: no-repeat;
}
@media all and (-webkit-min-device-pixel-ratio: 1.5), all and (min-resolution: 1.5dppx) {
  .conversion .disclosure-container .disclosure {
    background-image: url("disclosure-orange@2x.6dca35b6.png");
  }
}
#postal-banner {
  text-align: center;
  margin-bottom: 2.5rem;
}
#postal-banner img {
  width: 46.5rem;
  max-width: 100%;
}
.columns {
  padding: 0 3.125rem;
  margin-bottom: 2.5rem;
}
@media all and (max-width: 640px) {
  .columns {
    padding: 0 1.25rem;
  }
}
.columns .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 60rem;
  margin: 0 auto;
}
@media all and (max-width: 640px) {
  .columns .inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.columns .column {
  width: 0;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin: 0 2.1875rem;
}
@media all and (max-width: 640px) {
  .columns .column {
    width: auto;
    margin: 0;
    margin-bottom: 1.25rem;
  }
}
#caution-2024 {
  max-width: 600px;
  padding: 0 20px;
  margin: 30px auto;
  text-align: center;
}
#new-common-sense .text {
  padding-top: 0.46875rem;
}
#new-common-sense .text a {
  text-decoration: none;
  border-radius: 0.3125rem;
  margin: 0 auto;
  display: inline-block;
  color: #fff;
  background: #353440;
  font-size: 0.75rem;
  padding: 0.625rem 1.5625rem;
}
@media all and (min-width: 640px) and (max-width: 800px) {
  #new-common-sense .text a {
    font-size: 0.9375rem;
  }
}
@media all and (max-width: 640px) {
  #new-common-sense .text a {
    font-size: 1.05rem;
  }
}
#new-common-sense img {
  width: 100%;
}
#usage-flow {
  padding-bottom: 3.125rem;
  overflow: hidden;
}
#usage-flow .inner {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media all and (max-width: 640px) {
  #usage-flow .inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#usage-flow .text {
  padding-top: 0.625rem;
}
#usage-flow .text .general-sub-header,
#usage-flow .text .general-body {
  margin-top: 0.3125rem;
}
#usage-flow .image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media all and (max-width: 640px) {
  #usage-flow .image {
    margin-left: -1.25rem;
    margin-right: -1.25rem;
  }
}
#usage-flow .image .canvas {
  background-image: url("usage-flow.706ebefa.jpg");
  background-size: contain;
  background-repeat: no-repeat;
  padding-bottom: 52.41779497098646%;
  width: 100%;
  -webkit-transform: scale(1.25);
          transform: scale(1.25);
}
@media all and (-webkit-min-device-pixel-ratio: 1.5), all and (min-resolution: 1.5dppx) {
  #usage-flow .image .canvas {
    background-image: url("usage-flow@2x.f939c875.jpg");
  }
}
@media all and (max-width: 640px) {
  #usage-flow .image .canvas {
    background-image: url("usage-flow-small.8beb13e3.jpg");
    background-size: contain;
    background-repeat: no-repeat;
    padding-bottom: 79.39646201873049%;
    -webkit-transform: none;
            transform: none;
  }
}
@media all and (max-width: 640px) and (-webkit-min-device-pixel-ratio: 1.5), all and (max-width: 640px) and (min-resolution: 1.5dppx) {
  #usage-flow .image .canvas {
    background-image: url("usage-flow-small@2x.a193c068.jpg");
  }
}
#usage-flow .neg {
  margin-top: -0.625rem;
}
#usage-flow .paragraph {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#usage-flow .paragraph.with-arrow:after {
  position: absolute;
  content: '';
  width: 0.625rem;
  height: 0.34375rem;
  bottom: 0.5rem;
  left: 1.8125rem;
  background-image: url("arrow-down.01f73b80.png");
  background-size: contain;
  background-repeat: no-repeat;
}
@media all and (-webkit-min-device-pixel-ratio: 1.5), all and (min-resolution: 1.5dppx) {
  #usage-flow .paragraph.with-arrow:after {
    background-image: url("arrow-down@2x.ab74b482.png");
  }
}
#usage-flow .paragraph .general-sub-header {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 6.25rem;
}
#reasons {
  padding-bottom: 3.125rem;
  overflow: hidden;
}
@media all and (max-width: 800px) {
  #reasons .inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#reasons .general-header {
  text-align: center;
}
#reasons .card {
  position: relative;
  width: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  background: #fff;
  -webkit-box-shadow: 0 0.6875rem 2.1875rem rgba(102,29,48,0.2);
          box-shadow: 0 0.6875rem 2.1875rem rgba(102,29,48,0.2);
  margin-right: 3.125rem;
  padding: 1.40625rem 0.625rem 1.875rem;
}
#reasons .card:last-child {
  margin-right: 0;
}
@media all and (max-width: 800px) {
  #reasons .card {
    margin: 0 1.25rem 1.875rem !important;
    width: auto;
  }
}
#reasons .card .boom {
  position: absolute;
  width: 9.375rem;
  height: 5.03125rem;
  right: -1.875rem;
  bottom: -1.40625rem;
  background-image: url("boom.54dcdcf1.png");
  background-size: contain;
  background-repeat: no-repeat;
}
@media all and (-webkit-min-device-pixel-ratio: 1.5), all and (min-resolution: 1.5dppx) {
  #reasons .card .boom {
    background-image: url("boom@2x.99abef0b.png");
  }
}
@media all and (max-width: 800px) {
  #reasons .card .boom {
    -webkit-transform-origin: 100% 100%;
            transform-origin: 100% 100%;
    -webkit-transform: scale(1.3);
            transform: scale(1.3);
  }
}
#reasons .card .catch {
  color: #787878;
  text-align: center;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 0.75rem;
}
@media all and (min-width: 640px) and (max-width: 800px) {
  #reasons .card .catch {
    font-size: 0.9375rem;
  }
}
@media all and (max-width: 640px) {
  #reasons .card .catch {
    font-size: 1.05rem;
  }
}
#reasons .card .title {
  font-size: 1.34375rem;
  font-weight: bold;
  text-align: center;
  margin-top: 0.4375rem;
}
@media all and (min-width: 640px) and (max-width: 800px) {
  #reasons .card .title {
    font-size: 1.6796875rem;
  }
}
@media all and (max-width: 640px) {
  #reasons .card .title {
    font-size: 1.746875rem;
  }
}
#reasons .card .hr {
  height: 1px;
  background: -webkit-gradient(linear, left top, right top, from(#ffa770), to(#ff4a4a));
  background: linear-gradient(90deg, #ffa770 0%, #ff4a4a 100%);
  margin-bottom: 1.5625rem;
}
#reasons .card .annotation {
  color: #787878;
  font-size: 0.5625rem;
}
@media all and (min-width: 640px) and (max-width: 800px) {
  #reasons .card .annotation {
    font-size: 0.703125rem;
  }
}
@media all and (max-width: 640px) {
  #reasons .card .annotation {
    font-size: 0.7875rem;
  }
}
#reasons .card ul {
  list-style: none;
  padding-right: 0.9375rem;
  padding-left: 1.875rem;
  font-size: 0.75rem;
}
@media all and (min-width: 640px) and (max-width: 800px) {
  #reasons .card ul {
    font-size: 0.9375rem;
  }
}
@media all and (max-width: 640px) {
  #reasons .card ul {
    font-size: 1.05rem;
  }
}
#reasons .card ul li {
  margin-bottom: 1rem;
}
#reasons .card ul li:before {
  content: "\2022";
  color: #ff4a4a;
  font-weight: bold;
  display: inline-block;
  width: 1em;
  margin-left: -1em;
}
#reasons .card ul li:last-child {
  margin-bottom: 0;
}
#wedding-sweet-variations {
  margin-bottom: 3.125rem;
}
#wedding-sweet-variations .body-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 3.125rem;
}
@media all and (max-width: 800px) {
  #wedding-sweet-variations .inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#wedding-sweet-variations .general-header {
  text-align: center;
}
#wedding-sweet-variations .card {
  position: relative;
  width: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  background: #fff;
  -webkit-box-shadow: 0 0.6875rem 2.1875rem rgba(102,29,48,0.2);
          box-shadow: 0 0.6875rem 2.1875rem rgba(102,29,48,0.2);
  margin-right: 3.125rem;
  padding: 1.40625rem 0.625rem 1.875rem;
}
#wedding-sweet-variations .card:last-child {
  margin-right: 0;
}
@media all and (max-width: 800px) {
  #wedding-sweet-variations .card {
    margin: 0 1.25rem 1.875rem !important;
    width: auto;
  }
}
#wedding-sweet-variations .card .boom {
  position: absolute;
  width: 9.375rem;
  height: 5.03125rem;
  right: -1.875rem;
  bottom: -1.40625rem;
  background-image: url("boom.54dcdcf1.png");
  background-size: contain;
  background-repeat: no-repeat;
}
@media all and (-webkit-min-device-pixel-ratio: 1.5), all and (min-resolution: 1.5dppx) {
  #wedding-sweet-variations .card .boom {
    background-image: url("boom@2x.99abef0b.png");
  }
}
@media all and (max-width: 800px) {
  #wedding-sweet-variations .card .boom {
    -webkit-transform-origin: 100% 100%;
            transform-origin: 100% 100%;
    -webkit-transform: scale(1.3);
            transform: scale(1.3);
  }
}
#wedding-sweet-variations .card .catch {
  color: #787878;
  text-align: center;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 0.75rem;
}
@media all and (min-width: 640px) and (max-width: 800px) {
  #wedding-sweet-variations .card .catch {
    font-size: 0.9375rem;
  }
}
@media all and (max-width: 640px) {
  #wedding-sweet-variations .card .catch {
    font-size: 1.05rem;
  }
}
#wedding-sweet-variations .card .title {
  font-size: 1.34375rem;
  font-weight: bold;
  text-align: center;
  margin-top: 0.4375rem;
}
@media all and (min-width: 640px) and (max-width: 800px) {
  #wedding-sweet-variations .card .title {
    font-size: 1.6796875rem;
  }
}
@media all and (max-width: 640px) {
  #wedding-sweet-variations .card .title {
    font-size: 1.746875rem;
  }
}
#wedding-sweet-variations .card .hr {
  height: 1px;
  background: -webkit-gradient(linear, left top, right top, from(#ffa770), to(#ff4a4a));
  background: linear-gradient(90deg, #ffa770 0%, #ff4a4a 100%);
  margin-bottom: 1.5625rem;
}
#wedding-sweet-variations .card .annotation {
  color: #787878;
  font-size: 0.5625rem;
}
@media all and (min-width: 640px) and (max-width: 800px) {
  #wedding-sweet-variations .card .annotation {
    font-size: 0.703125rem;
  }
}
@media all and (max-width: 640px) {
  #wedding-sweet-variations .card .annotation {
    font-size: 0.7875rem;
  }
}
#wedding-sweet-variations .card ul {
  list-style: none;
  padding-right: 0.9375rem;
  padding-left: 1.875rem;
  font-size: 0.75rem;
}
@media all and (min-width: 640px) and (max-width: 800px) {
  #wedding-sweet-variations .card ul {
    font-size: 0.9375rem;
  }
}
@media all and (max-width: 640px) {
  #wedding-sweet-variations .card ul {
    font-size: 1.05rem;
  }
}
#wedding-sweet-variations .card ul li {
  margin-bottom: 1rem;
}
#wedding-sweet-variations .card ul li:before {
  content: "\2022";
  color: #ff4a4a;
  font-weight: bold;
  display: inline-block;
  width: 1em;
  margin-left: -1em;
}
#wedding-sweet-variations .card ul li:last-child {
  margin-bottom: 0;
}
#wedding-sweet-variations .image-container {
  padding: 0 1.25rem;
  margin-bottom: 0.9375rem;
}
#wedding-sweet-variations .image-container img {
  width: 100%;
}
#comparison h1 {
  text-align: center;
}
@media all and (max-width: 640px) {
  #comparison .columns {
    padding: 0;
  }
}
#comparison .inner {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 0 6.25rem;
}
@media all and (max-width: 800px) {
  #comparison .inner {
    padding: 0;
  }
}
@media all and (max-width: 480px) {
  #comparison .inner {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
#comparison .comparison {
  background-image: url("comparison-large.07162992.png");
  background-size: contain;
  background-repeat: no-repeat;
  width: 100%;
  padding-bottom: 99.58974358974359%;
  margin-bottom: 3.125rem;
}
@media all and (-webkit-min-device-pixel-ratio: 1.5), all and (min-resolution: 1.5dppx) {
  #comparison .comparison {
    background-image: url("comparison-large@2x.4e46df0d.png");
  }
}
@media all and (max-width: 640px) {
  #comparison .comparison {
    background-image: url("comparison-small.836b47f1.png");
    background-size: contain;
    background-repeat: no-repeat;
    padding-bottom: 148.80581516095535%;
  }
}
@media all and (max-width: 640px) and (-webkit-min-device-pixel-ratio: 1.5), all and (max-width: 640px) and (min-resolution: 1.5dppx) {
  #comparison .comparison {
    background-image: url("comparison-small@2x.941318f2.png");
  }
}
#comparison .annotation {
  color: #a39c9c;
  padding: 2.5rem;
  line-height: 2;
  font-size: 0.5rem;
}
@media all and (min-width: 640px) and (max-width: 800px) {
  #comparison .annotation {
    font-size: 0.625rem;
  }
}
@media all and (max-width: 640px) {
  #comparison .annotation {
    font-size: 0.7rem;
  }
}
#comparison .conclusion {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #fff;
  -webkit-box-shadow: 0 0.6875rem 2.1875rem rgba(102,29,48,0.2);
          box-shadow: 0 0.6875rem 2.1875rem rgba(102,29,48,0.2);
  border-radius: 0.75rem;
  height: 6rem;
  position: relative;
  -ms-flex-item-align: center;
      align-self: center;
  padding: 0 3.125rem 0 4.375rem;
}
@media all and (max-width: 480px) {
  #comparison .conclusion {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 1.875rem 3.4375rem;
    height: auto;
  }
}
#comparison .conclusion .text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media all and (max-width: 480px) {
  #comparison .conclusion .text:first-child {
    margin-bottom: 1.875rem;
  }
}
#comparison .conclusion .price {
  color: #000;
  font-size: 2.1875rem;
  font-weight: bold;
  position: relative;
}
#comparison .conclusion .price:after {
  content: '';
  display: block;
  position: absolute;
  left: -0.5rem;
  right: -0.5rem;
  height: 0.3125rem;
  border-radius: 0.15625rem;
  background: -webkit-gradient(linear, left top, right top, from(#ffa770), to(#ff4a4a));
  background: linear-gradient(90deg, #ffa770 0%, #ff4a4a 100%);
  bottom: -0.375rem;
}
#comparison .conclusion .boom {
  position: absolute;
  background-image: url("boom2.4cd58451.png");
  background-size: contain;
  background-repeat: no-repeat;
  width: 8rem;
  height: 4.53125rem;
  left: -2.5rem;
  top: -2rem;
}
@media all and (-webkit-min-device-pixel-ratio: 1.5), all and (min-resolution: 1.5dppx) {
  #comparison .conclusion .boom {
    background-image: url("boom2@2x.3fdd428b.png");
  }
}
#comparison .conclusion .small {
  margin: 0 1rem;
  font-size: 1.1875rem;
  white-space: nowrap;
}
#comparison .conclusion .small.no-margin-right {
  margin-right: 0;
}
#comparison .conclusion img {
  width: 11.28125rem;
  height: 1.84375rem;
}
.assets-header {
  text-align: center;
  font-weight: bold;
  font-size: 1.125rem;
  margin-bottom: 1.5625rem;
}
.assets-catch {
  background-size: auto 100% !important;
  background-position: 50% 0;
  margin-bottom: 4.0625rem;
}
.assets-catch .placeholder-wrapper {
  max-width: 60rem;
  margin: 0 auto;
}
.assets-catch .placeholder {
  width: 100%;
}
.assets-annotation {
  background: #b3acac;
  padding: 0.625rem 0.9375rem;
  border-radius: 0.3125rem;
  color: #fff;
  font-size: 0.625rem;
  display: inline-block;
}
@media all and (min-width: 640px) and (max-width: 800px) {
  .assets-annotation {
    font-size: 0.78125rem;
  }
}
@media all and (max-width: 640px) {
  .assets-annotation {
    font-size: 0.875rem;
  }
}
#reviews .column {
  margin-left: 0.625rem;
  margin-right: 0.625rem;
}
@media all and (max-width: 640px) {
  #reviews .column {
    margin-left: 0;
  }
}
#reviews .stars {
  display: block;
  width: 12.71875rem;
  height: 1.65625rem;
  margin: 0 auto 3.125rem;
}
#reviews .review-cell {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 2.5rem;
}
#reviews .review-cell__left {
  width: 4rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding-top: 0.75rem;
}
#reviews .review-cell__right {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-size: 0.75rem;
  border-radius: 0.75rem;
  padding: 1.5rem 1.125rem;
  background: #fff;
  -webkit-box-shadow: 0 0.6875rem 2.1875rem rgba(102,29,48,0.2);
          box-shadow: 0 0.6875rem 2.1875rem rgba(102,29,48,0.2);
}
@media all and (min-width: 640px) and (max-width: 800px) {
  #reviews .review-cell__right {
    font-size: 0.9375rem;
  }
}
@media all and (max-width: 640px) {
  #reviews .review-cell__right {
    font-size: 1.05rem;
  }
}
#reviews .review-cell__right:after {
  content: '';
  width: 0.875rem;
  height: 0.875rem;
  position: absolute;
  top: 1.375rem;
  left: -0.375rem;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  background: #fff;
}
#reviews .review-cell__icon {
  width: 2rem;
  height: 2rem;
  margin: 0 auto;
  margin-bottom: 0.75rem;
}
#reviews .review-cell__icon.variation1 {
  background-image: url("review-icon1.e85b8b5a.png");
  background-size: contain;
  background-repeat: no-repeat;
}
@media all and (-webkit-min-device-pixel-ratio: 1.5), all and (min-resolution: 1.5dppx) {
  #reviews .review-cell__icon.variation1 {
    background-image: url("review-icon1@2x.4b36b20d.png");
  }
}
#reviews .review-cell__icon.variation2 {
  background-image: url("review-icon2.b5828a42.png");
  background-size: contain;
  background-repeat: no-repeat;
}
@media all and (-webkit-min-device-pixel-ratio: 1.5), all and (min-resolution: 1.5dppx) {
  #reviews .review-cell__icon.variation2 {
    background-image: url("review-icon2@2x.5954177e.png");
  }
}
#reviews .review-cell__icon.variation3 {
  background-image: url("review-icon3.7e173f30.png");
  background-size: contain;
  background-repeat: no-repeat;
}
@media all and (-webkit-min-device-pixel-ratio: 1.5), all and (min-resolution: 1.5dppx) {
  #reviews .review-cell__icon.variation3 {
    background-image: url("review-icon3@2x.2ad7c41e.png");
  }
}
#reviews .review-cell__icon.variation4 {
  background-image: url("review-icon4.46cb21ae.png");
  background-size: contain;
  background-repeat: no-repeat;
}
@media all and (-webkit-min-device-pixel-ratio: 1.5), all and (min-resolution: 1.5dppx) {
  #reviews .review-cell__icon.variation4 {
    background-image: url("review-icon4@2x.13a8ceb8.png");
  }
}
#reviews .review-cell__icon.variation5 {
  background-image: url("review-icon5.b9083545.png");
  background-size: contain;
  background-repeat: no-repeat;
}
@media all and (-webkit-min-device-pixel-ratio: 1.5), all and (min-resolution: 1.5dppx) {
  #reviews .review-cell__icon.variation5 {
    background-image: url("review-icon5@2x.8bd308d4.png");
  }
}
#reviews .review-cell__label {
  font-size: 0.625rem;
  text-align: center;
}
@media all and (min-width: 640px) and (max-width: 800px) {
  #reviews .review-cell__label {
    font-size: 0.78125rem;
  }
}
@media all and (max-width: 640px) {
  #reviews .review-cell__label {
    font-size: 0.875rem;
  }
}
#wedding-gift .assets-catch {
  background-image: url("wedding-gift-header.4f3aac05.jpg");
  background-size: contain;
  background-repeat: no-repeat;
  background-color: #000;
}
@media all and (-webkit-min-device-pixel-ratio: 1.5), all and (min-resolution: 1.5dppx) {
  #wedding-gift .assets-catch {
    background-image: url("wedding-gift-header@2x.a4b5efef.jpg");
  }
}
#wedding-gift .assets-catch .placeholder {
  padding-bottom: 27.864583333333332%;
}
#variations {
  background-image: url("variation-bg.2256243d.jpg");
  background-size: contain;
  background-repeat: no-repeat;
  background-repeat: repeat-x;
  background-size: auto 100%;
  background-position: 40% 0;
  margin-top: 3.125rem;
  margin-bottom: 3.125rem;
}
@media all and (-webkit-min-device-pixel-ratio: 1.5), all and (min-resolution: 1.5dppx) {
  #variations {
    background-image: url("variation-bg@2x.46246833.jpg");
  }
}
@media all and (max-width: 640px) {
  #variations {
    background-position: 99% 0;
  }
}
#variations .card {
  position: relative;
  background: #fff;
  padding: 1.25rem 2.5rem;
  -webkit-box-shadow: 0 0rem 2.1875rem rgba(102,29,48,0.2);
          box-shadow: 0 0rem 2.1875rem rgba(102,29,48,0.2);
}
#variations .card:before,
#variations .card:after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  height: 2.5rem;
  background: #fff;
}
#variations .card:before {
  top: -2.34375rem;
}
#variations .card:after {
  bottom: -2.34375rem;
}
#cash-back-system img {
  width: 100%;
}
#cash-back-example {
  margin-bottom: 3.125rem;
}
#cash-back-example .inner.center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#cash-back-example .general-header {
  text-align: center;
}
@media all and (max-width: 480px) {
  #cash-back-example .general-header {
    text-align: left;
  }
}
#cash-back-example img {
  width: 100%;
}
#cash-back-example .actual-cost-container {
  padding: 1.125rem;
  border-radius: 0.75rem;
  background: #fff;
  -webkit-box-shadow: 0 0.6875rem 2.1875rem rgba(102,29,48,0.2);
          box-shadow: 0 0.6875rem 2.1875rem rgba(102,29,48,0.2);
}
#line-up {
  margin-bottom: 3.125rem;
}
#line-up .general-header {
  text-align: center;
}
#line-up .body-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 3.125rem;
}
#line-up .no-margin-bottom {
  margin-bottom: 0;
}
#line-up img {
  width: 100%;
}
#cover-design {
  position: relative;
  margin-bottom: 3.125rem;
  background-color: #1d1815;
  color: #fff;
  background-image: url("design-variations.b62f1f37.jpg");
  background-size: contain;
  background-repeat: no-repeat;
  background-size: auto 100%;
  background-position: 100% 0;
}
@media all and (-webkit-min-device-pixel-ratio: 1.5), all and (min-resolution: 1.5dppx) {
  #cover-design {
    background-image: url("design-variations@2x.babeda78.jpg");
  }
}
#cover-design .background {
  z-index: 1;
  position: absolute;
  display: none;
  opacity: 0.2;
  background: #000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
@media all and (max-width: 640px) {
  #cover-design .background {
    display: block;
  }
}
#cover-design .columns {
  position: relative;
  z-index: 2;
}
#cover-design .text {
  padding-top: 2.5rem;
  padding-bottom: 1.25rem;
  text-shadow: 0 0 2px #1d1815;
  width: 480px;
  max-width: 100%;
}
#cover-design .general-body {
  line-height: 2;
}
#wedding-sweet {
  margin-bottom: 3.125rem;
}
#wedding-sweet .assets-catch {
  background-image: url("wedding-sweet-header.d8c5e027.jpg");
  background-size: contain;
  background-repeat: no-repeat;
  background-color: #dbccc1;
}
@media all and (-webkit-min-device-pixel-ratio: 1.5), all and (min-resolution: 1.5dppx) {
  #wedding-sweet .assets-catch {
    background-image: url("wedding-sweet-header@2x.e8c2904f.jpg");
  }
}
#wedding-sweet .assets-catch .placeholder {
  padding-bottom: 23.125%;
}
#wedding-sweet img {
  width: 100%;
}
#lucky-item {
  margin-bottom: 3.125rem;
}
#lucky-item .assets-catch {
  background-image: url("lucky-item.aec00307.jpg");
  background-size: contain;
  background-repeat: no-repeat;
  background-color: #a7080e;
}
@media all and (-webkit-min-device-pixel-ratio: 1.5), all and (min-resolution: 1.5dppx) {
  #lucky-item .assets-catch {
    background-image: url("lucky-item@2x.c0e305c9.jpg");
  }
}
#lucky-item .assets-catch .placeholder {
  padding-bottom: 23.125%;
}
#lucky-item img {
  width: 100%;
}
#show-item .assets-catch {
  background-image: url("show-item.e0bf96f0.jpg");
  background-size: contain;
  background-repeat: no-repeat;
  background-color: #0f1154;
}
@media all and (-webkit-min-device-pixel-ratio: 1.5), all and (min-resolution: 1.5dppx) {
  #show-item .assets-catch {
    background-image: url("show-item@2x.c10b6664.jpg");
  }
}
#show-item .assets-catch .placeholder {
  padding-bottom: 23.125%;
}
#show-item img {
  width: 100%;
}
#wrapping {
  background: #000;
  color: #fff;
  padding-top: 2.5rem;
}
#wrapping .general-header {
  margin: 0 0 2.5rem;
  text-align: center;
}
#wrapping .general-body {
  margin-bottom: 2.5rem;
}
#wrapping .col {
  width: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-right: 3.125rem;
}
#wrapping .col:last-child {
  margin-right: 0;
}
@media all and (max-width: 640px) {
  #wrapping .col {
    margin-right: 0;
    width: auto;
  }
}
#wrapping .col img {
  width: 100%;
}
#wood-box {
  padding: 0 6.25rem;
  margin-bottom: 3.75rem;
}
#wood-box .image-wrapper {
  max-width: 50rem;
  margin: 0 auto;
}
#wood-box .photo {
  padding-bottom: 54.4127405441274%;
  background-image: url("wood-box.48a12b47.jpg");
  background-size: contain;
  background-repeat: no-repeat;
}
@media all and (-webkit-min-device-pixel-ratio: 1.5), all and (min-resolution: 1.5dppx) {
  #wood-box .photo {
    background-image: url("wood-box@2x.288cb00f.jpg");
  }
}
@media all and (max-width: 640px) {
  #wood-box {
    padding: 0 3.125rem;
  }
}
#others {
  margin-bottom: 6.25rem;
}
#others .general-header {
  text-align: center;
}
#others .columns {
  padding: 0 6.25rem;
}
@media all and (max-width: 640px) {
  #others .columns {
    padding: 0 3.125rem;
  }
}
#about-us {
  background: #e5e5e5;
  padding-top: 5.625rem;
  padding-bottom: 5.625rem;
  margin-bottom: 0;
}
@media all and (max-width: 640px) {
  #about-us {
    padding-top: 4.0625rem;
    padding-bottom: 4.0625rem;
  }
}
#about-us .inner {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media all and (max-width: 640px) {
  #about-us .inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#about-us img {
  width: 18.84375rem;
  height: 5.75rem;
}
#about-us .general-body {
  margin-bottom: 0;
}
@media all and (max-width: 640px) {
  #about-us .general-body {
    margin-bottom: 2.1875rem;
  }
}
footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: #373742;
  color: #fff;
  padding: 3.125rem 0;
}
footer .link {
  padding-bottom: 1.40625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
footer .link a {
  color: #fff;
  text-decoration: none;
  font-size: 0.625rem;
}
footer .link span {
  margin: 0 0.625rem;
  opacity: 0.5;
}
footer .copyright {
  text-align: center;
  font-size: 0.375rem;
}


/*# sourceMappingURL=/main.5fe03417.css.map */