@charset "UTF-8";
/*!
 * ress.css • v1.2.2
 * MIT License
 * github.com/filipelinhares/ress
 */
/* # =================================================================
   # Global selectors
   # ================================================================= */

   .fin {
	background:rgba(0,0,0,0.7) ;
	z-index:  calc(1 + infinity);
	position: fixed;
    top: 0;
    left:0;
	width: 100vw;
	height: 100vh;
}

.fin .fin--text {
	color: #fff;
	line-height: 1.9;
	font-size:2.2em;
	text-align: center;
	position: relative;
	top: 50%;
}

@media screen and (max-width: 767px) {
  .fin .fin--text {
	line-height: 1.7;
	font-size:1.2em;
	}
}

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow-y: scroll; /* All browsers without overlaying scrollbars */
  -webkit-text-size-adjust: 100%; /* iOS 8+ */
}

*,
::before,
::after {
  background-repeat: no-repeat; /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

::before,
::after {
  text-decoration: inherit; /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

* {
  padding: 0; /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

/* # =================================================================
   # General elements
   # ================================================================= */
/* Add the correct display in iOS 4-7.*/
audio:not([controls]) {
  display: none;
  height: 0;
}

hr {
  overflow: visible; /* Show the overflow in Edge and IE */
}

/*
* Correct `block` display not defined for any HTML5 element in IE 8/9
* Correct `block` display not defined for `details` or `summary` in IE 10/11
* and Firefox
* Correct `block` display not defined for `main` in IE 11
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}

summary {
  display: list-item; /* Add the correct display in all browsers */
}

small {
  font-size: 80%; /* Set font-size to 80% in `small` elements */
}

[hidden],
template {
  display: none; /* Add the correct display in IE */
}

abbr[title] {
  border-bottom: 1px dotted; /* Add a bordered underline effect in all browsers */
  text-decoration: none; /* Remove text decoration in Firefox 40+ */
}

a {
  background-color: transparent; /* Remove the gray background on active links in IE 10 */
  -webkit-text-decoration-skip: objects; /* Remove gaps in links underline in iOS 8+ and Safari 8+ */
}

a:active,
a:hover {
  outline-width: 0; /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace; /* Specify the font family of code elements */
}

b,
strong {
  font-weight: bolder; /* Correct style set to `bold` in Edge 12+, Safari 6.2+, and Chrome 18+ */
}

dfn {
  font-style: italic; /* Address styling not present in Safari and Chrome */
}

/* Address styling not present in IE 8/9 */
mark {
  background-color: #ff0;
  color: #000;
}

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* # =================================================================
   # Forms
   # ================================================================= */
input {
  border-radius: 0;
}

/* Apply cursor pointer to button elements */
button,
[type=button],
[type=reset],
[type=submit],
[role=button] {
  cursor: pointer;
}

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

[type=number] {
  width: auto; /* Firefox 36+ */
}

[type=search] {
  -webkit-appearance: textfield; /* Safari 8+ */
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none; /* Safari 8 */
}

textarea {
  overflow: auto; /* Internet Explorer 11+ */
  resize: vertical; /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
  font: inherit; /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold; /* Restore the font weight unset by the previous rule. */
}

button {
  overflow: visible; /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: 0;
  padding: 0;
}

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button; /* Correct the inability to style clickable types in iOS */
}

button,
select {
  text-transform: none; /* Firefox 40+, Internet Explorer 11- */
}

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
  color: inherit;
}

/* Style select like a standard input */
select {
  -moz-appearance: none; /* Firefox 36+ */
  -webkit-appearance: none; /* Chrome 41+ */
}

select::-ms-expand {
  display: none; /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentColor; /* Internet Explorer 11+ */
}

legend {
  border: 0; /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit; /* Correct the color inheritance from `fieldset` elements in IE */
  display: table; /* Correct the text wrapping in Edge and IE */
  max-width: 100%; /* Correct the text wrapping in Edge and IE */
  white-space: normal; /* Correct the text wrapping in Edge and IE */
}

::-webkit-file-upload-button {
  -webkit-appearance: button; /* Correct the inability to style clickable types in iOS and Safari */
  font: inherit; /* Change font properties to `inherit` in Chrome and Safari */
}

