@charset "UTF-8";
/*====================================

Libraries

====================================*/
/*====================================

Foundation

====================================*/
/*!
 * ress.css • v1.2.2
 * MIT License
 * github.com/filipelinhares/ress
 */
/* # =================================================================
   # Global selectors
   # ================================================================= */
html {
  scroll-behavior: smooth;
  -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+ */
appearance: textfield;
}

[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 */
  appearance: button;
}

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+ */
  appearance: none; /
}

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 */
  appearance: textfield;
  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;
}

*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  -webkit-text-size-adjust: 100%;
  color: #000;
  line-height: 1.25;
  font-family: "Noto Sans JP", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
}
.is-modal-inactive body {
  overflow-y: clip;
}
.is-modal-active body {
  overflow-y: visible;
}

img {
  max-width: 100%;
  height: auto;
  border: none;
  vertical-align: bottom;
}

a {
  color: inherit;
  outline: none;
}

ul,
ol {
  list-style: none;
}

/*====================================

Utilities

====================================*/
.u-mt0 {
  margin-top: 0px !important;
}

.u-mb0 {
  margin-bottom: 0px !important;
}

.u-ml0 {
  margin-left: 0px !important;
}

.u-mr0 {
  margin-right: 0px !important;
}

.u-pt0 {
  padding-top: 0px !important;
}

.u-pb0 {
  padding-bottom: 0px !important;
}

.u-pl0 {
  padding-left: 0px !important;
}

.u-pr0 {
  padding-right: 0px !important;
}