[type=search] {
  -webkit-appearance: textfield; /* Correct the odd appearance in Chrome and Safari */
  outline-offset: -2px; /* Correct the outline style in Safari */
}

/* # =================================================================
   # Specify media element style
   # ================================================================= */
img {
  border-style: none; /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
  vertical-align: baseline;
}

svg:not(:root) {
  overflow: hidden; /* Internet Explorer 11- */
}

audio,
canvas,
progress,
video {
  display: inline-block; /* Internet Explorer 11+, Windows Phone 8.1+ */
}

/* # =================================================================
   # Accessibility
   # ================================================================= */
/* Hide content from screens but not screenreaders */
@media screen {
  [hidden~=screen] {
    display: inherit;
  }
  [hidden~=screen]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
  }
}
/* Specify the progress cursor of updating elements */
[aria-busy=true] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] {
  cursor: default;
}

/* # =================================================================
   # Selection
   # ================================================================= */
/* Specify text selection background color and omit drop shadow */
::-moz-selection {
  background-color: #b3d4fc; /* Required when declaring ::selection */
  color: #000;
  text-shadow: none;
}

::selection {
  background-color: #b3d4fc; /* Required when declaring ::selection */
  color: #000;
  text-shadow: none;
}

h1, h2, h3, h4, h5 {
  line-height: 1;
  font-size: 100%;
  font-weight: normal;
}

img {
  border: none;
  vertical-align: bottom;
}

ul, ol, li, dl, dt, dd {
  list-style: none;
}

/* pc-sp */
.switch--sp {
  display: none !important;
}
@media screen and (max-width: 767px) {
  .switch--sp {
    display: block !important;
    margin: 0 auto;
  }
}

.switch--pc {
  display: block !important;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .switch--pc {
    display: none !important;
  }
}

/**
 * Swiper 4.5.0
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * http://www.idangero.us/swiper/
 *
 * Copyright 2014-2019 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: February 22, 2019
 */
.swiper-container {
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
}

.swiper-container-no-flexbox .swiper-slide {
  float: left;
}

.swiper-container-vertical > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

.swiper-container-android .swiper-slide,
.swiper-wrapper {
  -webkit-transform: translate3d(0px, 0, 0);
  transform: translate3d(0px, 0, 0);
}

.swiper-container-multirow > .swiper-wrapper {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.swiper-container-free-mode > .swiper-wrapper {
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-slide {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide {
  height: auto;
}

.swiper-container-autoheight .swiper-wrapper {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-transition-property: height, -webkit-transform;
  transition-property: height, -webkit-transform;
  transition-property: transform, height;
  transition-property: transform, height, -webkit-transform;
}

/* 3D Effects */
.swiper-container-3d {
  -webkit-perspective: 1200px;
  perspective: 1200px;
}

.swiper-container-3d .swiper-wrapper,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-cube-shadow {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-container-3d .swiper-slide-shadow-left {
  background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-right {
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-top {
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

/* IE10 Windows Phone 8 Fixes */
.swiper-container-wp8-horizontal,
.swiper-container-wp8-horizontal > .swiper-wrapper {
  -ms-touch-action: pan-y;
  touch-action: pan-y;
}

.swiper-container-wp8-vertical,
.swiper-container-wp8-vertical > .swiper-wrapper {
  -ms-touch-action: pan-x;
  touch-action: pan-x;
}

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: 50%;
  width: 27px;
  height: 44px;
  margin-top: -22px;
  z-index: 10;
  cursor: pointer;
  background-size: 27px 44px;
  background-position: center;
  background-repeat: no-repeat;
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  left: 10px;
  right: auto;
}

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  right: 10px;
  left: auto;
}

.swiper-button-prev.swiper-button-white,
.swiper-container-rtl .swiper-button-next.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-next.swiper-button-white,
.swiper-container-rtl .swiper-button-prev.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-prev.swiper-button-black,
.swiper-container-rtl .swiper-button-next.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-next.swiper-button-black,
.swiper-container-rtl .swiper-button-prev.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-lock {
  display: none;
}


.swiper-pagination {
  position: absolute;
  text-align: center;
  -webkit-transition: 300ms opacity;
  transition: 300ms opacity;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-container-horizontal > .swiper-pagination-bullets {
  bottom: 10px;
  left: 0;
  width: 100%;
}

/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transform: scale(0.33);
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  -webkit-transform: scale(1);
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  -webkit-transform: scale(1);
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  -webkit-transform: scale(0.66);
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  -webkit-transform: scale(0.33);
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  -webkit-transform: scale(0.66);
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  -webkit-transform: scale(0.33);
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 100%;
  background: #000;
  opacity: 0.2;
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet-active {
  opacity: 1;
  background: #007aff;
}

.swiper-container-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  -webkit-transform: translate3d(0px, -50%, 0);
  transform: translate3d(0px, -50%, 0);
}

.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 6px 0;
  display: block;
}

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 8px;
}

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  -webkit-transition: 200ms top, 200ms -webkit-transform;
  transition: 200ms top, 200ms -webkit-transform;
  transition: 200ms transform, 200ms top;
  transition: 200ms transform, 200ms top, 200ms -webkit-transform;
}

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px;
}

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transition: 200ms left, 200ms -webkit-transform;
  transition: 200ms left, 200ms -webkit-transform;
  transition: 200ms transform, 200ms left;
  transition: 200ms transform, 200ms left, 200ms -webkit-transform;
}

.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transition: 200ms right, 200ms -webkit-transform;
  transition: 200ms right, 200ms -webkit-transform;
  transition: 200ms transform, 200ms right;
  transition: 200ms transform, 200ms right, 200ms -webkit-transform;
}

/* Progress */
.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: #007aff;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transform-origin: left top;
  transform-origin: left top;
}

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  -webkit-transform-origin: right top;
  transform-origin: right top;
}

.swiper-container-horizontal > .swiper-pagination-progressbar,
.swiper-container-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0;
}

.swiper-container-vertical > .swiper-pagination-progressbar,
.swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-white .swiper-pagination-bullet-active {
  background: #ffffff;
}

.swiper-pagination-progressbar.swiper-pagination-white {
  background: rgba(255, 255, 255, 0.25);
}

.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill {
  background: #ffffff;
}

.swiper-pagination-black .swiper-pagination-bullet-active {
  background: #000000;
}

.swiper-pagination-progressbar.swiper-pagination-black {
  background: rgba(0, 0, 0, 0.25);
}

.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill {
  background: #000000;
}

.swiper-pagination-lock {
  display: none;
}

/* Scrollbar */
.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1);
}

.swiper-container-horizontal > .swiper-scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%;
}

.swiper-container-vertical > .swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%;
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  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;
  text-align: center;
}

.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.swiper-slide-zoomed {
  cursor: move;
}

/* Preloader */
.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  -webkit-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite;
  animation: swiper-preloader-spin 1s steps(12, end) infinite;
}

.swiper-lazy-preloader:after {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-position: 50%;
  background-size: 100%;
  background-repeat: no-repeat;
}

.swiper-lazy-preloader-white:after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}

@-webkit-keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
/* a11y */
.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}

.swiper-container-fade .swiper-slide {
  pointer-events: none;
  -webkit-transition-property: opacity;
  transition-property: opacity;
}

.swiper-container-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-fade .swiper-slide-active,
.swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-cube {
  overflow: visible;
}

.swiper-container-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-container-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-cube.swiper-container-rtl .swiper-slide {
  -webkit-transform-origin: 100% 0;
  transform-origin: 100% 0;
}

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-next,
.swiper-container-cube .swiper-slide-prev,
.swiper-container-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible;
}

.swiper-container-cube .swiper-slide-shadow-top,
.swiper-container-cube .swiper-slide-shadow-bottom,
.swiper-container-cube .swiper-slide-shadow-left,
.swiper-container-cube .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-container-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.6;
  -webkit-filter: blur(50px);
  filter: blur(50px);
  z-index: 0;
}

.swiper-container-flip {
  overflow: visible;
}

.swiper-container-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-container-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-flip .swiper-slide-active,
.swiper-container-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-flip .swiper-slide-shadow-top,
.swiper-container-flip .swiper-slide-shadow-bottom,
.swiper-container-flip .swiper-slide-shadow-left,
.swiper-container-flip .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-container-coverflow .swiper-wrapper {
  /* Windows 8 IE 10 fix */
  -ms-perspective: 1200px;
}