.u-font0 {
  font-size: 0px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt0-md {
    margin-top: 0px !important;
  }
  .u-mb0-md {
    margin-bottom: 0px !important;
  }
  .u-ml0-md {
    margin-left: 0px !important;
  }
  .u-mr0-md {
    margin-right: 0px !important;
  }
  .u-pt0-md {
    padding-top: 0px !important;
  }
  .u-pb0-md {
    padding-bottom: 0px !important;
  }
  .u-pl0-md {
    padding-left: 0px !important;
  }
  .u-pr0-md {
    padding-right: 0px !important;
  }
  .u-font0-md {
    font-size: 0px !important;
  }
}
@media only screen {
  .u-mt0-xs {
    margin-top: 0px !important;
  }
  .u-mb0-xs {
    margin-bottom: 0px !important;
  }
  .u-ml0-xs {
    margin-left: 0px !important;
  }
  .u-mr0-xs {
    margin-right: 0px !important;
  }
  .u-pt0-xs {
    padding-top: 0px !important;
  }
  .u-pb0-xs {
    padding-bottom: 0px !important;
  }
  .u-pl0-xs {
    padding-left: 0px !important;
  }
  .u-pr0-xs {
    padding-right: 0px !important;
  }
  .u-font0-xs {
    font-size: 0px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt0-down-md {
    margin-top: 0px !important;
  }
  .u-mb0-down-md {
    margin-bottom: 0px !important;
  }
  .u-ml0-down-md {
    margin-left: 0px !important;
  }
  .u-mr0-down-md {
    margin-right: 0px !important;
  }
  .u-pt0-down-md {
    padding-top: 0px !important;
  }
  .u-pb0-down-md {
    padding-bottom: 0px !important;
  }
  .u-pl0-down-md {
    padding-left: 0px !important;
  }
  .u-pr0-down-md {
    padding-right: 0px !important;
  }
  .u-font0-down-md {
    font-size: 0px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt0-lg {
    margin-top: 0px !important;
  }
  .u-mb0-lg {
    margin-bottom: 0px !important;
  }
  .u-ml0-lg {
    margin-left: 0px !important;
  }
  .u-mr0-lg {
    margin-right: 0px !important;
  }
  .u-pt0-lg {
    padding-top: 0px !important;
  }
  .u-pb0-lg {
    padding-bottom: 0px !important;
  }
  .u-pl0-lg {
    padding-left: 0px !important;
  }
  .u-pr0-lg {
    padding-right: 0px !important;
  }
  .u-font0-lg {
    font-size: 0px !important;
  }
}
.u-mt5 {
  margin-top: 5px !important;
}

.u-mb5 {
  margin-bottom: 5px !important;
}

.u-ml5 {
  margin-left: 5px !important;
}

.u-mr5 {
  margin-right: 5px !important;
}

.u-pt5 {
  padding-top: 5px !important;
}

.u-pb5 {
  padding-bottom: 5px !important;
}

.u-pl5 {
  padding-left: 5px !important;
}

.u-pr5 {
  padding-right: 5px !important;
}

.u-font2 {
  font-size: 2px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt5-md {
    margin-top: 5px !important;
  }
  .u-mb5-md {
    margin-bottom: 5px !important;
  }
  .u-ml5-md {
    margin-left: 5px !important;
  }
  .u-mr5-md {
    margin-right: 5px !important;
  }
  .u-pt5-md {
    padding-top: 5px !important;
  }
  .u-pb5-md {
    padding-bottom: 5px !important;
  }
  .u-pl5-md {
    padding-left: 5px !important;
  }
  .u-pr5-md {
    padding-right: 5px !important;
  }
  .u-font2-md {
    font-size: 2px !important;
  }
}
@media only screen {
  .u-mt5-xs {
    margin-top: 5px !important;
  }
  .u-mb5-xs {
    margin-bottom: 5px !important;
  }
  .u-ml5-xs {
    margin-left: 5px !important;
  }
  .u-mr5-xs {
    margin-right: 5px !important;
  }
  .u-pt5-xs {
    padding-top: 5px !important;
  }
  .u-pb5-xs {
    padding-bottom: 5px !important;
  }
  .u-pl5-xs {
    padding-left: 5px !important;
  }
  .u-pr5-xs {
    padding-right: 5px !important;
  }
  .u-font2-xs {
    font-size: 2px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt5-down-md {
    margin-top: 5px !important;
  }
  .u-mb5-down-md {
    margin-bottom: 5px !important;
  }
  .u-ml5-down-md {
    margin-left: 5px !important;
  }
  .u-mr5-down-md {
    margin-right: 5px !important;
  }
  .u-pt5-down-md {
    padding-top: 5px !important;
  }
  .u-pb5-down-md {
    padding-bottom: 5px !important;
  }
  .u-pl5-down-md {
    padding-left: 5px !important;
  }
  .u-pr5-down-md {
    padding-right: 5px !important;
  }
  .u-font2-down-md {
    font-size: 2px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt5-lg {
    margin-top: 5px !important;
  }
  .u-mb5-lg {
    margin-bottom: 5px !important;
  }
  .u-ml5-lg {
    margin-left: 5px !important;
  }
  .u-mr5-lg {
    margin-right: 5px !important;
  }
  .u-pt5-lg {
    padding-top: 5px !important;
  }
  .u-pb5-lg {
    padding-bottom: 5px !important;
  }
  .u-pl5-lg {
    padding-left: 5px !important;
  }
  .u-pr5-lg {
    padding-right: 5px !important;
  }
  .u-font2-lg {
    font-size: 2px !important;
  }
}
.u-mt10 {
  margin-top: 10px !important;
}

.u-mb10 {
  margin-bottom: 10px !important;
}

.u-ml10 {
  margin-left: 10px !important;
}

.u-mr10 {
  margin-right: 10px !important;
}

.u-pt10 {
  padding-top: 10px !important;
}

.u-pb10 {
  padding-bottom: 10px !important;
}

.u-pl10 {
  padding-left: 10px !important;
}

.u-pr10 {
  padding-right: 10px !important;
}

.u-font4 {
  font-size: 4px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt10-md {
    margin-top: 10px !important;
  }
  .u-mb10-md {
    margin-bottom: 10px !important;
  }
  .u-ml10-md {
    margin-left: 10px !important;
  }
  .u-mr10-md {
    margin-right: 10px !important;
  }
  .u-pt10-md {
    padding-top: 10px !important;
  }
  .u-pb10-md {
    padding-bottom: 10px !important;
  }
  .u-pl10-md {
    padding-left: 10px !important;
  }
  .u-pr10-md {
    padding-right: 10px !important;
  }
  .u-font4-md {
    font-size: 4px !important;
  }
}
@media only screen {
  .u-mt10-xs {
    margin-top: 10px !important;
  }
  .u-mb10-xs {
    margin-bottom: 10px !important;
  }
  .u-ml10-xs {
    margin-left: 10px !important;
  }
  .u-mr10-xs {
    margin-right: 10px !important;
  }
  .u-pt10-xs {
    padding-top: 10px !important;
  }
  .u-pb10-xs {
    padding-bottom: 10px !important;
  }
  .u-pl10-xs {
    padding-left: 10px !important;
  }
  .u-pr10-xs {
    padding-right: 10px !important;
  }
  .u-font4-xs {
    font-size: 4px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt10-down-md {
    margin-top: 10px !important;
  }
  .u-mb10-down-md {
    margin-bottom: 10px !important;
  }
  .u-ml10-down-md {
    margin-left: 10px !important;
  }
  .u-mr10-down-md {
    margin-right: 10px !important;
  }
  .u-pt10-down-md {
    padding-top: 10px !important;
  }
  .u-pb10-down-md {
    padding-bottom: 10px !important;
  }
  .u-pl10-down-md {
    padding-left: 10px !important;
  }
  .u-pr10-down-md {
    padding-right: 10px !important;
  }
  .u-font4-down-md {
    font-size: 4px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt10-lg {
    margin-top: 10px !important;
  }
  .u-mb10-lg {
    margin-bottom: 10px !important;
  }
  .u-ml10-lg {
    margin-left: 10px !important;
  }
  .u-mr10-lg {
    margin-right: 10px !important;
  }
  .u-pt10-lg {
    padding-top: 10px !important;
  }
  .u-pb10-lg {
    padding-bottom: 10px !important;
  }
  .u-pl10-lg {
    padding-left: 10px !important;
  }
  .u-pr10-lg {
    padding-right: 10px !important;
  }
  .u-font4-lg {
    font-size: 4px !important;
  }
}
.u-mt15 {
  margin-top: 15px !important;
}

.u-mb15 {
  margin-bottom: 15px !important;
}

.u-ml15 {
  margin-left: 15px !important;
}

.u-mr15 {
  margin-right: 15px !important;
}

.u-pt15 {
  padding-top: 15px !important;
}

.u-pb15 {
  padding-bottom: 15px !important;
}

.u-pl15 {
  padding-left: 15px !important;
}

.u-pr15 {
  padding-right: 15px !important;
}

.u-font6 {
  font-size: 6px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt15-md {
    margin-top: 15px !important;
  }
  .u-mb15-md {
    margin-bottom: 15px !important;
  }
  .u-ml15-md {
    margin-left: 15px !important;
  }
  .u-mr15-md {
    margin-right: 15px !important;
  }
  .u-pt15-md {
    padding-top: 15px !important;
  }
  .u-pb15-md {
    padding-bottom: 15px !important;
  }
  .u-pl15-md {
    padding-left: 15px !important;
  }
  .u-pr15-md {
    padding-right: 15px !important;
  }
  .u-font6-md {
    font-size: 6px !important;
  }
}
@media only screen {
  .u-mt15-xs {
    margin-top: 15px !important;
  }
  .u-mb15-xs {
    margin-bottom: 15px !important;
  }
  .u-ml15-xs {
    margin-left: 15px !important;
  }
  .u-mr15-xs {
    margin-right: 15px !important;
  }
  .u-pt15-xs {
    padding-top: 15px !important;
  }
  .u-pb15-xs {
    padding-bottom: 15px !important;
  }
  .u-pl15-xs {
    padding-left: 15px !important;
  }
  .u-pr15-xs {
    padding-right: 15px !important;
  }
  .u-font6-xs {
    font-size: 6px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt15-down-md {
    margin-top: 15px !important;
  }
  .u-mb15-down-md {
    margin-bottom: 15px !important;
  }
  .u-ml15-down-md {
    margin-left: 15px !important;
  }
  .u-mr15-down-md {
    margin-right: 15px !important;
  }
  .u-pt15-down-md {
    padding-top: 15px !important;
  }
  .u-pb15-down-md {
    padding-bottom: 15px !important;
  }
  .u-pl15-down-md {
    padding-left: 15px !important;
  }
  .u-pr15-down-md {
    padding-right: 15px !important;
  }
  .u-font6-down-md {
    font-size: 6px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt15-lg {
    margin-top: 15px !important;
  }
  .u-mb15-lg {
    margin-bottom: 15px !important;
  }
  .u-ml15-lg {
    margin-left: 15px !important;
  }
  .u-mr15-lg {
    margin-right: 15px !important;
  }
  .u-pt15-lg {
    padding-top: 15px !important;
  }
  .u-pb15-lg {
    padding-bottom: 15px !important;
  }
  .u-pl15-lg {
    padding-left: 15px !important;
  }
  .u-pr15-lg {
    padding-right: 15px !important;
  }
  .u-font6-lg {
    font-size: 6px !important;
  }
}
.u-mt20 {
  margin-top: 20px !important;
}

.u-mb20 {
  margin-bottom: 20px !important;
}

.u-ml20 {
  margin-left: 20px !important;
}

.u-mr20 {
  margin-right: 20px !important;
}

.u-pt20 {
  padding-top: 20px !important;
}

.u-pb20 {
  padding-bottom: 20px !important;
}

.u-pl20 {
  padding-left: 20px !important;
}

.u-pr20 {
  padding-right: 20px !important;
}

.u-font8 {
  font-size: 8px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt20-md {
    margin-top: 20px !important;
  }
  .u-mb20-md {
    margin-bottom: 20px !important;
  }
  .u-ml20-md {
    margin-left: 20px !important;
  }
  .u-mr20-md {
    margin-right: 20px !important;
  }
  .u-pt20-md {
    padding-top: 20px !important;
  }
  .u-pb20-md {
    padding-bottom: 20px !important;
  }
  .u-pl20-md {
    padding-left: 20px !important;
  }
  .u-pr20-md {
    padding-right: 20px !important;
  }
  .u-font8-md {
    font-size: 8px !important;
  }
}
@media only screen {
  .u-mt20-xs {
    margin-top: 20px !important;
  }
  .u-mb20-xs {
    margin-bottom: 20px !important;
  }
  .u-ml20-xs {
    margin-left: 20px !important;
  }
  .u-mr20-xs {
    margin-right: 20px !important;
  }
  .u-pt20-xs {
    padding-top: 20px !important;
  }
  .u-pb20-xs {
    padding-bottom: 20px !important;
  }
  .u-pl20-xs {
    padding-left: 20px !important;
  }
  .u-pr20-xs {
    padding-right: 20px !important;
  }
  .u-font8-xs {
    font-size: 8px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt20-down-md {
    margin-top: 20px !important;
  }
  .u-mb20-down-md {
    margin-bottom: 20px !important;
  }
  .u-ml20-down-md {
    margin-left: 20px !important;
  }
  .u-mr20-down-md {
    margin-right: 20px !important;
  }
  .u-pt20-down-md {
    padding-top: 20px !important;
  }
  .u-pb20-down-md {
    padding-bottom: 20px !important;
  }
  .u-pl20-down-md {
    padding-left: 20px !important;
  }
  .u-pr20-down-md {
    padding-right: 20px !important;
  }
  .u-font8-down-md {
    font-size: 8px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt20-lg {
    margin-top: 20px !important;
  }
  .u-mb20-lg {
    margin-bottom: 20px !important;
  }
  .u-ml20-lg {
    margin-left: 20px !important;
  }
  .u-mr20-lg {
    margin-right: 20px !important;
  }
  .u-pt20-lg {
    padding-top: 20px !important;
  }
  .u-pb20-lg {
    padding-bottom: 20px !important;
  }
  .u-pl20-lg {
    padding-left: 20px !important;
  }
  .u-pr20-lg {
    padding-right: 20px !important;
  }
  .u-font8-lg {
    font-size: 8px !important;
  }
}
.u-mt25 {
  margin-top: 25px !important;
}

.u-mb25 {
  margin-bottom: 25px !important;
}

.u-ml25 {
  margin-left: 25px !important;
}

.u-mr25 {
  margin-right: 25px !important;
}

.u-pt25 {
  padding-top: 25px !important;
}

.u-pb25 {
  padding-bottom: 25px !important;
}

.u-pl25 {
  padding-left: 25px !important;
}

.u-pr25 {
  padding-right: 25px !important;
}

.u-font10 {
  font-size: 10px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt25-md {
    margin-top: 25px !important;
  }
  .u-mb25-md {
    margin-bottom: 25px !important;
  }
  .u-ml25-md {
    margin-left: 25px !important;
  }
  .u-mr25-md {
    margin-right: 25px !important;
  }
  .u-pt25-md {
    padding-top: 25px !important;
  }
  .u-pb25-md {
    padding-bottom: 25px !important;
  }
  .u-pl25-md {
    padding-left: 25px !important;
  }
  .u-pr25-md {
    padding-right: 25px !important;
  }
  .u-font10-md {
    font-size: 10px !important;
  }
}
@media only screen {
  .u-mt25-xs {
    margin-top: 25px !important;
  }
  .u-mb25-xs {
    margin-bottom: 25px !important;
  }
  .u-ml25-xs {
    margin-left: 25px !important;
  }
  .u-mr25-xs {
    margin-right: 25px !important;
  }
  .u-pt25-xs {
    padding-top: 25px !important;
  }
  .u-pb25-xs {
    padding-bottom: 25px !important;
  }
  .u-pl25-xs {
    padding-left: 25px !important;
  }
  .u-pr25-xs {
    padding-right: 25px !important;
  }
  .u-font10-xs {
    font-size: 10px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt25-down-md {
    margin-top: 25px !important;
  }
  .u-mb25-down-md {
    margin-bottom: 25px !important;
  }
  .u-ml25-down-md {
    margin-left: 25px !important;
  }
  .u-mr25-down-md {
    margin-right: 25px !important;
  }
  .u-pt25-down-md {
    padding-top: 25px !important;
  }
  .u-pb25-down-md {
    padding-bottom: 25px !important;
  }
  .u-pl25-down-md {
    padding-left: 25px !important;
  }
  .u-pr25-down-md {
    padding-right: 25px !important;
  }
  .u-font10-down-md {
    font-size: 10px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt25-lg {
    margin-top: 25px !important;
  }
  .u-mb25-lg {
    margin-bottom: 25px !important;
  }
  .u-ml25-lg {
    margin-left: 25px !important;
  }
  .u-mr25-lg {
    margin-right: 25px !important;
  }
  .u-pt25-lg {
    padding-top: 25px !important;
  }
  .u-pb25-lg {
    padding-bottom: 25px !important;
  }
  .u-pl25-lg {
    padding-left: 25px !important;
  }
  .u-pr25-lg {
    padding-right: 25px !important;
  }
  .u-font10-lg {
    font-size: 10px !important;
  }
}
.u-mt30 {
  margin-top: 30px !important;
}

.u-mb30 {
  margin-bottom: 30px !important;
}

.u-ml30 {
  margin-left: 30px !important;
}

.u-mr30 {
  margin-right: 30px !important;
}

.u-pt30 {
  padding-top: 30px !important;
}

.u-pb30 {
  padding-bottom: 30px !important;
}

.u-pl30 {
  padding-left: 30px !important;
}

.u-pr30 {
  padding-right: 30px !important;
}

.u-font12 {
  font-size: 12px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt30-md {
    margin-top: 30px !important;
  }
  .u-mb30-md {
    margin-bottom: 30px !important;
  }
  .u-ml30-md {
    margin-left: 30px !important;
  }
  .u-mr30-md {
    margin-right: 30px !important;
  }
  .u-pt30-md {
    padding-top: 30px !important;
  }
  .u-pb30-md {
    padding-bottom: 30px !important;
  }
  .u-pl30-md {
    padding-left: 30px !important;
  }
  .u-pr30-md {
    padding-right: 30px !important;
  }
  .u-font12-md {
    font-size: 12px !important;
  }
}
@media only screen {
  .u-mt30-xs {
    margin-top: 30px !important;
  }
  .u-mb30-xs {
    margin-bottom: 30px !important;
  }
  .u-ml30-xs {
    margin-left: 30px !important;
  }
  .u-mr30-xs {
    margin-right: 30px !important;
  }
  .u-pt30-xs {
    padding-top: 30px !important;
  }
  .u-pb30-xs {
    padding-bottom: 30px !important;
  }
  .u-pl30-xs {
    padding-left: 30px !important;
  }
  .u-pr30-xs {
    padding-right: 30px !important;
  }
  .u-font12-xs {
    font-size: 12px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt30-down-md {
    margin-top: 30px !important;
  }
  .u-mb30-down-md {
    margin-bottom: 30px !important;
  }
  .u-ml30-down-md {
    margin-left: 30px !important;
  }
  .u-mr30-down-md {
    margin-right: 30px !important;
  }
  .u-pt30-down-md {
    padding-top: 30px !important;
  }
  .u-pb30-down-md {
    padding-bottom: 30px !important;
  }
  .u-pl30-down-md {
    padding-left: 30px !important;
  }
  .u-pr30-down-md {
    padding-right: 30px !important;
  }
  .u-font12-down-md {
    font-size: 12px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt30-lg {
    margin-top: 30px !important;
  }
  .u-mb30-lg {
    margin-bottom: 30px !important;
  }
  .u-ml30-lg {
    margin-left: 30px !important;
  }
  .u-mr30-lg {
    margin-right: 30px !important;
  }
  .u-pt30-lg {
    padding-top: 30px !important;
  }
  .u-pb30-lg {
    padding-bottom: 30px !important;
  }
  .u-pl30-lg {
    padding-left: 30px !important;
  }
  .u-pr30-lg {
    padding-right: 30px !important;
  }
  .u-font12-lg {
    font-size: 12px !important;
  }
}
.u-mt35 {
  margin-top: 35px !important;
}

.u-mb35 {
  margin-bottom: 35px !important;
}

.u-ml35 {
  margin-left: 35px !important;
}

.u-mr35 {
  margin-right: 35px !important;
}

.u-pt35 {
  padding-top: 35px !important;
}

.u-pb35 {
  padding-bottom: 35px !important;
}

.u-pl35 {
  padding-left: 35px !important;
}

.u-pr35 {
  padding-right: 35px !important;
}

.u-font14 {
  font-size: 14px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt35-md {
    margin-top: 35px !important;
  }
  .u-mb35-md {
    margin-bottom: 35px !important;
  }
  .u-ml35-md {
    margin-left: 35px !important;
  }
  .u-mr35-md {
    margin-right: 35px !important;
  }
  .u-pt35-md {
    padding-top: 35px !important;
  }
  .u-pb35-md {
    padding-bottom: 35px !important;
  }
  .u-pl35-md {
    padding-left: 35px !important;
  }
  .u-pr35-md {
    padding-right: 35px !important;
  }
  .u-font14-md {
    font-size: 14px !important;
  }
}
@media only screen {
  .u-mt35-xs {
    margin-top: 35px !important;
  }
  .u-mb35-xs {
    margin-bottom: 35px !important;
  }
  .u-ml35-xs {
    margin-left: 35px !important;
  }
  .u-mr35-xs {
    margin-right: 35px !important;
  }
  .u-pt35-xs {
    padding-top: 35px !important;
  }
  .u-pb35-xs {
    padding-bottom: 35px !important;
  }
  .u-pl35-xs {
    padding-left: 35px !important;
  }
  .u-pr35-xs {
    padding-right: 35px !important;
  }
  .u-font14-xs {
    font-size: 14px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt35-down-md {
    margin-top: 35px !important;
  }
  .u-mb35-down-md {
    margin-bottom: 35px !important;
  }
  .u-ml35-down-md {
    margin-left: 35px !important;
  }
  .u-mr35-down-md {
    margin-right: 35px !important;
  }
  .u-pt35-down-md {
    padding-top: 35px !important;
  }
  .u-pb35-down-md {
    padding-bottom: 35px !important;
  }
  .u-pl35-down-md {
    padding-left: 35px !important;
  }
  .u-pr35-down-md {
    padding-right: 35px !important;
  }
  .u-font14-down-md {
    font-size: 14px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt35-lg {
    margin-top: 35px !important;
  }
  .u-mb35-lg {
    margin-bottom: 35px !important;
  }
  .u-ml35-lg {
    margin-left: 35px !important;
  }
  .u-mr35-lg {
    margin-right: 35px !important;
  }
  .u-pt35-lg {
    padding-top: 35px !important;
  }
  .u-pb35-lg {
    padding-bottom: 35px !important;
  }
  .u-pl35-lg {
    padding-left: 35px !important;
  }
  .u-pr35-lg {
    padding-right: 35px !important;
  }
  .u-font14-lg {
    font-size: 14px !important;
  }
}
.u-mt40 {
  margin-top: 40px !important;
}

.u-mb40 {
  margin-bottom: 40px !important;
}

.u-ml40 {
  margin-left: 40px !important;
}

.u-mr40 {
  margin-right: 40px !important;
}

.u-pt40 {
  padding-top: 40px !important;
}

.u-pb40 {
  padding-bottom: 40px !important;
}

.u-pl40 {
  padding-left: 40px !important;
}

.u-pr40 {
  padding-right: 40px !important;
}

.u-font16 {
  font-size: 16px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt40-md {
    margin-top: 40px !important;
  }
  .u-mb40-md {
    margin-bottom: 40px !important;
  }
  .u-ml40-md {
    margin-left: 40px !important;
  }
  .u-mr40-md {
    margin-right: 40px !important;
  }
  .u-pt40-md {
    padding-top: 40px !important;
  }
  .u-pb40-md {
    padding-bottom: 40px !important;
  }
  .u-pl40-md {
    padding-left: 40px !important;
  }
  .u-pr40-md {
    padding-right: 40px !important;
  }
  .u-font16-md {
    font-size: 16px !important;
  }
}
@media only screen {
  .u-mt40-xs {
    margin-top: 40px !important;
  }
  .u-mb40-xs {
    margin-bottom: 40px !important;
  }
  .u-ml40-xs {
    margin-left: 40px !important;
  }
  .u-mr40-xs {
    margin-right: 40px !important;
  }
  .u-pt40-xs {
    padding-top: 40px !important;
  }
  .u-pb40-xs {
    padding-bottom: 40px !important;
  }
  .u-pl40-xs {
    padding-left: 40px !important;
  }
  .u-pr40-xs {
    padding-right: 40px !important;
  }
  .u-font16-xs {
    font-size: 16px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt40-down-md {
    margin-top: 40px !important;
  }
  .u-mb40-down-md {
    margin-bottom: 40px !important;
  }
  .u-ml40-down-md {
    margin-left: 40px !important;
  }
  .u-mr40-down-md {
    margin-right: 40px !important;
  }
  .u-pt40-down-md {
    padding-top: 40px !important;
  }
  .u-pb40-down-md {
    padding-bottom: 40px !important;
  }
  .u-pl40-down-md {
    padding-left: 40px !important;
  }
  .u-pr40-down-md {
    padding-right: 40px !important;
  }
  .u-font16-down-md {
    font-size: 16px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt40-lg {
    margin-top: 40px !important;
  }
  .u-mb40-lg {
    margin-bottom: 40px !important;
  }
  .u-ml40-lg {
    margin-left: 40px !important;
  }
  .u-mr40-lg {
    margin-right: 40px !important;
  }
  .u-pt40-lg {
    padding-top: 40px !important;
  }
  .u-pb40-lg {
    padding-bottom: 40px !important;
  }
  .u-pl40-lg {
    padding-left: 40px !important;
  }
  .u-pr40-lg {
    padding-right: 40px !important;
  }
  .u-font16-lg {
    font-size: 16px !important;
  }
}
.u-mt45 {
  margin-top: 45px !important;
}

.u-mb45 {
  margin-bottom: 45px !important;
}

.u-ml45 {
  margin-left: 45px !important;
}

.u-mr45 {
  margin-right: 45px !important;
}

.u-pt45 {
  padding-top: 45px !important;
}

.u-pb45 {
  padding-bottom: 45px !important;
}

.u-pl45 {
  padding-left: 45px !important;
}

.u-pr45 {
  padding-right: 45px !important;
}

.u-font18 {
  font-size: 18px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt45-md {
    margin-top: 45px !important;
  }
  .u-mb45-md {
    margin-bottom: 45px !important;
  }
  .u-ml45-md {
    margin-left: 45px !important;
  }
  .u-mr45-md {
    margin-right: 45px !important;
  }
  .u-pt45-md {
    padding-top: 45px !important;
  }
  .u-pb45-md {
    padding-bottom: 45px !important;
  }
  .u-pl45-md {
    padding-left: 45px !important;
  }
  .u-pr45-md {
    padding-right: 45px !important;
  }
  .u-font18-md {
    font-size: 18px !important;
  }
}
@media only screen {
  .u-mt45-xs {
    margin-top: 45px !important;
  }
  .u-mb45-xs {
    margin-bottom: 45px !important;
  }
  .u-ml45-xs {
    margin-left: 45px !important;
  }
  .u-mr45-xs {
    margin-right: 45px !important;
  }
  .u-pt45-xs {
    padding-top: 45px !important;
  }
  .u-pb45-xs {
    padding-bottom: 45px !important;
  }
  .u-pl45-xs {
    padding-left: 45px !important;
  }
  .u-pr45-xs {
    padding-right: 45px !important;
  }
  .u-font18-xs {
    font-size: 18px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt45-down-md {
    margin-top: 45px !important;
  }
  .u-mb45-down-md {
    margin-bottom: 45px !important;
  }
  .u-ml45-down-md {
    margin-left: 45px !important;
  }
  .u-mr45-down-md {
    margin-right: 45px !important;
  }
  .u-pt45-down-md {
    padding-top: 45px !important;
  }
  .u-pb45-down-md {
    padding-bottom: 45px !important;
  }
  .u-pl45-down-md {
    padding-left: 45px !important;
  }
  .u-pr45-down-md {
    padding-right: 45px !important;
  }
  .u-font18-down-md {
    font-size: 18px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt45-lg {
    margin-top: 45px !important;
  }
  .u-mb45-lg {
    margin-bottom: 45px !important;
  }
  .u-ml45-lg {
    margin-left: 45px !important;
  }
  .u-mr45-lg {
    margin-right: 45px !important;
  }
  .u-pt45-lg {
    padding-top: 45px !important;
  }
  .u-pb45-lg {
    padding-bottom: 45px !important;
  }
  .u-pl45-lg {
    padding-left: 45px !important;
  }
  .u-pr45-lg {
    padding-right: 45px !important;
  }
  .u-font18-lg {
    font-size: 18px !important;
  }
}
.u-mt50 {
  margin-top: 50px !important;
}

.u-mb50 {
  margin-bottom: 50px !important;
}

.u-ml50 {
  margin-left: 50px !important;
}

.u-mr50 {
  margin-right: 50px !important;
}

.u-pt50 {
  padding-top: 50px !important;
}

.u-pb50 {
  padding-bottom: 50px !important;
}

.u-pl50 {
  padding-left: 50px !important;
}

.u-pr50 {
  padding-right: 50px !important;
}

.u-font20 {
  font-size: 20px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt50-md {
    margin-top: 50px !important;
  }
  .u-mb50-md {
    margin-bottom: 50px !important;
  }
  .u-ml50-md {
    margin-left: 50px !important;
  }
  .u-mr50-md {
    margin-right: 50px !important;
  }
  .u-pt50-md {
    padding-top: 50px !important;
  }
  .u-pb50-md {
    padding-bottom: 50px !important;
  }
  .u-pl50-md {
    padding-left: 50px !important;
  }
  .u-pr50-md {
    padding-right: 50px !important;
  }
  .u-font20-md {
    font-size: 20px !important;
  }
}
@media only screen {
  .u-mt50-xs {
    margin-top: 50px !important;
  }
  .u-mb50-xs {
    margin-bottom: 50px !important;
  }
  .u-ml50-xs {
    margin-left: 50px !important;
  }
  .u-mr50-xs {
    margin-right: 50px !important;
  }
  .u-pt50-xs {
    padding-top: 50px !important;
  }
  .u-pb50-xs {
    padding-bottom: 50px !important;
  }
  .u-pl50-xs {
    padding-left: 50px !important;
  }
  .u-pr50-xs {
    padding-right: 50px !important;
  }
  .u-font20-xs {
    font-size: 20px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt50-down-md {
    margin-top: 50px !important;
  }
  .u-mb50-down-md {
    margin-bottom: 50px !important;
  }
  .u-ml50-down-md {
    margin-left: 50px !important;
  }
  .u-mr50-down-md {
    margin-right: 50px !important;
  }
  .u-pt50-down-md {
    padding-top: 50px !important;
  }
  .u-pb50-down-md {
    padding-bottom: 50px !important;
  }
  .u-pl50-down-md {
    padding-left: 50px !important;
  }
  .u-pr50-down-md {
    padding-right: 50px !important;
  }
  .u-font20-down-md {
    font-size: 20px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt50-lg {
    margin-top: 50px !important;
  }
  .u-mb50-lg {
    margin-bottom: 50px !important;
  }
  .u-ml50-lg {
    margin-left: 50px !important;
  }
  .u-mr50-lg {
    margin-right: 50px !important;
  }
  .u-pt50-lg {
    padding-top: 50px !important;
  }
  .u-pb50-lg {
    padding-bottom: 50px !important;
  }
  .u-pl50-lg {
    padding-left: 50px !important;
  }
  .u-pr50-lg {
    padding-right: 50px !important;
  }
  .u-font20-lg {
    font-size: 20px !important;
  }
}
.u-mt55 {
  margin-top: 55px !important;
}

.u-mb55 {
  margin-bottom: 55px !important;
}

.u-ml55 {
  margin-left: 55px !important;
}

.u-mr55 {
  margin-right: 55px !important;
}

.u-pt55 {
  padding-top: 55px !important;
}

.u-pb55 {
  padding-bottom: 55px !important;
}

.u-pl55 {
  padding-left: 55px !important;
}

.u-pr55 {
  padding-right: 55px !important;
}

.u-font22 {
  font-size: 22px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt55-md {
    margin-top: 55px !important;
  }
  .u-mb55-md {
    margin-bottom: 55px !important;
  }
  .u-ml55-md {
    margin-left: 55px !important;
  }
  .u-mr55-md {
    margin-right: 55px !important;
  }
  .u-pt55-md {
    padding-top: 55px !important;
  }
  .u-pb55-md {
    padding-bottom: 55px !important;
  }
  .u-pl55-md {
    padding-left: 55px !important;
  }
  .u-pr55-md {
    padding-right: 55px !important;
  }
  .u-font22-md {
    font-size: 22px !important;
  }
}
@media only screen {
  .u-mt55-xs {
    margin-top: 55px !important;
  }
  .u-mb55-xs {
    margin-bottom: 55px !important;
  }
  .u-ml55-xs {
    margin-left: 55px !important;
  }
  .u-mr55-xs {
    margin-right: 55px !important;
  }
  .u-pt55-xs {
    padding-top: 55px !important;
  }
  .u-pb55-xs {
    padding-bottom: 55px !important;
  }
  .u-pl55-xs {
    padding-left: 55px !important;
  }
  .u-pr55-xs {
    padding-right: 55px !important;
  }
  .u-font22-xs {
    font-size: 22px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt55-down-md {
    margin-top: 55px !important;
  }
  .u-mb55-down-md {
    margin-bottom: 55px !important;
  }
  .u-ml55-down-md {
    margin-left: 55px !important;
  }
  .u-mr55-down-md {
    margin-right: 55px !important;
  }
  .u-pt55-down-md {
    padding-top: 55px !important;
  }
  .u-pb55-down-md {
    padding-bottom: 55px !important;
  }
  .u-pl55-down-md {
    padding-left: 55px !important;
  }
  .u-pr55-down-md {
    padding-right: 55px !important;
  }
  .u-font22-down-md {
    font-size: 22px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt55-lg {
    margin-top: 55px !important;
  }
  .u-mb55-lg {
    margin-bottom: 55px !important;
  }
  .u-ml55-lg {
    margin-left: 55px !important;
  }
  .u-mr55-lg {
    margin-right: 55px !important;
  }
  .u-pt55-lg {
    padding-top: 55px !important;
  }
  .u-pb55-lg {
    padding-bottom: 55px !important;
  }
  .u-pl55-lg {
    padding-left: 55px !important;
  }
  .u-pr55-lg {
    padding-right: 55px !important;
  }
  .u-font22-lg {
    font-size: 22px !important;
  }
}
.u-mt60 {
  margin-top: 60px !important;
}

.u-mb60 {
  margin-bottom: 60px !important;
}

.u-ml60 {
  margin-left: 60px !important;
}

.u-mr60 {
  margin-right: 60px !important;
}

.u-pt60 {
  padding-top: 60px !important;
}

.u-pb60 {
  padding-bottom: 60px !important;
}

.u-pl60 {
  padding-left: 60px !important;
}

.u-pr60 {
  padding-right: 60px !important;
}

.u-font24 {
  font-size: 24px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt60-md {
    margin-top: 60px !important;
  }
  .u-mb60-md {
    margin-bottom: 60px !important;
  }
  .u-ml60-md {
    margin-left: 60px !important;
  }
  .u-mr60-md {
    margin-right: 60px !important;
  }
  .u-pt60-md {
    padding-top: 60px !important;
  }
  .u-pb60-md {
    padding-bottom: 60px !important;
  }
  .u-pl60-md {
    padding-left: 60px !important;
  }
  .u-pr60-md {
    padding-right: 60px !important;
  }
  .u-font24-md {
    font-size: 24px !important;
  }
}
@media only screen {
  .u-mt60-xs {
    margin-top: 60px !important;
  }
  .u-mb60-xs {
    margin-bottom: 60px !important;
  }
  .u-ml60-xs {
    margin-left: 60px !important;
  }
  .u-mr60-xs {
    margin-right: 60px !important;
  }
  .u-pt60-xs {
    padding-top: 60px !important;
  }
  .u-pb60-xs {
    padding-bottom: 60px !important;
  }
  .u-pl60-xs {
    padding-left: 60px !important;
  }
  .u-pr60-xs {
    padding-right: 60px !important;
  }
  .u-font24-xs {
    font-size: 24px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt60-down-md {
    margin-top: 60px !important;
  }
  .u-mb60-down-md {
    margin-bottom: 60px !important;
  }
  .u-ml60-down-md {
    margin-left: 60px !important;
  }
  .u-mr60-down-md {
    margin-right: 60px !important;
  }
  .u-pt60-down-md {
    padding-top: 60px !important;
  }
  .u-pb60-down-md {
    padding-bottom: 60px !important;
  }
  .u-pl60-down-md {
    padding-left: 60px !important;
  }
  .u-pr60-down-md {
    padding-right: 60px !important;
  }
  .u-font24-down-md {
    font-size: 24px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt60-lg {
    margin-top: 60px !important;
  }
  .u-mb60-lg {
    margin-bottom: 60px !important;
  }
  .u-ml60-lg {
    margin-left: 60px !important;
  }
  .u-mr60-lg {
    margin-right: 60px !important;
  }
  .u-pt60-lg {
    padding-top: 60px !important;
  }
  .u-pb60-lg {
    padding-bottom: 60px !important;
  }
  .u-pl60-lg {
    padding-left: 60px !important;
  }
  .u-pr60-lg {
    padding-right: 60px !important;
  }
  .u-font24-lg {
    font-size: 24px !important;
  }
}
.u-mt65 {
  margin-top: 65px !important;
}

.u-mb65 {
  margin-bottom: 65px !important;
}

.u-ml65 {
  margin-left: 65px !important;
}

.u-mr65 {
  margin-right: 65px !important;
}

.u-pt65 {
  padding-top: 65px !important;
}

.u-pb65 {
  padding-bottom: 65px !important;
}

.u-pl65 {
  padding-left: 65px !important;
}

.u-pr65 {
  padding-right: 65px !important;
}

.u-font26 {
  font-size: 26px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt65-md {
    margin-top: 65px !important;
  }
  .u-mb65-md {
    margin-bottom: 65px !important;
  }
  .u-ml65-md {
    margin-left: 65px !important;
  }
  .u-mr65-md {
    margin-right: 65px !important;
  }
  .u-pt65-md {
    padding-top: 65px !important;
  }
  .u-pb65-md {
    padding-bottom: 65px !important;
  }
  .u-pl65-md {
    padding-left: 65px !important;
  }
  .u-pr65-md {
    padding-right: 65px !important;
  }
  .u-font26-md {
    font-size: 26px !important;
  }
}
@media only screen {
  .u-mt65-xs {
    margin-top: 65px !important;
  }
  .u-mb65-xs {
    margin-bottom: 65px !important;
  }
  .u-ml65-xs {
    margin-left: 65px !important;
  }
  .u-mr65-xs {
    margin-right: 65px !important;
  }
  .u-pt65-xs {
    padding-top: 65px !important;
  }
  .u-pb65-xs {
    padding-bottom: 65px !important;
  }
  .u-pl65-xs {
    padding-left: 65px !important;
  }
  .u-pr65-xs {
    padding-right: 65px !important;
  }
  .u-font26-xs {
    font-size: 26px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt65-down-md {
    margin-top: 65px !important;
  }
  .u-mb65-down-md {
    margin-bottom: 65px !important;
  }
  .u-ml65-down-md {
    margin-left: 65px !important;
  }
  .u-mr65-down-md {
    margin-right: 65px !important;
  }
  .u-pt65-down-md {
    padding-top: 65px !important;
  }
  .u-pb65-down-md {
    padding-bottom: 65px !important;
  }
  .u-pl65-down-md {
    padding-left: 65px !important;
  }
  .u-pr65-down-md {
    padding-right: 65px !important;
  }
  .u-font26-down-md {
    font-size: 26px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt65-lg {
    margin-top: 65px !important;
  }
  .u-mb65-lg {
    margin-bottom: 65px !important;
  }
  .u-ml65-lg {
    margin-left: 65px !important;
  }
  .u-mr65-lg {
    margin-right: 65px !important;
  }
  .u-pt65-lg {
    padding-top: 65px !important;
  }
  .u-pb65-lg {
    padding-bottom: 65px !important;
  }
  .u-pl65-lg {
    padding-left: 65px !important;
  }
  .u-pr65-lg {
    padding-right: 65px !important;
  }
  .u-font26-lg {
    font-size: 26px !important;
  }
}
.u-mt70 {
  margin-top: 70px !important;
}

.u-mb70 {
  margin-bottom: 70px !important;
}

.u-ml70 {
  margin-left: 70px !important;
}

.u-mr70 {
  margin-right: 70px !important;
}

.u-pt70 {
  padding-top: 70px !important;
}

.u-pb70 {
  padding-bottom: 70px !important;
}

.u-pl70 {
  padding-left: 70px !important;
}

.u-pr70 {
  padding-right: 70px !important;
}

.u-font28 {
  font-size: 28px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt70-md {
    margin-top: 70px !important;
  }
  .u-mb70-md {
    margin-bottom: 70px !important;
  }
  .u-ml70-md {
    margin-left: 70px !important;
  }
  .u-mr70-md {
    margin-right: 70px !important;
  }
  .u-pt70-md {
    padding-top: 70px !important;
  }
  .u-pb70-md {
    padding-bottom: 70px !important;
  }
  .u-pl70-md {
    padding-left: 70px !important;
  }
  .u-pr70-md {
    padding-right: 70px !important;
  }
  .u-font28-md {
    font-size: 28px !important;
  }
}
@media only screen {
  .u-mt70-xs {
    margin-top: 70px !important;
  }
  .u-mb70-xs {
    margin-bottom: 70px !important;
  }
  .u-ml70-xs {
    margin-left: 70px !important;
  }
  .u-mr70-xs {
    margin-right: 70px !important;
  }
  .u-pt70-xs {
    padding-top: 70px !important;
  }
  .u-pb70-xs {
    padding-bottom: 70px !important;
  }
  .u-pl70-xs {
    padding-left: 70px !important;
  }
  .u-pr70-xs {
    padding-right: 70px !important;
  }
  .u-font28-xs {
    font-size: 28px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt70-down-md {
    margin-top: 70px !important;
  }
  .u-mb70-down-md {
    margin-bottom: 70px !important;
  }
  .u-ml70-down-md {
    margin-left: 70px !important;
  }
  .u-mr70-down-md {
    margin-right: 70px !important;
  }
  .u-pt70-down-md {
    padding-top: 70px !important;
  }
  .u-pb70-down-md {
    padding-bottom: 70px !important;
  }
  .u-pl70-down-md {
    padding-left: 70px !important;
  }
  .u-pr70-down-md {
    padding-right: 70px !important;
  }
  .u-font28-down-md {
    font-size: 28px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt70-lg {
    margin-top: 70px !important;
  }
  .u-mb70-lg {
    margin-bottom: 70px !important;
  }
  .u-ml70-lg {
    margin-left: 70px !important;
  }
  .u-mr70-lg {
    margin-right: 70px !important;
  }
  .u-pt70-lg {
    padding-top: 70px !important;
  }
  .u-pb70-lg {
    padding-bottom: 70px !important;
  }
  .u-pl70-lg {
    padding-left: 70px !important;
  }
  .u-pr70-lg {
    padding-right: 70px !important;
  }
  .u-font28-lg {
    font-size: 28px !important;
  }
}
.u-mt75 {
  margin-top: 75px !important;
}

.u-mb75 {
  margin-bottom: 75px !important;
}

.u-ml75 {
  margin-left: 75px !important;
}

.u-mr75 {
  margin-right: 75px !important;
}

.u-pt75 {
  padding-top: 75px !important;
}

.u-pb75 {
  padding-bottom: 75px !important;
}

.u-pl75 {
  padding-left: 75px !important;
}

.u-pr75 {
  padding-right: 75px !important;
}

.u-font30 {
  font-size: 30px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt75-md {
    margin-top: 75px !important;
  }
  .u-mb75-md {
    margin-bottom: 75px !important;
  }
  .u-ml75-md {
    margin-left: 75px !important;
  }
  .u-mr75-md {
    margin-right: 75px !important;
  }
  .u-pt75-md {
    padding-top: 75px !important;
  }
  .u-pb75-md {
    padding-bottom: 75px !important;
  }
  .u-pl75-md {
    padding-left: 75px !important;
  }
  .u-pr75-md {
    padding-right: 75px !important;
  }
  .u-font30-md {
    font-size: 30px !important;
  }
}
@media only screen {
  .u-mt75-xs {
    margin-top: 75px !important;
  }
  .u-mb75-xs {
    margin-bottom: 75px !important;
  }
  .u-ml75-xs {
    margin-left: 75px !important;
  }
  .u-mr75-xs {
    margin-right: 75px !important;
  }
  .u-pt75-xs {
    padding-top: 75px !important;
  }
  .u-pb75-xs {
    padding-bottom: 75px !important;
  }
  .u-pl75-xs {
    padding-left: 75px !important;
  }
  .u-pr75-xs {
    padding-right: 75px !important;
  }
  .u-font30-xs {
    font-size: 30px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt75-down-md {
    margin-top: 75px !important;
  }
  .u-mb75-down-md {
    margin-bottom: 75px !important;
  }
  .u-ml75-down-md {
    margin-left: 75px !important;
  }
  .u-mr75-down-md {
    margin-right: 75px !important;
  }
  .u-pt75-down-md {
    padding-top: 75px !important;
  }
  .u-pb75-down-md {
    padding-bottom: 75px !important;
  }
  .u-pl75-down-md {
    padding-left: 75px !important;
  }
  .u-pr75-down-md {
    padding-right: 75px !important;
  }
  .u-font30-down-md {
    font-size: 30px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt75-lg {
    margin-top: 75px !important;
  }
  .u-mb75-lg {
    margin-bottom: 75px !important;
  }
  .u-ml75-lg {
    margin-left: 75px !important;
  }
  .u-mr75-lg {
    margin-right: 75px !important;
  }
  .u-pt75-lg {
    padding-top: 75px !important;
  }
  .u-pb75-lg {
    padding-bottom: 75px !important;
  }
  .u-pl75-lg {
    padding-left: 75px !important;
  }
  .u-pr75-lg {
    padding-right: 75px !important;
  }
  .u-font30-lg {
    font-size: 30px !important;
  }
}
.u-mt80 {
  margin-top: 80px !important;
}

.u-mb80 {
  margin-bottom: 80px !important;
}

.u-ml80 {
  margin-left: 80px !important;
}

.u-mr80 {
  margin-right: 80px !important;
}

.u-pt80 {
  padding-top: 80px !important;
}

.u-pb80 {
  padding-bottom: 80px !important;
}

.u-pl80 {
  padding-left: 80px !important;
}

.u-pr80 {
  padding-right: 80px !important;
}

.u-font32 {
  font-size: 32px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt80-md {
    margin-top: 80px !important;
  }
  .u-mb80-md {
    margin-bottom: 80px !important;
  }
  .u-ml80-md {
    margin-left: 80px !important;
  }
  .u-mr80-md {
    margin-right: 80px !important;
  }
  .u-pt80-md {
    padding-top: 80px !important;
  }
  .u-pb80-md {
    padding-bottom: 80px !important;
  }
  .u-pl80-md {
    padding-left: 80px !important;
  }
  .u-pr80-md {
    padding-right: 80px !important;
  }
  .u-font32-md {
    font-size: 32px !important;
  }
}
@media only screen {
  .u-mt80-xs {
    margin-top: 80px !important;
  }
  .u-mb80-xs {
    margin-bottom: 80px !important;
  }
  .u-ml80-xs {
    margin-left: 80px !important;
  }
  .u-mr80-xs {
    margin-right: 80px !important;
  }
  .u-pt80-xs {
    padding-top: 80px !important;
  }
  .u-pb80-xs {
    padding-bottom: 80px !important;
  }
  .u-pl80-xs {
    padding-left: 80px !important;
  }
  .u-pr80-xs {
    padding-right: 80px !important;
  }
  .u-font32-xs {
    font-size: 32px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt80-down-md {
    margin-top: 80px !important;
  }
  .u-mb80-down-md {
    margin-bottom: 80px !important;
  }
  .u-ml80-down-md {
    margin-left: 80px !important;
  }
  .u-mr80-down-md {
    margin-right: 80px !important;
  }
  .u-pt80-down-md {
    padding-top: 80px !important;
  }
  .u-pb80-down-md {
    padding-bottom: 80px !important;
  }
  .u-pl80-down-md {
    padding-left: 80px !important;
  }
  .u-pr80-down-md {
    padding-right: 80px !important;
  }
  .u-font32-down-md {
    font-size: 32px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt80-lg {
    margin-top: 80px !important;
  }
  .u-mb80-lg {
    margin-bottom: 80px !important;
  }
  .u-ml80-lg {
    margin-left: 80px !important;
  }
  .u-mr80-lg {
    margin-right: 80px !important;
  }
  .u-pt80-lg {
    padding-top: 80px !important;
  }
  .u-pb80-lg {
    padding-bottom: 80px !important;
  }
  .u-pl80-lg {
    padding-left: 80px !important;
  }
  .u-pr80-lg {
    padding-right: 80px !important;
  }
  .u-font32-lg {
    font-size: 32px !important;
  }
}
.u-mt85 {
  margin-top: 85px !important;
}

.u-mb85 {
  margin-bottom: 85px !important;
}

.u-ml85 {
  margin-left: 85px !important;
}

.u-mr85 {
  margin-right: 85px !important;
}

.u-pt85 {
  padding-top: 85px !important;
}

.u-pb85 {
  padding-bottom: 85px !important;
}

.u-pl85 {
  padding-left: 85px !important;
}

.u-pr85 {
  padding-right: 85px !important;
}

.u-font34 {
  font-size: 34px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt85-md {
    margin-top: 85px !important;
  }
  .u-mb85-md {
    margin-bottom: 85px !important;
  }
  .u-ml85-md {
    margin-left: 85px !important;
  }
  .u-mr85-md {
    margin-right: 85px !important;
  }
  .u-pt85-md {
    padding-top: 85px !important;
  }
  .u-pb85-md {
    padding-bottom: 85px !important;
  }
  .u-pl85-md {
    padding-left: 85px !important;
  }
  .u-pr85-md {
    padding-right: 85px !important;
  }
  .u-font34-md {
    font-size: 34px !important;
  }
}
@media only screen {
  .u-mt85-xs {
    margin-top: 85px !important;
  }
  .u-mb85-xs {
    margin-bottom: 85px !important;
  }
  .u-ml85-xs {
    margin-left: 85px !important;
  }
  .u-mr85-xs {
    margin-right: 85px !important;
  }
  .u-pt85-xs {
    padding-top: 85px !important;
  }
  .u-pb85-xs {
    padding-bottom: 85px !important;
  }
  .u-pl85-xs {
    padding-left: 85px !important;
  }
  .u-pr85-xs {
    padding-right: 85px !important;
  }
  .u-font34-xs {
    font-size: 34px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt85-down-md {
    margin-top: 85px !important;
  }
  .u-mb85-down-md {
    margin-bottom: 85px !important;
  }
  .u-ml85-down-md {
    margin-left: 85px !important;
  }
  .u-mr85-down-md {
    margin-right: 85px !important;
  }
  .u-pt85-down-md {
    padding-top: 85px !important;
  }
  .u-pb85-down-md {
    padding-bottom: 85px !important;
  }
  .u-pl85-down-md {
    padding-left: 85px !important;
  }
  .u-pr85-down-md {
    padding-right: 85px !important;
  }
  .u-font34-down-md {
    font-size: 34px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt85-lg {
    margin-top: 85px !important;
  }
  .u-mb85-lg {
    margin-bottom: 85px !important;
  }
  .u-ml85-lg {
    margin-left: 85px !important;
  }
  .u-mr85-lg {
    margin-right: 85px !important;
  }
  .u-pt85-lg {
    padding-top: 85px !important;
  }
  .u-pb85-lg {
    padding-bottom: 85px !important;
  }
  .u-pl85-lg {
    padding-left: 85px !important;
  }
  .u-pr85-lg {
    padding-right: 85px !important;
  }
  .u-font34-lg {
    font-size: 34px !important;
  }
}
.u-mt90 {
  margin-top: 90px !important;
}

.u-mb90 {
  margin-bottom: 90px !important;
}

.u-ml90 {
  margin-left: 90px !important;
}

.u-mr90 {
  margin-right: 90px !important;
}

.u-pt90 {
  padding-top: 90px !important;
}

.u-pb90 {
  padding-bottom: 90px !important;
}

.u-pl90 {
  padding-left: 90px !important;
}

.u-pr90 {
  padding-right: 90px !important;
}

.u-font36 {
  font-size: 36px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt90-md {
    margin-top: 90px !important;
  }
  .u-mb90-md {
    margin-bottom: 90px !important;
  }
  .u-ml90-md {
    margin-left: 90px !important;
  }
  .u-mr90-md {
    margin-right: 90px !important;
  }
  .u-pt90-md {
    padding-top: 90px !important;
  }
  .u-pb90-md {
    padding-bottom: 90px !important;
  }
  .u-pl90-md {
    padding-left: 90px !important;
  }
  .u-pr90-md {
    padding-right: 90px !important;
  }
  .u-font36-md {
    font-size: 36px !important;
  }
}
@media only screen {
  .u-mt90-xs {
    margin-top: 90px !important;
  }
  .u-mb90-xs {
    margin-bottom: 90px !important;
  }
  .u-ml90-xs {
    margin-left: 90px !important;
  }
  .u-mr90-xs {
    margin-right: 90px !important;
  }
  .u-pt90-xs {
    padding-top: 90px !important;
  }
  .u-pb90-xs {
    padding-bottom: 90px !important;
  }
  .u-pl90-xs {
    padding-left: 90px !important;
  }
  .u-pr90-xs {
    padding-right: 90px !important;
  }
  .u-font36-xs {
    font-size: 36px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt90-down-md {
    margin-top: 90px !important;
  }
  .u-mb90-down-md {
    margin-bottom: 90px !important;
  }
  .u-ml90-down-md {
    margin-left: 90px !important;
  }
  .u-mr90-down-md {
    margin-right: 90px !important;
  }
  .u-pt90-down-md {
    padding-top: 90px !important;
  }
  .u-pb90-down-md {
    padding-bottom: 90px !important;
  }
  .u-pl90-down-md {
    padding-left: 90px !important;
  }
  .u-pr90-down-md {
    padding-right: 90px !important;
  }
  .u-font36-down-md {
    font-size: 36px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt90-lg {
    margin-top: 90px !important;
  }
  .u-mb90-lg {
    margin-bottom: 90px !important;
  }
  .u-ml90-lg {
    margin-left: 90px !important;
  }
  .u-mr90-lg {
    margin-right: 90px !important;
  }
  .u-pt90-lg {
    padding-top: 90px !important;
  }
  .u-pb90-lg {
    padding-bottom: 90px !important;
  }
  .u-pl90-lg {
    padding-left: 90px !important;
  }
  .u-pr90-lg {
    padding-right: 90px !important;
  }
  .u-font36-lg {
    font-size: 36px !important;
  }
}
.u-mt95 {
  margin-top: 95px !important;
}

.u-mb95 {
  margin-bottom: 95px !important;
}

.u-ml95 {
  margin-left: 95px !important;
}

.u-mr95 {
  margin-right: 95px !important;
}

.u-pt95 {
  padding-top: 95px !important;
}

.u-pb95 {
  padding-bottom: 95px !important;
}

.u-pl95 {
  padding-left: 95px !important;
}

.u-pr95 {
  padding-right: 95px !important;
}

.u-font38 {
  font-size: 38px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt95-md {
    margin-top: 95px !important;
  }
  .u-mb95-md {
    margin-bottom: 95px !important;
  }
  .u-ml95-md {
    margin-left: 95px !important;
  }
  .u-mr95-md {
    margin-right: 95px !important;
  }
  .u-pt95-md {
    padding-top: 95px !important;
  }
  .u-pb95-md {
    padding-bottom: 95px !important;
  }
  .u-pl95-md {
    padding-left: 95px !important;
  }
  .u-pr95-md {
    padding-right: 95px !important;
  }
  .u-font38-md {
    font-size: 38px !important;
  }
}
@media only screen {
  .u-mt95-xs {
    margin-top: 95px !important;
  }
  .u-mb95-xs {
    margin-bottom: 95px !important;
  }
  .u-ml95-xs {
    margin-left: 95px !important;
  }
  .u-mr95-xs {
    margin-right: 95px !important;
  }
  .u-pt95-xs {
    padding-top: 95px !important;
  }
  .u-pb95-xs {
    padding-bottom: 95px !important;
  }
  .u-pl95-xs {
    padding-left: 95px !important;
  }
  .u-pr95-xs {
    padding-right: 95px !important;
  }
  .u-font38-xs {
    font-size: 38px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt95-down-md {
    margin-top: 95px !important;
  }
  .u-mb95-down-md {
    margin-bottom: 95px !important;
  }
  .u-ml95-down-md {
    margin-left: 95px !important;
  }
  .u-mr95-down-md {
    margin-right: 95px !important;
  }
  .u-pt95-down-md {
    padding-top: 95px !important;
  }
  .u-pb95-down-md {
    padding-bottom: 95px !important;
  }
  .u-pl95-down-md {
    padding-left: 95px !important;
  }
  .u-pr95-down-md {
    padding-right: 95px !important;
  }
  .u-font38-down-md {
    font-size: 38px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt95-lg {
    margin-top: 95px !important;
  }
  .u-mb95-lg {
    margin-bottom: 95px !important;
  }
  .u-ml95-lg {
    margin-left: 95px !important;
  }
  .u-mr95-lg {
    margin-right: 95px !important;
  }
  .u-pt95-lg {
    padding-top: 95px !important;
  }
  .u-pb95-lg {
    padding-bottom: 95px !important;
  }
  .u-pl95-lg {
    padding-left: 95px !important;
  }
  .u-pr95-lg {
    padding-right: 95px !important;
  }
  .u-font38-lg {
    font-size: 38px !important;
  }
}
.u-mt100 {
  margin-top: 100px !important;
}

.u-mb100 {
  margin-bottom: 100px !important;
}

.u-ml100 {
  margin-left: 100px !important;
}

.u-mr100 {
  margin-right: 100px !important;
}

.u-pt100 {
  padding-top: 100px !important;
}

.u-pb100 {
  padding-bottom: 100px !important;
}

.u-pl100 {
  padding-left: 100px !important;
}

.u-pr100 {
  padding-right: 100px !important;
}

.u-font40 {
  font-size: 40px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt100-md {
    margin-top: 100px !important;
  }
  .u-mb100-md {
    margin-bottom: 100px !important;
  }
  .u-ml100-md {
    margin-left: 100px !important;
  }
  .u-mr100-md {
    margin-right: 100px !important;
  }
  .u-pt100-md {
    padding-top: 100px !important;
  }
  .u-pb100-md {
    padding-bottom: 100px !important;
  }
  .u-pl100-md {
    padding-left: 100px !important;
  }
  .u-pr100-md {
    padding-right: 100px !important;
  }
  .u-font40-md {
    font-size: 40px !important;
  }
}
@media only screen {
  .u-mt100-xs {
    margin-top: 100px !important;
  }
  .u-mb100-xs {
    margin-bottom: 100px !important;
  }
  .u-ml100-xs {
    margin-left: 100px !important;
  }
  .u-mr100-xs {
    margin-right: 100px !important;
  }
  .u-pt100-xs {
    padding-top: 100px !important;
  }
  .u-pb100-xs {
    padding-bottom: 100px !important;
  }
  .u-pl100-xs {
    padding-left: 100px !important;
  }
  .u-pr100-xs {
    padding-right: 100px !important;
  }
  .u-font40-xs {
    font-size: 40px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt100-down-md {
    margin-top: 100px !important;
  }
  .u-mb100-down-md {
    margin-bottom: 100px !important;
  }
  .u-ml100-down-md {
    margin-left: 100px !important;
  }
  .u-mr100-down-md {
    margin-right: 100px !important;
  }
  .u-pt100-down-md {
    padding-top: 100px !important;
  }
  .u-pb100-down-md {
    padding-bottom: 100px !important;
  }
  .u-pl100-down-md {
    padding-left: 100px !important;
  }
  .u-pr100-down-md {
    padding-right: 100px !important;
  }
  .u-font40-down-md {
    font-size: 40px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt100-lg {
    margin-top: 100px !important;
  }
  .u-mb100-lg {
    margin-bottom: 100px !important;
  }
  .u-ml100-lg {
    margin-left: 100px !important;
  }
  .u-mr100-lg {
    margin-right: 100px !important;
  }
  .u-pt100-lg {
    padding-top: 100px !important;
  }
  .u-pb100-lg {
    padding-bottom: 100px !important;
  }
  .u-pl100-lg {
    padding-left: 100px !important;
  }
  .u-pr100-lg {
    padding-right: 100px !important;
  }
  .u-font40-lg {
    font-size: 40px !important;
  }
}
.u-mt105 {
  margin-top: 105px !important;
}

.u-mb105 {
  margin-bottom: 105px !important;
}

.u-ml105 {
  margin-left: 105px !important;
}

.u-mr105 {
  margin-right: 105px !important;
}

.u-pt105 {
  padding-top: 105px !important;
}

.u-pb105 {
  padding-bottom: 105px !important;
}

.u-pl105 {
  padding-left: 105px !important;
}

.u-pr105 {
  padding-right: 105px !important;
}

.u-font42 {
  font-size: 42px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt105-md {
    margin-top: 105px !important;
  }
  .u-mb105-md {
    margin-bottom: 105px !important;
  }
  .u-ml105-md {
    margin-left: 105px !important;
  }
  .u-mr105-md {
    margin-right: 105px !important;
  }
  .u-pt105-md {
    padding-top: 105px !important;
  }
  .u-pb105-md {
    padding-bottom: 105px !important;
  }
  .u-pl105-md {
    padding-left: 105px !important;
  }
  .u-pr105-md {
    padding-right: 105px !important;
  }
  .u-font42-md {
    font-size: 42px !important;
  }
}
@media only screen {
  .u-mt105-xs {
    margin-top: 105px !important;
  }
  .u-mb105-xs {
    margin-bottom: 105px !important;
  }
  .u-ml105-xs {
    margin-left: 105px !important;
  }
  .u-mr105-xs {
    margin-right: 105px !important;
  }
  .u-pt105-xs {
    padding-top: 105px !important;
  }
  .u-pb105-xs {
    padding-bottom: 105px !important;
  }
  .u-pl105-xs {
    padding-left: 105px !important;
  }
  .u-pr105-xs {
    padding-right: 105px !important;
  }
  .u-font42-xs {
    font-size: 42px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt105-down-md {
    margin-top: 105px !important;
  }
  .u-mb105-down-md {
    margin-bottom: 105px !important;
  }
  .u-ml105-down-md {
    margin-left: 105px !important;
  }
  .u-mr105-down-md {
    margin-right: 105px !important;
  }
  .u-pt105-down-md {
    padding-top: 105px !important;
  }
  .u-pb105-down-md {
    padding-bottom: 105px !important;
  }
  .u-pl105-down-md {
    padding-left: 105px !important;
  }
  .u-pr105-down-md {
    padding-right: 105px !important;
  }
  .u-font42-down-md {
    font-size: 42px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt105-lg {
    margin-top: 105px !important;
  }
  .u-mb105-lg {
    margin-bottom: 105px !important;
  }
  .u-ml105-lg {
    margin-left: 105px !important;
  }
  .u-mr105-lg {
    margin-right: 105px !important;
  }
  .u-pt105-lg {
    padding-top: 105px !important;
  }
  .u-pb105-lg {
    padding-bottom: 105px !important;
  }
  .u-pl105-lg {
    padding-left: 105px !important;
  }
  .u-pr105-lg {
    padding-right: 105px !important;
  }
  .u-font42-lg {
    font-size: 42px !important;
  }
}
.u-mt110 {
  margin-top: 110px !important;
}

.u-mb110 {
  margin-bottom: 110px !important;
}

.u-ml110 {
  margin-left: 110px !important;
}

.u-mr110 {
  margin-right: 110px !important;
}

.u-pt110 {
  padding-top: 110px !important;
}

.u-pb110 {
  padding-bottom: 110px !important;
}

.u-pl110 {
  padding-left: 110px !important;
}

.u-pr110 {
  padding-right: 110px !important;
}

.u-font44 {
  font-size: 44px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt110-md {
    margin-top: 110px !important;
  }
  .u-mb110-md {
    margin-bottom: 110px !important;
  }
  .u-ml110-md {
    margin-left: 110px !important;
  }
  .u-mr110-md {
    margin-right: 110px !important;
  }
  .u-pt110-md {
    padding-top: 110px !important;
  }
  .u-pb110-md {
    padding-bottom: 110px !important;
  }
  .u-pl110-md {
    padding-left: 110px !important;
  }
  .u-pr110-md {
    padding-right: 110px !important;
  }
  .u-font44-md {
    font-size: 44px !important;
  }
}
@media only screen {
  .u-mt110-xs {
    margin-top: 110px !important;
  }
  .u-mb110-xs {
    margin-bottom: 110px !important;
  }
  .u-ml110-xs {
    margin-left: 110px !important;
  }
  .u-mr110-xs {
    margin-right: 110px !important;
  }
  .u-pt110-xs {
    padding-top: 110px !important;
  }
  .u-pb110-xs {
    padding-bottom: 110px !important;
  }
  .u-pl110-xs {
    padding-left: 110px !important;
  }
  .u-pr110-xs {
    padding-right: 110px !important;
  }
  .u-font44-xs {
    font-size: 44px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt110-down-md {
    margin-top: 110px !important;
  }
  .u-mb110-down-md {
    margin-bottom: 110px !important;
  }
  .u-ml110-down-md {
    margin-left: 110px !important;
  }
  .u-mr110-down-md {
    margin-right: 110px !important;
  }
  .u-pt110-down-md {
    padding-top: 110px !important;
  }
  .u-pb110-down-md {
    padding-bottom: 110px !important;
  }
  .u-pl110-down-md {
    padding-left: 110px !important;
  }
  .u-pr110-down-md {
    padding-right: 110px !important;
  }
  .u-font44-down-md {
    font-size: 44px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt110-lg {
    margin-top: 110px !important;
  }
  .u-mb110-lg {
    margin-bottom: 110px !important;
  }
  .u-ml110-lg {
    margin-left: 110px !important;
  }
  .u-mr110-lg {
    margin-right: 110px !important;
  }
  .u-pt110-lg {
    padding-top: 110px !important;
  }
  .u-pb110-lg {
    padding-bottom: 110px !important;
  }
  .u-pl110-lg {
    padding-left: 110px !important;
  }
  .u-pr110-lg {
    padding-right: 110px !important;
  }
  .u-font44-lg {
    font-size: 44px !important;
  }
}
.u-mt115 {
  margin-top: 115px !important;
}

.u-mb115 {
  margin-bottom: 115px !important;
}

.u-ml115 {
  margin-left: 115px !important;
}

.u-mr115 {
  margin-right: 115px !important;
}

.u-pt115 {
  padding-top: 115px !important;
}

.u-pb115 {
  padding-bottom: 115px !important;
}

.u-pl115 {
  padding-left: 115px !important;
}

.u-pr115 {
  padding-right: 115px !important;
}

.u-font46 {
  font-size: 46px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt115-md {
    margin-top: 115px !important;
  }
  .u-mb115-md {
    margin-bottom: 115px !important;
  }
  .u-ml115-md {
    margin-left: 115px !important;
  }
  .u-mr115-md {
    margin-right: 115px !important;
  }
  .u-pt115-md {
    padding-top: 115px !important;
  }
  .u-pb115-md {
    padding-bottom: 115px !important;
  }
  .u-pl115-md {
    padding-left: 115px !important;
  }
  .u-pr115-md {
    padding-right: 115px !important;
  }
  .u-font46-md {
    font-size: 46px !important;
  }
}
@media only screen {
  .u-mt115-xs {
    margin-top: 115px !important;
  }
  .u-mb115-xs {
    margin-bottom: 115px !important;
  }
  .u-ml115-xs {
    margin-left: 115px !important;
  }
  .u-mr115-xs {
    margin-right: 115px !important;
  }
  .u-pt115-xs {
    padding-top: 115px !important;
  }
  .u-pb115-xs {
    padding-bottom: 115px !important;
  }
  .u-pl115-xs {
    padding-left: 115px !important;
  }
  .u-pr115-xs {
    padding-right: 115px !important;
  }
  .u-font46-xs {
    font-size: 46px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt115-down-md {
    margin-top: 115px !important;
  }
  .u-mb115-down-md {
    margin-bottom: 115px !important;
  }
  .u-ml115-down-md {
    margin-left: 115px !important;
  }
  .u-mr115-down-md {
    margin-right: 115px !important;
  }
  .u-pt115-down-md {
    padding-top: 115px !important;
  }
  .u-pb115-down-md {
    padding-bottom: 115px !important;
  }
  .u-pl115-down-md {
    padding-left: 115px !important;
  }
  .u-pr115-down-md {
    padding-right: 115px !important;
  }
  .u-font46-down-md {
    font-size: 46px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt115-lg {
    margin-top: 115px !important;
  }
  .u-mb115-lg {
    margin-bottom: 115px !important;
  }
  .u-ml115-lg {
    margin-left: 115px !important;
  }
  .u-mr115-lg {
    margin-right: 115px !important;
  }
  .u-pt115-lg {
    padding-top: 115px !important;
  }
  .u-pb115-lg {
    padding-bottom: 115px !important;
  }
  .u-pl115-lg {
    padding-left: 115px !important;
  }
  .u-pr115-lg {
    padding-right: 115px !important;
  }
  .u-font46-lg {
    font-size: 46px !important;
  }
}
.u-mt120 {
  margin-top: 120px !important;
}

.u-mb120 {
  margin-bottom: 120px !important;
}

.u-ml120 {
  margin-left: 120px !important;
}

.u-mr120 {
  margin-right: 120px !important;
}

.u-pt120 {
  padding-top: 120px !important;
}

.u-pb120 {
  padding-bottom: 120px !important;
}

.u-pl120 {
  padding-left: 120px !important;
}

.u-pr120 {
  padding-right: 120px !important;
}

.u-font48 {
  font-size: 48px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt120-md {
    margin-top: 120px !important;
  }
  .u-mb120-md {
    margin-bottom: 120px !important;
  }
  .u-ml120-md {
    margin-left: 120px !important;
  }
  .u-mr120-md {
    margin-right: 120px !important;
  }
  .u-pt120-md {
    padding-top: 120px !important;
  }
  .u-pb120-md {
    padding-bottom: 120px !important;
  }
  .u-pl120-md {
    padding-left: 120px !important;
  }
  .u-pr120-md {
    padding-right: 120px !important;
  }
  .u-font48-md {
    font-size: 48px !important;
  }
}
@media only screen {
  .u-mt120-xs {
    margin-top: 120px !important;
  }
  .u-mb120-xs {
    margin-bottom: 120px !important;
  }
  .u-ml120-xs {
    margin-left: 120px !important;
  }
  .u-mr120-xs {
    margin-right: 120px !important;
  }
  .u-pt120-xs {
    padding-top: 120px !important;
  }
  .u-pb120-xs {
    padding-bottom: 120px !important;
  }
  .u-pl120-xs {
    padding-left: 120px !important;
  }
  .u-pr120-xs {
    padding-right: 120px !important;
  }
  .u-font48-xs {
    font-size: 48px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt120-down-md {
    margin-top: 120px !important;
  }
  .u-mb120-down-md {
    margin-bottom: 120px !important;
  }
  .u-ml120-down-md {
    margin-left: 120px !important;
  }
  .u-mr120-down-md {
    margin-right: 120px !important;
  }
  .u-pt120-down-md {
    padding-top: 120px !important;
  }
  .u-pb120-down-md {
    padding-bottom: 120px !important;
  }
  .u-pl120-down-md {
    padding-left: 120px !important;
  }
  .u-pr120-down-md {
    padding-right: 120px !important;
  }
  .u-font48-down-md {
    font-size: 48px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt120-lg {
    margin-top: 120px !important;
  }
  .u-mb120-lg {
    margin-bottom: 120px !important;
  }
  .u-ml120-lg {
    margin-left: 120px !important;
  }
  .u-mr120-lg {
    margin-right: 120px !important;
  }
  .u-pt120-lg {
    padding-top: 120px !important;
  }
  .u-pb120-lg {
    padding-bottom: 120px !important;
  }
  .u-pl120-lg {
    padding-left: 120px !important;
  }
  .u-pr120-lg {
    padding-right: 120px !important;
  }
  .u-font48-lg {
    font-size: 48px !important;
  }
}
.u-mt125 {
  margin-top: 125px !important;
}

.u-mb125 {
  margin-bottom: 125px !important;
}

.u-ml125 {
  margin-left: 125px !important;
}

.u-mr125 {
  margin-right: 125px !important;
}

.u-pt125 {
  padding-top: 125px !important;
}

.u-pb125 {
  padding-bottom: 125px !important;
}

.u-pl125 {
  padding-left: 125px !important;
}

.u-pr125 {
  padding-right: 125px !important;
}

.u-font50 {
  font-size: 50px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt125-md {
    margin-top: 125px !important;
  }
  .u-mb125-md {
    margin-bottom: 125px !important;
  }
  .u-ml125-md {
    margin-left: 125px !important;
  }
  .u-mr125-md {
    margin-right: 125px !important;
  }
  .u-pt125-md {
    padding-top: 125px !important;
  }
  .u-pb125-md {
    padding-bottom: 125px !important;
  }
  .u-pl125-md {
    padding-left: 125px !important;
  }
  .u-pr125-md {
    padding-right: 125px !important;
  }
  .u-font50-md {
    font-size: 50px !important;
  }
}
@media only screen {
  .u-mt125-xs {
    margin-top: 125px !important;
  }
  .u-mb125-xs {
    margin-bottom: 125px !important;
  }
  .u-ml125-xs {
    margin-left: 125px !important;
  }
  .u-mr125-xs {
    margin-right: 125px !important;
  }
  .u-pt125-xs {
    padding-top: 125px !important;
  }
  .u-pb125-xs {
    padding-bottom: 125px !important;
  }
  .u-pl125-xs {
    padding-left: 125px !important;
  }
  .u-pr125-xs {
    padding-right: 125px !important;
  }
  .u-font50-xs {
    font-size: 50px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt125-down-md {
    margin-top: 125px !important;
  }
  .u-mb125-down-md {
    margin-bottom: 125px !important;
  }
  .u-ml125-down-md {
    margin-left: 125px !important;
  }
  .u-mr125-down-md {
    margin-right: 125px !important;
  }
  .u-pt125-down-md {
    padding-top: 125px !important;
  }
  .u-pb125-down-md {
    padding-bottom: 125px !important;
  }
  .u-pl125-down-md {
    padding-left: 125px !important;
  }
  .u-pr125-down-md {
    padding-right: 125px !important;
  }
  .u-font50-down-md {
    font-size: 50px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt125-lg {
    margin-top: 125px !important;
  }
  .u-mb125-lg {
    margin-bottom: 125px !important;
  }
  .u-ml125-lg {
    margin-left: 125px !important;
  }
  .u-mr125-lg {
    margin-right: 125px !important;
  }
  .u-pt125-lg {
    padding-top: 125px !important;
  }
  .u-pb125-lg {
    padding-bottom: 125px !important;
  }
  .u-pl125-lg {
    padding-left: 125px !important;
  }
  .u-pr125-lg {
    padding-right: 125px !important;
  }
  .u-font50-lg {
    font-size: 50px !important;
  }
}
.u-mt130 {
  margin-top: 130px !important;
}

.u-mb130 {
  margin-bottom: 130px !important;
}

.u-ml130 {
  margin-left: 130px !important;
}

.u-mr130 {
  margin-right: 130px !important;
}

.u-pt130 {
  padding-top: 130px !important;
}

.u-pb130 {
  padding-bottom: 130px !important;
}

.u-pl130 {
  padding-left: 130px !important;
}

.u-pr130 {
  padding-right: 130px !important;
}

.u-font52 {
  font-size: 52px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt130-md {
    margin-top: 130px !important;
  }
  .u-mb130-md {
    margin-bottom: 130px !important;
  }
  .u-ml130-md {
    margin-left: 130px !important;
  }
  .u-mr130-md {
    margin-right: 130px !important;
  }
  .u-pt130-md {
    padding-top: 130px !important;
  }
  .u-pb130-md {
    padding-bottom: 130px !important;
  }
  .u-pl130-md {
    padding-left: 130px !important;
  }
  .u-pr130-md {
    padding-right: 130px !important;
  }
  .u-font52-md {
    font-size: 52px !important;
  }
}
@media only screen {
  .u-mt130-xs {
    margin-top: 130px !important;
  }
  .u-mb130-xs {
    margin-bottom: 130px !important;
  }
  .u-ml130-xs {
    margin-left: 130px !important;
  }
  .u-mr130-xs {
    margin-right: 130px !important;
  }
  .u-pt130-xs {
    padding-top: 130px !important;
  }
  .u-pb130-xs {
    padding-bottom: 130px !important;
  }
  .u-pl130-xs {
    padding-left: 130px !important;
  }
  .u-pr130-xs {
    padding-right: 130px !important;
  }
  .u-font52-xs {
    font-size: 52px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt130-down-md {
    margin-top: 130px !important;
  }
  .u-mb130-down-md {
    margin-bottom: 130px !important;
  }
  .u-ml130-down-md {
    margin-left: 130px !important;
  }
  .u-mr130-down-md {
    margin-right: 130px !important;
  }
  .u-pt130-down-md {
    padding-top: 130px !important;
  }
  .u-pb130-down-md {
    padding-bottom: 130px !important;
  }
  .u-pl130-down-md {
    padding-left: 130px !important;
  }
  .u-pr130-down-md {
    padding-right: 130px !important;
  }
  .u-font52-down-md {
    font-size: 52px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt130-lg {
    margin-top: 130px !important;
  }
  .u-mb130-lg {
    margin-bottom: 130px !important;
  }
  .u-ml130-lg {
    margin-left: 130px !important;
  }
  .u-mr130-lg {
    margin-right: 130px !important;
  }
  .u-pt130-lg {
    padding-top: 130px !important;
  }
  .u-pb130-lg {
    padding-bottom: 130px !important;
  }
  .u-pl130-lg {
    padding-left: 130px !important;
  }
  .u-pr130-lg {
    padding-right: 130px !important;
  }
  .u-font52-lg {
    font-size: 52px !important;
  }
}
.u-mt135 {
  margin-top: 135px !important;
}

.u-mb135 {
  margin-bottom: 135px !important;
}

.u-ml135 {
  margin-left: 135px !important;
}

.u-mr135 {
  margin-right: 135px !important;
}

.u-pt135 {
  padding-top: 135px !important;
}

.u-pb135 {
  padding-bottom: 135px !important;
}

.u-pl135 {
  padding-left: 135px !important;
}

.u-pr135 {
  padding-right: 135px !important;
}

.u-font54 {
  font-size: 54px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt135-md {
    margin-top: 135px !important;
  }
  .u-mb135-md {
    margin-bottom: 135px !important;
  }
  .u-ml135-md {
    margin-left: 135px !important;
  }
  .u-mr135-md {
    margin-right: 135px !important;
  }
  .u-pt135-md {
    padding-top: 135px !important;
  }
  .u-pb135-md {
    padding-bottom: 135px !important;
  }
  .u-pl135-md {
    padding-left: 135px !important;
  }
  .u-pr135-md {
    padding-right: 135px !important;
  }
  .u-font54-md {
    font-size: 54px !important;
  }
}
@media only screen {
  .u-mt135-xs {
    margin-top: 135px !important;
  }
  .u-mb135-xs {
    margin-bottom: 135px !important;
  }
  .u-ml135-xs {
    margin-left: 135px !important;
  }
  .u-mr135-xs {
    margin-right: 135px !important;
  }
  .u-pt135-xs {
    padding-top: 135px !important;
  }
  .u-pb135-xs {
    padding-bottom: 135px !important;
  }
  .u-pl135-xs {
    padding-left: 135px !important;
  }
  .u-pr135-xs {
    padding-right: 135px !important;
  }
  .u-font54-xs {
    font-size: 54px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt135-down-md {
    margin-top: 135px !important;
  }
  .u-mb135-down-md {
    margin-bottom: 135px !important;
  }
  .u-ml135-down-md {
    margin-left: 135px !important;
  }
  .u-mr135-down-md {
    margin-right: 135px !important;
  }
  .u-pt135-down-md {
    padding-top: 135px !important;
  }
  .u-pb135-down-md {
    padding-bottom: 135px !important;
  }
  .u-pl135-down-md {
    padding-left: 135px !important;
  }
  .u-pr135-down-md {
    padding-right: 135px !important;
  }
  .u-font54-down-md {
    font-size: 54px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt135-lg {
    margin-top: 135px !important;
  }
  .u-mb135-lg {
    margin-bottom: 135px !important;
  }
  .u-ml135-lg {
    margin-left: 135px !important;
  }
  .u-mr135-lg {
    margin-right: 135px !important;
  }
  .u-pt135-lg {
    padding-top: 135px !important;
  }
  .u-pb135-lg {
    padding-bottom: 135px !important;
  }
  .u-pl135-lg {
    padding-left: 135px !important;
  }
  .u-pr135-lg {
    padding-right: 135px !important;
  }
  .u-font54-lg {
    font-size: 54px !important;
  }
}
.u-mt140 {
  margin-top: 140px !important;
}

.u-mb140 {
  margin-bottom: 140px !important;
}

.u-ml140 {
  margin-left: 140px !important;
}

.u-mr140 {
  margin-right: 140px !important;
}

.u-pt140 {
  padding-top: 140px !important;
}

.u-pb140 {
  padding-bottom: 140px !important;
}

.u-pl140 {
  padding-left: 140px !important;
}

.u-pr140 {
  padding-right: 140px !important;
}

.u-font56 {
  font-size: 56px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt140-md {
    margin-top: 140px !important;
  }
  .u-mb140-md {
    margin-bottom: 140px !important;
  }
  .u-ml140-md {
    margin-left: 140px !important;
  }
  .u-mr140-md {
    margin-right: 140px !important;
  }
  .u-pt140-md {
    padding-top: 140px !important;
  }
  .u-pb140-md {
    padding-bottom: 140px !important;
  }
  .u-pl140-md {
    padding-left: 140px !important;
  }
  .u-pr140-md {
    padding-right: 140px !important;
  }
  .u-font56-md {
    font-size: 56px !important;
  }
}
@media only screen {
  .u-mt140-xs {
    margin-top: 140px !important;
  }
  .u-mb140-xs {
    margin-bottom: 140px !important;
  }
  .u-ml140-xs {
    margin-left: 140px !important;
  }
  .u-mr140-xs {
    margin-right: 140px !important;
  }
  .u-pt140-xs {
    padding-top: 140px !important;
  }
  .u-pb140-xs {
    padding-bottom: 140px !important;
  }
  .u-pl140-xs {
    padding-left: 140px !important;
  }
  .u-pr140-xs {
    padding-right: 140px !important;
  }
  .u-font56-xs {
    font-size: 56px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt140-down-md {
    margin-top: 140px !important;
  }
  .u-mb140-down-md {
    margin-bottom: 140px !important;
  }
  .u-ml140-down-md {
    margin-left: 140px !important;
  }
  .u-mr140-down-md {
    margin-right: 140px !important;
  }
  .u-pt140-down-md {
    padding-top: 140px !important;
  }
  .u-pb140-down-md {
    padding-bottom: 140px !important;
  }
  .u-pl140-down-md {
    padding-left: 140px !important;
  }
  .u-pr140-down-md {
    padding-right: 140px !important;
  }
  .u-font56-down-md {
    font-size: 56px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt140-lg {
    margin-top: 140px !important;
  }
  .u-mb140-lg {
    margin-bottom: 140px !important;
  }
  .u-ml140-lg {
    margin-left: 140px !important;
  }
  .u-mr140-lg {
    margin-right: 140px !important;
  }
  .u-pt140-lg {
    padding-top: 140px !important;
  }
  .u-pb140-lg {
    padding-bottom: 140px !important;
  }
  .u-pl140-lg {
    padding-left: 140px !important;
  }
  .u-pr140-lg {
    padding-right: 140px !important;
  }
  .u-font56-lg {
    font-size: 56px !important;
  }
}
.u-mt145 {
  margin-top: 145px !important;
}

.u-mb145 {
  margin-bottom: 145px !important;
}

.u-ml145 {
  margin-left: 145px !important;
}

.u-mr145 {
  margin-right: 145px !important;
}

.u-pt145 {
  padding-top: 145px !important;
}

.u-pb145 {
  padding-bottom: 145px !important;
}

.u-pl145 {
  padding-left: 145px !important;
}

.u-pr145 {
  padding-right: 145px !important;
}

.u-font58 {
  font-size: 58px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt145-md {
    margin-top: 145px !important;
  }
  .u-mb145-md {
    margin-bottom: 145px !important;
  }
  .u-ml145-md {
    margin-left: 145px !important;
  }
  .u-mr145-md {
    margin-right: 145px !important;
  }
  .u-pt145-md {
    padding-top: 145px !important;
  }
  .u-pb145-md {
    padding-bottom: 145px !important;
  }
  .u-pl145-md {
    padding-left: 145px !important;
  }
  .u-pr145-md {
    padding-right: 145px !important;
  }
  .u-font58-md {
    font-size: 58px !important;
  }
}
@media only screen {
  .u-mt145-xs {
    margin-top: 145px !important;
  }
  .u-mb145-xs {
    margin-bottom: 145px !important;
  }
  .u-ml145-xs {
    margin-left: 145px !important;
  }
  .u-mr145-xs {
    margin-right: 145px !important;
  }
  .u-pt145-xs {
    padding-top: 145px !important;
  }
  .u-pb145-xs {
    padding-bottom: 145px !important;
  }
  .u-pl145-xs {
    padding-left: 145px !important;
  }
  .u-pr145-xs {
    padding-right: 145px !important;
  }
  .u-font58-xs {
    font-size: 58px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt145-down-md {
    margin-top: 145px !important;
  }
  .u-mb145-down-md {
    margin-bottom: 145px !important;
  }
  .u-ml145-down-md {
    margin-left: 145px !important;
  }
  .u-mr145-down-md {
    margin-right: 145px !important;
  }
  .u-pt145-down-md {
    padding-top: 145px !important;
  }
  .u-pb145-down-md {
    padding-bottom: 145px !important;
  }
  .u-pl145-down-md {
    padding-left: 145px !important;
  }
  .u-pr145-down-md {
    padding-right: 145px !important;
  }
  .u-font58-down-md {
    font-size: 58px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt145-lg {
    margin-top: 145px !important;
  }
  .u-mb145-lg {
    margin-bottom: 145px !important;
  }
  .u-ml145-lg {
    margin-left: 145px !important;
  }
  .u-mr145-lg {
    margin-right: 145px !important;
  }
  .u-pt145-lg {
    padding-top: 145px !important;
  }
  .u-pb145-lg {
    padding-bottom: 145px !important;
  }
  .u-pl145-lg {
    padding-left: 145px !important;
  }
  .u-pr145-lg {
    padding-right: 145px !important;
  }
  .u-font58-lg {
    font-size: 58px !important;
  }
}
.u-mt150 {
  margin-top: 150px !important;
}

.u-mb150 {
  margin-bottom: 150px !important;
}

.u-ml150 {
  margin-left: 150px !important;
}

.u-mr150 {
  margin-right: 150px !important;
}

.u-pt150 {
  padding-top: 150px !important;
}

.u-pb150 {
  padding-bottom: 150px !important;
}

.u-pl150 {
  padding-left: 150px !important;
}

.u-pr150 {
  padding-right: 150px !important;
}

.u-font60 {
  font-size: 60px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt150-md {
    margin-top: 150px !important;
  }
  .u-mb150-md {
    margin-bottom: 150px !important;
  }
  .u-ml150-md {
    margin-left: 150px !important;
  }
  .u-mr150-md {
    margin-right: 150px !important;
  }
  .u-pt150-md {
    padding-top: 150px !important;
  }
  .u-pb150-md {
    padding-bottom: 150px !important;
  }
  .u-pl150-md {
    padding-left: 150px !important;
  }
  .u-pr150-md {
    padding-right: 150px !important;
  }
  .u-font60-md {
    font-size: 60px !important;
  }
}
@media only screen {
  .u-mt150-xs {
    margin-top: 150px !important;
  }
  .u-mb150-xs {
    margin-bottom: 150px !important;
  }
  .u-ml150-xs {
    margin-left: 150px !important;
  }
  .u-mr150-xs {
    margin-right: 150px !important;
  }
  .u-pt150-xs {
    padding-top: 150px !important;
  }
  .u-pb150-xs {
    padding-bottom: 150px !important;
  }
  .u-pl150-xs {
    padding-left: 150px !important;
  }
  .u-pr150-xs {
    padding-right: 150px !important;
  }
  .u-font60-xs {
    font-size: 60px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt150-down-md {
    margin-top: 150px !important;
  }
  .u-mb150-down-md {
    margin-bottom: 150px !important;
  }
  .u-ml150-down-md {
    margin-left: 150px !important;
  }
  .u-mr150-down-md {
    margin-right: 150px !important;
  }
  .u-pt150-down-md {
    padding-top: 150px !important;
  }
  .u-pb150-down-md {
    padding-bottom: 150px !important;
  }
  .u-pl150-down-md {
    padding-left: 150px !important;
  }
  .u-pr150-down-md {
    padding-right: 150px !important;
  }
  .u-font60-down-md {
    font-size: 60px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt150-lg {
    margin-top: 150px !important;
  }
  .u-mb150-lg {
    margin-bottom: 150px !important;
  }
  .u-ml150-lg {
    margin-left: 150px !important;
  }
  .u-mr150-lg {
    margin-right: 150px !important;
  }
  .u-pt150-lg {
    padding-top: 150px !important;
  }
  .u-pb150-lg {
    padding-bottom: 150px !important;
  }
  .u-pl150-lg {
    padding-left: 150px !important;
  }
  .u-pr150-lg {
    padding-right: 150px !important;
  }
  .u-font60-lg {
    font-size: 60px !important;
  }
}
.u-mt155 {
  margin-top: 155px !important;
}

.u-mb155 {
  margin-bottom: 155px !important;
}

.u-ml155 {
  margin-left: 155px !important;
}

.u-mr155 {
  margin-right: 155px !important;
}

.u-pt155 {
  padding-top: 155px !important;
}

.u-pb155 {
  padding-bottom: 155px !important;
}

.u-pl155 {
  padding-left: 155px !important;
}

.u-pr155 {
  padding-right: 155px !important;
}

.u-font62 {
  font-size: 62px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt155-md {
    margin-top: 155px !important;
  }
  .u-mb155-md {
    margin-bottom: 155px !important;
  }
  .u-ml155-md {
    margin-left: 155px !important;
  }
  .u-mr155-md {
    margin-right: 155px !important;
  }
  .u-pt155-md {
    padding-top: 155px !important;
  }
  .u-pb155-md {
    padding-bottom: 155px !important;
  }
  .u-pl155-md {
    padding-left: 155px !important;
  }
  .u-pr155-md {
    padding-right: 155px !important;
  }
  .u-font62-md {
    font-size: 62px !important;
  }
}
@media only screen {
  .u-mt155-xs {
    margin-top: 155px !important;
  }
  .u-mb155-xs {
    margin-bottom: 155px !important;
  }
  .u-ml155-xs {
    margin-left: 155px !important;
  }
  .u-mr155-xs {
    margin-right: 155px !important;
  }
  .u-pt155-xs {
    padding-top: 155px !important;
  }
  .u-pb155-xs {
    padding-bottom: 155px !important;
  }
  .u-pl155-xs {
    padding-left: 155px !important;
  }
  .u-pr155-xs {
    padding-right: 155px !important;
  }
  .u-font62-xs {
    font-size: 62px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt155-down-md {
    margin-top: 155px !important;
  }
  .u-mb155-down-md {
    margin-bottom: 155px !important;
  }
  .u-ml155-down-md {
    margin-left: 155px !important;
  }
  .u-mr155-down-md {
    margin-right: 155px !important;
  }
  .u-pt155-down-md {
    padding-top: 155px !important;
  }
  .u-pb155-down-md {
    padding-bottom: 155px !important;
  }
  .u-pl155-down-md {
    padding-left: 155px !important;
  }
  .u-pr155-down-md {
    padding-right: 155px !important;
  }
  .u-font62-down-md {
    font-size: 62px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt155-lg {
    margin-top: 155px !important;
  }
  .u-mb155-lg {
    margin-bottom: 155px !important;
  }
  .u-ml155-lg {
    margin-left: 155px !important;
  }
  .u-mr155-lg {
    margin-right: 155px !important;
  }
  .u-pt155-lg {
    padding-top: 155px !important;
  }
  .u-pb155-lg {
    padding-bottom: 155px !important;
  }
  .u-pl155-lg {
    padding-left: 155px !important;
  }
  .u-pr155-lg {
    padding-right: 155px !important;
  }
  .u-font62-lg {
    font-size: 62px !important;
  }
}
.u-mt160 {
  margin-top: 160px !important;
}

.u-mb160 {
  margin-bottom: 160px !important;
}

.u-ml160 {
  margin-left: 160px !important;
}

.u-mr160 {
  margin-right: 160px !important;
}

.u-pt160 {
  padding-top: 160px !important;
}

.u-pb160 {
  padding-bottom: 160px !important;
}

.u-pl160 {
  padding-left: 160px !important;
}

.u-pr160 {
  padding-right: 160px !important;
}

.u-font64 {
  font-size: 64px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt160-md {
    margin-top: 160px !important;
  }
  .u-mb160-md {
    margin-bottom: 160px !important;
  }
  .u-ml160-md {
    margin-left: 160px !important;
  }
  .u-mr160-md {
    margin-right: 160px !important;
  }
  .u-pt160-md {
    padding-top: 160px !important;
  }
  .u-pb160-md {
    padding-bottom: 160px !important;
  }
  .u-pl160-md {
    padding-left: 160px !important;
  }
  .u-pr160-md {
    padding-right: 160px !important;
  }
  .u-font64-md {
    font-size: 64px !important;
  }
}
@media only screen {
  .u-mt160-xs {
    margin-top: 160px !important;
  }
  .u-mb160-xs {
    margin-bottom: 160px !important;
  }
  .u-ml160-xs {
    margin-left: 160px !important;
  }
  .u-mr160-xs {
    margin-right: 160px !important;
  }
  .u-pt160-xs {
    padding-top: 160px !important;
  }
  .u-pb160-xs {
    padding-bottom: 160px !important;
  }
  .u-pl160-xs {
    padding-left: 160px !important;
  }
  .u-pr160-xs {
    padding-right: 160px !important;
  }
  .u-font64-xs {
    font-size: 64px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt160-down-md {
    margin-top: 160px !important;
  }
  .u-mb160-down-md {
    margin-bottom: 160px !important;
  }
  .u-ml160-down-md {
    margin-left: 160px !important;
  }
  .u-mr160-down-md {
    margin-right: 160px !important;
  }
  .u-pt160-down-md {
    padding-top: 160px !important;
  }
  .u-pb160-down-md {
    padding-bottom: 160px !important;
  }
  .u-pl160-down-md {
    padding-left: 160px !important;
  }
  .u-pr160-down-md {
    padding-right: 160px !important;
  }
  .u-font64-down-md {
    font-size: 64px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt160-lg {
    margin-top: 160px !important;
  }
  .u-mb160-lg {
    margin-bottom: 160px !important;
  }
  .u-ml160-lg {
    margin-left: 160px !important;
  }
  .u-mr160-lg {
    margin-right: 160px !important;
  }
  .u-pt160-lg {
    padding-top: 160px !important;
  }
  .u-pb160-lg {
    padding-bottom: 160px !important;
  }
  .u-pl160-lg {
    padding-left: 160px !important;
  }
  .u-pr160-lg {
    padding-right: 160px !important;
  }
  .u-font64-lg {
    font-size: 64px !important;
  }
}
.u-mt165 {
  margin-top: 165px !important;
}

.u-mb165 {
  margin-bottom: 165px !important;
}

.u-ml165 {
  margin-left: 165px !important;
}

.u-mr165 {
  margin-right: 165px !important;
}

.u-pt165 {
  padding-top: 165px !important;
}

.u-pb165 {
  padding-bottom: 165px !important;
}

.u-pl165 {
  padding-left: 165px !important;
}

.u-pr165 {
  padding-right: 165px !important;
}

.u-font66 {
  font-size: 66px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt165-md {
    margin-top: 165px !important;
  }
  .u-mb165-md {
    margin-bottom: 165px !important;
  }
  .u-ml165-md {
    margin-left: 165px !important;
  }
  .u-mr165-md {
    margin-right: 165px !important;
  }
  .u-pt165-md {
    padding-top: 165px !important;
  }
  .u-pb165-md {
    padding-bottom: 165px !important;
  }
  .u-pl165-md {
    padding-left: 165px !important;
  }
  .u-pr165-md {
    padding-right: 165px !important;
  }
  .u-font66-md {
    font-size: 66px !important;
  }
}
@media only screen {
  .u-mt165-xs {
    margin-top: 165px !important;
  }
  .u-mb165-xs {
    margin-bottom: 165px !important;
  }
  .u-ml165-xs {
    margin-left: 165px !important;
  }
  .u-mr165-xs {
    margin-right: 165px !important;
  }
  .u-pt165-xs {
    padding-top: 165px !important;
  }
  .u-pb165-xs {
    padding-bottom: 165px !important;
  }
  .u-pl165-xs {
    padding-left: 165px !important;
  }
  .u-pr165-xs {
    padding-right: 165px !important;
  }
  .u-font66-xs {
    font-size: 66px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt165-down-md {
    margin-top: 165px !important;
  }
  .u-mb165-down-md {
    margin-bottom: 165px !important;
  }
  .u-ml165-down-md {
    margin-left: 165px !important;
  }
  .u-mr165-down-md {
    margin-right: 165px !important;
  }
  .u-pt165-down-md {
    padding-top: 165px !important;
  }
  .u-pb165-down-md {
    padding-bottom: 165px !important;
  }
  .u-pl165-down-md {
    padding-left: 165px !important;
  }
  .u-pr165-down-md {
    padding-right: 165px !important;
  }
  .u-font66-down-md {
    font-size: 66px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt165-lg {
    margin-top: 165px !important;
  }
  .u-mb165-lg {
    margin-bottom: 165px !important;
  }
  .u-ml165-lg {
    margin-left: 165px !important;
  }
  .u-mr165-lg {
    margin-right: 165px !important;
  }
  .u-pt165-lg {
    padding-top: 165px !important;
  }
  .u-pb165-lg {
    padding-bottom: 165px !important;
  }
  .u-pl165-lg {
    padding-left: 165px !important;
  }
  .u-pr165-lg {
    padding-right: 165px !important;
  }
  .u-font66-lg {
    font-size: 66px !important;
  }
}
.u-mt170 {
  margin-top: 170px !important;
}

.u-mb170 {
  margin-bottom: 170px !important;
}

.u-ml170 {
  margin-left: 170px !important;
}

.u-mr170 {
  margin-right: 170px !important;
}

.u-pt170 {
  padding-top: 170px !important;
}

.u-pb170 {
  padding-bottom: 170px !important;
}

.u-pl170 {
  padding-left: 170px !important;
}

.u-pr170 {
  padding-right: 170px !important;
}

.u-font68 {
  font-size: 68px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt170-md {
    margin-top: 170px !important;
  }
  .u-mb170-md {
    margin-bottom: 170px !important;
  }
  .u-ml170-md {
    margin-left: 170px !important;
  }
  .u-mr170-md {
    margin-right: 170px !important;
  }
  .u-pt170-md {
    padding-top: 170px !important;
  }
  .u-pb170-md {
    padding-bottom: 170px !important;
  }
  .u-pl170-md {
    padding-left: 170px !important;
  }
  .u-pr170-md {
    padding-right: 170px !important;
  }
  .u-font68-md {
    font-size: 68px !important;
  }
}
@media only screen {
  .u-mt170-xs {
    margin-top: 170px !important;
  }
  .u-mb170-xs {
    margin-bottom: 170px !important;
  }
  .u-ml170-xs {
    margin-left: 170px !important;
  }
  .u-mr170-xs {
    margin-right: 170px !important;
  }
  .u-pt170-xs {
    padding-top: 170px !important;
  }
  .u-pb170-xs {
    padding-bottom: 170px !important;
  }
  .u-pl170-xs {
    padding-left: 170px !important;
  }
  .u-pr170-xs {
    padding-right: 170px !important;
  }
  .u-font68-xs {
    font-size: 68px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt170-down-md {
    margin-top: 170px !important;
  }
  .u-mb170-down-md {
    margin-bottom: 170px !important;
  }
  .u-ml170-down-md {
    margin-left: 170px !important;
  }
  .u-mr170-down-md {
    margin-right: 170px !important;
  }
  .u-pt170-down-md {
    padding-top: 170px !important;
  }
  .u-pb170-down-md {
    padding-bottom: 170px !important;
  }
  .u-pl170-down-md {
    padding-left: 170px !important;
  }
  .u-pr170-down-md {
    padding-right: 170px !important;
  }
  .u-font68-down-md {
    font-size: 68px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt170-lg {
    margin-top: 170px !important;
  }
  .u-mb170-lg {
    margin-bottom: 170px !important;
  }
  .u-ml170-lg {
    margin-left: 170px !important;
  }
  .u-mr170-lg {
    margin-right: 170px !important;
  }
  .u-pt170-lg {
    padding-top: 170px !important;
  }
  .u-pb170-lg {
    padding-bottom: 170px !important;
  }
  .u-pl170-lg {
    padding-left: 170px !important;
  }
  .u-pr170-lg {
    padding-right: 170px !important;
  }
  .u-font68-lg {
    font-size: 68px !important;
  }
}
.u-mt175 {
  margin-top: 175px !important;
}

.u-mb175 {
  margin-bottom: 175px !important;
}

.u-ml175 {
  margin-left: 175px !important;
}

.u-mr175 {
  margin-right: 175px !important;
}

.u-pt175 {
  padding-top: 175px !important;
}

.u-pb175 {
  padding-bottom: 175px !important;
}

.u-pl175 {
  padding-left: 175px !important;
}

.u-pr175 {
  padding-right: 175px !important;
}

.u-font70 {
  font-size: 70px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt175-md {
    margin-top: 175px !important;
  }
  .u-mb175-md {
    margin-bottom: 175px !important;
  }
  .u-ml175-md {
    margin-left: 175px !important;
  }
  .u-mr175-md {
    margin-right: 175px !important;
  }
  .u-pt175-md {
    padding-top: 175px !important;
  }
  .u-pb175-md {
    padding-bottom: 175px !important;
  }
  .u-pl175-md {
    padding-left: 175px !important;
  }
  .u-pr175-md {
    padding-right: 175px !important;
  }
  .u-font70-md {
    font-size: 70px !important;
  }
}
@media only screen {
  .u-mt175-xs {
    margin-top: 175px !important;
  }
  .u-mb175-xs {
    margin-bottom: 175px !important;
  }
  .u-ml175-xs {
    margin-left: 175px !important;
  }
  .u-mr175-xs {
    margin-right: 175px !important;
  }
  .u-pt175-xs {
    padding-top: 175px !important;
  }
  .u-pb175-xs {
    padding-bottom: 175px !important;
  }
  .u-pl175-xs {
    padding-left: 175px !important;
  }
  .u-pr175-xs {
    padding-right: 175px !important;
  }
  .u-font70-xs {
    font-size: 70px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt175-down-md {
    margin-top: 175px !important;
  }
  .u-mb175-down-md {
    margin-bottom: 175px !important;
  }
  .u-ml175-down-md {
    margin-left: 175px !important;
  }
  .u-mr175-down-md {
    margin-right: 175px !important;
  }
  .u-pt175-down-md {
    padding-top: 175px !important;
  }
  .u-pb175-down-md {
    padding-bottom: 175px !important;
  }
  .u-pl175-down-md {
    padding-left: 175px !important;
  }
  .u-pr175-down-md {
    padding-right: 175px !important;
  }
  .u-font70-down-md {
    font-size: 70px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt175-lg {
    margin-top: 175px !important;
  }
  .u-mb175-lg {
    margin-bottom: 175px !important;
  }
  .u-ml175-lg {
    margin-left: 175px !important;
  }
  .u-mr175-lg {
    margin-right: 175px !important;
  }
  .u-pt175-lg {
    padding-top: 175px !important;
  }
  .u-pb175-lg {
    padding-bottom: 175px !important;
  }
  .u-pl175-lg {
    padding-left: 175px !important;
  }
  .u-pr175-lg {
    padding-right: 175px !important;
  }
  .u-font70-lg {
    font-size: 70px !important;
  }
}
.u-mt180 {
  margin-top: 180px !important;
}

.u-mb180 {
  margin-bottom: 180px !important;
}

.u-ml180 {
  margin-left: 180px !important;
}

.u-mr180 {
  margin-right: 180px !important;
}

.u-pt180 {
  padding-top: 180px !important;
}

.u-pb180 {
  padding-bottom: 180px !important;
}

.u-pl180 {
  padding-left: 180px !important;
}

.u-pr180 {
  padding-right: 180px !important;
}

.u-font72 {
  font-size: 72px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt180-md {
    margin-top: 180px !important;
  }
  .u-mb180-md {
    margin-bottom: 180px !important;
  }
  .u-ml180-md {
    margin-left: 180px !important;
  }
  .u-mr180-md {
    margin-right: 180px !important;
  }
  .u-pt180-md {
    padding-top: 180px !important;
  }
  .u-pb180-md {
    padding-bottom: 180px !important;
  }
  .u-pl180-md {
    padding-left: 180px !important;
  }
  .u-pr180-md {
    padding-right: 180px !important;
  }
  .u-font72-md {
    font-size: 72px !important;
  }
}
@media only screen {
  .u-mt180-xs {
    margin-top: 180px !important;
  }
  .u-mb180-xs {
    margin-bottom: 180px !important;
  }
  .u-ml180-xs {
    margin-left: 180px !important;
  }
  .u-mr180-xs {
    margin-right: 180px !important;
  }
  .u-pt180-xs {
    padding-top: 180px !important;
  }
  .u-pb180-xs {
    padding-bottom: 180px !important;
  }
  .u-pl180-xs {
    padding-left: 180px !important;
  }
  .u-pr180-xs {
    padding-right: 180px !important;
  }
  .u-font72-xs {
    font-size: 72px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt180-down-md {
    margin-top: 180px !important;
  }
  .u-mb180-down-md {
    margin-bottom: 180px !important;
  }
  .u-ml180-down-md {
    margin-left: 180px !important;
  }
  .u-mr180-down-md {
    margin-right: 180px !important;
  }
  .u-pt180-down-md {
    padding-top: 180px !important;
  }
  .u-pb180-down-md {
    padding-bottom: 180px !important;
  }
  .u-pl180-down-md {
    padding-left: 180px !important;
  }
  .u-pr180-down-md {
    padding-right: 180px !important;
  }
  .u-font72-down-md {
    font-size: 72px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt180-lg {
    margin-top: 180px !important;
  }
  .u-mb180-lg {
    margin-bottom: 180px !important;
  }
  .u-ml180-lg {
    margin-left: 180px !important;
  }
  .u-mr180-lg {
    margin-right: 180px !important;
  }
  .u-pt180-lg {
    padding-top: 180px !important;
  }
  .u-pb180-lg {
    padding-bottom: 180px !important;
  }
  .u-pl180-lg {
    padding-left: 180px !important;
  }
  .u-pr180-lg {
    padding-right: 180px !important;
  }
  .u-font72-lg {
    font-size: 72px !important;
  }
}
.u-mt185 {
  margin-top: 185px !important;
}

.u-mb185 {
  margin-bottom: 185px !important;
}

.u-ml185 {
  margin-left: 185px !important;
}

.u-mr185 {
  margin-right: 185px !important;
}

.u-pt185 {
  padding-top: 185px !important;
}

.u-pb185 {
  padding-bottom: 185px !important;
}

.u-pl185 {
  padding-left: 185px !important;
}

.u-pr185 {
  padding-right: 185px !important;
}

.u-font74 {
  font-size: 74px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt185-md {
    margin-top: 185px !important;
  }
  .u-mb185-md {
    margin-bottom: 185px !important;
  }
  .u-ml185-md {
    margin-left: 185px !important;
  }
  .u-mr185-md {
    margin-right: 185px !important;
  }
  .u-pt185-md {
    padding-top: 185px !important;
  }
  .u-pb185-md {
    padding-bottom: 185px !important;
  }
  .u-pl185-md {
    padding-left: 185px !important;
  }
  .u-pr185-md {
    padding-right: 185px !important;
  }
  .u-font74-md {
    font-size: 74px !important;
  }
}
@media only screen {
  .u-mt185-xs {
    margin-top: 185px !important;
  }
  .u-mb185-xs {
    margin-bottom: 185px !important;
  }
  .u-ml185-xs {
    margin-left: 185px !important;
  }
  .u-mr185-xs {
    margin-right: 185px !important;
  }
  .u-pt185-xs {
    padding-top: 185px !important;
  }
  .u-pb185-xs {
    padding-bottom: 185px !important;
  }
  .u-pl185-xs {
    padding-left: 185px !important;
  }
  .u-pr185-xs {
    padding-right: 185px !important;
  }
  .u-font74-xs {
    font-size: 74px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt185-down-md {
    margin-top: 185px !important;
  }
  .u-mb185-down-md {
    margin-bottom: 185px !important;
  }
  .u-ml185-down-md {
    margin-left: 185px !important;
  }
  .u-mr185-down-md {
    margin-right: 185px !important;
  }
  .u-pt185-down-md {
    padding-top: 185px !important;
  }
  .u-pb185-down-md {
    padding-bottom: 185px !important;
  }
  .u-pl185-down-md {
    padding-left: 185px !important;
  }
  .u-pr185-down-md {
    padding-right: 185px !important;
  }
  .u-font74-down-md {
    font-size: 74px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt185-lg {
    margin-top: 185px !important;
  }
  .u-mb185-lg {
    margin-bottom: 185px !important;
  }
  .u-ml185-lg {
    margin-left: 185px !important;
  }
  .u-mr185-lg {
    margin-right: 185px !important;
  }
  .u-pt185-lg {
    padding-top: 185px !important;
  }
  .u-pb185-lg {
    padding-bottom: 185px !important;
  }
  .u-pl185-lg {
    padding-left: 185px !important;
  }
  .u-pr185-lg {
    padding-right: 185px !important;
  }
  .u-font74-lg {
    font-size: 74px !important;
  }
}
.u-mt190 {
  margin-top: 190px !important;
}

.u-mb190 {
  margin-bottom: 190px !important;
}

.u-ml190 {
  margin-left: 190px !important;
}

.u-mr190 {
  margin-right: 190px !important;
}

.u-pt190 {
  padding-top: 190px !important;
}

.u-pb190 {
  padding-bottom: 190px !important;
}

.u-pl190 {
  padding-left: 190px !important;
}

.u-pr190 {
  padding-right: 190px !important;
}

.u-font76 {
  font-size: 76px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt190-md {
    margin-top: 190px !important;
  }
  .u-mb190-md {
    margin-bottom: 190px !important;
  }
  .u-ml190-md {
    margin-left: 190px !important;
  }
  .u-mr190-md {
    margin-right: 190px !important;
  }
  .u-pt190-md {
    padding-top: 190px !important;
  }
  .u-pb190-md {
    padding-bottom: 190px !important;
  }
  .u-pl190-md {
    padding-left: 190px !important;
  }
  .u-pr190-md {
    padding-right: 190px !important;
  }
  .u-font76-md {
    font-size: 76px !important;
  }
}
@media only screen {
  .u-mt190-xs {
    margin-top: 190px !important;
  }
  .u-mb190-xs {
    margin-bottom: 190px !important;
  }
  .u-ml190-xs {
    margin-left: 190px !important;
  }
  .u-mr190-xs {
    margin-right: 190px !important;
  }
  .u-pt190-xs {
    padding-top: 190px !important;
  }
  .u-pb190-xs {
    padding-bottom: 190px !important;
  }
  .u-pl190-xs {
    padding-left: 190px !important;
  }
  .u-pr190-xs {
    padding-right: 190px !important;
  }
  .u-font76-xs {
    font-size: 76px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt190-down-md {
    margin-top: 190px !important;
  }
  .u-mb190-down-md {
    margin-bottom: 190px !important;
  }
  .u-ml190-down-md {
    margin-left: 190px !important;
  }
  .u-mr190-down-md {
    margin-right: 190px !important;
  }
  .u-pt190-down-md {
    padding-top: 190px !important;
  }
  .u-pb190-down-md {
    padding-bottom: 190px !important;
  }
  .u-pl190-down-md {
    padding-left: 190px !important;
  }
  .u-pr190-down-md {
    padding-right: 190px !important;
  }
  .u-font76-down-md {
    font-size: 76px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt190-lg {
    margin-top: 190px !important;
  }
  .u-mb190-lg {
    margin-bottom: 190px !important;
  }
  .u-ml190-lg {
    margin-left: 190px !important;
  }
  .u-mr190-lg {
    margin-right: 190px !important;
  }
  .u-pt190-lg {
    padding-top: 190px !important;
  }
  .u-pb190-lg {
    padding-bottom: 190px !important;
  }
  .u-pl190-lg {
    padding-left: 190px !important;
  }
  .u-pr190-lg {
    padding-right: 190px !important;
  }
  .u-font76-lg {
    font-size: 76px !important;
  }
}
.u-mt195 {
  margin-top: 195px !important;
}

.u-mb195 {
  margin-bottom: 195px !important;
}

.u-ml195 {
  margin-left: 195px !important;
}

.u-mr195 {
  margin-right: 195px !important;
}

.u-pt195 {
  padding-top: 195px !important;
}

.u-pb195 {
  padding-bottom: 195px !important;
}

.u-pl195 {
  padding-left: 195px !important;
}

.u-pr195 {
  padding-right: 195px !important;
}

.u-font78 {
  font-size: 78px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt195-md {
    margin-top: 195px !important;
  }
  .u-mb195-md {
    margin-bottom: 195px !important;
  }
  .u-ml195-md {
    margin-left: 195px !important;
  }
  .u-mr195-md {
    margin-right: 195px !important;
  }
  .u-pt195-md {
    padding-top: 195px !important;
  }
  .u-pb195-md {
    padding-bottom: 195px !important;
  }
  .u-pl195-md {
    padding-left: 195px !important;
  }
  .u-pr195-md {
    padding-right: 195px !important;
  }
  .u-font78-md {
    font-size: 78px !important;
  }
}
@media only screen {
  .u-mt195-xs {
    margin-top: 195px !important;
  }
  .u-mb195-xs {
    margin-bottom: 195px !important;
  }
  .u-ml195-xs {
    margin-left: 195px !important;
  }
  .u-mr195-xs {
    margin-right: 195px !important;
  }
  .u-pt195-xs {
    padding-top: 195px !important;
  }
  .u-pb195-xs {
    padding-bottom: 195px !important;
  }
  .u-pl195-xs {
    padding-left: 195px !important;
  }
  .u-pr195-xs {
    padding-right: 195px !important;
  }
  .u-font78-xs {
    font-size: 78px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt195-down-md {
    margin-top: 195px !important;
  }
  .u-mb195-down-md {
    margin-bottom: 195px !important;
  }
  .u-ml195-down-md {
    margin-left: 195px !important;
  }
  .u-mr195-down-md {
    margin-right: 195px !important;
  }
  .u-pt195-down-md {
    padding-top: 195px !important;
  }
  .u-pb195-down-md {
    padding-bottom: 195px !important;
  }
  .u-pl195-down-md {
    padding-left: 195px !important;
  }
  .u-pr195-down-md {
    padding-right: 195px !important;
  }
  .u-font78-down-md {
    font-size: 78px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt195-lg {
    margin-top: 195px !important;
  }
  .u-mb195-lg {
    margin-bottom: 195px !important;
  }
  .u-ml195-lg {
    margin-left: 195px !important;
  }
  .u-mr195-lg {
    margin-right: 195px !important;
  }
  .u-pt195-lg {
    padding-top: 195px !important;
  }
  .u-pb195-lg {
    padding-bottom: 195px !important;
  }
  .u-pl195-lg {
    padding-left: 195px !important;
  }
  .u-pr195-lg {
    padding-right: 195px !important;
  }
  .u-font78-lg {
    font-size: 78px !important;
  }
}
.u-mt200 {
  margin-top: 200px !important;
}

.u-mb200 {
  margin-bottom: 200px !important;
}

.u-ml200 {
  margin-left: 200px !important;
}

.u-mr200 {
  margin-right: 200px !important;
}

.u-pt200 {
  padding-top: 200px !important;
}

.u-pb200 {
  padding-bottom: 200px !important;
}

.u-pl200 {
  padding-left: 200px !important;
}

.u-pr200 {
  padding-right: 200px !important;
}

.u-font80 {
  font-size: 80px !important;
}

@media only screen and (min-width:769px), tv, print {
  .u-mt200-md {
    margin-top: 200px !important;
  }
  .u-mb200-md {
    margin-bottom: 200px !important;
  }
  .u-ml200-md {
    margin-left: 200px !important;
  }
  .u-mr200-md {
    margin-right: 200px !important;
  }
  .u-pt200-md {
    padding-top: 200px !important;
  }
  .u-pb200-md {
    padding-bottom: 200px !important;
  }
  .u-pl200-md {
    padding-left: 200px !important;
  }
  .u-pr200-md {
    padding-right: 200px !important;
  }
  .u-font80-md {
    font-size: 80px !important;
  }
}
@media only screen {
  .u-mt200-xs {
    margin-top: 200px !important;
  }
  .u-mb200-xs {
    margin-bottom: 200px !important;
  }
  .u-ml200-xs {
    margin-left: 200px !important;
  }
  .u-mr200-xs {
    margin-right: 200px !important;
  }
  .u-pt200-xs {
    padding-top: 200px !important;
  }
  .u-pb200-xs {
    padding-bottom: 200px !important;
  }
  .u-pl200-xs {
    padding-left: 200px !important;
  }
  .u-pr200-xs {
    padding-right: 200px !important;
  }
  .u-font80-xs {
    font-size: 80px !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-mt200-down-md {
    margin-top: 200px !important;
  }
  .u-mb200-down-md {
    margin-bottom: 200px !important;
  }
  .u-ml200-down-md {
    margin-left: 200px !important;
  }
  .u-mr200-down-md {
    margin-right: 200px !important;
  }
  .u-pt200-down-md {
    padding-top: 200px !important;
  }
  .u-pb200-down-md {
    padding-bottom: 200px !important;
  }
  .u-pl200-down-md {
    padding-left: 200px !important;
  }
  .u-pr200-down-md {
    padding-right: 200px !important;
  }
  .u-font80-down-md {
    font-size: 80px !important;
  }
}
@media only screen and (min-width:960px) {
  .u-mt200-lg {
    margin-top: 200px !important;
  }
  .u-mb200-lg {
    margin-bottom: 200px !important;
  }
  .u-ml200-lg {
    margin-left: 200px !important;
  }
  .u-mr200-lg {
    margin-right: 200px !important;
  }
  .u-pt200-lg {
    padding-top: 200px !important;
  }
  .u-pb200-lg {
    padding-bottom: 200px !important;
  }
  .u-pl200-lg {
    padding-left: 200px !important;
  }
  .u-pr200-lg {
    padding-right: 200px !important;
  }
  .u-font80-lg {
    font-size: 80px !important;
  }
}
.u-lh10 {
  line-height: 1 !important;
}

.u-lh12 {
  line-height: 1.2 !important;
}

.u-lh15 {
  line-height: 1.5 !important;
}

.u-lh175 {
  line-height: 1.75 !important;
}

.u-lh18 {
  line-height: 1.8 !important;
}

.u-lh20 {
  line-height: 2 !important;
}

.u-lh25 {
  line-height: 2.5 !important;
}

.u-pos-rel {
  position: relative !important;
}

.u-pos-abs {
  position: absolute !important;
}

.u-pos-sta {
  position: static !important;
}

.u-pos-fix {
  position: fixed !important;
}

.u-clearfix:after {
  clear: both;
  content: "";
  display: block;
}

.u-float-left {
  float: left !important;
}

.u-float-right {
  float: right !important;
}

.u-float-clear {
  clear: both !important;
}

.u-left {
  text-align: left !important;
}

.u-center {
  text-align: center !important;
}

.u-right {
  text-align: right !important;
}

.u-font-bold {
  font-weight: bold !important;
}

.u-font-normal {
  font-weight: normal !important;
}

.u-va-top {
  vertical-align: top !important;
}

.u-va-middle {
  vertical-align: middle !important;
}

.u-va-bottom {
  vertical-align: bottom !important;
}

.u-block {
  display: block !important;
}

.u-inline-block {
  display: inline-block !important;
}

.u-inline {
  display: inline !important;
}

.u-nowrap {
  white-space: nowrap !important;
}

@media only screen {
  .u-hidden-xs {
    display: none !important;
  }
}
@media only screen and (min-width:769px), tv, print {
  .u-hidden-md {
    display: none !important;
  }
}
@media only screen and (min-width:1230px) {
  .u-hidden-xlu {
    display: none !important;
  }
}
@media only screen and (min-width:960px) {
  .u-hidden-lgu {
    display: none !important;
  }
}
@media only screen and (min-width:769px), tv, print {
  .u-hidden-mdu {
    display: none !important;
  }
}
@media only screen and (max-width:1229.98px) {
  .u-hidden-lgd {
    display: none !important;
  }
}
@media only screen and (max-width:959.98px) {
  .u-hidden-mdd {
    display: none !important;
  }
}
@media only screen and (max-width:768.98px) {
  .u-hidden-smd {
    display: none !important;
  }
}
.u-ofi {
  -o-object-fit: cover;
  object-fit: cover;
  font-family: "object-fit: cover;";
}

/*====================================

Layout

====================================*/
.l-unit .l-unit__box {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
@media only screen {
  .l-unit.-solid .l-unit__box {
    width: auto;
  }
}
@media only screen and (min-width:480px) {
  .l-unit.-solid .l-unit__box {
    width: auto;
  }
}
@media only screen and (min-width:769px), tv, print {
  .l-unit.-solid .l-unit__box {
    width: 769px;
  }
}
@media only screen and (min-width:960px) {
  .l-unit.-solid .l-unit__box {
    width: 960px;
  }
}
@media only screen and (min-width:1230px) {
  .l-unit.-solid .l-unit__box {
    width: 1230px;
  }
}
@media only screen {
  .l-unit.-solid.-pad .l-unit__box {
    width: auto;
  }
}
@media only screen and (min-width:480px) {
  .l-unit.-solid.-pad .l-unit__box {
    width: auto;
  }
}
@media only screen and (min-width:769px), tv, print {
  .l-unit.-solid.-pad .l-unit__box {
    width: 739px;
  }
}
@media only screen and (min-width:960px) {
  .l-unit.-solid.-pad .l-unit__box {
    width: 930px;
  }
}
@media only screen and (min-width:1230px) {
  .l-unit.-solid.-pad .l-unit__box {
    width: 1020px;
  }
}
@media only screen and (max-width:768.98px) {
  .l-unit.-solid.-pad .l-unit__box {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media only screen and (min-width:1230px) {
  .l-unit.-solid.-pad.-wide .l-unit__box {
    width: auto;
    max-width: 1920px;
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media only screen and (max-width:768.98px) {
  .l-unit.-solid.-pad.-sm-wide .l-unit__box {
    padding-left: 0;
    padding-right: 0;
  }
}
@media only screen and (min-width:769px), tv, print {
  .l-unit.-solid.-md .l-unit__box {
    width: 768px;
  }
}
@media only screen and (max-width:768.98px) {
  .l-unit.-solid.-wide-pad {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media only screen and (min-width:769px) and (max-width:959.98px) {
  .l-unit.-solid.-wide-pad .l-unit__box {
    width: 738px;
  }
}
@media only screen and (max-width:768.98px) {
  .l-unit.-solid.-middle-pad {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media only screen and (min-width:960px) {
  .l-unit.-header .l-unit__box {
    width: 988px;
  }
}
.l-unit.-bg-light-black {
  position: relative;
  background-color: #D9DCDF;
}
.l-unit.-bg-white {
  background-color: #fff;
}
.l-unit.-under {
  margin-bottom: 50px;
}
.l-unit.-no-img {
  background-image: none;
}
.l-unit.-underline {
  border-bottom: 1px solid #707070;
}
@media only screen and (max-width:768.98px) {
  .l-unit.-sm-no-img {
    background-image: none;
  }
}

:root {
  --content-width: 768px;
}

.l-spc-unit .l-spc-unit__box {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
@media only screen {
  .l-spc-unit.-spc-solid .l-spc-unit__box {
    width: auto;
  }
}
@media only screen and (min-width:480px) {
  .l-spc-unit.-spc-solid .l-spc-unit__box {
    width: auto;
  }
}
@media only screen and (min-width:769px), tv, print {
  .l-spc-unit.-spc-solid .l-spc-unit__box {
    width: 769px;
  }
}
@media only screen and (min-width:960px) {
  .l-spc-unit.-spc-solid .l-spc-unit__box {
    width: 960px;
  }
}
@media only screen and (min-width:1230px) {
  .l-spc-unit.-spc-solid .l-spc-unit__box {
    width: 1230px;
  }
}
@media only screen {
  .l-spc-unit.-spc-solid.-spc-pad .l-spc-unit__box {
    width: auto;
  }
}
@media only screen and (min-width:480px) {
  .l-spc-unit.-spc-solid.-spc-pad .l-spc-unit__box {
    width: auto;
  }
}
@media only screen and (min-width:769px), tv, print {
  .l-spc-unit.-spc-solid.-spc-pad .l-spc-unit__box {
    width: 739px;
  }
}
@media only screen and (min-width:960px) {
  .l-spc-unit.-spc-solid.-spc-pad .l-spc-unit__box {
    width: 930px;
  }
}
@media only screen and (min-width:1230px) {
  .l-spc-unit.-spc-solid.-spc-pad .l-spc-unit__box {
    width: 1020px;
  }
}
@media only screen and (max-width:768.98px) {
  .l-spc-unit.-spc-solid.-spc-pad .l-spc-unit__box {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media only screen and (max-width:768.98px) {
  .l-spc-unit.-spc-solid.-spc-pad.-spc-sm-wide .l-spc-unit__box {
    padding-left: 0;
    padding-right: 0;
  }
}
.l-spc-unit.-spc-img {
  width: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top;
}
.l-spc-unit.-spc-img-cover-bottom {
  width: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
}
.l-spc-unit.-spc-d-flex-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  height: 100%;
}
@media only screen and (min-width:769px), tv, print {
  .l-spc-unit.-spc-md .l-spc-unit__box {
    width: 768px;
  }
}
@media only screen and (max-width:768.98px) {
  .l-spc-unit.-spc-md .l-spc-unit__box {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media only screen and (min-width:769px), tv, print {
  .l-spc-unit.-spc-md .l-spc-unit__box.-customWidth {
    max-width: var(--content-width, 768px);
    width: 100%;
  }
}
@media only screen and (max-width:768.98px) {
  .l-spc-unit.-spc-md .l-spc-unit__box.-customWidth {
    padding-left: 0px;
    padding-right: 0px;
  }
}

/* メイン */
:root {
  --main-back-image: "";
   --main-back-image-pc: "";
  --main-back-image-sp: ""
}

.l-main.-back-image {
  position: relative;
  z-index: 0;
}
.l-main.-back-image::before {
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100vh;
  background-repeat: no-repeat;
  background-image: var(--main-back-image);
  background-size: cover
}
.l-main.-back-image-res {
  position: relative;
}

.l-main.-back-image-res::before {
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100vh;
  background-repeat: no-repeat;
  background-image: var(--main-back-image-sp);
  background-size: cover
}

@media only screen and (min-width:769px),
tv,
print {
  .l-main.-back-image-res::before {
      background-image: var(--main-back-image-pc)
  }
}

.l-wrapper {
  overflow: hidden;
}

/* ヘッダー */
.l-header {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 100;
  background-color: #fff;
}
@media only screen and (min-width:960px) {
  .l-header {
    padding: 0px 0;
  }
}

.l-header__inner {
  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;
}
@media only screen and (min-width:960px) {
  .l-header__inner {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.l-header__logo.-left-side {
  padding: 0;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media only screen and (min-width:960px) {
  .l-header__logo.-left-side {
    -ms-flex-preferred-size: 300px;
    flex-basis: 300px;
    max-width: 300px;
  }
}
.l-header__logo.-left-side:hover {
  opacity: 0.7;
}

.l-header__logo__img {
  display: block;
}
.l-header__logo__img img {
  width: 100%;
  display: block;
}
@media only screen and (max-width:959.98px) {
  .l-header__logo__img {
    width: 105px;
  }
}

.l-header__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media only screen and (min-width:960px) {
  .l-header__nav {
    padding-left: 60px;
    -ms-flex-preferred-size: calc(100% - 305px);
    flex-basis: calc(100% - 305px);
    max-width: calc(100% - 305px);
  }
}
@media only screen and (max-width:959.98px) {
  .l-header__nav {
    position: absolute;
    right: 15px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
}

@media only screen and (min-width:960px) {
  .l-header__menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
}
@media only screen and (max-width:959.98px) {
  .l-header__menu {
    margin-right: 20px;
  }
}
@media only screen and (min-width:960px) {
  .l-header__menu li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.l-header__menu li a {
  text-decoration: none;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 700;
}
@media only screen and (min-width:960px) {
  .l-header__menu li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
.l-header__menu li a:hover {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.l-header__menu li a:hover:hover {
  opacity: 0.7;
}
.l-header__menu li a:hover .l-header__menu__icon {
  background-color: #000;
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
.l-header__menu li + li::before {
  margin-left: 10px;
  margin-right: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  content: "|";
}

.l-header__menu__icon {
  display: block;
  margin-right: 5px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: #a28254;
  -webkit-transition: color 0.3s, -webkit-transform 0.3s;
  transition: color 0.3s, -webkit-transform 0.3s;
  transition: transform 0.3s, color 0.3s;
  transition: transform 0.3s, color 0.3s, -webkit-transform 0.3s;
}
@media only screen and (min-width:960px) {
  .l-header__menu__icon {
    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;
  }
}
@media only screen and (max-width:959.98px) {
  .l-header__menu__icon {
    margin: 0 auto;
  }
}
.l-header__menu__icon img {
  width: 15px;
  height: auto;
}

.l-header__fv {
  text-align: center;
}

.l-header__fv__txt {
  font-size: 12px;
}

.l-header__menu-btn {
  position: relative;
  width: 20px;
  height: 15px;
  cursor: pointer;
  display: inline-block;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.l-header__menu-btn:hover {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
.l-header__menu-btn span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  display: inline-block;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.l-header__menu-btn span:nth-of-type(1) {
  top: 0;
}
.l-header__menu-btn span:nth-of-type(2) {
  top: calc(50% - 0.5px);
}
.l-header__menu-btn span:nth-of-type(3) {
  bottom: 0;
}
.l-header__menu-btn.is-active span:nth-of-type(1) {
  top: 50%;
  -webkit-transform: rotate(-315deg);
  transform: rotate(-315deg);
}
.l-header__menu-btn.is-active span:nth-of-type(2) {
  opacity: 0;
}
.l-header__menu-btn.is-active span:nth-of-type(3) {
  top: 50%;
  -webkit-transform: rotate(315deg);
  transform: rotate(315deg);
}

.l-drawer {
  position: fixed;
  z-index: 40;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  overflow-y: scroll;
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  padding: 42px 30px 30px;
  font-weight: 500;
  font-style: normal;
  display: -ms-grid;
  display: grid;
  place-items: center;
}
@media only screen and (min-width:960px) {
  .l-drawer {
    display: none;
  }
}
.is-drawer-active .l-drawer {
  -webkit-transform: none;
  transform: none;
}

.l-drawer__shade {
  position: fixed;
  z-index: 35;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  background-color: rgba(0, 0, 0, 0.6);
  opacity: 0;
  visibility: hidden;
}
@media only screen and (min-width:769px), tv, print {
  .l-drawer__shade {
    display: none;
  }
}
.is-drawer-active .l-drawer__shade {
  opacity: 1;
  visibility: visible;
}

.l-drawer__list {
  width: 100%;
}
.l-drawer__list > li {
  padding: 12px 0;
}
.l-drawer__list > li > a {
  display: block;
  font-size: 13px;
  font-size: 0.8125rem;
  font-weight: 700;
  text-decoration: none;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  text-align: center;
  line-height: 1;
}
.l-drawer__list > li > a:hover {
  opacity: 0.7;
}

.l-drawer__txt {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.3;
  padding: 25px 0 20px;
}
html[lang=zh-cmn-Hans] .l-drawer__txt, html[lang=zh-cmn-Hant] .l-drawer__txt {
  line-height: 1.75;
}
html[lang=zh-cmn-Hans] *[lang=en] .l-drawer__txt, html[lang=zh-cmn-Hant] *[lang=en] .l-drawer__txt {
  line-height: 1.3;
}

.l-drawer__btnbox {
  padding: 0 20px;
}

/*====================================

Atoms

====================================*/
.a-spc-btn {
  display: inline-block;
  padding: 0;
  border: none;
  text-decoration: none;
  text-align: center;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  color: inherit;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.a-spc-btn:hover {
  opacity: 0.4;
}
.a-spc-btn.-spc-block {
  display: block;
  width: 100%;
}
@media only screen and (max-width:959.98px) {
  .a-spc-btn.-spc-md-block {
    display: block;
    width: 100%;
  }
}
.a-spc-btn.-spc-r-arrow:after {
  content: "";
  position: absolute;
  display: block;
  width: 10px;
  height: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(-45deg);
  transform: translateY(-50%) rotate(-45deg);
  right: 15px;
  border-bottom: 1px solid #000;
  border-right: 1px solid #000;
}
@media only screen and (max-width:768.98px) {
  .a-spc-btn.-spc-w100 {
    width: 100%;
  }
}
.a-spc-btn.-oval {
  background-color: #313131;
  border-radius: 30px;
  padding: 10px;
  color: #fff;
}

:root {
  --txt-base: 16px;
  --txt-pc: 16px;
  --txt-sp: 16px;
}

.a-spc-txt {
  font-style: normal;
  font-family: "Roboto", "Noto Sans JP";
  overflow-wrap: break-word;
}
.a-spc-txt.-spc-variable {
  font-size: var(--txt-sp);
}
@media only screen and (min-width:769px), tv, print {
  .a-spc-txt.-spc-variable {
    font-size: var(--txt-pc);
  }
}
.a-spc-txt.-spc-lv1 {
  font-size: 24px;
  line-height: 1.2;
}
@media only screen and (min-width:769px), tv, print {
  .a-spc-txt.-spc-lv1 {
    font-size: 48px;
  }
}
.a-spc-txt.-spc-lv2 {
  font-size: 20px;
}
@media only screen and (min-width:769px), tv, print {
  .a-spc-txt.-spc-lv2 {
    font-size: 36px;
  }
}
.a-spc-txt.-spc-lv3 {
  font-size: 18px;
}
@media only screen and (min-width:769px), tv, print {
  .a-spc-txt.-spc-lv3 {
    font-size: 24px;
  }
}
.a-spc-txt.-spc-lv4 {
  font-size: 16px;
}
@media only screen and (min-width:769px), tv, print {
  .a-spc-txt.-spc-lv4 {
    font-size: 20px;
  }
}
.a-spc-txt.-spc-lv5 {
  font-size: 14px;
}
@media only screen and (min-width:769px), tv, print {
  .a-spc-txt.-spc-lv5 {
    font-size: 16px;
  }
}
.a-spc-txt.-spc-lv6 {
  font-size: 14px;
}
@media only screen and (min-width:769px), tv, print {
  .a-spc-txt.-spc-lv6 {
    font-size: 14px;
  }
}
.a-spc-txt.-spc-lv7 {
  font-size: 12px;
}
@media only screen and (min-width:769px), tv, print {
  .a-spc-txt.-spc-lv7 {
    font-size: 12px;
  }
}
.a-spc-txt.-spc-left {
  text-align: left;
}
.a-spc-txt.-spc-right {
  text-align: right;
}
.a-spc-txt.-spc-center {
  text-align: center;
}
.a-spc-txt.-spc-point:before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 4px;
  background-color: #505050;
  vertical-align: middle;
  margin-right: 5px;
}
@media only screen and (min-width:769px), tv, print {
  .a-spc-txt.-spc-point:before {
    width: 6px;
    height: 6px;
  }
}
.a-spc-txt.-spc-under-line {
  border-bottom: 1px solid #505050;
  padding-bottom: 5px;
}
@media only screen and (min-width:769px), tv, print {
  .a-spc-txt.-spc-under-line {
    padding-bottom: 10px;
  }
}
.a-spc-txt.-spc-fw-bold {
  font-weight: 700;
}
.a-spc-txt.-spc-fw-normal {
  font-weight: 400;
}
.a-spc-txt.-spc-text-line {
  text-decoration: underline;
}
.a-spc-txt.-spc-h15 {
  line-height: 1.5;
}
.a-spc-txt.-spc-white {
  color: #FFFFFF;
}
.a-spc-txt.is-spc-sticky {
  position: -webkit-sticky;
  position: sticky;
}
.a-spc-txt.-spc-txt-normal {
  margin: 40px 0 0;
}
@media only screen and (min-width:769px), tv, print {
  .a-spc-txt.-spc-txt-normal {
    margin: 52px 0 0;
  }
}

.a-spc-link {
  line-height: 1.5;
}
.a-spc-link.-spc-white {
  color: #fff;
}
.a-spc-link.-spc-under-line {
  text-decoration: underline;
}
.a-spc-link.-spc-under-line:hover {
  text-decoration: none;
}
.a-spc-link.-spc-under-line-none {
  text-decoration: none;
}

/*====================================

Molecules

====================================*/
.m-spc-photobox {
  display: inline-block;
}
.m-spc-photobox > img {
  border-radius: 20px;
}
.m-spc-photobox.-spc-wide {
  display: block;
}
.m-spc-photobox.-spc-wide > img {
  width: 100%;
}
.m-spc-photobox.-spc-linkbox {
  text-decoration: none;
}
.m-spc-photobox.-spc-photobox-normal {
  margin: 40px 0 0;
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-photobox.-spc-photobox-normal {
    margin: 52px 0 0;
  }
}

.m-spc-contbox {
  display: block;
  line-height: 1.5;
  font-size: 14px;
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-contbox {
    font-size: 16px;
  }
}
.m-spc-contbox.-spc-contbox-normal {
  margin: 40px auto 0;
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-contbox.-spc-contbox-normal {
    margin: 52px auto 0;
  }
}
@media only screen and (max-width:768.98px) {
  .m-spc-contbox.-spc-tablebox {
    padding-left: 24px;
    padding-right: 24px;
  }
}
.m-spc-contbox.-spc-left {
  text-align: left;
}
.m-spc-contbox.-spc-right {
  text-align: right;
}
.m-spc-contbox.-spc-center {
  text-align: center;
}
.m-spc-contbox.-wide-2col > * {
  margin: 10px 0;
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-contbox.-wide-2col {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: -10px;
    margin-right: -10px;
  }
  .m-spc-contbox.-wide-2col > * {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%;
    margin: 0 10px;
  }
}

.m-spc-list {
  font-family: "Roboto", "Noto Sans JP";
  overflow-wrap: break-word;
}
.m-spc-list.-spc-list-normal {
  margin: 40px 0 0;
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-list.-spc-list-normal {
    margin: 52px 0 0;
  }
}
.m-spc-list.-spc-narrow {
  padding-left: 1em;
}
.m-spc-list.-spc-narrow > li:before {
  margin-left: -1em;
}
.m-spc-list.-spc-point > li:before {
  content: "・";
  display: inline-block;
}
.m-spc-list.-spc-color-white {
  color: #fff;
}
.m-spc-list.-spc-fw-bold {
  font-weight: 700;
}
.m-spc-list.-spc-fw-normal {
  font-weight: 400;
}

.m-spc-card {
  color: #fff;
  font-family: "Roboto", "Noto Sans JP";
  overflow-wrap: break-word;
}
.m-spc-card.-features {
  max-width: 320px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.m-spc-card.-features.-fullWidth {
  max-width: 100%;
}
.m-spc-card.-spc-link-cont {
  text-decoration: none;
}

.m-spc-card__thumb {
  width: 100%;
}
.m-spc-card__thumb > img {
  border-radius: 5px;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.m-spc-card.-rounded8 .m-spc-card__thumb > img {
  border-radius: 8px;
}

.m-spc-card.-features .m-spc-card__text {
  margin-top: 16px;
}
.m-spc-card.-has-btn .m-spc-card__text {
  margin-bottom: 16px;
}

.m-spc-card__btn {
  margin-top: auto;
}

.m-spc-iconbox {
  text-align: center;
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-iconbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    text-align: left;
  }
}
.m-spc-iconbox.-spc-iconbox-normal {
  margin: 40px 0 0;
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-iconbox.-spc-iconbox-normal {
    margin: 52px 0 0;
  }
}

.m-spc-iconbox__icon {
  display: block;
}

@media only screen and (max-width:768.98px) {
  .m-spc-iconbox__cont {
    margin-top: 20px;
  }
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-iconbox__cont {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center;
  }
  .m-spc-iconbox.-spc-lg .m-spc-iconbox__cont {
    padding-left: 60px;
  }
  .m-spc-iconbox.-spc-md .m-spc-iconbox__cont {
    padding-left: 40px;
  }
}

@media only screen and (max-width:768.98px) {
  .m-spc-iconbox__cont__ttl {
    margin-top: 40px;
  }
}

.m-spc-table {
  border-top: 1px solid #c9c9c9;
  color: #efefef;
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-table.-spc-table1col {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .m-spc-table.-spc-table1col > * {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-table.-spc-table2col {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .m-spc-table.-spc-table2col > * {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%;
  }
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-table.-spc-table3col {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .m-spc-table.-spc-table3col > * {
    -ms-flex-preferred-size: 33.3333333333%;
    flex-basis: 33.3333333333%;
    max-width: 33.3333333333%;
  }
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-table.-spc-table4col {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .m-spc-table.-spc-table4col > * {
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
    max-width: 25%;
  }
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-table.-spc-table5col {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .m-spc-table.-spc-table5col > * {
    -ms-flex-preferred-size: 20%;
    flex-basis: 20%;
    max-width: 20%;
  }
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-table.-spc-table6col {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .m-spc-table.-spc-table6col > * {
    -ms-flex-preferred-size: 16.6666666667%;
    flex-basis: 16.6666666667%;
    max-width: 16.6666666667%;
  }
}

.m-spc-table__cell {
  border-bottom: 1px solid #c9c9c9;
  padding: 8px 10px;
  text-align: center;
}
.m-spc-table.-spc-table1col .m-spc-table__cell {
  border-right: none;
}
.m-spc-table.-spc-left .m-spc-table__cell {
  text-align: left;
}
.m-spc-table.-spc-center .m-spc-table__cell {
  text-align: center;
}
.m-spc-table.-spc-right .m-spc-table__cell {
  text-align: right;
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-table__cell {
    border-right: 1px solid #c9c9c9;
  }
  .m-spc-table.-spc-table2col .m-spc-table__cell:nth-child(2n) {
    border-right: none;
  }
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-table__cell {
    border-right: 1px solid #c9c9c9;
  }
  .m-spc-table.-spc-table3col .m-spc-table__cell:nth-child(3n) {
    border-right: none;
  }
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-table__cell {
    border-right: 1px solid #c9c9c9;
  }
  .m-spc-table.-spc-table4col .m-spc-table__cell:nth-child(4n) {
    border-right: none;
  }
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-table__cell {
    border-right: 1px solid #c9c9c9;
  }
  .m-spc-table.-spc-table5col .m-spc-table__cell:nth-child(5n) {
    border-right: none;
  }
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-table__cell {
    border-right: 1px solid #c9c9c9;
  }
  .m-spc-table.-spc-table6col .m-spc-table__cell:nth-child(6n) {
    border-right: none;
  }
}

.m-spc-link-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-radius: 8px;
  text-decoration: none;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  background-color: #fff;
}
.m-spc-link-box:hover {
  opacity: 0.7;
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-link-box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.m-spc-link-box.-simple {
  display: block;
  background-color: transparent;
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-link-box.-simple {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
}
.m-spc-link-box.-has-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.m-spc-link-box__img {
  position: relative;
}
@media only screen and (max-width:768.98px) {
  .m-spc-link-box__img {
    -ms-flex-preferred-size: 108px;
    flex-basis: 108px;
    max-width: 108px;
  }
}
.m-spc-link-box__img > img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-link-box__img > img {
    height: auto;
  }
}
.m-spc-link-box.-simple .m-spc-link-box__img {
  border-radius: 8px;
}
@media only screen and (max-width:768.98px) {
  .m-spc-link-box.-simple .m-spc-link-box__img {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
}
.m-spc-link-box.-simple .m-spc-link-box__img > img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  border-radius: 8px;
  height: 100%;
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-link-box.-simple .m-spc-link-box__img > img {
    border-radius: 5px;
    height: auto;
    pointer-events: none
  }
}

.m-spc-link-box__title {
  color: #454545;
  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;
  padding-top: 15px;
}
@media only screen and (max-width:768.98px) {
  .m-spc-link-box__title {
    -ms-flex-preferred-size: calc(100% - 108px);
    flex-basis: calc(100% - 108px);
    max-width: calc(100% - 108px);
    -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;
  }
}
.m-spc-link-box__title > span {
  -webkit-transform: scale(0.8, 1);
  transform: scale(0.8, 1);
  line-height: 1.1;
  font-size: 16px;
  text-align: center;
  margin: 0 -15%;
  display: block;
  margin-bottom: 3px;
}
.m-spc-link-box.-simple .m-spc-link-box__title {
  display: block;
}
@media only screen and (max-width:768.98px) {
  .m-spc-link-box.-simple .m-spc-link-box__title {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
}
.m-spc-link-box__title > small {
  font-size: 14px;
  font-weight: 400;
  color: #fff;
  text-align: center;
  display: block;
}
.m-spc-link-box__title.-small-left small {
  text-align: left;
}
.m-spc-link-box__title.-h100 {
  height: 100%;
}
.m-spc-link-box.-has-btn .m-spc-link-box__title {
  padding-bottom: 15px;
}

.m-spc-link-box__btn {
  margin-top: auto;
}

:root {
  --box-mt-pc: 52px;
  --box-mt-sp: 52px;
  --box-mb-pc: 40px;
  --box-mb-sp: 40px;
  --box-side-sp:0px;
  --box-side-pc:0px;
}

.m-spc-box {
  padding-top: var(--box-mt-sp);
  padding-bottom: var(--box-mb-sp);
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-box {
    padding-top: var(--box-mt-pc);
    padding-bottom: var(--box-mb-pc);
  }
}
.m-spc-box__top {
  padding-top: var(--box-mt-sp);
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-box__top {
    padding-top: var(--box-mt-pc);
  }
}
.m-spc-box__bottom {
  padding-bottom: var(--box-mb-sp);
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-box__bottom {
    padding-bottom: var(--box-mb-pc);
  }
}
.m-spc-box__side {
  padding-left: var(--box-side-sp);
  padding-right: var(--box-side-sp);
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-box__side {
    padding-left: var(--box-side-pc);
    padding-right: var(--box-side-pc);
  }
}
.m-spc-box.-flex-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 100%;
}

:root {
  --align-pc: left;
  --align-sp: left;
}

.m-spc-align {
  text-align: var(--align-sp);
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-align {
    text-align: var(--align-pc);
  }
}

.m-spc-carousel .slide-arrow {
  position: absolute;
}
.m-spc-carousel .slick-arrow {
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 50%;
  width: 30px;
  height: 30px;
  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;
  padding: 0;
  margin: auto 0;
  position: absolute;
  top: -20px;
  bottom: 0;
  z-index: 1;
}
.m-spc-carousel .slick-arrow:after {
  width: 12px;
  height: 12px;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  content: "";
  display: block;
  padding: 0;
  margin: 0;
  margin-left: -6px;
}
.m-spc-carousel .slick-arrow.m-spc-carousel__prev {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}
.m-spc-carousel.has-txt .slick-arrow {
  bottom: auto;
  top: calc(50% - 45px);
}

.m-spc-carousel__prev {
  left: 10px;
}

.m-spc-carousel__next {
  right: 10px;
}

.m-spc-carousel__dots {
  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;
  min-height: 20px;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.m-spc-carousel__dots > li {
  margin: 5px 0 0;
  padding: 0 3px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.m-spc-carousel__dots > li button {
  background-color: #ccc;
  border-radius: 50%;
  width: 14px;
  height: 14px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
.m-spc-carousel__dots .slick-active button {
  background-color: #000;
}

.m-spc-carousel__item > p {
  font-size: 12px;
  line-height: 1.3;
  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;
  min-height: 50px;
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-carousel__item > p {
    padding: 0 20px;
  }
}
@media only screen and (max-width:768.98px) {
  .m-spc-carousel.-normal .m-spc-carousel__item.slick-slide > p {
    display: none;
  }
  .m-spc-carousel.-normal .m-spc-carousel__item.slick-active > p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.m-spc-carousel__colorbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 20px auto 0;
}
.m-spc-carousel__colorbox button {
  position: relative;
}
.m-spc-carousel__colorbox button svg {
  vertical-align: bottom;
}
.m-spc-carousel__colorbox button:hover {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.m-spc-carousel__colorbox button:hover:hover {
  opacity: 0.7;
}
.m-spc-carousel__colorbox button.is-active:before {
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  content: "";
  display: block;
  top: -10px;
  height: 10px;
  width: 14px;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  background-color: #aaa;
}

.m-spc-carousel.-side-pd .m-spc-carousel__item > img {
  aspect-ratio: auto;
}
.m-spc-carousel.-aspect1 .m-spc-carousel__item > img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
  object-fit: cover;
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-carousel.-pc-w100 .m-spc-carousel__item > img {
    width: 100%;
  }
}
.m-spc-carousel__item.-center {
  text-align: center;
}

.m-spc-carousel__colorbox__btn {
  position: relative;
  width: 100%;
}
.m-spc-carousel__colorbox__btn.-icon-img {
  width: auto;
}

.m-spc-carousel__colorbox__btn__svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.m-spc-carousel__colorbox__btn + .m-spc-carousel__colorbox__btn {
  margin-left: 5px;
}

:root {
  --imgbox-mb-pc: 10px;
  --imgbox-mb-sp: 0;
}

@media only screen and (max-width:768.98px) {
  .m-spc-imgbox.-down-sm-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
}

.m-spc-imgbox__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: var(--imgbox-mb-sp);
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-imgbox__item {
    margin-bottom: var(--imgbox-mb-pc);
  }
}

.m-spc-imgbox__cell {
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
  max-width: 100%;
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-imgbox__cell {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%;
  }
}
.m-spc-imgbox__cell.-txt {
  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;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
  padding: 10px;
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-imgbox__cell.-txt {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
  }
}
.m-spc-imgbox.-box1-1 .m-spc-imgbox__cell.-txt {
  aspect-ratio: 1/1;
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-imgbox.-box1-1 .m-spc-imgbox__cell.-txt {
    aspect-ratio: auto;
  }
}
.m-spc-imgbox.-box4-3 .m-spc-imgbox__cell.-txt {
  aspect-ratio: 4/3;
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-imgbox.-box4-3 .m-spc-imgbox__cell.-txt {
    aspect-ratio: auto;
  }
}
.m-spc-imgbox.-box16-9 .m-spc-imgbox__cell.-txt {
  aspect-ratio: 16/9;
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-imgbox.-box16-9 .m-spc-imgbox__cell.-txt {
    aspect-ratio: auto;
  }
}
.m-spc-imgbox__cell.-img {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
}
.m-spc-imgbox__cell.-img img {
  -o-object-fit: cover;
  object-fit: cover;
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-imgbox__cell.-img {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
  }
}
.m-spc-imgbox.-box1-1 .m-spc-imgbox__cell.-img img {
  aspect-ratio: 1/1;
}
.m-spc-imgbox.-box4-3 .m-spc-imgbox__cell.-img img {
  aspect-ratio: 4/3;
}
.m-spc-imgbox.-box16-9 .m-spc-imgbox__cell.-img img {
  aspect-ratio: 16/9;
}
.m-spc-imgbox__cell.-video {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-imgbox__cell.-video {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
  }
}

.m-spc-imgbox__video {
  width: 100%;
  vertical-align: bottom;
}

:root {
  --bgimg-mt-pc: auto;
  --bgimg-mt-sp: auto;
  --bgimg-mb-pc: auto;
  --bgimg-mb-sp: auto;
  --bgimg-ml-sp: auto;
  --bgimg-ml-pc: auto;
  --bgimg-mr-sp: auto;
  --bgimg-mr-pc: auto;
  --bgimg-wid-sp: auto;
  --bgimg-wid-pc: auto;
}

.m-spc-bgimg {
  margin-top: var(--bgimg-mt-sp);
  margin-bottom: var(--bgimg-mb-sp);
  margin-left: var(--bgimg-ml-sp);
  margin-right: var(--bgimg-mr-sp);
  width: var(--bgimg-wid-sp);
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-bgimg {
    margin-top: var(--bgimg-mt-pc);
    margin-bottom: var(--bgimg-mb-pc);
    margin-left: var(--bgimg-ml-pc);
    margin-right: var(--bgimg-mr-pc);
    width: var(--bgimg-wid-pc);
  }
}
.m-spc-bgimg.-pr {
  position: relative;
}
@media only screen and (max-width:768.98px) {
  .m-spc-bgimg.-left-side-gapimg {
    margin-left: 36px;
    margin-right: 36px;
  }
}
@media only screen and (max-width:768.98px) {
  .m-spc-bgimg.-right-side-gapimg {
    margin-right: 36px;
    margin-left: 36px;
  }
}

.m-spc-bgimg_txtbox {
  padding: 16px;
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-bgimg_txtbox {
    padding: 25px;
  }
}
.m-spc-bgimg.has-gap-img .m-spc-bgimg_txtbox {
  position: relative;
}
.m-spc-bgimg_txtbox.-flex-end {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  height: 100%;
}

.m-spc-bgimg__before {
  z-index: 1;
  position: absolute;
  top: 16px;
  left: 16px;
  right: -16px;
  bottom: -16px;
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-bgimg__before {
    top: 25px;
    left: 25px;
    right: -25px;
    bottom: -25px;
  }
}

.m-spc-bgimg__after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.m-spc-bgimg__gap-img {
  position: absolute;
  width: 73%;
  top: -100px;
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-bgimg__gap-img {
    width: 550px;
    top: -180px;
  }
}
.m-spc-bgimg__gap-img.-left-side-gapimg {
  left: -36px;
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-bgimg__gap-img.-left-side-gapimg {
    left: -92px;
  }
}
.m-spc-bgimg__gap-img.-right-side-gapimg {
  right: -50px;
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-bgimg__gap-img.-right-side-gapimg {
    right: -92px;
  }
}

.m-spc-video.-pr {
  position: relative;
}
.m-spc-video.-iframe {
  position: relative;
  width: 100%;
  padding: 56.25% 0 0 0;
}
.m-spc-video.-iframe iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.m-spc-video__item,
.m-spc-video__video {
  width: 100%;
  vertical-align: bottom;
}

.m-spc-video__play-btn {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
  width: 105px;
  height: 105px;
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-video__play-btn {
    width: 210px;
    height: 210px;
  }
}
.m-spc-video__play-btn.is-active {
  display: none;
}

:root {
  --space-mt-pc: 0px;
  --space-mt-sp: 0px;
  --space-mb-pc: 0px;
  --space-mb-sp: 0px;
  --space-pt-pc: 0px;
  --space-pt-sp: 0px;
  --space-pb-pc: 0px;
  --space-pb-sp: 0px;
  --space-ht-pc: 0px;
  --space-ht-sp: 0px;
}

.m-spc-space.-margin {
  margin-top: var(--space-mt-sp);
  margin-bottom: var(--space-mb-sp);
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-space.-margin {
    margin-top: var(--space-mt-pc);
    margin-bottom: var(--space-mb-pc);
  }
}
.m-spc-space.-padding {
  padding-top: var(--space-pt-sp);
  padding-bottom: var(--space-pb-sp);
  padding-left: var(--space-pl-sp);
  padding-right: var(--space-pr-sp)
}

@media only screen and (min-width:769px), tv, print {
  .m-spc-space.-padding {
      padding-top: var(--space-pt-pc);
      padding-bottom: var(--space-pb-pc);
      padding-left: var(--space-pl-pc);
      padding-right: var(--space-pr-pc)
  }
}
.m-spc-space.-height {
  height: var(--space-ht-sp);
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-space.-height {
    height: var(--space-ht-pc);
  }
}

.m-spc-faqbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.m-spc-faqbox__mark {
  -ms-flex-preferred-size: 32px;
  flex-basis: 32px;
  max-width: 32px;
  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;
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-faqbox__mark {
    -ms-flex-preferred-size: 48px;
    flex-basis: 48px;
    max-width: 48px;
  }
}
.m-spc-faqbox__mark > img {
  width: 20px;
  height: 20px;
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-faqbox__mark > img {
    width: 26px;
    height: 26px;
  }
}

.m-spc-faqbox__ttl {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.4;
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-faqbox__ttl {
    font-size: 16px;
    font-size: 1rem;
  }
}

.m-spc-faqbox__txt {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.4;
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-faqbox__txt {
    font-size: 14px;
    font-size: 0.875rem;
  }
}

.m-spc-faqbox__cont {
  -ms-flex-preferred-size: calc(100% - 32px);
  flex-basis: calc(100% - 32px);
  max-width: calc(100% - 32px);
  padding: 10px 8px;
  overflow-wrap: break-word;
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-faqbox__cont {
    padding: 10px 35px 10px 16px;
    -ms-flex-preferred-size: calc(100% - 48px);
    flex-basis: calc(100% - 48px);
    max-width: calc(100% - 48px);
  }
}
.m-spc-faqbox__cont.-a-txt {
  padding: 10px 8px;
}
@media only screen and (min-width:769px), tv, print {
  .m-spc-faqbox__cont.-a-txt {
    padding: 10px 16px;
  }
}

/*====================================

Organisms

====================================*/
.o-spc-card-unit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
@media only screen and (min-width:769px), tv, print {
  .o-spc-card-unit {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: inherit;
    -ms-flex-align: inherit;
    align-items: inherit;
    overflow: hidden;
  }
}
.o-spc-card-unit.-spc-col2 {
  margin: 0;
}
@media only screen and (min-width:769px), tv, print {
  .o-spc-card-unit.-spc-col2 {
    margin: 0px -24px 0;
  }
}
.o-spc-card-unit.-spc-col2 > * {
  margin-top: 0px;
}
@media only screen and (min-width:769px), tv, print {
  .o-spc-card-unit.-spc-col2 > * {
    -ms-flex-preferred-size: calc(50% - 48px);
    flex-basis: calc(50% - 48px);
    max-width: calc(50% - 48px);
    margin-left: 24px;
    margin-right: 24px;
  }
}
.o-spc-card-unit.-spc-col3 {
  margin: 0;
}
@media only screen and (min-width:769px), tv, print {
  .o-spc-card-unit.-spc-col3 {
    margin: 0px -24px 0;
  }
}
.o-spc-card-unit.-spc-col3 > * {
  margin-top: 10px;
}
@media only screen and (min-width:769px), tv, print {
  .o-spc-card-unit.-spc-col3 > * {
    -ms-flex-preferred-size: calc(33.3333333333% - 48px);
    flex-basis: calc(33.3333333333% - 48px);
    max-width: calc(33.3333333333% - 48px);
    margin-left: 24px;
    margin-right: 24px;
  }
}
.o-spc-card-unit.-spc-col4 {
  margin: 0 0;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: inherit;
  -ms-flex-align: inherit;
  align-items: inherit;
  overflow: hidden;
}
@media only screen and (min-width:769px), tv, print {
  .o-spc-card-unit.-spc-col4 {
    margin: 0px -8px 0;
  }
}
.o-spc-card-unit.-spc-col4 > * {
  -ms-flex-preferred-size: calc(50% - 16px);
  flex-basis: calc(50% - 16px);
  max-width: calc(50% - 16px);
  margin-top: 0px;
  margin-left: 8px;
  margin-right: 8px;
}
@media only screen and (min-width:769px), tv, print {
  .o-spc-card-unit.-spc-col4 > * {
    -ms-flex-preferred-size: calc(25% - 16px);
    flex-basis: calc(25% - 16px);
    max-width: calc(25% - 16px);
    margin-left: 8px;
    margin-right: 8px;
  }
}

.o-spc-link-boxs {
  margin-top: 0px;
  padding-bottom: 12px;
}
@media only screen and (min-width:769px), tv, print {
  .o-spc-link-boxs {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    overflow-y: hidden;
    margin: 0px -8px -16px;
  }
}
.o-spc-link-boxs > * {
  margin-bottom: 16px;
}
@media only screen and (min-width:769px), tv, print {
  .o-spc-link-boxs > * {
    -ms-flex-preferred-size: calc(25% - 16px);
    flex-basis: calc(25% - 16px);
    max-width: calc(25% - 16px);
    margin: 0px 8px 24px;
  }
}
.o-spc-link-boxs.-normal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  overflow-y: hidden;
  margin: 0px -8px -16px;
}
.o-spc-link-boxs.-normal > * {
  margin-bottom: 0;
  -ms-flex-preferred-size: calc(50% - 16px);
  flex-basis: calc(50% - 16px);
  max-width: calc(50% - 16px);
  margin: 0px 8px 18px;
  pointer-events: none;
}
@media only screen and (min-width:769px), tv, print {
  .o-spc-link-boxs.-normal > * {
    -ms-flex-preferred-size: calc(25% - 16px);
    flex-basis: calc(25% - 16px);
    max-width: calc(25% - 16px);
    margin: 0px 8px 18px;
    pointer-events: none;
  }
}
.o-spc-link-boxs.-global-boxs {
  padding-bottom: 0;
  margin-bottom: -18px;
}

.o-video.-once {
  position: relative;
}
.o-video.-once.is-ended .o-video__main {
  opacity: 0;
  visibility: hidden;
}

.o-video.-once .o-video__main {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 1;
  visibility: visible;
  -webkit-transition: 0.9s opacity, 0.9s visibility;
  transition: 0.9s opacity, 0.9s visibility;
}

.o-video__img {
  -webkit-transform: scale(0);
  transform: scale(0);
}
.o-video__img img {
  width: 100%;
}
.o-video__img.is-loaded {
  -webkit-transform: scale(1);
  transform: scale(1);
}

.o-video.-once {
  position: relative;
}
.o-video.-once.is-ended .o-video__main {
  opacity: 0;
  visibility: hidden;
}

.o-spc-acc__item + .o-spc-acc__item {
  margin-top: 15px;
}

.o-spc-acc__top {
  cursor: pointer;
  display: block;
  position: relative;
}

.o-spc-acc__top__btn {
  position: absolute;
  left: auto;
  right: 20px;
  top: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  z-index: 1;
  width: auto;
  height: auto;
}

@media only screen and (min-width:769px), tv, print {
  .o-spc-acc__top__btn__before,
  .o-spc-acc__top__btn__after {
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    content: "";
    display: block;
    width: 20px;
    height: 2px;
    border-radius: 2px;
    -webkit-transition: 0.3s -webkit-transform;
    transition: 0.3s -webkit-transform;
    transition: 0.3s transform;
    transition: 0.3s transform, 0.3s -webkit-transform;
  }
}

@media only screen and (min-width:769px), tv, print {
  .o-spc-acc__top__btn__after {
    -webkit-transform: translateX(-50%) translateY(-50%) rotate(90deg);
    transform: translateX(-50%) translateY(-50%) rotate(90deg);
  }
}

@media only screen and (min-width:769px), tv, print {
  .o-spc-acc__top__btn.is-active .o-spc-acc__top__btn__after {
    -webkit-transform: translateX(-50%) translateY(-50%) rotate(0);
    transform: translateX(-50%) translateY(-50%) rotate(0);
  }
}

.o-spc-acc__body {
  overflow: hidden;
}
.o-spc-acc__body.is-closed {
  display: none;
}

.o-contact__heading {
  margin-bottom: 80px;
  font-size: 42px;
  font-size: 2.625rem;
  font-weight: 800;
  text-align: center;
}
@media only screen and (min-width:769px), tv, print {
  .o-contact__heading {
    font-size: 48px;
    font-size: 3rem;
  }
}

.o-contact__main {
  margin-bottom: 55px;
}
@media only screen and (min-width:769px), tv, print {
  .o-contact__main {
    margin-bottom: 100px;
  }
}

.o-contact__item + .o-contact__item {
  margin-top: 30px;
}

.o-contact__item__heading {
  margin-bottom: 8px;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1;
}

.o-contact__item__input {
  width: 100%;
  border: 3px solid #000;
  padding: 8px;
}
.o-contact__item__input:focus {
  outline: 0;
}
.o-contact__item__input.-textarea {
  padding: 0;
  position: relative;
}

.o-contact__bottom {
  text-align: center;
}

.o-contact__item__textarea-dummy {
  overflow: hidden;
  visibility: hidden;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 8px;
  min-height: 185px;
  white-space: pre-wrap;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.o-contact__item__textarea {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  overflow: hidden;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 8px;
  width: 100%;
  height: 100%;
  resize: none;
}
.o-contact__item__textarea:focus {
  outline: 0;
}

.o-spc-tab__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 8px;
}

.o-spc-tab__item {
  -webkit-transition: 0.3s background-color;
  transition: 0.3s background-color;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 10px;
  background-color: #9F9F9F;
  padding: 8px;
  text-decoration: none;
  cursor: pointer;
}
.o-spc-tab__item:hover, .o-spc-tab__item.is-active {
  background-color: #36369B;
}
.o-spc-tab__menu.-col2-2 .o-spc-tab__item {
  -ms-flex-preferred-size: calc(50% - 4px);
  flex-basis: calc(50% - 4px);
  max-width: calc(50% - 4px);
}
.o-spc-tab__menu.-col3-2 .o-spc-tab__item {
  -ms-flex-preferred-size: calc(50% - 4px);
  flex-basis: calc(50% - 4px);
  max-width: calc(50% - 4px);
}
@media only screen and (min-width:769px), tv, print {
  .o-spc-tab__menu.-col3-2 .o-spc-tab__item {
    -ms-flex-preferred-size: calc(33.3333333333% - 5.3333333333px);
    flex-basis: calc(33.3333333333% - 5.3333333333px);
    max-width: calc(33.3333333333% - 5.3333333333px);
  }
}
.o-spc-tab__menu.-col4-2 .o-spc-tab__item {
  -ms-flex-preferred-size: calc(50% - 4px);
  flex-basis: calc(50% - 4px);
  max-width: calc(50% - 4px);
}
@media only screen and (min-width:769px), tv, print {
  .o-spc-tab__menu.-col4-2 .o-spc-tab__item {
    -ms-flex-preferred-size: calc(25% - 6px);
    flex-basis: calc(25% - 6px);
    max-width: calc(25% - 6px);
  }
}
.o-spc-tab__menu.-col3-3 .o-spc-tab__item {
  -ms-flex-preferred-size: calc(33.3333333333% - 5.3333333333px);
  flex-basis: calc(33.3333333333% - 5.3333333333px);
  max-width: calc(33.3333333333% - 5.3333333333px);
}
.o-spc-tab__menu.-col4-4 .o-spc-tab__item {
  -ms-flex-preferred-size: calc(25% - 6px);
  flex-basis: calc(25% - 6px);
  max-width: calc(25% - 6px);
}

.o-spc-tab__txt {
  color: #fff;
  line-height: 1.3;
}

.o-spc-tab__panel {
  display: none;
}
.o-spc-tab__panel.is-active {
  display: block;
}

.o-modal.-normal {
  display: none;
}
.o-modal.-normal.is-active {
  display: block;
}

.o-modal__shade {
  position: fixed;
  z-index: 100;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.5);
  visibility: hidden;
  opacity: 0;
  -webkit-transition: 0.3s visibility, 0.3s opacity;
  transition: 0.3s visibility, 0.3s opacity;
  display: none;
}
.l-main.is-sticky .o-modal__shade {
  position: absolute;
}
.o-modal__shade.is-active {
  visibility: visible;
  opacity: 1;
  display: block;
}

.o-modal__inner {
  position: fixed;
  z-index: 110;
}
.o-modal.-normal .o-modal__inner {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  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;
  margin: auto;
  width: 100%;
  max-width: calc(100% - 48px);
  max-height: min(552px, 100vh - 48px);
  z-index: 110;
  pointer-events: none;
}
@media only screen and (min-width:769px), tv, print {
  .o-modal.-normal .o-modal__inner {
    width: 768px;
    max-height: min(820px, 100vh - 48px);
    max-width: 100vw;
  }
}
@media only screen and (min-width:769px), tv, print {
  .o-modal.-normal.-wide .o-modal__inner {
    width: 1280px;
  }
}

.o-modal__body {
  width: 100%;
  position: relative;
}
.o-modal.-normal .o-modal__body {
  max-height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  pointer-events: auto;
}

.o-modal__top {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  gap: 16px;
  margin-bottom: 16px;
}

.o-modal__top__btn {
  display: block;
  background-color: #fff;
  border-radius: 8px;
  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;
  width: 36px;
  height: 36px;
}

.o-modal__body__cont {
  padding: 0 16px;
  border-radius: 15px;
  background-color: #fff;
  overflow-y: auto;
  -ms-scroll-chaining: none;
  overscroll-behavior: none;
}
@media only screen and (min-width:769px), tv, print {
  .o-modal__body__cont {
    padding: 0 28px;
    border-radius: 20px;
  }
}

.o-modal__body__bottom-btns {
  padding: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  z-index: 0;
}
.o-modal__body__bottom-btns > * {
  margin: 0 10px;
}

.o-modal__download {
  text-decoration: none;
  font-size: 20px;
  font-size: 1.25rem;
}

.o-modal__close {
  font-size: 20px;
  font-size: 1.25rem;
  text-decoration: none;
}

/*====================================

JavaScript

====================================*/
.js-fadein {
  -webkit-transform: translateY(30px);
  transform: translateY(30px);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 1s, visibility 1s, -webkit-transform 1s;
  transition: opacity 1s, visibility 1s, -webkit-transform 1s;
  transition: transform 1s, opacity 1s, visibility 1s;
  transition: transform 1s, opacity 1s, visibility 1s, -webkit-transform 1s;
}
.js-fadein.is-fadein {
  -webkit-transform: translateX(0);
  transform: translateX(0);
  opacity: 1;
  visibility: visible;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* Slider */
.slick-loading .slick-list {
  background: #fff url("./ajax-loader.gif") center center no-repeat;
}

/* Icons */
@font-face {
  font-family: "slick";
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal;
}
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
}
.slick-prev:hover, .slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent;
}
.slick-prev:hover:before, .slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}
.slick-prev:before,
.slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  color: white;
  opacity: 0.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -25px;
}
[dir=rtl] .slick-prev {
  left: auto;
  right: -25px;
}
.slick-prev:before {
  content: "←";
}
[dir=rtl] .slick-prev:before {
  content: "→";
}

.slick-next {
  right: -25px;
}
[dir=rtl] .slick-next {
  left: -25px;
  right: auto;
}
.slick-next:before {
  content: "→";
}
[dir=rtl] .slick-next:before {
  content: "←";
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
}
.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}
.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}
.slick-dots li button:hover, .slick-dots li button:focus {
  outline: none;
}
.slick-dots li button:hover:before, .slick-dots li button:focus:before {
  opacity: 1;
}
.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "•";
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 6px;
  line-height: 20px;
  text-align: center;
  color: black;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before {
  color: black;
  opacity: 0.75;
}
/* 追加CSS 2024-12-11 */
.m-spc-card__btn__unit {
  display: grid;
  width: 100%;
  gap: 10px;
  margin-top: auto;
}

.m-spc-link-box__btn__unit {
  display: grid;
  width: 100%;
  gap: 10px;
  margin-top: auto;
}

.o-link-boxs {
    margin-top: 12px;
    padding-bottom: 12px;
    overflow: hidden
}

@media only screen and (min-width:769px), tv, print {
    .o-link-boxs {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        overflow-y: hidden;
        margin: 8px -8px -16px
    }
}

.o-link-boxs>* {
    margin-bottom: 16px
}

@media only screen and (min-width:769px), tv, print {
    .o-link-boxs>* {
        margin-bottom: 0;
        -ms-flex-preferred-size: calc(25% - 16px);
        flex-basis: calc(25% - 16px);
        max-width: calc(25% - 16px);
        margin: 8px 8px 24px
    }
}

.o-link-boxs.-normal {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    overflow-y: hidden;
    margin: 8px -8px -16px
}

.o-link-boxs.-normal>* {
    margin-bottom: 0;
    -ms-flex-preferred-size: calc(50% - 16px);
    flex-basis: calc(50% - 16px);
    max-width: calc(50% - 16px);
    margin: 5px 8px 18px
}

@media only screen and (min-width:769px), tv, print {
    .o-link-boxs.-normal>* {
        margin-bottom: 0;
        -ms-flex-preferred-size: calc(25% - 16px);
        flex-basis: calc(25% - 16px);
        max-width: calc(25% - 16px);
        margin: 5px 8px 18px
    }
}

.o-link-boxs.-circle-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    overflow-y: hidden;
    margin: 0 auto;
    padding-bottom: 80px;
    max-width: 980px
}

@media only screen and (min-width:769px), tv, print {
    .o-link-boxs.-circle-list {
        margin-left: -8px;
        margin-right: -8px
    }
}

@media only screen and (min-width:1080px) {
    .o-link-boxs.-circle-list {
        margin-left: auto;
        margin-right: auto
    }
}

.o-link-boxs.-circle-list>* {
    width: auto;
    -ms-flex-preferred-size: calc(33.3333333333% - 16px);
    flex-basis: calc(33.3333333333% - 16px);
    max-width: calc(33.3333333333% - 16px);
    text-align: center;
    margin: 0 8px 14px
}

@media only screen and (min-width:769px), tv, print {
    .o-link-boxs.-circle-list>* {
        width: 82px;
        -ms-flex-preferred-size: 82px;
        flex-basis: 82px;
        max-width: 82px
    }
}

.o-link-boxs.-global-boxs {
    padding-bottom: 0;
    margin-bottom: -18px;
    overflow: hidden
}

.o-link-boxs.-inno-gray-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    overflow-y: visible;
    margin-bottom: 16px
}

.o-link-boxs.-inno-gray-box>* {
    margin-bottom: 0;
    -ms-flex-preferred-size: calc(50% - 16px);
    flex-basis: calc(50% - 16px);
    max-width: calc(50% - 16px);
    margin: 8px 8px 24px
}

@media only screen and (min-width:769px), tv, print {
    .o-link-boxs.-inno-gray-box>* {
        -ms-flex-preferred-size: calc(25% - 16px);
        flex-basis: calc(25% - 16px);
        max-width: calc(25% - 16px)
    }
}

@media only screen and (min-width:1080px) {
    .o-link-boxs.-inno-gray-box>* {
        -ms-flex-preferred-size: calc(20% - 16px);
        flex-basis: calc(20% - 16px);
        max-width: calc(20% - 16px)
    }
}

.o-link-boxs.-pc2col-sp1col {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    overflow-y: visible;
    margin-top: -16px;
    margin-bottom: 32px;
    padding: 0
}

@media only screen and (min-width:769px), tv, print {
    .o-link-boxs.-pc2col-sp1col {
        margin-left: -16px;
        margin-right: -16px;
        margin-bottom: 56px
    }
}

.o-link-boxs.-pc2col-sp1col>* {
    margin-bottom: 0;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
    margin: 16px 0 16px
}

@media only screen and (min-width:769px), tv, print {
    .o-link-boxs.-pc2col-sp1col>* {
        -ms-flex-preferred-size: calc(50% - 32px);
        flex-basis: calc(50% - 32px);
        max-width: calc(50% - 32px);
        margin: 16px 16px 16px
    }
}

.m-movie-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.m-movie-box__movie {
    position: relative;
    width: 100%;
    padding: 56.25% 0 0 0
}

.m-movie-box__movie>* {
    width: 100%;
    vertical-align: bottom;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.m-movie-box__titlebox {
    padding: 15px 15px;
    background-color: rgba(0, 0, 0, .6)
}

.m-movie-box__titlebox.-h100 {
    height: 100%
}

.m-movie-box__title {
    color: #fff;
    font-size: 16px;
    font-size: 1rem;
    margin-bottom: 10px
}

.m-movie-box__desc {
    color: #dcdcdc;
    font-size: 12px;
    font-size: 0.875rem;
    line-height: 1.45;
}

.under1 {
  background: linear-gradient(transparent 60%, #000000 50%);
}

.under2 {
  background: linear-gradient(transparent 0%, #00A291 100%);
}

.under3 {
  background: linear-gradient(transparent 30%, #00a292a0 0%);
}

.under4 {
  background: linear-gradient(transparent 0%, #ffffff 0%);
}

.under5 {
  background: linear-gradient(transparent 90%, #00A291 0%);
}

.under6 {
  background: linear-gradient(transparent 70%, #ffffff36 0%);
}

.under7 {
  background: linear-gradient(transparent 95%, #ffffff 0%);
}

.under8 {
  background: linear-gradient(transparent 60%, #00A291 100%);
}

.pc-video {
  display: block;
}

.sp-video {
  display: none;
}

@media screen and (max-width: 768px) {
  .pc-video {
      display: none;
  }

  .sp-video {
      display: block;
  }
}

.accordion-001 {
    max-width: auto;
}

.accordion-001:not([open]) {
    margin-bottom: 50px;
}

.accordion-001 summary {
    display: flex;
    justify-content: space-between;
    position: relative;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
}

.accordion-001 summary::-webkit-details-marker {
    display: none;
}

.accordion-001 summary::before,
.accordion-001 summary::after {
    top: 50%;
    left: 50%;
    width: 6px;
    height: 40px;
    border-radius: 2px;
    background-color: #00A291;
    content: '';
    position: absolute;
}

.accordion-001 summary::before {
    position: absolute;
    top: 50%;
    left: 50%;
    rotate: 90deg;
}

.accordion-001 summary::after {
    transition: rotate .3s;
}

.accordion-001[open] summary::after {
    rotate: 90deg;
}

.accordion-001 p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    transition: transform .5s, opacity .5s;
}

.accordion-001[open] p {
    transform: none;
    opacity: 1;
}

video {
  width: 100%;
}
/* =================================================================
   New Product LP Series (C220, C221, C222)
   ================================================================= */

/* メインエリアのレイアウトと背景 */
.p-lp-main {
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 50%, #000000 100%) !important;
  color: #fff !important;
}

/* フェードイン（common.min.jsの.js-fadeinと連動） */
.js-fadein {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.js-fadein.is-fadein {
  opacity: 1;
  transform: translateY(0);
}

/* ヒーローエリア（PC/SP画像切り替え対応） */
.p-lp-hero {
  padding: 0 !important;      /* 上下の余白をゼロに強制 */
  margin: 0 !important;       /* マージンもゼロに */
  line-height: 0;             /* 画像下部の微細な隙間を排除 */
  background-color: #000;     /* 背後の赤グラデーションを隠すため黒で固定 */
  position: relative;
  width: 100%;
}

.p-lp-hero__title {
  font-family: 'Roboto', sans-serif;
  font-size: clamp(32px, 8vw, 72px);
  font-weight: 900;
  line-height: 1.1;
  text-transform: uppercase;
  font-style: italic;
  letter-spacing: -0.02em;
  margin-bottom: 20px;
  text-shadow: 0 4px 10px rgba(0,0,0,0.5);
  color: #fff !important;
}

.p-lp-hero__catch {
  display: inline-block;
  background: #ffcc00;
  color: #000 !important;
  padding: 4px 20px;
  font-weight: 700;
  font-size: 20px;
  margin-bottom: 20px;
}

/* 商品カード */
.p-lp-product-card {
  background: linear-gradient(180deg, rgba(80,8,8,0.95), rgba(40,6,6,0.95));
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 16px;
  padding: clamp(28px, 4.5vw, 56px) clamp(18px, 4.5vw, 36px);
  margin-bottom: 40px;
  box-shadow: 0 8px 30px rgba(0,0,0,0.6);
}

/* 商品説明セクションのスタイル */
.p-lp-product-num {
  font-family: 'Roboto', sans-serif;
  font-size: 24px;
  font-weight: 700;
  color: #ffcc00 !important;
  border-bottom: 2px solid #ffcc00;
  display: inline-block;
  margin-bottom: 15px;
}

.p-lp-section-title {
  border-bottom: 1px solid rgba(212, 175, 55, 0.5);
  padding-bottom: 15px;
}

.u-text-gold {
  color: #d4af37 !important;
}

/* 文字サイズ調整 */
.u-font18 { font-size: 18px; line-height: 1.6; }
.u-font24 { font-size: 24px; line-height: 1.4; }
.u-font-bold { font-weight: 700; }

.p-lp-hero picture,
.p-lp-hero img {
  display: block;
  width: 100%;
  height: auto;
  border: none;
}

/* スライダー大型化・中央配置 */
.p-lp-slider-section {
  margin-top: 40px;
  padding-top: 40px;
  border-top: 1px solid rgba(255, 255, 255, 0.06); /* 区切り線 */
}

.p-lp-slider-large {
  max-width: 800px; /* カード内で目立たせるための最大幅 */
  width: 100%;
  margin: 0 auto;
  margin-left: auto !important;
  margin-right: auto !important;
  border: 4px solid #fff;
  box-shadow: 0 20px 50px rgba(0,0,0,0.7);
  border-radius: 8px;
  overflow: hidden;
}

/* スライダー上部・下部のテキストをスライダー幅に合わせて中央寄せ */
.p-lp-slider-section > p {
  max-width: 800px; /* .p-lp-slider-large と揃える */
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  text-align: center; /* テキスト自体は中央寄せ */
}

/* スマホ調整 */
@media screen and (max-width: 768px) {
  .p-lp-slider-large {
    border-width: 2px;
  }
  .p-lp-slider-section > p {
    max-width: calc(100% - 40px);
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* スライダー内の画像を中央寄せし、レスポンシブに収める */
.p-lp-slider-large img,
.p-lp-slider-wrap img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  height: auto;
}

/* cocoen モジュールが重なりで absolute を使っている場合の調整 */
.p-lp-slider-large.cocoen,
.p-lp-slider-wrap.cocoen {
  position: relative;
  text-align: center;
}
.p-lp-slider-large.cocoen img,
.p-lp-slider-wrap.cocoen img {
  position: static; /* もし absolute 指定があれば上書きして中央化 */
  transform: none;
}

/* 用途PRセクションのスタイル */
.p-lp-usage {
  margin-top: 60px;
  background-color: #111; /* 少しだけ背景色を変えて別枠感を出す */
  padding: 40px 20px;
  border-radius: 10px;
}

.p-lp-usage-grid {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 30px;
}

.p-lp-usage-item {
  flex: 1;
  max-width: 220px;
  text-align: center;
}

.p-lp-usage-img {
  width: 100%;
  aspect-ratio: 4 / 3; /* 横長の写真で見やすく */
  overflow: hidden;
  border-radius: 5px;
  margin-bottom: 10px;
  border: 1px solid #333;
}

.p-lp-usage-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s;
}

.p-lp-usage-item:hover .p-lp-usage-img img {
  transform: scale(1.1); /* ホバー時に少しズーム */
}

.p-lp-usage-text {
  font-size: 15px;
  line-height: 1.4;
  font-weight: bold;
}

.p-lp-usage-note {
  margin-top: 25px;
  text-align: center;
  font-size: 12px;
  color: #999;
}

/* スマホ対応 */
@media screen and (max-width: 768px) {
  .p-lp-usage-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* 2列2行にする */
    gap: 20px 10px;
  }
  .p-lp-usage-item {
    max-width: none;
  }
  .p-lp-usage-text {
    font-size: 13px;
  }
}

/* 機能説明ブロック */
.p-lp-features { padding-top: 24px; padding-bottom: 24px; background: rgba(0,0,0,0.22); border-radius:12px; padding:28px; margin-top:20px; }
.p-lp-features-title { font-size: 20px; color: #fff; margin-bottom: 16px; }
.p-feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.p-feature-item { text-align: center; color: #fff; padding: 14px; }
.p-feature-item img { width: 140px; height: auto; display: block; margin: 0 auto 12px; }
.p-feature-item h4 { font-size: 18px; margin-bottom: 10px; }
.p-feature-item p { font-size: 15px; line-height: 1.5; color: rgba(255,255,255,0.95); }

@media screen and (max-width: 900px) {
  .p-feature-grid { grid-template-columns: repeat(2, 1fr); }
}
@media screen and (max-width: 480px) {
  .p-feature-grid { grid-template-columns: 1fr; }
}
/* =================================================================
   導入セクション（プロ級の洗浄力シリーズ）の超強化
   ================================================================= */

.p-lp-intro {
  background: #000; /* バナー背景の黒と繋げる */
  padding: clamp(60px, 8vw, 100px) 20px;
  text-align: center;
}

.p-lp-intro-inner {
  max-width: 1000px;
  margin: 0 auto;
}

/* タイトル：極太・イタリック・立体感 */
.p-lp-intro-title {
  font-family: 'Roboto', sans-serif;
  font-size: clamp(36px, 9vw, 90px);
  font-weight: 900;
  font-style: italic;
  line-height: 0.95;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: -0.04em;
  /* パワフルな赤の立体感 */
  text-shadow: 0 4px 0 #b30000;
  margin-bottom: 30px;
}
.p-lp-intro-title__sub {
  display: block;
  font-size: clamp(14px, 2vw, 22px);
  font-style: normal;
  letter-spacing: 0.3em;
  color: #ffcc00;
  text-shadow: none;
  margin-bottom: 10px;
}

/* 中央のアクセントライン */
.p-lp-intro-bar {
  width: 80px;
  height: 6px;
  background: #b30000;
  margin: 0 auto 40px;
  transform: skewX(-20deg); /* ラインも斜めに */
}

/* キャッチコピー */
.p-lp-intro-lead {
  font-size: clamp(20px, 4vw, 32px);
  font-weight: 700;
  line-height: 1.6;
  color: #fff;
  letter-spacing: 0.05em;
}

.u-text-gold {
  color: #ffcc00 !important;
}

@media screen and (max-width: 768px) {
  .p-lp-intro {
    padding: 60px 20px;
  }
}
/* 商品画像のサイズアップ */
.p-lp-product-main-img {
  max-width: 480px !important;
  width: 100%;
}

/* 比較事例セクションのレイアウト */
.p-lp-case-container {
  margin-top: 60px;
  padding-top: 40px;
  border-top: 1px dashed rgba(255, 255, 255, 0.3);
}

.p-lp-case-row {
  display: flex;
  align-items: center;
  gap: 40px;
  margin-bottom: 80px;
}

.p-lp-case-row:last-child { margin-bottom: 0; }

.p-lp-case-slider {
  flex: 1;
  min-width: 0; /* flex内の崩れ防止 */
}

.p-lp-case-body {
  flex: 1;
}

.p-lp-case-label {
  background-color: #d4af37 !important;
  color: #000 !important;
  font-weight: bold;
}
.p-lp-case-title {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 15px;
  color: #ffcc00;
}

/* スライダー本体の枠線と影 */
.p-lp-case-slider .cocoen {
  border: 3px solid #fff;
  box-shadow: 0 10px 30px rgba(0,0,0,0.6);
  border-radius: 8px;
}

/* レスポンシブ調整 */
@media screen and (max-width: 900px) {
  .p-lp-case-row {
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
  }
  .p-lp-case-row.-reverse {
    flex-direction: column;
  }
}
/* トリプルパワー成分解説エリア */
.p-lp-spec-area {
  margin-top: 40px;
  padding: 30px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 12px;
}

.p-lp-spec-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 20px;
}

.p-lp-spec-item {
  text-align: center;
}

.p-lp-spec-item img {
  width: 100%;
  max-width: 180px;
  margin-bottom: 15px;
}

.p-lp-spec-name {
  font-size: 18px;
  font-weight: 700;
  color: #ffcc00;
  margin-bottom: 10px;
  display: block;
}

.p-lp-spec-text {
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
}

@media screen and (max-width: 768px) {
  .p-lp-spec-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .p-lp-spec-item {
    display: flex;
    align-items: center;
    text-align: left;
    gap: 15px;
  }
  .p-lp-spec-item img {
    max-width: 100px;
    margin-bottom: 0;
  }
}
/* プロ級の洗浄メカニズム：独立コーナー */
.p-lp-mechanism {
  margin: 60px 0;
  padding: 40px;
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
}

.p-lp-mechanism-title {
  font-size: 24px;
  font-weight: 900;
  text-align: center;
  color: #fff;
  margin-bottom: 40px;
  letter-spacing: 0.1em;
}

.p-lp-mechanism-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.p-lp-mechanism-item {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* 画像を大きく表示 */
.p-lp-mechanism-img {
  width: 100%;
  max-width: 280px; /* 画像サイズを大幅に拡大 */
  height: auto;
  margin-bottom: 20px;
  filter: drop-shadow(0 10px 20px rgba(0,0,0,0.5));
}

.p-lp-mechanism-name {
  font-size: 20px;
  font-weight: 700;
  color: #ffcc00;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
}

.p-lp-mechanism-name::before {
  content: '0' counter(mechanism-counter);
  counter-increment: mechanism-counter;
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  background: #ffcc00;
  color: #000;
  padding: 1px 6px;
  margin-right: 10px;
  border-radius: 2px;
}

.p-lp-mechanism-text {
  font-size: 15px;
  line-height: 1.6;
  color: #efefef;
  text-align: left;
}

/* --- 修正後 --- */
@media screen and (max-width: 768px) {
  .p-lp-mechanism {
    padding: 30px 20px;
  }
  .p-lp-mechanism-grid {
    grid-template-columns: 1fr;
    gap: 40px;
    counter-reset: mechanism-counter;
  }
  .p-lp-mechanism-item {
    text-align: center;
  }

  /* ↓ 余分な @media 行を削除 */
  .p-lp-case-row,
  .p-lp-case-row.-reverse {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px;
  }

  .p-lp-case-slider {
    order: 1;
  }
  .p-lp-case-body {
    order: 2;
  }
} /* ここで一つにまとめる */

/* ラインナップセクション */
/* =================================================================
   ラインナップセクション：画像拡大版
   ================================================================= */

.p-lp-lineup {
  background: linear-gradient(180deg, #0e0c0a 0%, #141210 50%, #0a0908 100%) !important;
}

.p-lp-lineup-title {
  margin-bottom: 50px;
  color: #fff;
  font-size: clamp(26px, 4.5vw, 40px);
  font-weight: 700;
}

.p-lp-lineup-title__sub {
  display: block;
  font-family: 'Roboto', sans-serif;
  font-size: 16px;
  color: #ffcc00;
  letter-spacing: 0.2em;
  margin-bottom: 12px;
}

.p-lp-lineup-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  max-width: 1100px;
  margin: 0 auto 50px;
}

.p-lp-lineup-item {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* トラブル画像エリア（サイズ拡大・調整） */
.p-lp-lineup-trouble {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 15px;
  /* 画像の拡大に合わせて高さを確保 */
  min-height: clamp(130px, 22vw, 220px);
  margin-bottom: 20px;
}

.p-lp-lineup-trouble-img {
  position: relative;
  /* 画像サイズを大幅に拡大 */
  width: clamp(150px, 20vw, 200px);
}

.p-lp-lineup-trouble-img img {
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  border: 4px solid #fff;
  box-shadow: 0 0 20px rgba(255,255,255,0.4);
  object-fit: cover;
  display: block;
}

.p-lp-lineup-trouble.-double {
  display: flex;
  align-items: flex-start; /* 上で揃える */
  justify-content: center;
}

/* 2枚並びの時だけマージンをリセット */
.p-lp-lineup-trouble.-double .p-lp-lineup-trouble-img {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.p-lp-lineup-trouble-caption {
  display: block;
  font-size: clamp(13px, 2.0vw, 16px);
  color: #fff;
  margin-top: 8px;
  font-weight: 700;
  text-shadow: 0 2px 6px rgba(0,0,0,0.9);
}

/* 矢印 */
.p-lp-lineup-arrow {
  height: 35px;
  width: 2px;
  background: #ffcc00;
  margin: 10px 0;
  position: relative;
}

.p-lp-lineup-arrow::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 10px solid #ffcc00;
}

/* 商品ボトル */
.p-lp-lineup-product {
  height: clamp(220px, 28vw, 300px);
  margin-bottom: 40px;
  display: flex;
  align-items: flex-end;
}

.p-lp-lineup-product img {
  max-height: 100%;
  width: auto;
  filter: drop-shadow(0 8px 20px rgba(0,0,0,0.6));
}

/* ラベル */
.p-lp-lineup-label {
  background: #ffcc00;
  color: #000;
  padding: 10px 15px;
  font-weight: 900;
  font-size: clamp(15px, 2.2vw, 20px);
  width: 100%;
  min-height: 3.2em;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  line-height: 1.2;
}

/* 下部バナー */
.p-lp-lineup-footer {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  padding: 18px 40px;
  display: inline-block;
  border-radius: 60px;
  margin-top: 20px;
}

.p-lp-lineup-footer p {
  font-size: clamp(16px, 2.5vw, 22px);
  font-weight: 700;
}

/* スマホ調整：縦並び時のバランス */
@media screen and (max-width: 768px) {
  .p-lp-lineup {
    padding: 60px 15px;
  }
  .p-lp-lineup-grid {
    grid-template-columns: 1fr;
    gap: 60px;
  }
  .p-lp-lineup-trouble {
    min-height: auto;
  }
  .p-lp-lineup-label {
    max-width: 320px;
  }
}
/* 次ステップ推奨バナー */
.p-lp-recommend {
  background: #000;
  padding: 80px 20px;
  position: relative;
  overflow: hidden;
}

/* 境界線の演出 */
.p-lp-recommend::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 1200px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #ffcc00, transparent);
}

.p-lp-recommend-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  max-width: 1000px;
  margin: 0 auto;
}

.p-lp-recommend-info {
  flex: 1;
  text-align: left;
}

.p-lp-recommend-title {
  color: #fff;
  font-size: clamp(24px, 4vw, 32px);
  font-weight: 900;
  line-height: 1.3;
  margin-bottom: 20px;
}

.p-lp-recommend-text {
  color: #ccc;
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 30px;
}

/* ボタンデザイン */
.p-lp-recommend-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #ffcc00 0%, #ff9900 100%);
  color: #000;
  font-weight: 900;
  font-size: 18px;
  padding: 18px 40px;
  text-decoration: none;
  border-radius: 4px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 5px 15px rgba(255, 204, 0, 0.3);
}

.p-lp-recommend-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(255, 204, 0, 0.5);
}

/* ボタン（購入する、詳細を見るなど）をリッチなゴールドグラデーションに */
.m-btn.-yellow {
  background: linear-gradient(180deg, #ffe55c 0%, #d4af37 100%) !important;
  color: #000 !important;
  border: 1px solid #ffcc00 !important;
  font-weight: bold;
  box-shadow: 0 4px 10px rgba(212, 175, 55, 0.3);
  transition: all 0.3s ease;
}

.m-btn.-yellow:hover {
  background: linear-gradient(180deg, #fff099 0%, #e6c24d 100%) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 15px rgba(212, 175, 55, 0.5);
}

/* 商品画像 */
.p-lp-recommend-figure {
  flex: 0 0 300px;
}

.p-lp-recommend-figure img {
  width: 100%;
  height: auto;
  filter: drop-shadow(0 0 20px rgba(255,255,255,0.1));
}

/* スマホ表示調整 */
@media screen and (max-width: 768px) {
  .p-lp-recommend {
    padding: 60px 20px;
  }
  .p-lp-recommend-inner {
    flex-direction: column-reverse; /* 画像を上に持ってくる場合は reverse */
    text-align: center;
    gap: 30px;
  }
  .p-lp-recommend-info {
    text-align: center;
  }
  .p-lp-recommend-figure {
    flex: 0 0 200px;
    max-width: 250px;
  }
  .p-lp-recommend-btn {
    width: 100%;
    padding: 15px 20px;
    font-size: 16px;
  }
}
/* 使用方法セクション */
.p-lp-howto {
  background: #111;
  padding: 80px 20px;
  text-align: center;
}

.p-lp-howto-title {
  margin-bottom: 50px;
  color: #fff;
  font-size: clamp(26px, 4.5vw, 40px);
  font-weight: 700;
}

.p-lp-howto-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 20px;
  max-width: 1000px;
  margin: 0 auto 50px;
}

/* 使用方法：4ステップ用のグリッド調整 */
.p-lp-howto-grid.-step4 {
  grid-template-columns: repeat(4, 1fr); /* PCで4枚並び */
  max-width: 1100px; /* 4枚並び用に少し幅を広げると綺麗です */
}

.p-lp-howto-item {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.p-lp-howto-img {
  width: 100%;
  margin-bottom: 15px;
  border: 1px solid #333;
  line-height: 0;
}

.p-lp-howto-img img {
  width: 100%;
  height: auto;
}

.p-lp-howto-text {
  color: #fff;
  font-size: 15px;
  line-height: 1.6;
  text-align: left;
  width: 100%;
}

/* 下部メッセージ */
.p-lp-howto-note {
  margin-top: 20px;
  border-top: 1px solid #333;
  padding-top: 30px;
}

.p-lp-howto-note p {
  color: #ffcc00;
  font-weight: 700;
  font-size: 18px;
  display: inline-block;
  position: relative;
  padding: 0 30px;
}

/* スマホ表示調整 */
@media screen and (max-width: 768px) {
  .p-lp-howto {
    padding: 60px 15px;
  }
  .p-lp-howto-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 15px;
  }
  /* ネストを削除し、中身だけを記述します */
  .p-lp-howto-grid.-step4 {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 15px;
  }
  .p-lp-howto-text {
    font-size: 13px;
  }
  .p-lp-howto-note p {
    font-size: 16px;
    padding: 0;
  }
}
/* --- セクション区切り設定 --- */
.p-lp-separator {
  line-height: 0;
  width: 100%;
  overflow: hidden;
  background-color: #000;
}

.p-lp-separator img {
  width: 100%;
  height: auto;
  display: block;
}

/* PC/SP 出し分け共通設定 */
.u-pc-only { display: block !important; }
.u-sp-only { display: none !important; }

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

/* セクション区切り（画像の隙間を埋める） */
.p-lp-separator {
  line-height: 0;
  background-color: #000;
}
.p-lp-separator img {
  width: 100%;
  height: auto;
  display: block;
}
/* TOPに戻るボタンのスタイル */
.p-btn-top {
  position: fixed;
  right: 20px;
  bottom: 20px;
  width: 50px;
  height: 50px;
  background-color: rgba(255, 204, 0, 0.9); /* ゴールド（少し透過） */
  border-radius: 50%; /* 正円にする */
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  text-decoration: none;
  transition: opacity 0.3s, transform 0.3s;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
}

.p-btn-top:hover {
  transform: translateY(-5px); /* ホバー時に少し浮く */
  background-color: rgba(255, 204, 0, 1);
}

/* 矢印アイコン（CSSで作成） */
.p-btn-top__arrow {
  width: 12px;
  height: 12px;
  border-top: 3px solid #000;
  border-right: 3px solid #000;
  transform: rotate(-45deg);
  margin-top: 4px;
}

/* スマホ対応：少し小さく、端に寄せる */
@media screen and (max-width: 768px) {
  .p-btn-top {
    right: 15px;
    bottom: 15px;
    width: 44px;
    height: 44px;
  }
  /* 1. コンテナボックスの横幅とマージンをリセット */
  .m-spc-contbox.-wide-2col {
    display: block !important; /* 横並びを解除 */
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
  }

  /* 2. PC用の左パディング(40px)を強制解除 */
  .u-pl40,
  .p-lp-product-card .u-pl40,
  .u-pl0-mdd {
    padding-left: 0 !important; /* !importantでPC設定を上書き */
    padding-right: 0 !important;
    text-align: center; /* スマホは中央寄せが綺麗です */
  }

  /* 3. テキスト要素自体の幅を確保 */
  .p-lp-product-card p,
  .p-lp-product-card h2,
  .p-lp-product-card ul {
    width: 100% !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
  }

}
/* 左右に揺れるアニメーションの定義 */
@keyframes slick-hint {
  0% { left: 50%; }
  25% { left: 48.5%; }
  50% { left: 51.5%; }
  75% { left: 49%; }
  100% { left: 50%; }
}

/* アニメーションを適用するクラス */
.is-animated .cocoen-drag {
  animation: slick-hint 0.4s ease-in-out;
}
/* =================================================================
   Utility Classes (Added for Fukkatsu-o)
   ================================================================= */
.u-bg-black {
  background-color: #000 !important;
}

.u-max-w1100 {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

.u-opacity-80 {
  opacity: 0.8;
}

.u-ls-05 {
  letter-spacing: 0.05em;
}

/* =================================================================
   Fukkatsu-o LP Series Specific Adjustments
   ================================================================= */

/* ラインナップが2つの場合の中央揃え調整 */
.p-lp-lineup-grid.-col2 {
  grid-template-columns: repeat(2, 1fr);
  max-width: 800px; /* 3列の1100pxより狭めてバランスをとる */
  gap: 40px;
}

@media screen and (max-width: 768px) {
  .p-lp-lineup-grid.-col2 {
    grid-template-columns: 1fr;
    gap: 60px;
  }
}

/* =================================================================
   Theme Colors: Black x Gold (赤みリセットと詳細調整)
   ================================================================= */

/* 製品詳細カードの背景を漆黒/ダークグレーに（元の赤グラデーション等を打ち消す） */
.p-lp-product-card {
  background: #0a0a0a !important;
  border: 1px solid #333 !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5) !important;
}

/* HOW TO USE セクションの背景も黒系に統一 */
.p-lp-howto {
  background: #050505 !important;
}

/* メカニズム解説部分の背景や枠線などの赤みを消す */
.p-lp-mechanism {
  background: #111 !important;
  border: 1px solid #222 !important;
}

/* 特徴リスト（ul.p-lp-feature-list li）の箇条書きマークなどの色調整 */
.p-lp-feature-list li::before {
  color: #d4af37 !important; /* ゴールドに */
}
.p-lp-lineup-title.u-center {
  text-align: center;
}

.p-lp-lineup-title__sub {
  display: block;
  font-size: 16px;
  letter-spacing: 0.1em;
  margin-bottom: 10px;
}

.p-lp-lineup-card {
  background: #111;
  border: 1px solid #333;
  padding: 30px 20px;
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: border-color 0.3s ease;
}

.p-lp-lineup-card:hover {
  border-color: #d4af37;
}

.p-lp-lineup-card__header {
  text-align: center;
  margin-bottom: 20px;
}

.p-lp-lineup-card__title {
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  line-height: 1.4;
  margin-bottom: 5px;
}

.p-lp-lineup-card__catch {
  font-size: 16px;
  font-weight: bold;
}

.p-lp-lineup-card__img {
  width: 100%;
  margin-bottom: 20px;
}

.p-lp-lineup-card__img img {
  width: 100%;
  height: auto;
  border: 1px solid #222;
}

.p-lp-lineup-card__product {
  text-align: center;
  margin-top: auto;
  padding-top: 20px;
  border-top: 1px dashed #333;
}

.p-lp-lineup-card__product img {
  max-width: 160px;
  height: auto;
  margin-bottom: 15px;
}

.p-lp-lineup-card__name {
  font-size: 18px;
  font-weight: bold;
  color: #fff;
}
.p-lp-set-contents {
  background: #111;
  border: 1px solid #333;
  padding: 30px;
}

.p-lp-set-contents__title {
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 25px;
  line-height: 1.4;
}

.p-lp-set-contents__inner {
  display: flex;
  align-items: center;
  gap: 40px;
  max-width: 800px;
  margin: 0 auto;
}

.p-lp-set-contents__img {
  flex: 1;
}

.p-lp-set-contents__img img {
  width: 100%;
  height: auto;
  border: 1px solid #222;
}

.p-lp-set-contents__list {
  flex: 1;
}

.p-lp-set-contents__list ul {
  list-style: none;
}

.p-lp-set-contents__list li {
  position: relative;
  padding-left: 1.5em;
  margin-bottom: 12px;
  font-size: 16px;
}

.p-lp-set-contents__list li::before {
  content: '■';
  position: absolute;
  left: 0;
  color: #d4af37;
  font-size: 0.9em;
  top: 0.1em;
}

@media screen and (max-width: 768px) {
  .p-lp-set-contents__inner {
    flex-direction: column;
    gap: 20px;
  }
}

/* =================================================================
   2025 Design Refresh — Feedback Overrides
   ================================================================= */

/* --- 1. 統一セクションスペーシング --- */
.p-lp-section {
  padding: 80px 0;
}
@media screen and (max-width: 768px) {
  .p-lp-section {
    padding: 56px 0;
  }
}

/* セクション内コンテナの左右余白（スマホ対応） */
.p-lp-section > .l-unit__box,
.p-lp-section > .p-lp-section__inner {
  padding-left: 20px;
  padding-right: 20px;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 769px) {
  .p-lp-section > .l-unit__box,
  .p-lp-section > .p-lp-section__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}

/* --- 2. 背景のメリハリ（暗色のトーン変化） --- */
.p-lp-section.-dark {
  background: #0a0a0a;
  color: #fff;
}
.p-lp-section.-medium {
  background: #1a1a1a;
  color: #fff;
}

/* --- 3. 商品カード背景改善（黒一辺倒をやめる） --- */
.p-lp-product-card {
  background: #111 !important;
  border: 2px solid #555 !important;
  border-radius: 16px;
  padding: clamp(28px, 4.5vw, 56px) clamp(18px, 4.5vw, 36px);
  box-shadow: 0 8px 30px rgba(0,0,0,0.6);
}

/* --- 4. メカニズムブロック: 少し明るめダークで差別化 --- */
.p-lp-mechanism {
  background: #222 !important;
  border: 2px solid #555 !important;
  border-radius: 16px;
  padding: 40px;
}
.p-lp-mechanism .p-lp-unified-title {
  color: #fff;
}
.p-lp-mechanism .p-lp-mechanism-text {
  color: #ccc;
}
.p-lp-mechanism .u-text-gold {
  color: #d4af37 !important;
}
.p-lp-mechanism .u-font-bold {
  color: #fff;
}

/* --- 5. セット内容ブロック: 明るめのダークで差別化 --- */
.p-lp-set-contents {
  background: #222 !important;
  border: 2px solid #555 !important;
  border-radius: 12px;
  padding: 30px;
}
.p-lp-set-contents .p-lp-unified-title {
  color: #fff;
}
.p-lp-set-contents__list li {
  color: #ddd;
}

/* --- 6. HOW TO セクション（明確に切り替わるダーク） --- */
.p-lp-howto {
  background: #222 !important;
  padding: 80px 20px;
}
.p-lp-howto .p-lp-unified-title {
  color: #fff;
}
/* 工程ブロック */
.p-lp-howto-block {
  background: #2a2a2a;
  padding: 40px 30px;
  border-radius: 12px;
  border: 2px solid #555;
  margin-bottom: 40px;
}
.p-lp-howto-block__title {
  font-size: 24px;
  font-weight: bold;
  color: #d4af37;
  margin-bottom: 30px;
  text-align: center;
}
.p-lp-howto-block__subtitle {
  font-size: 24px;
  font-weight: bold;
  color: #fff;
  margin-bottom: 30px;
  text-align: center;
}
.p-lp-howto-step-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 30px;
}
.p-lp-howto-step {
  margin-bottom: 20px;
  display: flex;
  flex-direction: column;
}
/* タイトルを画像の上に表示・センター合わせ */
.p-lp-howto-step__title {
  font-size: 18px;
  font-weight: bold;
  display: block;
  margin-bottom: 10px;
  color: #fff;
  text-align: center;
}
.p-lp-howto-step img {
  width: 100%;
  border: 2px solid #555;
  border-radius: 8px;
  margin-bottom: 12px;
}
/* 画像下の説明テキスト：左揃え・明るめ */
.p-lp-howto-step__text {
  font-size: 15px;
  line-height: 1.7;
  color: #ddd;
  text-align: left;
}
/* 備考・注意書き（控えめだが読めるグレー・左揃え） */
.p-lp-howto-step__note,
.p-lp-note-subdued {
  font-size: 13px;
  color: #aaa;
  margin-top: 6px;
  line-height: 1.5;
  text-align: left;
}
.p-lp-caution-text {
  font-size: 14px;
  color: #bbb;
  text-align: center;
  margin-bottom: 30px;
  line-height: 1.6;
}

/* HOW TO注意事項（囲みボックス） */
.p-lp-howto-note {
  margin-top: 20px;
  border-top: none;
  padding: 16px 20px;
  background: rgba(255,255,255,0.04);
  border: 2px solid #555;
  border-radius: 8px;
}
.p-lp-howto-note p {
  color: #bbb !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  padding: 0 !important;
}

/* 使い切りタイプ注意文 */
.p-lp-notice-onetime {
  font-size: 14px;
  color: #bbb;
  text-align: center;
  margin-bottom: 30px;
  padding: 12px 16px;
  background: rgba(255,255,255,0.04);
  border: 2px solid #555;
  border-radius: 6px;
}

/* HOW TO 既存グリッド色調整（明るく） */
.p-lp-howto .p-lp-howto-text {
  color: #eee;
}
.p-lp-howto .p-lp-howto-img {
  border: 2px solid #555;
}

/* --- 7. 画像の角R（3つ以上の横並びのみ） --- */
.p-lp-howto-img,
.p-lp-howto-img img,
.p-lp-howto-step img,
.p-lp-shop-link img {
  border-radius: 8px !important;
}

/* --- 8. テキスト左揃え（読みやすさ改善） --- */
.p-lp-product-card p,
.p-lp-howto-text {
  text-align: left;
}

/* --- 9. 明確なボタンスタイル --- */
.p-lp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  background: linear-gradient(180deg, #ffe55c 0%, #d4af37 100%);
  color: #000;
  font-weight: 700;
  font-size: 15px;
  padding: 12px 28px;
  border-radius: 6px;
  text-decoration: none;
  border: 1px solid #c8a52d;
  box-shadow: 0 2px 8px rgba(212, 175, 55, 0.25);
  transition: all 0.3s ease;
  cursor: pointer;
}
.p-lp-btn:hover {
  background: linear-gradient(180deg, #fff099 0%, #e6c24d 100%);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(212, 175, 55, 0.4);
}
.p-lp-btn::after {
  content: '▸';
  font-size: 12px;
}
/* ラインナップカード内ボタン */
.p-lp-lineup-card .p-lp-btn {
  margin-top: 16px;
  width: 100%;
  max-width: 240px;
}

/* --- 10. ラインナップカードの改善 --- */
.p-lp-lineup-card {
  background: #161616;
  border: 2px solid #555;
  border-radius: 12px;
  padding: 30px 20px;
  transition: border-color 0.3s, box-shadow 0.3s;
}
.p-lp-lineup-card:hover {
  border-color: #d4af37;
  box-shadow: 0 4px 20px rgba(212, 175, 55, 0.15);
}
a.p-lp-lineup-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
/* カードヘッダーのテキスト優先順位：catch(ゴールド)を大きく、title(白)を小さく */
.p-lp-lineup-card__title {
  font-size: 15px;
  font-weight: 700;
  color: #ccc;
  line-height: 1.4;
  margin-bottom: 5px;
}
.p-lp-lineup-card__catch {
  font-size: 20px;
  font-weight: 900;
}

/* --- 11. フッター差別化（暗色：購入セクションとのコントラスト） --- */
.l-footer {
  background: #111 !important;
  border-top: none;
}
.l-footer .l-unit.-solid {
  background: #111 !important;
}
.l-footer__menu li a {
  color: #999;
  transition: color 0.3s;
}
.l-footer__menu li a:hover {
  color: #d4af37;
}
.l-footer__copyright {
  color: #666;
}

/* --- 12. 備考テキスト --- */
.p-lp-disclaimer {
  text-align: center;
  padding: 16px 20px;
  font-size: 13px;
  color: #999;
  background: #1a1a1a;
}

/* --- 13. セパレータ上下の余白統一 --- */
.p-lp-separator {
  margin: 0;
  padding: 0;
}
.p-lp-section-gap {
  height: 0; /* スペーサーdivの代わりにsection paddingで対応 */
}

/* --- 14. 購入セクション（明るい背景で締め） --- */
.p-lp-section.-buy {
  background: #f5f5f5;
  color: #1a1a1a;
}
.p-lp-section.-buy .p-lp-unified-title {
  color: #1a1a1a;
}
.p-lp-section.-buy .p-lp-buy-card__name {
  color: #1a1a1a;
}
.p-lp-buy-card {
  text-align: center;
  background: #fff;
  border-radius: 12px;
  padding: 30px 20px;
  border: 1px solid #e0e0e0;
}
/* 購入セクション横並びグリッド */
.p-lp-buy-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  align-items: start;
}
@media screen and (max-width: 768px) {
  .p-lp-buy-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}
.p-lp-buy-card__name {
  font-size: 18px;
  font-weight: bold;
  color: #1a1a1a;
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 2px solid #d4af37;
}
.p-lp-buy-card__product {
  text-align: center;
  margin-bottom: 20px;
}
.p-lp-buy-card__product img {
  max-height: 240px;
  width: auto;
  max-width: 100%;
}
.p-lp-buy-card__shops {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.p-lp-buy-card__shops-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.p-lp-buy-card__shops-main {
  display: flex;
  justify-content: center;
}
.p-lp-shop-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  padding: 10px 8px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  transition: border-color 0.3s, background 0.3s;
}
.p-lp-shop-link:hover {
  border-color: #d4af37;
  background: rgba(212, 175, 55, 0.05);
}
.p-lp-shop-link img {
  width: 100%;
  max-width: 100px;
  height: auto;
  border-radius: 4px;
}
.p-lp-shop-link span {
  font-size: 12px;
  color: #555;
  text-align: center;
  line-height: 1.4;
}
.p-lp-shop-note {
  color: #888;
  font-size: 13px;
  text-align: center;
  margin-bottom: 12px;
}

/* --- 15. 縦長パッケージ画像枠 --- */
.p-lp-vertical-img-frame {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.5);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  padding: 40px 20px;
  width: 100%;
  max-width: 320px;
  aspect-ratio: 2 / 3;
}
.p-lp-vertical-img-frame img {
  max-height: 100%;
  width: auto;
  object-fit: contain;
  filter: drop-shadow(0 10px 20px rgba(0,0,0,0.8));
}

/* --- 16. ヒーロースライダー --- */
.p-lp-hero-slider {
  position: relative;
  display: grid !important;
  background: #000;
  width: 100%;
  overflow: hidden;
}
.p-lp-hero-slider__item {
  grid-area: 1 / 1;
  width: 100%;
  opacity: 0 !important;
  transition: opacity 2.5s ease-in-out !important;
  z-index: 1;
}
.p-lp-hero-slider__item.is-active {
  opacity: 1 !important;
  z-index: 10 !important;
}
.p-lp-hero-slider__item img {
  width: 100%;
  height: auto;
  display: block;
}

/* --- 17. ライトボックス --- */
.p-lightbox-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.85);
  z-index: 9999;
  align-items: center;
  justify-content: center;
  padding: 20px;
  box-sizing: border-box;
  cursor: zoom-out;
}
.p-lightbox-overlay.is-open {
  display: flex;
}
.p-lightbox-overlay__img {
  max-width: 42vw;
  max-height: 42vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 8px 40px rgba(0,0,0,0.8);
  cursor: zoom-out;
}
.js-lightbox-img {
  cursor: zoom-in;
}
.p-lightbox-overlay__close {
  position: fixed;
  top: 16px;
  right: 16px;
  width: 48px;
  height: 48px;
  background: rgba(255,255,255,0.15);
  border: 2px solid rgba(255,255,255,0.5);
  border-radius: 50%;
  color: #fff;
  font-size: 24px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10000;
  -webkit-tap-highlight-color: transparent;
}
@media screen and (max-width: 768px) {
  .p-lightbox-overlay__close {
    width: 56px;
    height: 56px;
    font-size: 28px;
    top: 12px;
    right: 12px;
  }
  .p-lightbox-overlay__img {
    max-width: 75vw;
    max-height: 50vh;
  }
}

/* aタグでラップしたラインナップカード */
a.p-lp-lineup-card {
  color: inherit;
  flex-direction: column;
  cursor: pointer;
}

/* --- 18. メカニズムグリッド2列 + ラベルとタイトルを1行に --- */
.p-lp-mechanism-grid.-col2 {
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  counter-reset: none;
}
/* メカニズム項目 */
.p-lp-mechanism-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  width: 100%;
}
/* 特長ラベル+タイトルを1行にまとめる */
.p-lp-mechanism-item__heading {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 15px;
  flex-wrap: wrap;
}
.p-lp-mechanism-item__label {
  font-size: 20px;
  font-weight: bold;
  color: #d4af37;
  white-space: nowrap;
}
.p-lp-mechanism-item__name {
  font-size: 20px;
  font-weight: bold;
  color: #fff;
}
.p-lp-mechanism-img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
}
.p-lp-mechanism-text {
  width: 100%;
  text-align: left;
  font-size: 15px;
  line-height: 1.7;
}

/* --- 19. セット内容レイアウト --- */
.p-lp-set-contents__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.p-lp-set-contents__img {
  flex: 0 0 60%;
  max-width: 60%;
}
.p-lp-set-contents__img img {
  width: 100%;
  height: auto;
  display: block;
}
.p-lp-set-contents__list {
  flex: 0 0 40%;
  max-width: 40%;
}
.p-lp-set-contents__sub-imgs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  width: 100%;
}
.p-lp-set-contents__sub-imgs img {
  width: 100%;
  height: auto;
  display: block;
  border: 2px solid #555;
}
.p-lp-lineup-card__product img {
  max-width: 240px;
  width: 100%;
}
.p-lp-mechanism-img {
  width: 90%;
  max-width: 90%;
  height: auto;
}

/* --- 20. 統一タイトル --- */
.p-lp-unified-title {
  font-size: clamp(24px, 4.5vw, 36px);
  font-weight: 900;
  font-family: 'Noto Sans JP', sans-serif;
  text-align: center;
  margin-bottom: 40px;
  line-height: 1.3;
  color: #fff;
}
.p-lp-unified-title__sub {
  display: block;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
  font-weight: bold;
  color: #d4af37;
  letter-spacing: 0.1em;
  margin-bottom: 5px;
}
/* ラインナップセクションのサブタイトル（復活王シリーズ）常に大きく */
.p-lp-unified-title__sub.-series {
  font-size: clamp(32px, 7vw, 48px);
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 900;
  color: #d4af37;
  margin-bottom: 15px;
  letter-spacing: 0.05em;
}

/* --- 21. HOW TOグリッド3列 --- */
.p-lp-howto-grid.-step3 {
  grid-template-columns: repeat(3, 1fr);
}
.p-lp-howto-grid .p-lp-howto-text,
.p-lp-howto-grid .p-lp-howto-item {
  text-align: left;
}

/* HOW TO関連色調整 */
.p-lp-howto .p-lp-howto-text {
  color: #eee;
}
.p-lp-howto .p-lp-howto-img {
  border: 2px solid #555;
}

/* --- 22. Before/After画像 --- */
.p-lp-before-after {
  text-align: center;
}
.p-lp-before-after img {
  width: 100%;
  max-width: 800px;
  height: auto;
  border-radius: 8px;
}

/* --- 23. 施工事例タイトル（大きく） --- */
.p-lp-case-single__title {
  color: #d4af37;
  font-size: clamp(22px, 4vw, 30px);
  font-weight: 900;
  line-height: 1.4;
}

/* --- 24. スマホ対応まとめ --- */
@media screen and (max-width: 768px) {
  /* メカニズム・HOWTOグリッド1カラム */
  .p-lp-mechanism-grid,
  .p-lp-mechanism-grid.-col2,
  .p-lp-howto-grid,
  .p-lp-howto-grid.-step3 {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  /* セット内容レイアウト */
  .p-lp-set-contents__inner {
    flex-direction: column !important;
    gap: 20px !important;
  }
  .p-lp-set-contents__img,
  .p-lp-set-contents__list {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
  .p-lp-set-contents__sub-imgs {
    grid-template-columns: 1fr 1fr !important;
    gap: 15px !important;
  }

  /* HOW TO */
  .p-lp-howto {
    padding: 56px 16px !important;
  }
  .p-lp-howto-block {
    padding: 24px 16px;
  }
  .p-lp-howto-step-grid {
    gap: 20px;
  }

  /* コンテナボックス横並び解除 */
  .m-spc-contbox.-wide-2col {
    display: block !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
  }
  .u-pl40,
  .p-lp-product-card .u-pl40,
  .u-pl0-mdd {
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: left;
  }
  .p-lp-product-card p,
  .p-lp-product-card h2,
  .p-lp-product-card ul {
    width: 100% !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
  }

  /* ボタンフル幅 */
  .p-lp-btn {
    width: 100%;
    max-width: 280px;
  }

  /* ラインナップカード */
  .p-lp-lineup-card {
    padding: 24px 16px;
  }

  /* TOPに戻るボタン */
  .p-btn-top {
    right: 15px;
    bottom: 15px;
    width: 44px;
    height: 44px;
  }
}

/* --- Additional layout classes --- */
.p-lp-product-card__layout {
  align-items: center;
}
.p-lp-section-title--lg {
  font-size: clamp(24px, 4vw, 36px);
  font-weight: 900;
  line-height: 1.3;
}
.p-lp-buy-container {
  max-width: 1000px;
}

/* =================================================================
   Final Color Unification — all gold/yellow → #d4af37
   ================================================================= */
.u-text-gold,
.p-lp-product-num,
.p-lp-case-title,
.p-lp-mechanism-name,
.p-lp-spec-name {
  color: #d4af37 !important;
}
.p-lp-product-num {
  border-bottom-color: #d4af37 !important;
}
/* Shop link text in light bg */
.p-lp-section.-buy .p-lp-shop-link span {
  color: #555;
}

/* SP: purchase card adjustments */
@media screen and (max-width: 768px) {
  .p-lp-buy-card {
    padding: 24px 16px;
  }
  .p-lp-buy-card__product img {
    max-height: 200px;
  }
  .p-lp-shop-link img {
    max-width: 80px;
  }
  .p-lp-shop-link span {
    font-size: 11px;
  }
}

/* =================================================================
   Tab Switching
   ================================================================= */
.p-lp-tab-menu {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  max-width: 900px;
  margin: 0 auto;
}
.p-lp-tab-btn {
  display: flex;
  align-items: center;
  gap: 16px;
  background: #161616;
  border: 2px solid #555;
  border-radius: 12px;
  padding: 16px 20px;
  cursor: pointer;
  transition: border-color 0.3s, background 0.3s;
  text-align: left;
  color: #fff;
  appearance: none;
  -webkit-appearance: none;
}
.p-lp-tab-btn:hover {
  border-color: #d4af37;
}
.p-lp-tab-btn.is-active {
  border-color: #d4af37;
  background: #1a1a1a;
  box-shadow: 0 0 20px rgba(212, 175, 55, 0.15);
}
.p-lp-tab-btn__img {
  width: 70px;
  height: auto;
  flex-shrink: 0;
}
.p-lp-tab-btn__text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.p-lp-tab-btn__catch {
  font-size: 14px;
  font-weight: 700;
}
.p-lp-tab-btn__name {
  font-size: 18px;
  font-weight: 900;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .p-lp-tab-menu {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .p-lp-tab-btn {
    padding: 12px 16px;
  }
  .p-lp-tab-btn__img {
    width: 56px;
  }
  .p-lp-tab-btn__catch {
    font-size: 13px;
  }
  .p-lp-tab-btn__name {
    font-size: 16px;
  }
}

/* Tab panels */
.p-lp-tab-panel {
  display: none;
}
.p-lp-tab-panel.is-active {
  display: block;
}

/* =================================================================
   Simplified Structure (no product-card wrapper)
   ================================================================= */
/* セット内容の注意文 */
.p-lp-set-contents__note {
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid #444;
  font-size: 13px;
  color: #aaa;
  line-height: 1.5;
}
/* セット内容リスト余白修正 */
.p-lp-set-contents__list {
  padding-right: 16px;
}

/* =================================================================
   Scroll Hint (Mt.GOAT style)
   ================================================================= */
.p-lp-scroll-hint {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 40px;
  padding-bottom: 10px;
}
.p-lp-scroll-hint__text {
  font-size: 12px;
  letter-spacing: 0.15em;
  color: #888;
  margin-bottom: 8px;
}
.p-lp-scroll-hint__line {
  display: block;
  width: 1px;
  height: 40px;
  background: linear-gradient(180deg, #d4af37 0%, transparent 100%);
  animation: scrollHintPulse 2s ease-in-out infinite;
}
@keyframes scrollHintPulse {
  0%, 100% { opacity: 0.4; height: 40px; }
  50% { opacity: 1; height: 50px; }
}

/* =================================================================
   Color Variation — ダークブラウン/ネイビー系で切り替え感を出す
   ================================================================= */
/* 商品詳細セクション: ダークブラウン系 */
.p-lp-section.-dark {
  background: #12100e;
  color: #fff;
}

/* 特長ブロック: わずかに暖色 */
.p-lp-mechanism {
  background: #1a1714 !important;
  border: 2px solid #3a3530 !important;
}

/* セット内容: 少し明るいウォーム */
.p-lp-set-contents {
  background: #1e1b17 !important;
  border: 2px solid #3a3530 !important;
}

/* HOW TOセクション: ダークネイビー系で明確に切り替え */
.p-lp-howto {
  background: #0d1218 !important;
}
.p-lp-howto-block {
  background: #141a22;
  border: 2px solid #2a3545;
}
.p-lp-howto .p-lp-howto-img {
  border: 2px solid #2a3545;
}
.p-lp-howto-note {
  border: 2px solid #2a3545;
}
.p-lp-notice-onetime {
  border: 2px solid #2a3545;
}

/* 購入セクション: 明るい（そのまま） */

/* =================================================================
   Buy section - icon-only buttons
   ================================================================= */
.p-lp-shop-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  padding: 0;
  transition: opacity 0.3s;
}
.p-lp-shop-link:hover {
  opacity: 0.7;
}
.p-lp-shop-link img {
  width: 100%;
  max-width: 100px;
  height: auto;
  border-radius: 8px;
  border: 1px solid #e0e0e0;
}
.p-lp-shop-link span {
  font-size: 11px;
  color: #777;
  text-align: center;
  line-height: 1.3;
}
/* =================================================================
   以下をすべて common.css の末尾に追記する
   ================================================================= */

.js-fadein {
  opacity: 0 !important;
  transform: none !important;        /* 揺れ除去 */
  visibility: hidden !important;
  transition: opacity 0.7s ease, visibility 0.7s ease !important;
}
.js-fadein.is-fadein {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

.p-lp-tab-menu {
  gap: 20px;
  max-width: 1000px;
}

.p-lp-tab-btn {
  padding: 22px 28px;
  gap: 22px;
  border: 2px solid #444;
  transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
  position: relative;
}

/* ホバー: 明確に「押せる」演出 */
.p-lp-tab-btn:hover {
  border-color: #d4af37;
  background: rgba(212, 175, 55, 0.06);
  box-shadow: 0 0 28px rgba(212, 175, 55, 0.22),
              inset 0 0 16px rgba(212, 175, 55, 0.04);
}
.p-lp-tab-btn:hover .p-lp-tab-btn__name {
  color: #d4af37;
}
.p-lp-tab-btn:hover .p-lp-tab-btn__catch {
  color: #f0d060;
}
.p-lp-tab-btn:hover .p-lp-tab-btn__img {
  filter: drop-shadow(0 0 10px rgba(212, 175, 55, 0.5));
  transform: scale(1.04);
}

/* アクティブ状態 */
.p-lp-tab-btn.is-active {
  border-color: #d4af37;
  background: rgba(212, 175, 55, 0.09);
  box-shadow: 0 0 36px rgba(212, 175, 55, 0.2),
              inset 0 0 20px rgba(212, 175, 55, 0.05);
}
.p-lp-tab-btn.is-active .p-lp-tab-btn__name {
  color: #d4af37;
}
.p-lp-tab-btn.is-active .p-lp-tab-btn__catch {
  color: #e8c84a;
}
.p-lp-tab-btn.is-active .p-lp-tab-btn__img {
  filter: drop-shadow(0 0 12px rgba(212, 175, 55, 0.45));
}

/* 画像 */
.p-lp-tab-btn__img {
  width: 100px;   /* 70px → 100px */
  transition: transform 0.25s ease, filter 0.25s ease;
}

/* テキスト */
.p-lp-tab-btn__catch {
  font-size: 14px;
  font-weight: 700;
  color: #aaa;
  letter-spacing: 0.03em;
  transition: color 0.25s ease;
}
.p-lp-tab-btn__name {
  font-size: 20px;
  font-weight: 900;
  color: #ddd;
  line-height: 1.3;
  transition: color 0.25s ease;
}

/* SP */
@media screen and (max-width: 768px) {
  .p-lp-tab-btn {
    padding: 16px 18px;
    gap: 16px;
  }
  .p-lp-tab-btn__img {
    width: 72px;
  }
  .p-lp-tab-btn__catch {
    font-size: 12px;
  }
  .p-lp-tab-btn__name {
    font-size: 16px;
  }
}

.p-lp-scroll-hint {
  margin-top: 44px;
  padding-bottom: 10px;
}
.p-lp-scroll-hint__text {
  font-size: 11px;
  letter-spacing: 0.2em;
  color: #666;
  margin-bottom: 10px;
}

/* ベースの細いグレー線 */
.p-lp-scroll-hint__line {
  display: block;
  width: 1px;
  height: 52px;
  background: rgba(255, 255, 255, 0.08);
  position: relative;
  overflow: hidden;
  animation: none; /* 旧グラデーションアニメ解除 */
}

/* 流れる実線（pseudoで上→下へ移動） */
.p-lp-scroll-hint__line::after {
  content: '';
  position: absolute;
  left: 0;
  top: -60%;
  width: 100%;
  height: 55%;  /* 実線の長さ */
  background: #d4af37;
  animation: scrollLineFlow 1.8s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes scrollLineFlow {
  0%   { top: -55%; }
  100% { top: 100%; }
}

.p-lp-vertical-img-frame {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  aspect-ratio: auto !important;
  width: auto;
  max-width: 300px;
  margin: 0 auto;
  display: block;
}
.p-lp-vertical-img-frame img {
  max-height: 400px;
  width: auto;
  object-fit: contain;
  filter:
    drop-shadow(0 16px 40px rgba(0, 0, 0, 0.85))
    drop-shadow(0 0 50px rgba(212, 175, 55, 0.12));
}

/* 商品カードの2カラムレイアウト: 画像を中央下揃え */
.p-lp-product-card__layout {
  align-items: flex-end;
  gap: 48px;
}

/* SP */
@media screen and (max-width: 768px) {
  .p-lp-vertical-img-frame {
    max-width: 220px;
  }
  .p-lp-vertical-img-frame img {
    max-height: 280px;
  }
  .p-lp-product-card__layout {
    align-items: center;
    gap: 24px;
  }
}

/* サブ画像の幅をメイン画像（60%）に揃えて左端を合わせる */
.p-lp-set-contents__sub-imgs {
  max-width: 60%;
  margin-top: 20px;
  gap: 16px;
  border-radius: 8px;
  overflow: hidden;
}
.p-lp-set-contents__sub-imgs img {
  border-radius: 6px;
}
@media screen and (max-width: 768px) {
  .p-lp-set-contents__sub-imgs {
    max-width: 100% !important;
  }
}

/* ■ ラインナップ（タブ）セクション: 微妙なノイズ感のある深いグラファイト */
.p-lp-lineup {
  background:
    radial-gradient(ellipse at 20% 50%, rgba(212,175,55,0.04) 0%, transparent 60%),
    radial-gradient(ellipse at 80% 50%, rgba(212,175,55,0.03) 0%, transparent 60%),
    #0c0c0c;
}

/* ■ 商品詳細（-dark）: 青みがかったグラファイト */
.p-lp-section.-dark {
  background:
    radial-gradient(ellipse at 0% 100%, rgba(30,20,10,0.8) 0%, transparent 50%),
    #0f0e0c;
  color: #fff;
}

/* ■ 特長ブロック: ウォームグラファイト（上段より少し明るい） */
.p-lp-mechanism {
  background: linear-gradient(135deg, #1c1814 0%, #17140f 100%) !important;
  border: 1px solid rgba(212,175,55,0.2) !important;
  box-shadow: 0 4px 32px rgba(0,0,0,0.4), inset 0 1px 0 rgba(212,175,55,0.08) !important;
}

/* ■ セット内容: 少し明るめのウォーム */
.p-lp-set-contents {
  background: linear-gradient(160deg, #201c18 0%, #181410 100%) !important;
  border: 1px solid rgba(212,175,55,0.15) !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.35) !important;
}

/* ■ HOW TO: ダークネイビー（他と明確に差別化） */
.p-lp-howto {
  background:
    radial-gradient(ellipse at 50% 0%, rgba(30,50,80,0.3) 0%, transparent 60%),
    #0b0f16 !important;
}
.p-lp-howto-block {
  background: linear-gradient(160deg, #111620 0%, #0e1319 100%);
  border: 1px solid rgba(100,140,200,0.12);
}

/* ■ ボーダーをより繊細に（2px solid → 1px + glow で上品に） */
.p-lp-mechanism-item__heading {
  border-bottom: 1px solid rgba(212,175,55,0.2);
  padding-bottom: 12px;
  margin-bottom: 16px;
  width: 100%;
}

/* ■ カード系 - 微妙な光沢感 */
.p-lp-howto-step img {
  border: 1px solid rgba(100,140,200,0.18) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.4);
}

/* ■ 施工事例タイトル下線 */
.p-lp-case-single__title {
  position: relative;
  display: inline-block;
}
.p-lp-case-single__title::after {
  content: '';
  display: block;
  width: 48px;
  height: 2px;
  background: #d4af37;
  margin: 12px auto 0;
}

/* ■ 商品詳細テキスト改善 */
.p-lp-product-num {
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #d4af37 !important;
  border: 1px solid rgba(212,175,55,0.4);
  border-radius: 4px;
  padding: 3px 10px;
  margin-bottom: 16px;
  background: rgba(212,175,55,0.05);
}

/* ■ タイトルの見出しに微妙な発光 */
.p-lp-section-title--lg .u-text-gold {
  text-shadow: 0 0 30px rgba(212,175,55,0.3);
}

/* ■ 統一タイトル下線アクセント */
.p-lp-mechanism .p-lp-unified-title,
.p-lp-set-contents .p-lp-unified-title,
.p-lp-howto .p-lp-unified-title {
  position: relative;
  padding-bottom: 20px;
}
.p-lp-mechanism .p-lp-unified-title::after,
.p-lp-set-contents .p-lp-unified-title::after,
.p-lp-howto .p-lp-unified-title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
  height: 2px;
  background: linear-gradient(90deg, transparent, #d4af37, transparent);
}

/* ■ HOW TO ステップタイトルをゴールドに */
.p-lp-howto-step__title {
  color: #d4af37 !important;
  font-size: 16px;
  text-align: left !important;
  border-left: 3px solid rgba(212,175,55,0.5);
  padding-left: 10px;
}

.js-fadein {
  opacity: 0 !important;
  transform: none !important;
  visibility: hidden !important;
  transition: opacity 0.75s ease, visibility 0.75s ease !important;
}
.js-fadein.is-fadein {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

.p-lp-tab-menu {
  gap: 20px !important;
  max-width: 1000px !important;
}
.p-lp-tab-btn {
  padding: 22px 28px !important;
  gap: 22px !important;
  border: 2px solid rgba(255,255,255,0.1) !important;
  background: #161616 !important;
  transition: border-color 0.25s, background 0.25s, box-shadow 0.25s !important;
}
.p-lp-tab-btn:hover {
  border-color: #d4af37 !important;
  background: rgba(212,175,55,0.07) !important;
  box-shadow: 0 0 28px rgba(212,175,55,0.22),
              inset 0 0 20px rgba(212,175,55,0.04) !important;
}
.p-lp-tab-btn:hover .p-lp-tab-btn__name  { color: #d4af37 !important; }
.p-lp-tab-btn:hover .p-lp-tab-btn__catch { color: #f0d060 !important; }
.p-lp-tab-btn:hover .p-lp-tab-btn__img {
  filter: drop-shadow(0 0 10px rgba(212,175,55,0.5));
  transform: scale(1.04);
}
.p-lp-tab-btn.is-active {
  border-color: #d4af37 !important;
  background: rgba(212,175,55,0.09) !important;
  box-shadow: 0 0 36px rgba(212,175,55,0.18),
              inset 0 0 24px rgba(212,175,55,0.05) !important;
}
.p-lp-tab-btn.is-active .p-lp-tab-btn__name  { color: #d4af37 !important; }
.p-lp-tab-btn.is-active .p-lp-tab-btn__catch { color: #e8c84a !important; }
.p-lp-tab-btn.is-active .p-lp-tab-btn__img {
  filter: drop-shadow(0 0 12px rgba(212,175,55,0.45));
}
.p-lp-tab-btn__img {
  width: 100px !important;
  transition: transform 0.25s, filter 0.25s;
}
.p-lp-tab-btn__catch {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #888 !important;
  letter-spacing: 0.03em;
  transition: color 0.25s;
}
.p-lp-tab-btn__name {
  font-size: 20px !important;
  font-weight: 900 !important;
  color: #ccc !important;
  line-height: 1.3;
  transition: color 0.25s;
}
@media screen and (max-width: 768px) {
  .p-lp-tab-menu { gap: 12px !important; }
  .p-lp-tab-btn { padding: 16px 18px !important; gap: 16px !important; }
  .p-lp-tab-btn__img { width: 72px !important; }
  .p-lp-tab-btn__name { font-size: 16px !important; }
}

.p-lp-scroll-hint {
  margin-top: 44px !important;
  padding-bottom: 10px;
}
.p-lp-scroll-hint__text {
  font-size: 11px;
  letter-spacing: 0.2em;
  color: #555;
  margin-bottom: 10px;
}
.p-lp-scroll-hint__line {
  display: block;
  width: 1px;
  height: 52px;
  background: rgba(255,255,255,0.07) !important;
  position: relative;
  overflow: hidden;
  animation: none !important;
}
.p-lp-scroll-hint__line::after {
  content: '';
  position: absolute;
  left: 0;
  top: -55%;
  width: 100%;
  height: 55%;
  background: #d4af37;
  animation: scrollLineFlowV2 1.8s cubic-bezier(0.45, 0, 0.55, 1) infinite;
}
@keyframes scrollLineFlowV2 {
  0%   { top: -55%; }
  100% { top: 100%; }
}

.p-lp-vertical-img-frame {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  aspect-ratio: auto !important;
  width: auto !important;
  max-width: 280px !important;
  display: block !important;
  margin: 0 auto !important;
}
.p-lp-vertical-img-frame img {
  max-height: 380px !important;
  width: auto !important;
  object-fit: contain !important;
  filter:
    drop-shadow(0 20px 48px rgba(0,0,0,0.9))
    drop-shadow(0 0 60px rgba(212,175,55,0.1)) !important;
}
.p-lp-product-card__layout {
  align-items: flex-end !important;
  gap: 48px !important;
}
@media screen and (max-width: 768px) {
  .p-lp-vertical-img-frame { max-width: 200px !important; }
  .p-lp-vertical-img-frame img { max-height: 260px !important; }
  .p-lp-product-card__layout { align-items: center !important; gap: 24px !important; }
}

#tab-c198 .p-lp-howto-grid,
#tab-c198 .p-lp-howto-grid.-step3 {
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 32px !important;
}
@media screen and (max-width: 768px) {
  #tab-c198 .p-lp-howto-grid,
  #tab-c198 .p-lp-howto-grid.-step3 {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}

.p-lp-shop-link {
  border: none !important;
  padding: 4px !important;
  border-radius: 0 !important;
  background: transparent !important;
  gap: 6px !important;
}
.p-lp-shop-link:hover {
  border: none !important;
  background: transparent !important;
  opacity: 0.72;
  box-shadow: none !important;
}
.p-lp-shop-link img {
  max-width: 96px !important;
  border: 1px solid rgba(200,180,120,0.15) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}
.p-lp-buy-card__shops-row {
  gap: 20px !important;
}
.p-lp-buy-card__shops-main {
  margin-top: 4px;
}
.p-lp-shop-link span {
  font-size: 11px !important;
  color: #666 !important;
  letter-spacing: 0.02em;
}

/*
 * .p-lp-main にヒーロー画像を暗くして固定背景として敷く。
 * コンテンツ各セクションが不透明カードとして上をスクロールしていく。
 * iOS Safari は fixed 非対応のため scroll にフォールバック。
 */
.p-lp-main {
  background-image:
    linear-gradient(180deg,
      rgba(4,3,2,0.84)  0%,
      rgba(6,5,4,0.90) 50%,
      rgba(8,6,5,0.93) 100%),
    url(common/img/top-img_199_pc.jpg);
  background-attachment: scroll, fixed;
  background-size: cover, cover;
  background-position: center, center top;
  background-repeat: no-repeat, no-repeat;
}
/* iOS Safari フォールバック */
@supports (-webkit-touch-callout: none) {
  .p-lp-main {
    background-image:
      linear-gradient(180deg,
        rgba(4,3,2,0.84) 0%,
        rgba(6,5,4,0.90) 50%,
        rgba(8,6,5,0.93) 100%),
      url(common/img/top-img_199_pc.jpg);
    background-attachment: scroll, scroll;
  }
}

/* セクション間に隙間を作り、固定背景をわずかに見せる */
.p-lp-tab-content > .p-lp-tab-panel > * + * {
  margin-top: 0;
}
.p-lp-howto {
  margin-top: 0;
}

/* 商品詳細セクション */
.p-lp-section.-dark {
  background: rgba(12,10,8,0.97) !important;
}

/* HOW TO */
.p-lp-howto {
  background: rgba(10,13,18,0.97) !important;
}

/* ラインナップ（タブ）*/
.p-lp-lineup.p-lp-section {
  background: rgba(8,7,6,0.96) !important;
}

/* 購入セクション（明るいまま維持） */
.p-lp-section.-buy {
  background: #f5f5f5 !important;
  color: #1a1a1a !important;
}

/* disclaimer（背景ガラス感） */
.p-lp-disclaimer {
  background: transparent;
  color: #666;
}

/* 特長ブロック: ウォームグラファイト */
.p-lp-mechanism {
  background: linear-gradient(140deg, #1b1612 0%, #161210 100%) !important;
  border: 1px solid rgba(212,175,55,0.2) !important;
  box-shadow: 0 4px 32px rgba(0,0,0,0.5) !important;
}

/* セット内容 */
.p-lp-set-contents {
  background: linear-gradient(160deg, #201c17 0%, #181410 100%) !important;
  border: 1px solid rgba(212,175,55,0.14) !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.4) !important;
}

/* HOW TO ブロック */
.p-lp-howto-block {
  background: linear-gradient(160deg, #10151e 0%, #0e1219 100%) !important;
  border: 1px solid rgba(80,120,180,0.14) !important;
}

/* ラベル見出し下線 */
.p-lp-mechanism-item__heading {
  border-bottom: 1px solid rgba(212,175,55,0.18) !important;
  padding-bottom: 12px !important;
  margin-bottom: 16px !important;
  width: 100%;
}

/* 商品番号バッジ */
.p-lp-product-num {
  display: inline-block !important;
  font-size: 12px !important;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #d4af37 !important;
  border: 1px solid rgba(212,175,55,0.35) !important;
  border-radius: 4px;
  padding: 3px 10px;
  margin-bottom: 16px;
  background: rgba(212,175,55,0.05);
}

/* セクションタイトル ゴールド下線 */
.p-lp-mechanism .p-lp-unified-title,
.p-lp-set-contents .p-lp-unified-title,
.p-lp-howto .p-lp-unified-title {
  position: relative;
  padding-bottom: 20px;
}
.p-lp-mechanism .p-lp-unified-title::after,
.p-lp-set-contents .p-lp-unified-title::after,
.p-lp-howto .p-lp-unified-title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
  height: 2px;
  background: linear-gradient(90deg, transparent, #d4af37, transparent);
}

/* ステップタイトル */
.p-lp-howto-step__title {
  color: #d4af37 !important;
  font-size: 16px;
  text-align: left !important;
  border-left: 3px solid rgba(212,175,55,0.45);
  padding-left: 10px;
}

/* 見出しグロー */
.p-lp-section-title--lg .u-text-gold {
  text-shadow: 0 0 32px rgba(212,175,55,0.28);
}

/* 施工事例タイトル下線 */
.p-lp-case-single__title {
  position: relative;
  display: inline-block;
}
.p-lp-case-single__title::after {
  content: '';
  display: block;
  width: 44px;
  height: 2px;
  background: #d4af37;
  margin: 10px auto 0;
}

/* C198 サブ画像左端揃え */
.p-lp-set-contents__sub-imgs {
  max-width: 60% !important;
  gap: 16px !important;
}
.p-lp-set-contents__sub-imgs img {
  border-radius: 6px;
  border: 1px solid rgba(255,255,255,0.08) !important;
  box-shadow: none !important;
}
@media screen and (max-width: 768px) {
  .p-lp-set-contents__sub-imgs { max-width: 100% !important; }
}

.p-lp-howto-step-grid {
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 32px !important;
}
@media screen and (max-width: 768px) {
  .p-lp-howto-step-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}

.p-lp-case-single__title::after {
  content: '' !important;
  display: block !important;
  width: 160px !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, #d4af37, transparent) !important;
  margin: 14px auto 0 !important;
}

.p-lp-howto-block {
  background: #1e2535 !important;
  border: 1px solid rgba(100, 140, 200, 0.22) !important;
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.35) !important;
}

.p-lp-howto > .l-unit__box {
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
  box-sizing: border-box !important;
  width: 100% !important;
}
@media screen and (max-width: 768px) {
  .p-lp-howto > .l-unit__box {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

.p-lp-howto-step-grid {
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
}
@media screen and (max-width: 900px) {
  .p-lp-howto-step-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media screen and (max-width: 768px) {
  .p-lp-howto-step-grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
}

.p-lp-mechanism .p-lp-unified-title::after,
.p-lp-set-contents .p-lp-unified-title::after,
.p-lp-howto .p-lp-unified-title::after {
  width: 160px !important;
}

.p-lp-scroll-hint__text {
  font-size: 12px !important;
  letter-spacing: 0.4em !important;
  color: #d4af37 !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  text-shadow: 0 0 14px rgba(212,175,55,0.55) !important;
  margin-bottom: 12px !important;
}

.p-lp-intro-imgs {
  display: flex !important;
  align-items: flex-end;
  gap: 14px;
  justify-content: center;
  width: 100%;
}
.p-lp-intro-imgs .p-lp-vertical-img-frame {
  max-width: 130px !important;
  flex-shrink: 0;
}
.p-lp-intro-set-img {
  flex: 1;
  max-width: 210px;
  width: 100%;
  height: auto;
  display: block;
  border-radius: 10px;
  filter: drop-shadow(0 10px 24px rgba(0,0,0,0.75));
}
@media screen and (max-width: 768px) {
  .p-lp-intro-imgs .p-lp-vertical-img-frame {
    max-width: 90px !important;
  }
  .p-lp-intro-set-img {
    max-width: 160px;
  }
}

/* 商品詳細セクション: 純粋な近黒 */
.p-lp-section.-dark {
  background: #0a0a0a !important;
  color: #fff !important;
}

/* 特長ブロック: クリアチャコール */
.p-lp-mechanism {
  background: #141414 !important;
  border: 1px solid rgba(212,175,55,0.22) !important;
  box-shadow: 0 4px 28px rgba(0,0,0,0.55) !important;
}

/* セット内容: 少し明るい純グレー */
.p-lp-set-contents {
  background: #1a1a1a !important;
  border: 1px solid rgba(212,175,55,0.18) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.45) !important;
}

/* HOW TO セクション: クリアダークネイビー */
.p-lp-howto {
  background-color: #0d1420 !important;
}

/* 工程ブロック: くっきり明るいネイビー */
.p-lp-howto-block {
  background: #1c2840 !important;
  border: 1px solid rgba(100,150,230,0.25) !important;
  box-shadow: 0 2px 16px rgba(0,0,0,0.4) !important;
}

/* ラインナップセクション */
.p-lp-lineup.p-lp-section {
  background: #080808 !important;
}

/* C199 — 細かいドットグリッド */
#tab-c199 .p-lp-section.-dark {
  background-color: #0a0a0a !important;
  background-image:
    radial-gradient(circle, rgba(212,175,55,0.09) 1.5px, transparent 1.5px) !important;
  background-size: 28px 28px !important;
}
#tab-c199 .p-lp-howto {
  background-color: #0c1118 !important;
  background-image:
    radial-gradient(circle, rgba(160,200,255,0.07) 1.5px, transparent 1.5px) !important;
  background-size: 28px 28px !important;
}

/* C198 — 斜めクロスハッチ（カーボンファイバー風） */
#tab-c198 .p-lp-section.-dark {
  background-color: #090909 !important;
  background-image:
    repeating-linear-gradient(
      45deg,
      rgba(200,210,255,0.04) 0px, rgba(200,210,255,0.04) 1px,
      transparent 1px, transparent 14px
    ),
    repeating-linear-gradient(
      -45deg,
      rgba(200,210,255,0.04) 0px, rgba(200,210,255,0.04) 1px,
      transparent 1px, transparent 14px
    ) !important;
}
#tab-c198 .p-lp-howto {
  background-color: #080c14 !important;
  background-image:
    repeating-linear-gradient(
      45deg,
      rgba(160,200,255,0.04) 0px, rgba(160,200,255,0.04) 1px,
      transparent 1px, transparent 14px
    ),
    repeating-linear-gradient(
      -45deg,
      rgba(160,200,255,0.04) 0px, rgba(160,200,255,0.04) 1px,
      transparent 1px, transparent 14px
    ) !important;
}

/* ラインナップセクションにも軽いパターン */
.p-lp-lineup.p-lp-section {
  background-color: #080808 !important;
  background-image:
    radial-gradient(circle, rgba(212,175,55,0.06) 1px, transparent 1px) !important;
  background-size: 36px 36px !important;
}

.p-lp-main {
  background: none !important;
  position: relative;
}

/* ================================================================
   C199 アクティブ時 — ヘッドライトビーム背景
   ================================================================ */
.p-lp-main:has(#tab-c199.is-active) {
  background-color: #05050c !important;
  background-image:
    /* 左ヘッドライト光源グロー */
    radial-gradient(
      ellipse 50% 38% at 18% 0%,
      rgba(255, 220, 80, 0.60) 0%,
      rgba(255, 200, 50, 0.28) 35%,
      transparent 65%
    ),
    /* 右ヘッドライト光源グロー */
    radial-gradient(
      ellipse 50% 38% at 82% 0%,
      rgba(255, 220, 80, 0.60) 0%,
      rgba(255, 200, 50, 0.28) 35%,
      transparent 65%
    ),
    /* 中央から下方向への淡い照射 */
    radial-gradient(
      ellipse 90% 55% at 50% 0%,
      rgba(255, 200, 60, 0.10) 0%,
      transparent 65%
    ),
    /* ゴールドドットグリッド */
    radial-gradient(
      circle, rgba(212, 175, 55, 0.32) 1.5px, transparent 1.5px
    ) !important;
  background-size:
    100% 100%,
    100% 100%,
    100% 100%,
    22px 22px !important;
  background-attachment: fixed !important;
}

/* ================================================================
   C198 アクティブ時 — カーボンファイバー織り目背景
   ================================================================ */
.p-lp-main:has(#tab-c198.is-active) {
  background-color: #050507 !important;
  background-image:
    /* カーボン織り目ハイライト（右上がり） */
    repeating-linear-gradient(
      -45deg,
      transparent            0px,
      transparent            3px,
      rgba(255,255,255,0.11) 3px,
      rgba(255,255,255,0.11) 5px,
      transparent            5px,
      transparent           11px,
      rgba(255,255,255,0.05) 11px,
      rgba(255,255,255,0.05) 13px,
      transparent           13px,
      transparent           16px
    ),
    /* カーボン織り目シャドウ（左上がり） */
    repeating-linear-gradient(
      45deg,
      transparent        0px,
      transparent        3px,
      rgba(0, 0, 0, 0.55) 3px,
      rgba(0, 0, 0, 0.55) 5px,
      transparent        5px,
      transparent       11px,
      rgba(0, 0, 0, 0.30) 11px,
      rgba(0, 0, 0, 0.30) 13px,
      transparent       13px,
      transparent       16px
    ),
    /* 上部の光沢反射 */
    linear-gradient(
      170deg,
      rgba(150, 180, 255, 0.09) 0%,
      transparent 45%
    ) !important;
  background-size: 16px 16px, 16px 16px, 100% 100% !important;
  background-attachment: fixed !important;
}

/* ================================================================
   タブ切り替えが効いていない古いブラウザ向けデフォルト
   ================================================================ */
.p-lp-main:not(:has(.p-lp-tab-panel.is-active)) {
  background-color: #06060c !important;
}

/* ================================================================
   セクションを半透明化 → スクロールで固定背景が透けて見える
   ================================================================ */

/* 商品詳細 */
#tab-c199 .p-lp-section.-dark,
#tab-c198 .p-lp-section.-dark {
  background: rgba(5, 5, 12, 0.88) !important;
  background-image: none !important;
  backdrop-filter: none;
}

/* HOW TO */
#tab-c199 .p-lp-howto,
#tab-c198 .p-lp-howto {
  background: rgba(6, 8, 18, 0.90) !important;
  background-image: none !important;
}

/* ラインナップタブセクション */
.p-lp-lineup.p-lp-section {
  background: rgba(4, 4, 10, 0.84) !important;
  background-image: none !important;
}

/* セクション間の隙間 — ここから固定背景がはっきり見える */
#tab-c199 .p-lp-section.-dark,
#tab-c198 .p-lp-section.-dark {
  margin-bottom: 16px !important;
}

/* ================================================================
   「浮いて滑る」感を強調するカード上端シャドウ
   ================================================================ */
#tab-c199 .p-lp-section.-dark,
#tab-c198 .p-lp-section.-dark,
#tab-c199 .p-lp-howto,
#tab-c198 .p-lp-howto {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 -4px 24px rgba(0, 0, 0, 0.4) !important;
}

/* ================================================================
   iOS Safari フォールバック（:has() と fixed 非対応）
   ================================================================ */
@supports not (selector(:has(a))) {
  .p-lp-main {
    background-color: #05050c !important;
    background-image:
      radial-gradient(circle, rgba(212,175,55,0.28) 1.5px, transparent 1.5px) !important;
    background-size: 22px 22px !important;
  }
}

.p-lp-hero {
  /* ヒーロー画像の下に隙間なし（画像が背景を隠すのはOK） */
  margin-bottom: 0 !important;
}
.p-lp-disclaimer {
  /* ここは意図的に透明 → 固定背景が見える帯として活かす */
  background: transparent !important;
  padding: 20px 20px !important;
  position: relative;
  z-index: 1;
}

.p-lp-lineup.p-lp-section {
  background: rgba(4, 4, 10, 0.80) !important;
  background-image: none !important;
  margin-bottom: 20px !important;  /* 下に隙間 → 固定背景が見える */
}

#tab-c199 .p-lp-section.-dark,
#tab-c198 .p-lp-section.-dark {
  background: rgba(5, 5, 12, 0.78) !important;
  background-image: none !important;
  margin-bottom: 20px !important;
}

#tab-c199 .p-lp-howto,
#tab-c198 .p-lp-howto {
  background: rgba(5, 7, 16, 0.80) !important;
  background-image: none !important;
  margin-bottom: 0 !important;
}

.p-lp-section.-buy {
  background: #f5f5f5 !important;
  background-image: none !important;
  margin-top: 20px !important; /* 上に隙間 → 固定背景との境界 */
}

.p-lp-lineup.p-lp-section {
  margin: 16px 24px 20px !important;
  border-radius: 20px !important;
  overflow: hidden;
}

#tab-c199 .p-lp-section.-dark,
#tab-c198 .p-lp-section.-dark {
  margin: 0 24px 20px !important;
  border-radius: 20px !important;
  overflow: hidden;
}

#tab-c199 .p-lp-howto,
#tab-c198 .p-lp-howto {
  margin: 0 24px 20px !important;
  border-radius: 20px !important;
  overflow: hidden;
}

.p-lp-section.-buy {
  margin: 20px 24px 0 !important;
  border-radius: 20px !important;
  overflow: hidden;
}

.p-lp-disclaimer {
  padding: 16px 48px !important;
  background: transparent !important;
}

@media screen and (max-width: 768px) {
  .p-lp-lineup.p-lp-section,
  #tab-c199 .p-lp-section.-dark,
  #tab-c198 .p-lp-section.-dark,
  #tab-c199 .p-lp-howto,
  #tab-c198 .p-lp-howto,
  .p-lp-section.-buy {
    margin-left: 12px !important;
    margin-right: 12px !important;
    border-radius: 14px !important;
  }
}

/* 外側セクション → 完全透明 */
#tab-c199 .p-lp-section.-dark,
#tab-c198 .p-lp-section.-dark,
#tab-c199 .p-lp-howto,
#tab-c198 .p-lp-howto,
.p-lp-lineup.p-lp-section {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  /* v7 で付けた margin/border-radius は維持 */
}

/* 商品イントロ（PNG + テキスト）が固定背景上に直接乗る
   テキストをすこし読みやすくするため、影だけ付ける */
.p-lp-product-card__layout {
  text-shadow: 0 1px 12px rgba(0,0,0,0.8);
}
.p-lp-product-card__layout h2,
.p-lp-product-card__layout p {
  text-shadow: 0 1px 10px rgba(0,0,0,0.9);
}

.p-lp-tab-btn {
  background: #141414 !important;   /* 完全不透明 */
}
.p-lp-tab-btn:hover {
  background: #1c1a0e !important;
}
.p-lp-tab-btn.is-active {
  background: #1a180a !important;
}
.p-lp-tab-btn__catch {
  font-size: 15px !important;
}
.p-lp-tab-btn__name {
  font-size: 22px !important;
}
@media screen and (max-width: 768px) {
  .p-lp-tab-btn__catch { font-size: 13px !important; }
  .p-lp-tab-btn__name  { font-size: 17px !important; }
}

/* ラインナップセクション: 下padding を絞る */
.p-lp-lineup.p-lp-section {
  padding-top: 48px !important;
  padding-bottom: 24px !important;
}

/* scroll hint 自体のマージン縮小 */
.p-lp-scroll-hint {
  margin-top: 20px !important;
}

/* タブコンテンツ最初のセクション: 上余白ゼロ */
.p-lp-tab-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.p-lp-tab-panel > .p-lp-section.-dark:first-child,
.p-lp-tab-panel > section:first-child {
  padding-top: 40px !important;
}

/* 商品詳細セクション内上下 */
.p-lp-section.-dark {
  padding-top: 40px !important;
  padding-bottom: 48px !important;
}

/* HOW TO セクション */
.p-lp-howto {
  padding-top: 48px !important;
  padding-bottom: 56px !important;
}

/* 品番バッジ */
.p-lp-product-num {
  font-size: 16px !important;
  padding: 6px 16px !important;
  margin-bottom: 20px !important;
  letter-spacing: 0.10em !important;
}

/* メインタイトル */
.p-lp-section-title--lg {
  font-size: clamp(32px, 5vw, 52px) !important;
  line-height: 1.25 !important;
  margin-bottom: 20px !important;
}

/* 商品画像フレーム：大きく */
.p-lp-vertical-img-frame {
  max-width: 420px !important;
}
.p-lp-vertical-img-frame img {
  max-height: 560px !important;
}

/* イントロ画像エリア（PNG + セット画像） */
.p-lp-intro-imgs .p-lp-vertical-img-frame {
  max-width: 200px !important;
}
.p-lp-intro-set-img {
  max-width: 300px !important;
}

@media screen and (max-width: 768px) {
  .p-lp-section-title--lg { font-size: clamp(26px, 7vw, 36px) !important; }
  .p-lp-intro-imgs .p-lp-vertical-img-frame { max-width: 130px !important; }
  .p-lp-intro-set-img { max-width: 180px !important; }
}

.p-lp-before-after img {
  max-width: 640px !important;
}
.p-lp-case-slider .cocoen {
  max-width: 680px !important;
  margin: 0 auto !important;
}
/* 施工事例ブロック全体の上下余白 */
.p-lp-case-container {
  padding: 32px 0 16px !important;
}

.p-lp-main:has(#tab-c199.is-active) {
  background-color: #04080f !important;
  background-image:
    /* 上部中央から広がる青白いグロー（透明感・光） */
    radial-gradient(
      ellipse 70% 40% at 50% -5%,
      rgba(100, 200, 255, 0.40) 0%,
      rgba(60,  150, 230, 0.18) 40%,
      transparent 70%
    ),
    /* 左から差し込む光 */
    radial-gradient(
      ellipse 45% 30% at 0% 30%,
      rgba(80, 180, 255, 0.18) 0%,
      transparent 65%
    ),
    /* 右から差し込む光 */
    radial-gradient(
      ellipse 45% 30% at 100% 30%,
      rgba(80, 180, 255, 0.18) 0%,
      transparent 65%
    ),
    /* 細かいシアン系ドットグリッド */
    radial-gradient(
      circle, rgba(100, 210, 255, 0.30) 1.5px, transparent 1.5px
    ) !important;
  background-size:
    100% 100%,
    100% 100%,
    100% 100%,
    22px 22px !important;
  background-attachment: fixed !important;
}

.p-lp-section.-buy {
  margin: 20px 24px 24px !important;   /* bottom 24px でフッター前に隙間 */
  border-radius: 20px !important;
  overflow: hidden;
}
/* フッター自体に上マージン（固定背景の帯を見せる） */
.l-footer {
  margin-top: 0 !important;           /* footer は隙間なし、buyの下マージンで対応 */
}

.p-lp-case-container {
  padding: 40px 0 24px !important;
}
.p-lp-case-single__text {
  margin-bottom: 24px !important;
}
.p-lp-case-single__text p {
  margin-top: 12px !important;
  line-height: 1.8 !important;
  padding: 0 8px;
}

.p-lp-top-img {
  width: 100%;
  max-width: 460px;
  height: auto;
  display: block;
  border-radius: 14px;
  filter:
    drop-shadow(0 16px 40px rgba(0,0,0,0.85))
    drop-shadow(0 0 60px rgba(0,0,0,0.4));
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .p-lp-top-img {
    max-width: 320px;
  }
}

/* 2カラムレイアウトの画像側: 下揃えから中央揃えに */
.p-lp-product-card__layout {
  align-items: center !important;
}

.p-lp-top-img-wrap {
  position: relative;
  display: inline-block;
  max-width: 460px;
  width: 100%;
  /* セット画像がはみ出すぶんの余白確保（下・右） */
  padding-bottom: 40px;
  padding-right: 36px;
  box-sizing: border-box;
}

.p-lp-top-img {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
  border-radius: 14px;
  /* 白系光彩: 内縁の薄いリム + 外側のソフトグロー2段 */
  box-shadow:
    0 0 0 1px  rgba(255, 255, 255, 0.25),
    0 0 16px   rgba(255, 255, 255, 0.18),
    0 0 48px   rgba(255, 255, 255, 0.08),
    0 12px 40px rgba(0, 0, 0, 0.70);
}

.p-lp-top-set-img {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 42%;           /* トップ画像の約4割幅 */
  height: auto;
  border-radius: 10px;
  border: 2px solid rgba(255, 255, 255, 0.20);
  box-shadow:
    0 0 0 1px  rgba(255, 255, 255, 0.12),
    0 0 12px   rgba(255, 255, 255, 0.10),
    0 8px 24px rgba(0, 0, 0, 0.75);
  background: #000;     /* PNG透過部分の背景 */
}

@media screen and (max-width: 768px) {
  .p-lp-top-img-wrap {
    max-width: 320px;
    padding-bottom: 28px;
    padding-right: 26px;
  }
  .p-lp-top-set-img {
    width: 38%;
    border-radius: 7px;
    border-width: 1px;
  }
}

.p-lp-top-img-wrap {
  padding-bottom: 56px;   /* セット画像が下にはみ出す分を増やす */
  padding-right: 32px;
}

/* top画像: 前面 + drop-shadow で輪郭グロー */
.p-lp-top-img {
  position: relative;
  z-index: 2;
  box-shadow: none;       /* 矩形box-shadowは廃止 */
  filter:
    drop-shadow(0 0 2px  rgba(255, 255, 255, 0.70))
    drop-shadow(0 0 10px rgba(255, 255, 255, 0.30))
    drop-shadow(0 0 28px rgba(255, 255, 255, 0.12))
    drop-shadow(0 16px 40px rgba(0, 0, 0, 0.80));
}

/* セット画像: 背面 + 大きめ + もう少し下 */
.p-lp-top-set-img {
  z-index: 1;             /* top画像より後ろ */
  width: 55%;
  bottom: -8px;           /* より下に */
  right: 0;
  box-shadow:
    0 6px 24px rgba(0, 0, 0, 0.80),
    0 0 0 1px rgba(255, 255, 255, 0.12);
}

/* SP */
@media screen and (max-width: 768px) {
  .p-lp-top-img-wrap {
    padding-bottom: 42px;
    padding-right: 24px;
  }
  .p-lp-top-set-img {
    width: 48%;
    bottom: -6px;
  }
}

.p-lp-top-img-wrap {
  padding-bottom: 80px !important;   /* 大きくはみ出す分の余白 */
  padding-right: 36px !important;
}
.p-lp-top-set-img {
  width: 65% !important;             /* より大きく */
  bottom: -36px !important;          /* 商品画像の下にしっかり出る */
  right: 0 !important;
}
@media screen and (max-width: 768px) {
  .p-lp-top-img-wrap {
    padding-bottom: 60px !important;
    padding-right: 24px !important;
  }
  .p-lp-top-set-img {
    width: 56% !important;
    bottom: -24px !important;
  }
}

.p-lp-main:has(#tab-c198.is-active) {
  background-color: #040408 !important;
  background-image:
    /* ハニカムSVG */
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='96'%3E%3Cpath d='M28 0L56 16L56 48L28 64L0 48L0 16ZM28 32L56 48L56 80L28 96L0 80L0 48Z' fill='none' stroke='rgba(255%2C255%2C255%2C0.18)' stroke-width='1.2'/%3E%3C%2Fsvg%3E"),
    /* 上部から薄く差し込む光沢 */
    linear-gradient(
      180deg,
      rgba(140, 180, 255, 0.07) 0%,
      transparent 40%
    ) !important;
  background-size: 56px 96px, 100% 100% !important;
  background-attachment: fixed !important;
}

.p-lp-main:has(#tab-c198.is-active) {
  background-color: #040408 !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='52'%3E%3Cdefs%3E%3CradialGradient id='g' cx='50%25' cy='50%25' r='55%25'%3E%3Cstop offset='0%25' stop-color='white' stop-opacity='0.07'/%3E%3Cstop offset='100%25' stop-color='white' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpolygon points='75,26 60,0 30,0 15,26 30,52 60,52' fill='url(%23g)' stroke='rgba(255%2C255%2C255%2C0.22)' stroke-width='1.2'/%3E%3Cline x1='0' y1='26' x2='15' y2='26' stroke='rgba(255%2C255%2C255%2C0.22)' stroke-width='1.2'/%3E%3Cline x1='75' y1='26' x2='90' y2='26' stroke='rgba(255%2C255%2C255%2C0.22)' stroke-width='1.2'/%3E%3C/svg%3E"),
    linear-gradient(180deg, rgba(140,180,255,0.06) 0%, transparent 40%) !important;
  background-size: 90px 52px, 100% 100% !important;
  background-attachment: fixed !important;
}

.p-lp-main:has(#tab-c198.is-active) {
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='52'%3E%3Cdefs%3E%3CradialGradient id='g' cx='50%25' cy='50%25' r='55%25'%3E%3Cstop offset='0%25' stop-color='white' stop-opacity='0.04'/%3E%3Cstop offset='100%25' stop-color='white' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpolygon points='75,26 60,0 30,0 15,26 30,52 60,52' fill='url(%23g)' stroke='rgba(255%2C255%2C255%2C0.11)' stroke-width='1'/%3E%3Cline x1='0' y1='26' x2='15' y2='26' stroke='rgba(255%2C255%2C255%2C0.11)' stroke-width='1'/%3E%3Cline x1='75' y1='26' x2='90' y2='26' stroke='rgba(255%2C255%2C255%2C0.11)' stroke-width='1'/%3E%3C/svg%3E"),
    linear-gradient(180deg, rgba(140,180,255,0.04) 0%, transparent 40%) !important;
  background-size: 90px 52px, 100% 100% !important;
  background-attachment: fixed !important;
}

.p-lp-main:has(#tab-c198.is-active) {
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='52'%3E%3Cdefs%3E%3CradialGradient id='g' cx='50%25' cy='50%25' r='55%25'%3E%3Cstop offset='0%25' stop-color='white' stop-opacity='0.055'/%3E%3Cstop offset='100%25' stop-color='white' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpolygon points='75,26 60,0 30,0 15,26 30,52 60,52' fill='url(%23g)' stroke='rgba(255%2C255%2C255%2C0.16)' stroke-width='1.1'/%3E%3Cline x1='0' y1='26' x2='15' y2='26' stroke='rgba(255%2C255%2C255%2C0.16)' stroke-width='1.1'/%3E%3Cline x1='75' y1='26' x2='90' y2='26' stroke='rgba(255%2C255%2C255%2C0.16)' stroke-width='1.1'/%3E%3C/svg%3E"),
    linear-gradient(180deg, rgba(140,180,255,0.05) 0%, transparent 40%) !important;
  background-size: 90px 52px, 100% 100% !important;
  background-attachment: fixed !important;
}

/* ── PC（900px以上）: オーバーレイ表示 ── */
@media screen and (min-width: 900px) {
  .p-lp-top-img-wrap {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: 500px !important;
    padding: 0 0 100px 0 !important; /* 下に set画像が出るぶんの余白 */
    box-sizing: border-box;
    overflow: visible !important;
    margin: 0 auto;
  }
  .p-lp-top-img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    position: relative;
    z-index: 2;
  }
  .p-lp-top-set-img {
    position: absolute !important;
    /* 右方向に大きくずらす: top画像右端より右に飛び出す */
    left: 52% !important;
    bottom: 0 !important;
    width: 72% !important;
    z-index: 1 !important;
    margin-top: 0 !important;
  }
}

/* ── 中間〜SP（899px以下）: 縦並び・センター ── */
@media screen and (max-width: 899px) {
  .p-lp-top-img-wrap {
    position: static !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 420px !important;
    padding: 0 !important;
    margin: 0 auto !important;
    overflow: visible !important;
  }
  /* u-center 親の中央揃え */
  .p-lp-product-card__layout .u-center {
    display: flex;
    justify-content: center;
  }
  .p-lp-top-img {
    position: static !important;
    width: 100% !important;
    max-width: 420px !important;
    z-index: auto !important;
  }
  .p-lp-top-set-img {
    position: static !important;
    width: 85% !important;
    max-width: 360px !important;
    margin-top: 20px !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    z-index: auto !important;
  }
}

/* SP小（480px以下） */
@media screen and (max-width: 480px) {
  .p-lp-top-img-wrap  { max-width: 320px !important; }
  .p-lp-top-img       { max-width: 320px !important; }
  .p-lp-top-set-img   { max-width: 280px !important; }
}

/* section自体は透明（固定背景が見える） */
.p-lp-section.-buy {
  background: transparent !important;
  border-radius: 0 !important;
  overflow: visible !important;
  padding-top: 40px !important;
  padding-bottom: 48px !important;
}

/* タイトル専用ボックス（小さくまとめる） */
.p-lp-buy-title-box {
  background: rgba(245, 245, 245, 0.96);
  border-radius: 14px;
  padding: 28px 48px;
  max-width: 640px;
  margin: 0 auto 36px;
  text-align: center;
}
.p-lp-buy-title-box .p-lp-unified-title {
  color: #1a1a1a !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  font-size: clamp(20px, 3.5vw, 30px) !important;
}
.p-lp-buy-title-box .p-lp-unified-title::after {
  display: none !important; /* 下線不要 */
}

/* 購入カードグリッドのコンテナ幅 */
.p-lp-buy-container {
  max-width: 820px !important;
}

/* 購入カード */
.p-lp-buy-card {
  background: rgba(255, 255, 255, 0.97) !important;
  border: none !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.45) !important;
}

@media screen and (max-width: 768px) {
  .p-lp-buy-title-box {
    padding: 20px 24px;
    margin-bottom: 24px;
  }
}

.l-footer,
.l-footer .l-unit.-solid {
  border-top: none !important;
  box-shadow: none !important;
}

.p-lp-top-img-wrap {
  position: static !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 480px !important;
  padding: 0 !important;
  margin: 0 auto !important;
  overflow: visible !important;
  gap: 20px;
}

.p-lp-top-img {
  position: static !important;
  display: block !important;
  width: 100% !important;
  max-width: 480px !important;
  z-index: auto !important;
}

.p-lp-top-set-img {
  position: static !important;
  display: block !important;
  width: 90% !important;
  max-width: 400px !important;
  bottom: auto !important;
  right: auto !important;
  left: auto !important;
  z-index: auto !important;
  margin: 0 !important;
}

/* 親の u-center も flex で中央揃え */
.p-lp-product-card__layout .u-center {
  display: flex !important;
  justify-content: center !important;
}

@media screen and (max-width: 768px) {
  .p-lp-top-img    { max-width: 360px !important; }
  .p-lp-top-set-img{ max-width: 300px !important; width: 85% !important; }
}

/* footer本体 */
.l-footer {
  border-top: none !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

/* footer内 l-unit */
.l-footer .l-unit,
.l-footer .l-unit.-solid {
  border-top: none !important;
  border: none !important;
  box-shadow: none !important;
}

/* 疑似要素（線を描画している可能性） */
.l-footer::before,
.l-footer::after,
.l-footer .l-unit::before,
.l-footer .l-unit::after,
.l-footer .l-unit.-solid::before,
.l-footer .l-unit.-solid::after {
  display: none !important;
  border: none !important;
  background: none !important;
  box-shadow: none !important;
}

/* 購入セクションの下マージン（隙間から白が見えている可能性） */
.p-lp-section.-buy {
  margin-bottom: 24px !important;
}

.p-lp-top-set-img {
  max-width: 260px !important;
  width: 60% !important;
}

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

  /* 商品紹介2列を縦flex化（既存の-spc-mdd-1col に上書き） */
  .p-lp-product-card__layout {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  /* 品番+商品名(+説明文)のブロック → 先頭 */
  .p-lp-product-card__layout .u-pl40,
  .p-lp-product-card__layout .u-pl0-mdd {
    order: 1 !important;
    width: 100% !important;
    padding: 0 !important;
    margin-bottom: 24px !important;  /* テキストと画像の間隔 */
    text-align: left;
  }

  /* 画像ブロック → 後 */
  .p-lp-product-card__layout .u-center {
    order: 2 !important;
    width: 100% !important;
    margin-bottom: 0 !important;
  }

  /* 品番バッジとタイトル上部の余白 */
  .p-lp-product-num {
    margin-bottom: 12px !important;
    display: inline-block !important;
  }
  .p-lp-section-title--lg {
    margin-top: 8px !important;
  }

  /* 画像の上マージン不要 */
  .p-lp-top-img-wrap {
    margin-top: 0 !important;
  }
}

.p-lp-buy-title-box {
  max-width: 820px !important;  /* p-lp-buy-container と同幅 */
  padding: 28px 40px !important;
}

@media screen and (max-width: 768px) {
  .p-lp-buy-title-box {
    padding: 20px 20px !important;
  }
}

.p-lp-top-set-img { display: none !important; }

/* PC: 画像カラムのバッジは隠す */
.p-lp-product-num--img {
  display: none;
}
/* PC: テキストカラムのバッジは通常表示 */
.p-lp-product-num--text {
  display: inline-block;
}

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

  /* SP: 画像カラムのバッジを表示・センター */
  .p-lp-product-num--img {
    display: block !important;
    text-align: center !important;
    margin: 0 auto 14px !important;
    width: auto !important;
  }
  /* SP: テキストカラムのバッジは隠す */
  .p-lp-product-num--text {
    display: none !important;
  }

  /* SP: 画像カラム（バッジ + 画像）を先頭に */
  .p-lp-product-card__layout .u-center {
    order: 1 !important;
    margin-bottom: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }
  /* SP: テキストカラム（h2 + 説明文）を後に */
  .p-lp-product-card__layout .u-pl40,
  .p-lp-product-card__layout .u-pl0-mdd {
    order: 2 !important;
    margin-top: 28px !important;
    margin-bottom: 0 !important;
  }

  /* 画像上下の余白 */
  .p-lp-top-img-wrap {
    margin-top: 0 !important;
  }
}

.l-footer {
  border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
}
.l-footer .l-unit,
.l-footer .l-unit.-solid {
  border-top: none !important;
}
.l-footer::before,
.l-footer .l-unit::before,
.l-footer .l-unit.-solid::before {
  display: none !important;
}

.p-lp-mechanism {
  border: 1px solid rgba(212, 175, 55, 0.35) !important;
}
.p-lp-set-contents {
  border: 1px solid rgba(212, 175, 55, 0.28) !important;
}
.p-lp-howto-block {
  border: 1px solid rgba(100, 150, 220, 0.30) !important;
}
/* 購入カード */
.p-lp-buy-card {
  border: none !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.40) !important;
}

.p-lp-product-num--img {
  display: none !important;
}
.p-lp-product-num--text {
  display: inline-block !important;
}
@media screen and (max-width: 768px) {
  .p-lp-product-num--img {
    display: block !important;
    text-align: center !important;
    margin: 0 auto 14px !important;
  }
  .p-lp-product-num--text {
    display: none !important;
  }
}

.p-lp-buy-title-box {
  max-width: 1100px !important;
  width: 100% !important;
  padding: 28px 40px !important;
  box-sizing: border-box !important;
  margin: 0 auto 36px !important;
}
.p-lp-buy-container {
  max-width: 1100px !important;
  width: 100% !important;
}
@media screen and (max-width: 768px) {
  .p-lp-buy-title-box {
    padding: 20px 20px !important;
  }
}

.p-lp-set-contents__sub-imgs {
  width: 100% !important;
  max-width: 100% !important;
  grid-template-columns: 45% 1fr !important; /* sub1:45% sub2:残り全部 */
  gap: 20px !important;
  margin-top: 24px !important;
}
.p-lp-set-contents__sub-imgs img {
  width: 100% !important;
  height: auto !important;
  border-radius: 8px !important;
  border: none !important;         /* 後述のタイル枠廃止と統一 */
  box-shadow: 0 4px 16px rgba(0,0,0,0.55) !important;
}
@media screen and (max-width: 768px) {
  .p-lp-set-contents__sub-imgs {
    grid-template-columns: 1fr 1fr !important;
  }
}

.l-footer {
  border-top: 1px solid rgba(255, 255, 255, 0.14) !important;
  /* hed側のボーダーを上書きするためbox-shadowでも補強 */
  box-shadow: inset 0 1px 0 0 rgba(255, 255, 255, 0.14) !important;
}
.l-footer .l-unit,
.l-footer .l-unit.-solid {
  border-top: none !important;
  box-shadow: none !important;
}

.p-lp-mechanism {
  border: none !important;
  box-shadow:
    0 2px 24px rgba(0, 0, 0, 0.60),
    0 0 0 1px rgba(0, 0, 0, 0.40) !important;
}
.p-lp-set-contents {
  border: none !important;
  box-shadow:
    0 2px 20px rgba(0, 0, 0, 0.55),
    0 0 0 1px rgba(0, 0, 0, 0.35) !important;
}
.p-lp-howto-block {
  border: none !important;
  box-shadow:
    0 2px 20px rgba(0, 0, 0, 0.55),
    0 0 0 1px rgba(0, 0, 0, 0.30) !important;
}
.p-lp-buy-card {
  border: none !important;
  box-shadow: 0 6px 28px rgba(0, 0, 0, 0.30) !important;
}

.p-lp-scroll-hint__text {
  font-size: 15px !important;
}

@media screen and (min-width: 769px) {
  .p-lp-top-img-wrap {
    max-width: 420px !important;
  }
  .p-lp-top-img {
    max-width: 420px !important;
  }
}

.p-lp-top-img {
  box-shadow:
    0 0 0 1px  rgba(255, 255, 255, 0.40),
    0 0 22px   rgba(255, 255, 255, 0.32),
    0 0 60px   rgba(255, 255, 255, 0.16),
    0 12px 40px rgba(0, 0, 0, 0.70) !important;
}

.p-lp-buy-title-box {
  max-width: 1100px !important;
  padding: 28px 40px !important;
}
.p-lp-buy-container {
  max-width: 1100px !important;
}
@media screen and (max-width: 768px) {
  .p-lp-buy-title-box {
    padding: 20px 20px !important;
  }
}

.l-footer {
  border-top: 1px solid rgba(255, 255, 255, 0.22) !important;
  box-shadow: none !important;
}
.l-footer .l-unit,
.l-footer .l-unit.-solid {
  border-top: none !important;
  box-shadow: none !important;
}
.l-footer::before,
.l-footer::after,
.l-footer .l-unit::before,
.l-footer .l-unit::after,
.l-footer .l-unit.-solid::before,
.l-footer .l-unit.-solid::after {
  display: none !important;
  background: none !important;
  box-shadow: none !important;
}

@media screen and (min-width: 769px) {
  .p-lp-product-card__layout .u-center {
    padding-top: 56px !important;
    align-self: flex-start !important;
  }
}

@media screen and (max-width: 768px) {
  .p-lp-product-num--img {
    margin-bottom: 32px !important;
  }
}

@media screen and (min-width: 769px) {
  .p-lp-top-img-wrap {
    max-width: 320px !important;
  }
  .p-lp-top-img {
    max-width: 320px !important;
  }
  /* 画像カラム全体を品番バッジ高さ分だけ下げる */
  .p-lp-product-card__layout .u-center {
    padding-top: 56px !important;
    align-self: flex-start !important;
  }
}

.p-lp-top-img {
  box-shadow: none !important;
  border-radius: 0 !important; /* 切り抜き画像なので角丸不要 */
  filter:
    drop-shadow(0 0 10px rgba(255, 255, 255, 0.50))
    drop-shadow(0 0 28px rgba(255, 255, 255, 0.28))
    drop-shadow(0 10px 24px rgba(0, 0, 0, 0.65)) !important;
}

.p-lp-buy-title-box {
  max-width: 760px !important;
  padding: 28px 40px !important;
}
.p-lp-buy-container {
  max-width: 760px !important;
}
@media screen and (max-width: 768px) {
  .p-lp-buy-title-box {
    padding: 20px 20px !important;
  }
}

/* footer 本体のborder */
.l-footer {
  border-top: 1px solid rgba(255, 255, 255, 0.20) !important;
  box-shadow: none !important;
  margin-top: 0 !important;
}

/* footer内のl-unit系のborder / shadow 全消し */
.l-footer .l-unit,
.l-footer .l-unit.-solid {
  border-top: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ::before / ::after 疑似要素を完全無効化 */
.l-footer::before,
.l-footer::after,
.l-footer .l-unit::before,
.l-footer .l-unit::after,
.l-footer .l-unit.-solid::before,
.l-footer .l-unit.-solid::after {
  display: none !important;
  content: none !important;
  height: 0 !important;
  width: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* p-lp-main / mainタグのbottom border も念のため除去 */
.p-lp-main,
main.p-lp-main {
  border-bottom: none !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.p-lp-main::after {
  display: none !important;
  content: none !important;
  border: none !important;
  background: transparent !important;
}

/* 購入セクションの下マージン除去 */
.p-lp-section.-buy {
  margin-bottom: 0 !important;
  padding-bottom: 40px !important;
}

.p-lp-section.-buy {
  margin-bottom: 0 !important;
  padding-bottom: 60px !important; /* 80px より少し詰めてカード下の余白を適度に */
}

/* フッター: 細い1px線のみ・box-shadowは完全除去 */
.l-footer {
  border-top: 1px solid rgba(255, 255, 255, 0.25) !important;
  box-shadow: none !important;
  margin-top: 0 !important;
}
.l-footer .l-unit,
.l-footer .l-unit.-solid {
  border-top: none !important;
  box-shadow: none !important;
}
.l-footer::before,
.l-footer::after,
.l-footer .l-unit::before,
.l-footer .l-unit::after,
.l-footer .l-unit.-solid::before,
.l-footer .l-unit.-solid::after {
  display: none !important;
  content: none !important;
  height: 0 !important;
  border: none !important;
  background: transparent !important;
}

/* 1. __inner の中央寄せを解除してフル幅に */
.p-lp-set-contents__inner {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* 2. サブ画像: 均等2列 */
.p-lp-set-contents__sub-imgs {
  grid-template-columns: 1fr 1fr !important;
}

/* コンテナ幅: タイトルボックスと揃えつつ少し広く */
.p-lp-buy-container,
.p-lp-buy-title-box {
  max-width: 900px !important;
}
.p-lp-buy-title-box {
  padding: 28px 48px !important;
}

/* 統合カード本体 */
.p-lp-buy-card-unified {
  background: rgba(255, 255, 255, 0.97);
  border-radius: 16px;
  box-shadow: 0 6px 32px rgba(0, 0, 0, 0.35);
  padding: 40px 48px;
}

/* 2列レイアウト */
.p-lp-buy-products {
  display: flex;
  align-items: flex-start;
  gap: 0;
}

/* 各商品列 */
.p-lp-buy-product {
  flex: 1;
  text-align: center;
  padding: 0 32px;
}

/* 縦の区切り線 */
.p-lp-buy-divider {
  width: 1px;
  align-self: stretch;
  background: rgba(0, 0, 0, 0.12);
  flex-shrink: 0;
}

/* ショップアイコン: 大きく */
.p-lp-shop-link img {
  max-width: 140px !important;
  width: 100% !important;
  height: auto !important;
}
.p-lp-shop-link span {
  font-size: 12px !important;
  color: #444 !important;
}
.p-lp-buy-card__shops-row {
  display: flex;
  justify-content: center;
  gap: 16px !important;
  flex-wrap: wrap;
}
.p-lp-buy-card__shops-main {
  display: flex;
  justify-content: center;
  margin-top: 12px !important;
}
.p-lp-buy-card__shops-main .p-lp-shop-link img {
  max-width: 160px !important;
}

/* 商品名 */
.p-lp-buy-card__name {
  font-size: 15px;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 12px;
}

/* 商品画像 */
.p-lp-buy-card__product img {
  max-height: 160px;
  width: auto;
  margin: 0 auto 20px;
  display: block;
}

/* SP: 縦並びに変更 */
@media screen and (max-width: 768px) {
  .p-lp-buy-card-unified {
    padding: 28px 20px;
  }
  .p-lp-buy-products {
    flex-direction: column;
    gap: 32px;
  }
  .p-lp-buy-divider {
    width: 100%;
    height: 1px;
    align-self: auto;
  }
  .p-lp-buy-product {
    padding: 0;
  }
  .p-lp-buy-title-box {
    padding: 20px 20px !important;
  }
}

/* ショップアイコン: 全て同サイズに統一 */
.p-lp-shop-link img {
  max-width: 130px !important;
}
.p-lp-buy-card__shops-main .p-lp-shop-link img {
  max-width: 130px !important;  /* 160px → 130px で揃える */
}

/* 商品画像: 大きく */
.p-lp-buy-card__product img {
  max-height: 220px !important;
  margin-bottom: 24px !important;
}

/* カード内余白: 上下を少し詰めて画像に余裕を */
.p-lp-buy-card-unified {
  padding: 36px 40px !important;
}
.p-lp-buy-product {
  padding: 0 24px !important;
}

@media screen and (max-width: 768px) {
  .p-lp-buy-card-unified {
    padding: 28px 20px !important;
  }
  .p-lp-buy-product {
    padding: 0 !important;
  }
}

/* 帯のスタイルを全リセット */
.p-lp-buy-title-box {
  background: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 0 28px !important;
  margin: 0 auto 0 !important;
  max-width: 900px !important;
}

/* タイトル文字: 背景(#f5f5f5)に合わせてダーク系に */
.p-lp-buy-title-box .p-lp-unified-title {
  color: #1a1a1a !important;
  font-size: clamp(22px, 3vw, 32px) !important;
}

/* アンダーライン装飾も同系色に */
.p-lp-buy-title-box .p-lp-unified-title::after {
  display: block !important;
  background: #c8a828 !important;
  opacity: 0.6;
}

/* 1. 購入セクション背景をページに合わせてダーク化 */
.p-lp-section.-buy {
  background: transparent !important;
}

/* 購入タイトル: 白 (= howto .p-lp-unified-title と同じ) */
.p-lp-buy-title-box .p-lp-unified-title {
  color: #fff !important;
}
.p-lp-buy-title-box .p-lp-unified-title::after {
  display: block !important;
  background: #d4af37 !important;
  opacity: 1 !important;
}

/* 購入カード: 背景が暗くなったのでカードをより引き立てる */
.p-lp-buy-card-unified {
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.55) !important;
}

/* 2. 工程1・2タイトルを白に */
.p-lp-howto-block__title {
  color: #fff !important;
}

/* 3. 特長__name内の白テキスト部分 */
.p-lp-mechanism-item__name {
  color: #fff;
}
.p-lp-mechanism-item__name .u-text-gold {
  color: #d4af37 !important;
}

/* 1. ※注記テキストの右余白 */
.p-lp-set-contents__note {
  padding-right: 20px !important;
}
.p-lp-set-contents__list {
  padding-right: 24px !important;
}

/* 2. SP: top-img を少し小さく */
@media screen and (max-width: 768px) {
  .p-lp-top-img-wrap {
    max-width: 240px !important;
  }
  .p-lp-top-img {
    max-width: 240px !important;
  }
}

/* 画像エリアを横並びに */
.p-lp-buy-card__product {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  margin-bottom: 20px !important;
}

/* 商品パッケージ画像 */
.p-lp-buy-product-img {
  max-height: 180px !important;
  width: auto !important;
  flex-shrink: 0;
}

/* セット内容画像: 少し小さめ */
.p-lp-buy-set-img {
  max-height: 120px !important;
  width: auto !important;
  flex-shrink: 0;
  border-radius: 6px !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.18) !important;
}

/* SP: 縦並び */
@media screen and (max-width: 768px) {
  .p-lp-buy-card__product {
    flex-direction: column !important;
    gap: 12px !important;
  }
  .p-lp-buy-product-img {
    max-height: 150px !important;
  }
  .p-lp-buy-set-img {
    max-height: 100px !important;
  }
}

/* 枠を広げる */
.p-lp-buy-container,
.p-lp-buy-title-box {
  max-width: 1000px !important;
}

/* 画像エリア: はみ出ないよう幅を制限 */
.p-lp-buy-card__product {
  width: 100% !important;
  overflow: hidden !important;
}

/* 商品パッケージ画像: 縮小 */
.p-lp-buy-product-img {
  max-height: 140px !important;
  max-width: 45% !important;
  object-fit: contain !important;
}

/* セット内容画像: 縮小 */
.p-lp-buy-set-img {
  max-height: 110px !important;
  max-width: 50% !important;
  object-fit: contain !important;
}

/* SP調整 */
@media screen and (max-width: 768px) {
  .p-lp-buy-product-img {
    max-height: 130px !important;
    max-width: 100% !important;
  }
  .p-lp-buy-set-img {
    max-height: 95px !important;
    max-width: 100% !important;
  }
}

@media screen and (max-width: 768px) {
  .p-lp-buy-product {
    align-items: center !important;
    text-align: center !important;
  }
  .p-lp-buy-card__product {
    align-items: center !important;
    justify-content: center !important;
  }
  .p-lp-buy-card__shops-row {
    justify-content: center !important;
  }
  .p-lp-buy-card__name {
    text-align: center !important;
  }
}

@media screen and (min-width: 769px) {
  .p-lp-buy-card__product {
    align-items: flex-end !important;
  }
}

/* カウンターリセット: 各グリッドごとに1から振り直し */
.p-lp-howto-step-grid,
.p-lp-howto-grid {
  counter-reset: step-num;
}

/* ラッパーを相対配置の基点に */
.p-lp-howto-img-wrap,
.p-lp-howto-img {
  position: relative;
  counter-increment: step-num;
}

/* バッジ本体 */
.p-lp-howto-img-wrap::before,
.p-lp-howto-img::before {
  content: counter(step-num);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 32px;
  height: 32px;
  background: #d4af37;
  color: #000;
  font-size: 15px;
  font-weight: 900;
  font-family: 'Roboto', sans-serif;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

/* 画像は幅いっぱいに */
.p-lp-howto-img-wrap img,
.p-lp-howto-img img {
  display: block;
  width: 100%;
}

/* 1. 角R処理 */
.p-lp-howto-img-wrap,
.p-lp-howto-img {
  border-radius: 8px !important;
  overflow: hidden !important;
}

/* 2. C199 工程グリッド: 2カラム固定 */
.p-lp-howto-step-grid {
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 28px !important;
}
@media screen and (max-width: 768px) {
  .p-lp-howto-step-grid {
    grid-template-columns: 1fr !important;
  }
}

.p-lp-howto-img-wrap::before,
.p-lp-howto-img::before {
  border-radius: 0 0 8px 0 !important; /* 右下のみ */
}

/* バッジ: 画像の内側に少しオフセット、4角R */
.p-lp-howto-img-wrap::before,
.p-lp-howto-img::before {
  top: 10px !important;
  left: 10px !important;
  border-radius: 6px !important; /* 4角すべてR */
  width: 36px !important;
  height: 36px !important;
  font-size: 16px !important;
  /* 少し影をつけて写真から浮き立たせる */
  box-shadow: 0 2px 6px rgba(0,0,0,0.45) !important;
}

/* PC: バッジをさらに大きく */
@media screen and (min-width: 769px) {
  .p-lp-howto-img-wrap::before,
  .p-lp-howto-img::before {
    width: 44px !important;
    height: 44px !important;
    font-size: 20px !important;
    top: 12px !important;
    left: 12px !important;
  }
}

.p-lp-howto-img-wrap::before,
.p-lp-howto-img::before {
  top: 6px !important;
  left: 6px !important;
}
@media screen and (min-width: 769px) {
  .p-lp-howto-img-wrap::before,
  .p-lp-howto-img::before {
    top: 8px !important;
    left: 8px !important;
  }
}

/* ================================================================
   フォントサイズ統一
   本文系: 15px / 工程タイトル: 18px / 注記・小文字: 13px / ショップラベル: 12px
   ================================================================ */

/* 工程タイトル（「研磨シートを巻き付ける」等） */
.p-lp-howto-step__title {
  font-size: 18px !important;
}

/* 本文・説明テキスト統一（15px） */
.p-lp-howto-step__text,
.p-lp-howto-text,
.p-lp-mechanism-text,
.p-lp-set-contents__list li,
.p-lp-set-contents__list ul {
  font-size: 15px !important;
}

/* 注記・小文字統一（13px） */
.p-lp-howto-step__note,
.p-lp-set-contents__note,
.p-lp-note-subdued,
.p-lp-caution-text {
  font-size: 13px !important;
}

/* ショップラベル統一（12px） */
.p-lp-shop-link span {
  font-size: 12px !important;
}

/* ================================================================
   フォントサイズ レスポンシブ調整
   PC は前のルールで指定済み。SP は一回り小さく調整。
   ================================================================ */
@media screen and (max-width: 768px) {

  /* 工程タイトル: 18px → 16px */
  .p-lp-howto-step__title {
    font-size: 16px !important;
  }

  /* 本文・説明テキスト: 15px → 14px */
  .p-lp-howto-step__text,
  .p-lp-howto-text,
  .p-lp-mechanism-text,
  .p-lp-set-contents__list li,
  .p-lp-set-contents__list ul {
    font-size: 14px !important;
  }

  /* 注記・小文字: 13px → 12px */
  .p-lp-howto-step__note,
  .p-lp-set-contents__note,
  .p-lp-note-subdued,
  .p-lp-caution-text {
    font-size: 12px !important;
  }

  /* ショップラベル: 12px → 11px */
  .p-lp-shop-link span {
    font-size: 11px !important;
  }
}

/* ================================================================
   ヒーロードット インジケーター
   ================================================================ */
.p-lp-hero-dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  padding: 12px 0 4px;
}
.p-lp-hero-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.35);
  cursor: pointer;
  transition: background 0.3s, transform 0.3s;
}
.p-lp-hero-dot.is-active {
  background: #d4af37;
  transform: scale(1.25);
}
.p-lp-hero-dot:hover {
  background: rgba(212, 175, 55, 0.7);
}

/* ================================================================
   各種調整
   ================================================================ */

/* 1. タブボタン内テキストを大きく */
.p-lp-tab-btn__catch {
  font-size: 16px !important;
}
.p-lp-tab-btn__name {
  font-size: 24px !important;
}
@media screen and (max-width: 768px) {
  .p-lp-tab-btn__catch { font-size: 13px !important; }
  .p-lp-tab-btn__name  { font-size: 18px !important; }
}

/* 2. SCROLLヒント上のスペースを広げる */
.p-lp-scroll-hint {
  margin-top: 64px !important;
}

/* 3. 特長画像のborder-radiusをフレームと合わせる */
.p-lp-mechanism-img {
  border-radius: 8px !important;
  display: block !important;
}

/* 4. ライトボックス: カーソルとオーバーレイを非表示 */
.js-lightbox-img {
  cursor: default !important;
}
.p-lightbox-overlay {
  display: none !important;
}

/* 5. SP: .p-lp-mechanism のpaddingを削除 */
@media screen and (max-width: 768px) {
  .p-lp-mechanism {
    padding: 0 !important;
  }
}

/* ================================================================
   工程画像・特長画像の角R修正
   コンテナに overflow:hidden を設定して画像をクリッピング
   ================================================================ */

/* HOW TO工程画像ラッパー */
.p-lp-howto-img-wrap {
  overflow: hidden !important;
}
/* 画像側のborder-radiusは不要（コンテナに任せる） */
.p-lp-howto-img-wrap img {
  border-radius: 0 !important;
}

/* C198 HOW TOの既存ラッパー */
.p-lp-howto-img {
  overflow: hidden !important;
  border-radius: 8px !important;
}
.p-lp-howto-img img {
  border-radius: 0 !important;
}

/* 特長画像: ラッパーなしのため画像自体にRをつけたまま */
.p-lp-mechanism-img {
  border-radius: 8px !important;
}


/* ================================================================
   HOW TO 画像の角R 最終確定
   overflow:hidden をコンテナに設定し、画像を4角Rでクリッピング
   ================================================================ */
.p-lp-howto-img-wrap,
.p-lp-howto-img {
  border-radius: 8px !important;
  overflow: hidden !important;  /* これで画像が4角ともRに沿ってクリップされる */
}
.p-lp-howto-img-wrap img,
.p-lp-howto-img img {
  border-radius: 0 !important;  /* コンテナに任せるため画像側のRは不要 */
  display: block !important;
  width: 100% !important;
}


/* ================================================================
   HOW TO 画像角R 完全確定版（すべての競合ルールを上書き）
   ================================================================ */

/* ラッパーに display:block を明示しないと overflow:hidden が効かない */
.p-lp-howto-img-wrap {
  display: block !important;
  position: relative !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

.p-lp-howto-img {
  display: block !important;
  position: relative !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

/* 画像側はコンテナのクリッピングに任せる */
.p-lp-howto-img-wrap > img,
.p-lp-howto-img > img {
  display: block !important;
  width: 100% !important;
  border-radius: 0 !important;
}


/* ================================================================
   HOW TO 画像角R 決定版
   overflow:hidden に依存せず、img自体にborder-radiusを直接適用
   ================================================================ */

/* ラッパー: line-height:0 で画像下の余白ギャップを除去 */
.p-lp-howto-img-wrap,
.p-lp-howto-img {
  display: block !important;
  position: relative !important;
  line-height: 0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

/* 画像自体にもborder-radiusを直接かける（overflow:hiddenの信頼性に依存しない） */
.p-lp-howto-img-wrap > img,
.p-lp-howto-img > img {
  display: block !important;
  width: 100% !important;
  border-radius: 12px !important;
}


/* タブボタン文字サイズ調整 */
.p-lp-tab-btn__catch { font-size: 18px !important; }
.p-lp-tab-btn__name  { font-size: 26px !important; }
@media screen and (max-width: 768px) {
  .p-lp-tab-btn__catch { font-size: 14px !important; }
  .p-lp-tab-btn__name  { font-size: 20px !important; }
}


/* 特長ラベルが空の場合は非表示 */
.p-lp-mechanism-item__label:empty {
  display: none !important;
}


/* SCROLLヒント 下マージン縮小 */
.p-lp-scroll-hint {
  margin-top: 32px !important;
  padding-bottom: 4px !important;
}


/* C199・C198 最初のセクション上マージンを統一（現在のC199より少し詰め） */
#tab-c199 > .p-lp-section.-dark:first-child,
#tab-c198 > .p-lp-section.-dark:first-child {
  padding-top: 28px !important;
}

/* lineup section の下マージンも統一 */
.p-lp-lineup.p-lp-section {
  padding-bottom: 16px !important;
  margin-bottom: 0 !important;
}


/* C198 最初のセクション: C199より上マージンが広く見えるため補正 */
#tab-c198 > .p-lp-section.-dark:first-child {
  padding-top: 8px !important;
  margin-top: 0 !important;
}


/* C198/C199 上マージン統一 最終確定
   SPは両方とも28px（統一）
   PCはC198に謎の余分なスペースがあるため負のmarginで補正 */

/* まずSP/PC共通でリセット */
#tab-c199 > .p-lp-section.-dark:first-child,
#tab-c198 > .p-lp-section.-dark:first-child {
  padding-top: 28px !important;
  margin-top: 0 !important;
}

/* PCのみ: C198の余分なスペースを負のmarginで補正 */
@media screen and (min-width: 769px) {
  #tab-c198 > .p-lp-section.-dark:first-child {
    margin-top: -24px !important;
  }
}