/* =====================================================
BASE
===================================================== */

html.is-fixed{
  height:100%;
  overflow:hidden;
}

body{
  font-family:"Noto Sans JP", sans-serif;
  font-weight:500;

  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;

  color:#3b230c;

  font-size:14px;
  line-height:2;

  overflow-x:hidden;

  background-repeat:no-repeat;
  background-size:cover;
}

img{
  max-width:100%;
  vertical-align:bottom;
}

img[src$=".svg"]{
  width:100%;
  height:auto;
}

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

.line-marker{
  position:relative;
  display:inline-block;
  z-index:1;
}

.line-marker::after{
  content:"";

  position:absolute;

  left:0;
  bottom:0.1em;

  width:100%;
  height:0.45em;

  background:#ffe082;

  border-radius:4px;

  opacity:.75;

  z-index:-1;

  transform:scaleX(0);
  transform-origin:left;

  transition:
    transform .8s ease;

  transition-delay:1.2s;
}

.fade-up.show .line-marker::after{
  transform:scaleX(1);
}


/* =====================================================
LAYOUT
===================================================== */

/* --------------------
fixed background
-------------------- */

.fixed-bg{
  position:fixed;
  inset:0;

  background-image:url("../img/thanks_main_image.jpg");

  background-size:cover;
  background-position:center;

  z-index:-1;
}


/* --------------------
hero
-------------------- */

.hero{
  height:100vh;

  display:flex;
  align-items:center;
  justify-content:center;

  position:relative;

  text-align:center;
  color:#fff;
}

.hero-inner{
  position:relative;
  z-index:2;
}

.hero-sub{
  margin-bottom:20px;

  font-size:14px;
  letter-spacing:0.2em;
}

.hero-title{
  width:92%;

  margin:-8% auto 0;

  text-align:center;

  font-size:clamp(40px, 8vw, 90px);
  font-weight:700;
  line-height:1.2;
}
/* ========================================
HERO ANIMATION
======================================== */

.hero-inner{
  opacity:0;

  transform:
    translateY(40px)
    scale(0.92);

  animation:
    heroBounce 1.4s cubic-bezier(.22,1,.36,1) forwards;
}


/* ========================================
KEYFRAMES
======================================== */

@keyframes heroBounce{

  0%{
    opacity:0;

    transform:
      translateY(60px)
      scale(0.85);
  }

  40%{
    opacity:1;

    transform:
      translateY(-12px)
      scale(1.04);
  }

  65%{
    transform:
      translateY(6px)
      scale(0.98);
  }

  85%{
    transform:
      translateY(-2px)
      scale(1.01);
  }

  100%{
    opacity:1;

    transform:
      translateY(0)
      scale(1);
  }

}


/* --------------------
main content
-------------------- */

.main-content{
  position:relative;

  width:min(calc(100% - 40px), 1200px);

  margin-inline:auto;
  margin-top:-140px;

  padding-top:70px;

  background:#e6e2e2;

  border-radius:40px 40px 0 0;

  overflow:hidden;

  z-index:5;

  box-shadow:
    0 10px 40px rgba(0,0,0,0.08);
}

.lead-txt{
  padding:0 0 60px;
}


/* =====================================================
COMMON
===================================================== */

/* --------------------
section
-------------------- */

.content-section{
  padding:60px 20px;
}

.lp-container{
  width:min(100%, 1000px);

  margin:auto;

  text-align:center;
}

.content-section p{
  font-size:18px;
}


/* --------------------
section title
-------------------- */

.section-title{
  position:relative;

  display:flex;
  flex-direction:column;

  gap:10px;

  margin-bottom:70px;

  z-index:1;
}

.section-title::before{
  content:attr(data-bg);

  position:absolute;

  top:-35px;
  left:0;

  font-size:clamp(50px, 9vw, 120px);
  font-weight:800;
  line-height:1;

  color:#f5f5f5;

  z-index:-1;
}

.section-title .label{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  width:fit-content;

  padding:8px 16px;

  background:#999;
  color:#fff;

  border-radius:999px;

  font-size:11px;
  letter-spacing:0.2em;
}

.section-title .jp{
  font-size:clamp(30px, 4vw, 50px);
  font-weight:700;
  line-height:1.3;
}


/* --------------------
button
-------------------- */

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  min-width:260px;
  height:64px;

  margin-top:20px;

  background:#e74b4b;
  color:#fff;

  text-decoration:none;

  border-radius:999px;

  transition:.3s;
}

.btn:hover{
  opacity:.7;
  color: #9c0909;
}


/* --------------------
fade animation
-------------------- */

.fade-up{
  opacity:0;

  transform:translateY(40px);

  transition:
    opacity 1s,
    transform 1s;
}

.fade-up.show{
  opacity:1;
  transform:translateY(0);
}


/* =====================================================
COUPON TITLE
===================================================== */

.coupon-title{
  position:relative;

  display:flex;
  flex-direction:column;

  gap:12px;

  margin-bottom:50px;

  line-height:1.4;
  color:#3b230c;

  z-index:1;
}


/* background text */

.coupon-title::before{
  content:"COUPON";

  position:absolute;

  top:-40px;
  left:0;

  font-size:clamp(60px, 10vw, 140px);
  font-weight:800;
  letter-spacing:0.05em;

  color:#f5f5f5;

  line-height:1;

  z-index:-1;

  pointer-events:none;
}


/* label */

.coupon-title .label{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  width:fit-content;

  padding:8px 18px;

  background:#999;
  color:#fff;

  border-radius:999px;

  font-size:12px;
  font-weight:700;
  letter-spacing:0.2em;

  margin-bottom:10px;
}

.coupon-condition{
  position:relative;

  display:inline-block;

  padding: 18px 20px 18px 80px;

  border-radius:14px;

  line-height:1.6;
  font-weight:700;

}


/* 冷凍便丸バッジ */
.frozen-tag{
  position:absolute;

  top:45%;
  left:-40px;

  width:110px;
  height:110px;

  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;

  background:#7fc2d0;
  color:#fff;

  border-radius:50%;

  font-size:24px;
  font-weight:700;
  line-height:1.3;

  box-shadow:
    0 8px 18px rgba(170,170,170,.18);

  z-index:2;

  opacity:0;
}

/* 表示後に動く */
.fade-up.show .frozen-tag{
  animation:
    frozenSlide .8s cubic-bezier(.22,1,.36,1) .5s forwards;
}


@keyframes frozenSlide{

  0%{
    opacity:0;

    transform:
      translateY(-50%)
      translateX(-60px);
  }

  100%{
    opacity:1;

    transform:
      translateY(-50%)
      translateX(0);
  }

}


/* small */

.coupon-title .small{
  display:block;

  font-size:clamp(18px, 2vw, 28px);
  font-weight:500;

  letter-spacing:0.03em;
}


/* big */

.coupon-title .big{
  display:block;

  font-size:clamp(36px, 5vw, 72px);
  font-weight:700;
  color: #df555c;
  line-height:1.2;
  letter-spacing:0.02em;
}


/* =====================================================
CHECK CARD
===================================================== */

/* --------------------
grid
-------------------- */

.check-grid{
  display:grid;

  grid-template-columns:1fr 1fr;

  gap:32px;
}


/* --------------------
card
-------------------- */

.check-card{
  background:#fff;
  border-radius:28px;
  overflow:hidden;
  text-align:justify;
  box-shadow:
    0 10px 30px rgba(0,0,0,0.06);

  transition:
    transform .4s,
    box-shadow .4s;
}

/*かーどふんわり*/
.check-card:hover {
  transform:translateY(-3px);
  box-shadow:
    0 20px 40px rgba(0,0,0,0.08);
}


/* --------------------
head
-------------------- */

.check-head{
  position:relative;

  display:flex;
  align-items:center;
  justify-content:center;

  padding:22px 24px;

  font-size:22px;
  font-weight:700;

  overflow:hidden;

  text-align:center;
}


/* OK */

.check-card.ok .check-head{
  background:#49b668;
  color:#fff;
}

.check-card.ok .check-head::after{
  content:"";

  position:absolute;

  top:-1px;
  right:-20px;

  width:90px;
  height:90px;

  border:15px solid rgba(255,255,255,0.18);

  border-radius:50%;
}


/* NG */

.check-card.ng .check-head{
  background:#e74b4b;
  color:#fff;
}

.check-card.ng .check-head::after{
  content:"×";

  position:absolute;

  top:-28px;
  right:-35px;

  font-size:130px;
  font-weight:700;
  line-height:1;

  color:#fff;

  opacity:0.12;
}


/* --------------------
image
-------------------- */

.check-image{
  display:flex;
  justify-content:center;
  padding:25px;
}

.check-image img{
  width:95%;
  display:block;
  box-shadow:
    0 10px 30px rgba(0,0,0,0.09);
}


/* --------------------
body
-------------------- */

.check-body{
  padding:28px;
}

.check-body p{
  line-height:1.7;
  color:#444;
}


/* =====================================================
COUPON GUIDE
===================================================== */

.coupon-guide{
  display:grid;

  grid-template-columns:1.1fr 0.9fr;

  gap:40px;

  width:min(calc(100% - 40px), 1000px);

  margin:0 auto 60px;

  padding:40px;

  background:#fff;

  border-radius:32px;

  align-items:center;

  box-shadow:
    0 10px 30px rgba(0,0,0,0.06);
}


/* --------------------
image
-------------------- */

.coupon-guide__image img{
  width:100%;
  padding:0 10px;
  display:block;

  border-radius:16px;

  box-shadow: 0 10px 24px rgba(0,0,0,0.08);
}


/* --------------------
content
-------------------- */

.coupon-guide__content{
  text-align:left;
}

.coupon-guide__label{
  display:inline-block;

  margin-bottom:14px;
  padding:6px 14px;

  background:#999;
  color:#fff;

  border-radius:999px;

  font-size:11px;
  letter-spacing:0.18em;
}

.coupon-guide__title{
  margin-bottom:20px;

  font-size:clamp(28px, 3vw, 35px);
  font-weight:700;
  line-height:1.3;
}

.coupon-guide__text{
  margin-bottom:28px;

  line-height:1.9;

  color:#3b230c;
}


/* --------------------
copy
-------------------- */

.coupon-copy{
  text-align:center;
  line-height:2;
}

.copy-code{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  gap:10px;

  margin:24px 0 12px;
  padding:18px 30px;

  background:#e74b4b;
  color:#fff;

  border:none;
  border-radius:999px;

  font-size:28px;
  font-weight:700;
  letter-spacing:0.06em;

  cursor:pointer;

  transition:
    transform .3s,
    opacity .3s,
    background .3s;
}

.copy-code:hover{
  opacity:.8;
  transform:translateY(-2px);
}

.copy-code.copied{
  background:#2e7d32;
}

.copy-note{
  font-size:13px;
  color:#777;
}

/* =====================================================
REVIEW SECTION
===================================================== */

.review-section{
  position:relative;
}


/* --------------------
box
-------------------- */

.review-box{
  position:relative;
  padding:80px 60px;
  background:#fff;
  border-radius:32px;
  overflow:hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,0.06);
}


/* --------------------
background illustration
-------------------- */

.review-bg{
  position:absolute;

  top:60%;
  right:0;

  transform:translateY(-50%);

  width:min(33%, 410px);

  opacity:0.28;

  pointer-events:none;
}

.review-bg img{
  width:100%;
  display:block;
}


/* --------------------
content
-------------------- */

.review-inner{
  position:relative;
  z-index:2;
}


/* label */

.review-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  padding:8px 18px;

  margin-bottom:20px;

  background:#999;
  color:#fff;

  border-radius:999px;

  font-size:12px;
  font-weight:700;

  letter-spacing:0.18em;
}


/* title */

.review-title{
  margin-bottom:32px;
  font-size:clamp(34px, 3vw, 58px);
  font-weight:700;
  line-height:1.4;
}


/* text */

.review-text{
 /* max-width:720px; */

  font-size:18px;
  line-height:2;
}


/* button */

.review-btn-wrap{
  display:flex;
  justify-content:center;
  gap:35px;
  margin-top:25px;
  flex-wrap:wrap;
}

.review-btn{
  min-width:260px;
}


/* sub button */

.review-btn--line{
  background:#fff;
  color:#e74b4b;
  border:2px solid #e74b4b;
}


.review-btn--line:hover{
  background:#e74b4b;
  color:#fff;
}



/* =====================================================
FOOTER
===================================================== */

.footer{
  text-align:center;
}

.footer__logo{
  width:min(140px, 30%);

  margin:0 auto 20px;
}


/* =====================================================
SP
===================================================== */

@media (max-width:768px){

  body{
    font-size:3.7333333333vw;
    line-height:1.7142857143;
  }

  .fixed-bg{
    background-image:url("../img/thanks_main_image_sp.jpg");
    background-position:center top;
  }

  .hero{
    height:auto;
    min-height:auto;

    justify-content:flex-start;
    align-items:flex-start;

    padding-top: calc( 20% + env(safe-area-inset-top));
  }


  .hero-title{
    width:130%;
    margin:0 auto;
    text-align: center;
    margin-left:-17.5%;
  }

  .hero-title img{
    width:100%;
    height:auto;
    display:block;
  }

  .main-content{
    width:calc(100% - 16px);
    margin-top:0;
    padding-top:40px;
    border-radius:24px 24px 0 0;
  }

  .content-section{
    padding:10px 20px 40px;
  }

  .content-section p{
    font-size:16px;
  }

  .lead-txt {
    padding: 0 0 40px;
  }

  .coupon-condition{
    padding:
      14px 14px 14px 44px;
  }

  .frozen-tag{
    width:80px;
    height:80px;

    left:-40px;

    font-size:16px;
  }


  .coupon-title{
    gap:10px;
    margin-bottom:40px;
  }

  .coupon-title::before{
    top:15px;
    font-size:58px;
  }

  .coupon-title .label{
    padding:7px 14px;
    font-size:10px;
  }

  .coupon-title .small{
    font-size:16px;
  }

  .coupon-title .big{
    font-size:34px;
  }

  .check-image{
  padding:25px 15px;
}

  .section-title{
    margin-bottom:50px;
  }

  .section-title::before{
    top:15px;
    font-size:70px;
  }

  .section-title .jp{
    font-size:28px;
  }

  .check-grid{
    grid-template-columns:1fr;
    gap:24px;
  }

  .check-head{
    padding:18px 20px;
    font-size:18px;
  }

  .check-body{
    padding:22px;
  }

  .check-card {
    text-align: left;
  }

  .line-marker{
    display:inline;
    background: linear-gradient(transparent 60%, #ffe082 60% );
    padding:0 .08em;
  }

  .line-marker::after{
    display:none;
  }

  .coupon-guide{
    width:auto;
    margin:10px 16px 40px;
    padding:24px;
    grid-template-columns:1fr;
    gap:30px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
  }

  .coupon-guide__image{
    display:flex;
    justify-content:center;
    width: 100%;
    order:2;
  }

  .coupon-guide__image img{
    width:100%;
    max-width:100%;

    display:block;
  }

  .coupon-guide__content{
    text-align:center;
    width: 100%;
    order:1;
  }

  .coupon-guide__title{
    font-size:28px;
  }


  .copy-code{
    width:100%;
    font-size:20px;
    box-sizing: border-box;
    box-shadow: 0 8px 18px rgba(170,170,170,.18);
    border-bottom: 4px solid rgba(0,0,0,.12);
  }

  .copy-code:active{
    transform:translateY(2px);
    border-bottom:0;
}

  .review-box{
    padding:56px 18px;
  }

  .review-bg{
    width:70%;

    right:45px;
    top:43%;
   /* bottom:-20px; */

    transform:none;

    opacity:0.15;
  }

  .review-title{
    font-size:28px;
    line-height:1.5;
  }

  .review-text{
    font-size:16px;
    line-height:1.9;
  }

  .review-btn-wrap{
    flex-direction:column;
    align-items:center;
    gap:5px;
  }

  .review-btn{
    width:100%;
    max-width:320px;
  }

  .footer{
    padding-bottom:
    calc(30px + env(safe-area-inset-bottom));
}

}