/*
 * A.you unified stylesheet - CLEANED SAFE TEST
 * 2026-09-23
 * Exact duplicate CSS rules/at-rules removed; visual cascade intentionally preserved.
 * Backup: ayou-clean-unified-backup-before-clean.css
 */

/* ===== BEGIN SOURCE: normalize.css ===== */
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}
/**
 * Remove default margin.
 */
body {
  margin: 0;
}
/* HTML5 display definitions
   ========================================================================== */
/**
 * 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,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}
/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}
/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}
/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}
/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent;
}
/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */
a:active,
a:hover {
  outline: 0;
}
/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}
/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold;
}
/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic;
}
/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}
/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}
/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0;
}
/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden;
}
/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px;
}
/**
 * Address differences between Firefox and other browsers.
 */
hr {
  box-sizing: content-box;
  height: 0;
}
/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto;
}
/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */
}
/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible;
}
/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none;
}
/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 * 4. CUSTOM FOR WEBFLOW: Removed the input[type="submit"] selector to reduce
 *    specificity and defer to the .w-button selector
 */
button,
html input[type="button"],
input[type="reset"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}
/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}
/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal;
}
/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type='checkbox'],
input[type='radio'] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}
/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
  height: auto;
}
/**
 * 1. CUSTOM FOR WEBFLOW: changed from `textfield` to `none` to normalize iOS rounded input
 * 2. CUSTOM FOR WEBFLOW: box-sizing: content-box rule removed
 *    (similar to normalize.css >=4.0.0)
 */
input[type='search'] {
  -webkit-appearance: none;
  /* 1 */
}
/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type='search']::-webkit-search-cancel-button,
input[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}
/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}
/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto;
}
/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold;
}
/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}
/* ===== END SOURCE: normalize.css ===== */


/* ===== BEGIN SOURCE: webflow.css ===== */
@font-face {
  font-family: 'webflow-icons';
  src: url("data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBiUAAAC8AAAAYGNtYXDpP+a4AAABHAAAAFxnYXNwAAAAEAAAAXgAAAAIZ2x5ZmhS2XEAAAGAAAADHGhlYWQTFw3HAAAEnAAAADZoaGVhCXYFgQAABNQAAAAkaG10eCe4A1oAAAT4AAAAMGxvY2EDtALGAAAFKAAAABptYXhwABAAPgAABUQAAAAgbmFtZSoCsMsAAAVkAAABznBvc3QAAwAAAAAHNAAAACAAAwP4AZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpAwPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAQAAAAAwACAACAAQAAQAg5gPpA//9//8AAAAAACDmAOkA//3//wAB/+MaBBcIAAMAAQAAAAAAAAAAAAAAAAABAAH//wAPAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEBIAAAAyADgAAFAAAJAQcJARcDIP5AQAGA/oBAAcABwED+gP6AQAABAOAAAALgA4AABQAAEwEXCQEH4AHAQP6AAYBAAcABwED+gP6AQAAAAwDAAOADQALAAA8AHwAvAAABISIGHQEUFjMhMjY9ATQmByEiBh0BFBYzITI2PQE0JgchIgYdARQWMyEyNj0BNCYDIP3ADRMTDQJADRMTDf3ADRMTDQJADRMTDf3ADRMTDQJADRMTAsATDSANExMNIA0TwBMNIA0TEw0gDRPAEw0gDRMTDSANEwAAAAABAJ0AtAOBApUABQAACQIHCQEDJP7r/upcAXEBcgKU/usBFVz+fAGEAAAAAAL//f+9BAMDwwAEAAkAABcBJwEXAwE3AQdpA5ps/GZsbAOabPxmbEMDmmz8ZmwDmvxmbAOabAAAAgAA/8AEAAPAAB0AOwAABSInLgEnJjU0Nz4BNzYzMTIXHgEXFhUUBw4BBwYjNTI3PgE3NjU0Jy4BJyYjMSIHDgEHBhUUFx4BFxYzAgBqXV6LKCgoKIteXWpqXV6LKCgoKIteXWpVSktvICEhIG9LSlVVSktvICEhIG9LSlVAKCiLXl1qal1eiygoKCiLXl1qal1eiygoZiEgb0tKVVVKS28gISEgb0tKVVVKS28gIQABAAABwAIAA8AAEgAAEzQ3PgE3NjMxFSIHDgEHBhUxIwAoKIteXWpVSktvICFmAcBqXV6LKChmISBvS0pVAAAAAgAA/8AFtgPAADIAOgAAARYXHgEXFhUUBw4BBwYHIxUhIicuAScmNTQ3PgE3NjMxOAExNDc+ATc2MzIXHgEXFhcVATMJATMVMzUEjD83NlAXFxYXTjU1PQL8kz01Nk8XFxcXTzY1PSIjd1BQWlJJSXInJw3+mdv+2/7c25MCUQYcHFg5OUA/ODlXHBwIAhcXTzY1PTw1Nk8XF1tQUHcjIhwcYUNDTgL+3QFt/pOTkwABAAAAAQAAmM7nP18PPPUACwQAAAAAANciZKUAAAAA1yJkpf/9/70FtgPDAAAACAACAAAAAAAAAAEAAAPA/8AAAAW3//3//QW2AAEAAAAAAAAAAAAAAAAAAAAMBAAAAAAAAAAAAAAAAgAAAAQAASAEAADgBAAAwAQAAJ0EAP/9BAAAAAQAAAAFtwAAAAAAAAAKABQAHgAyAEYAjACiAL4BFgE2AY4AAAABAAAADAA8AAMAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADQAAAAEAAAAAAAIABwCWAAEAAAAAAAMADQBIAAEAAAAAAAQADQCrAAEAAAAAAAUACwAnAAEAAAAAAAYADQBvAAEAAAAAAAoAGgDSAAMAAQQJAAEAGgANAAMAAQQJAAIADgCdAAMAAQQJAAMAGgBVAAMAAQQJAAQAGgC4AAMAAQQJAAUAFgAyAAMAAQQJAAYAGgB8AAMAAQQJAAoANADsd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzVmVyc2lvbiAxLjAAVgBlAHIAcwBpAG8AbgAgADEALgAwd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzUmVndWxhcgBSAGUAZwB1AGwAYQByd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzRm9udCBnZW5lcmF0ZWQgYnkgSWNvTW9vbi4ARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAuAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") format('truetype');
  font-weight: normal;
  font-style: normal;
}
[class^="w-icon-"],
[class*=" w-icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'webflow-icons' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.w-icon-slider-right:before {
  content: "\e600";
}
.w-icon-slider-left:before {
  content: "\e601";
}
.w-icon-nav-menu:before {
  content: "\e602";
}
.w-icon-arrow-down:before,
.w-icon-dropdown-toggle:before {
  content: "\e603";
}
.w-icon-file-upload-remove:before {
  content: "\e900";
}
.w-icon-file-upload-icon:before {
  content: "\e903";
}
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  height: 100%;
}
body {
  margin: 0;
  min-height: 100%;
  background-color: #fff;
  font-family: Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: #333;
}
img {
  max-width: 100%;
  vertical-align: middle;
  display: inline-block;
}
html.w-mod-touch * {
  background-attachment: scroll !important;
}
.w-block {
  display: block;
}
.w-inline-block {
  max-width: 100%;
  display: inline-block;
}
.w-clearfix:before,
.w-clearfix:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-clearfix:after {
  clear: both;
}
.w-hidden {
  display: none;
}
.w-button {
  display: inline-block;
  padding: 9px 15px;
  background-color: #3898EC;
  color: white;
  border: 0;
  line-height: inherit;
  text-decoration: none;
  cursor: pointer;
  border-radius: 0;
}
input.w-button {
  -webkit-appearance: button;
}
html[data-w-dynpage] [data-w-cloak] {
  color: transparent !important;
}
.w-code-block {
  margin: unset;
}
pre.w-code-block code {
  all: inherit;
}
.w-webflow-badge,
.w-webflow-badge * {
  position: static;
  left: auto;
  top: auto;
  right: auto;
  bottom: auto;
  z-index: auto;
  display: block;
  visibility: visible;
  overflow: visible;
  overflow-x: visible;
  overflow-y: visible;
  box-sizing: border-box;
  width: auto;
  height: auto;
  max-height: none;
  max-width: none;
  min-height: 0;
  min-width: 0;
  margin: 0;
  padding: 0;
  float: none;
  clear: none;
  border: 0 none transparent;
  border-radius: 0;
  background: none;
  background-image: none;
  background-position: 0% 0%;
  background-size: auto auto;
  background-repeat: repeat;
  background-origin: padding-box;
  background-clip: border-box;
  background-attachment: scroll;
  background-color: transparent;
  box-shadow: none;
  opacity: 1;
  transform: none;
  transition: none;
  direction: ltr;
  font-family: inherit;
  font-weight: inherit;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
  font-style: inherit;
  font-variant: inherit;
  text-align: inherit;
  letter-spacing: inherit;
  text-decoration: inherit;
  text-indent: 0;
  text-transform: inherit;
  list-style-type: disc;
  text-shadow: none;
  font-smoothing: auto;
  vertical-align: baseline;
  cursor: inherit;
  white-space: inherit;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
}
.w-webflow-badge {
  position: fixed !important;
  display: inline-block !important;
  visibility: visible !important;
  z-index: 2147483647 !important;
  top: auto !important;
  right: 12px !important;
  bottom: 12px !important;
  left: auto !important;
  color: #aaadb0 !important;
  background-color: #fff !important;
  border-radius: 3px !important;
  padding: 6px !important;
  font-size: 12px !important;
  opacity: 1 !important;
  line-height: 14px !important;
  text-decoration: none !important;
  transform: none !important;
  margin: 0 !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  white-space: nowrap;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0px 1px 3px rgba(0, 0, 0, 0.1);
  cursor: pointer;
}
.w-webflow-badge > img {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  vertical-align: middle !important;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
  margin-bottom: 10px;
}
h1 {
  font-size: 38px;
  line-height: 44px;
  margin-top: 20px;
}
h2 {
  font-size: 32px;
  line-height: 36px;
  margin-top: 20px;
}
h3 {
  font-size: 24px;
  line-height: 30px;
  margin-top: 20px;
}
h4 {
  font-size: 18px;
  line-height: 24px;
  margin-top: 10px;
}
h5 {
  font-size: 14px;
  line-height: 20px;
  margin-top: 10px;
}
h6 {
  font-size: 12px;
  line-height: 18px;
  margin-top: 10px;
}
p {
  margin-top: 0;
  margin-bottom: 10px;
}
blockquote {
  margin: 0 0 10px 0;
  padding: 10px 20px;
  border-left: 5px solid #E2E2E2;
  font-size: 18px;
  line-height: 22px;
}
figure {
  margin: 0;
  margin-bottom: 10px;
}
figcaption {
  margin-top: 5px;
  text-align: center;
}
ul,
ol {
  margin-top: 0px;
  margin-bottom: 10px;
  padding-left: 40px;
}
.w-list-unstyled {
  padding-left: 0;
  list-style: none;
}
.w-embed:before,
.w-embed:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-embed:after {
  clear: both;
}
.w-video {
  width: 100%;
  position: relative;
  padding: 0;
}
.w-video iframe,
.w-video object,
.w-video embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}
fieldset {
  padding: 0;
  margin: 0;
  border: 0;
}
button,
[type='button'],
[type='reset'] {
  border: 0;
  cursor: pointer;
  -webkit-appearance: button;
}
.w-form {
  margin: 0 0 15px;
}
.w-form-done {
  display: none;
  padding: 20px;
  text-align: center;
  background-color: #dddddd;
}
.w-form-fail {
  display: none;
  margin-top: 10px;
  padding: 10px;
  background-color: #ffdede;
}
label {
  display: block;
  margin-bottom: 5px;
  font-weight: bold;
}
.w-input,
.w-select {
  display: block;
  width: 100%;
  height: 38px;
  padding: 8px 12px;
  margin-bottom: 10px;
  font-size: 14px;
  line-height: 1.42857143;
  color: #333333;
  vertical-align: middle;
  background-color: #ffffff;
  border: 1px solid #cccccc;
}
.w-input:-moz-placeholder,
.w-select:-moz-placeholder {
  color: #999;
}
.w-input::-moz-placeholder,
.w-select::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.w-input::-webkit-input-placeholder,
.w-select::-webkit-input-placeholder {
  color: #999;
}
.w-input:focus,
.w-select:focus {
  border-color: #3898EC;
  outline: 0;
}
.w-input[disabled],
.w-select[disabled],
.w-input[readonly],
.w-select[readonly],
fieldset[disabled] .w-input,
fieldset[disabled] .w-select {
  cursor: not-allowed;
}
.w-input[disabled]:not(.w-input-disabled),
.w-select[disabled]:not(.w-input-disabled),
.w-input[readonly],
.w-select[readonly],
fieldset[disabled]:not(.w-input-disabled) .w-input,
fieldset[disabled]:not(.w-input-disabled) .w-select {
  background-color: #eeeeee;
}
textarea.w-input,
textarea.w-select {
  height: auto;
}
.w-select {
  background-color: #f3f3f3;
}
.w-select[multiple] {
  height: auto;
}
.w-form-label {
  display: inline-block;
  cursor: pointer;
  font-weight: normal;
  margin-bottom: 0px;
}
.w-radio {
  display: block;
  margin-bottom: 5px;
  padding-left: 20px;
}
.w-radio:before,
.w-radio:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-radio:after {
  clear: both;
}
.w-radio-input {
  margin: 4px 0 0;
  line-height: normal;
  float: left;
  margin-left: -20px;
}
.w-radio-input {
  margin-top: 3px;
}
.w-file-upload {
  display: block;
  margin-bottom: 10px;
}
.w-file-upload-input {
  width: 0.1px;
  height: 0.1px;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  z-index: -100;
}
.w-file-upload-default,
.w-file-upload-uploading,
.w-file-upload-success {
  display: inline-block;
  color: #333333;
}
.w-file-upload-error {
  display: block;
  margin-top: 10px;
}
.w-file-upload-default.w-hidden,
.w-file-upload-uploading.w-hidden,
.w-file-upload-error.w-hidden,
.w-file-upload-success.w-hidden {
  display: none;
}
.w-file-upload-uploading-btn {
  display: flex;
  font-size: 14px;
  font-weight: normal;
  cursor: pointer;
  margin: 0;
  padding: 8px 12px;
  border: 1px solid #cccccc;
  background-color: #fafafa;
}
.w-file-upload-file {
  display: flex;
  flex-grow: 1;
  justify-content: space-between;
  margin: 0;
  padding: 8px 9px 8px 11px;
  border: 1px solid #cccccc;
  background-color: #fafafa;
}
.w-file-upload-file-name {
  font-size: 14px;
  font-weight: normal;
  display: block;
}
.w-file-remove-link {
  margin-top: 3px;
  margin-left: 10px;
  width: auto;
  height: auto;
  padding: 3px;
  display: block;
  cursor: pointer;
}
.w-icon-file-upload-remove {
  margin: auto;
  font-size: 10px;
}
.w-file-upload-error-msg {
  display: inline-block;
  color: #ea384c;
  padding: 2px 0;
}
.w-file-upload-info {
  display: inline-block;
  line-height: 38px;
  padding: 0 12px;
}
.w-file-upload-label {
  display: inline-block;
  font-size: 14px;
  font-weight: normal;
  cursor: pointer;
  margin: 0;
  padding: 8px 12px;
  border: 1px solid #cccccc;
  background-color: #fafafa;
}
.w-icon-file-upload-icon,
.w-icon-file-upload-uploading {
  display: inline-block;
  margin-right: 8px;
  width: 20px;
}
.w-icon-file-upload-uploading {
  height: 20px;
}
.w-container {
  margin-left: auto;
  margin-right: auto;
  max-width: 940px;
}
.w-container:before,
.w-container:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-container:after {
  clear: both;
}
.w-container .w-row {
  margin-left: -10px;
  margin-right: -10px;
}
.w-row:before,
.w-row:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-row:after {
  clear: both;
}
.w-row .w-row {
  margin-left: 0;
  margin-right: 0;
}
.w-col {
  position: relative;
  float: left;
  width: 100%;
  min-height: 1px;
  padding-left: 10px;
  padding-right: 10px;
}
.w-col .w-col {
  padding-left: 0;
  padding-right: 0;
}
.w-col-1 {
  width: 8.33333333%;
}
.w-col-2 {
  width: 16.66666667%;
}
.w-col-3 {
  width: 25%;
}
.w-col-4 {
  width: 33.33333333%;
}
.w-col-5 {
  width: 41.66666667%;
}
.w-col-6 {
  width: 50%;
}
.w-col-7 {
  width: 58.33333333%;
}
.w-col-8 {
  width: 66.66666667%;
}
.w-col-9 {
  width: 75%;
}
.w-col-10 {
  width: 83.33333333%;
}
.w-col-11 {
  width: 91.66666667%;
}
.w-col-12 {
  width: 100%;
}
.w-hidden-main {
  display: none !important;
}
@media screen and (max-width: 991px) {
  .w-container {
    max-width: 728px;
  }
  .w-hidden-main {
    display: inherit !important;
  }
  .w-hidden-medium {
    display: none !important;
  }
  .w-col-medium-1 {
    width: 8.33333333%;
  }
  .w-col-medium-2 {
    width: 16.66666667%;
  }
  .w-col-medium-3 {
    width: 25%;
  }
  .w-col-medium-4 {
    width: 33.33333333%;
  }
  .w-col-medium-5 {
    width: 41.66666667%;
  }
  .w-col-medium-6 {
    width: 50%;
  }
  .w-col-medium-7 {
    width: 58.33333333%;
  }
  .w-col-medium-8 {
    width: 66.66666667%;
  }
  .w-col-medium-9 {
    width: 75%;
  }
  .w-col-medium-10 {
    width: 83.33333333%;
  }
  .w-col-medium-11 {
    width: 91.66666667%;
  }
  .w-col-medium-12 {
    width: 100%;
  }
  .w-col-stack {
    width: 100%;
    left: auto;
    right: auto;
  }
}
@media screen and (max-width: 767px) {
  .w-hidden-main {
    display: inherit !important;
  }
  .w-hidden-medium {
    display: inherit !important;
  }
  .w-hidden-small {
    display: none !important;
  }
  .w-row,
  .w-container .w-row {
    margin-left: 0;
    margin-right: 0;
  }
  .w-col {
    width: 100%;
    left: auto;
    right: auto;
  }
  .w-col-small-1 {
    width: 8.33333333%;
  }
  .w-col-small-2 {
    width: 16.66666667%;
  }
  .w-col-small-3 {
    width: 25%;
  }
  .w-col-small-4 {
    width: 33.33333333%;
  }
  .w-col-small-5 {
    width: 41.66666667%;
  }
  .w-col-small-6 {
    width: 50%;
  }
  .w-col-small-7 {
    width: 58.33333333%;
  }
  .w-col-small-8 {
    width: 66.66666667%;
  }
  .w-col-small-9 {
    width: 75%;
  }
  .w-col-small-10 {
    width: 83.33333333%;
  }
  .w-col-small-11 {
    width: 91.66666667%;
  }
  .w-col-small-12 {
    width: 100%;
  }
}
@media screen and (max-width: 479px) {
  .w-container {
    max-width: none;
  }
  .w-hidden-main {
    display: inherit !important;
  }
  .w-hidden-medium {
    display: inherit !important;
  }
  .w-hidden-small {
    display: inherit !important;
  }
  .w-hidden-tiny {
    display: none !important;
  }
  .w-col {
    width: 100%;
  }
  .w-col-tiny-1 {
    width: 8.33333333%;
  }
  .w-col-tiny-2 {
    width: 16.66666667%;
  }
  .w-col-tiny-3 {
    width: 25%;
  }
  .w-col-tiny-4 {
    width: 33.33333333%;
  }
  .w-col-tiny-5 {
    width: 41.66666667%;
  }
  .w-col-tiny-6 {
    width: 50%;
  }
  .w-col-tiny-7 {
    width: 58.33333333%;
  }
  .w-col-tiny-8 {
    width: 66.66666667%;
  }
  .w-col-tiny-9 {
    width: 75%;
  }
  .w-col-tiny-10 {
    width: 83.33333333%;
  }
  .w-col-tiny-11 {
    width: 91.66666667%;
  }
  .w-col-tiny-12 {
    width: 100%;
  }
}
.w-widget {
  position: relative;
}
.w-widget-map {
  width: 100%;
  height: 400px;
}
.w-widget-map label {
  width: auto;
  display: inline;
}
.w-widget-map img {
  max-width: inherit;
}
.w-widget-map .gm-style-iw {
  text-align: center;
}
.w-widget-map .gm-style-iw > button {
  display: none !important;
}
.w-widget-twitter {
  overflow: hidden;
}
.w-widget-twitter-count-shim {
  display: inline-block;
  vertical-align: top;
  position: relative;
  width: 28px;
  height: 20px;
  text-align: center;
  background: white;
  border: #758696 solid 1px;
  border-radius: 3px;
}
.w-widget-twitter-count-shim * {
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.w-widget-twitter-count-shim .w-widget-twitter-count-inner {
  position: relative;
  font-size: 15px;
  line-height: 12px;
  text-align: center;
  color: #999;
  font-family: serif;
}
.w-widget-twitter-count-shim .w-widget-twitter-count-clear {
  position: relative;
  display: block;
}
.w-widget-twitter-count-shim.w--large {
  width: 36px;
  height: 28px;
}
.w-widget-twitter-count-shim.w--large .w-widget-twitter-count-inner {
  font-size: 18px;
  line-height: 18px;
}
.w-widget-twitter-count-shim:not(.w--vertical) {
  margin-left: 5px;
  margin-right: 8px;
}
.w-widget-twitter-count-shim:not(.w--vertical).w--large {
  margin-left: 6px;
}
.w-widget-twitter-count-shim:not(.w--vertical):before,
.w-widget-twitter-count-shim:not(.w--vertical):after {
  top: 50%;
  left: 0;
  border: solid transparent;
  content: ' ';
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}
.w-widget-twitter-count-shim:not(.w--vertical):before {
  border-color: rgba(117, 134, 150, 0);
  border-right-color: #5d6c7b;
  border-width: 4px;
  margin-left: -9px;
  margin-top: -4px;
}
.w-widget-twitter-count-shim:not(.w--vertical).w--large:before {
  border-width: 5px;
  margin-left: -10px;
  margin-top: -5px;
}
.w-widget-twitter-count-shim:not(.w--vertical):after {
  border-color: rgba(255, 255, 255, 0);
  border-right-color: white;
  border-width: 4px;
  margin-left: -8px;
  margin-top: -4px;
}
.w-widget-twitter-count-shim:not(.w--vertical).w--large:after {
  border-width: 5px;
  margin-left: -9px;
  margin-top: -5px;
}
.w-widget-twitter-count-shim.w--vertical {
  width: 61px;
  height: 33px;
  margin-bottom: 8px;
}
.w-widget-twitter-count-shim.w--vertical:before,
.w-widget-twitter-count-shim.w--vertical:after {
  top: 100%;
  left: 50%;
  border: solid transparent;
  content: ' ';
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}
.w-widget-twitter-count-shim.w--vertical:before {
  border-color: rgba(117, 134, 150, 0);
  border-top-color: #5d6c7b;
  border-width: 5px;
  margin-left: -5px;
}
.w-widget-twitter-count-shim.w--vertical:after {
  border-color: rgba(255, 255, 255, 0);
  border-top-color: white;
  border-width: 4px;
  margin-left: -4px;
}
.w-widget-twitter-count-shim.w--vertical .w-widget-twitter-count-inner {
  font-size: 18px;
  line-height: 22px;
}
.w-widget-twitter-count-shim.w--vertical.w--large {
  width: 76px;
}
.w-background-video {
  position: relative;
  overflow: hidden;
  height: 500px;
  color: white;
}
.w-background-video > video {
  background-size: cover;
  background-position: 50% 50%;
  position: absolute;
  margin: auto;
  width: 100%;
  height: 100%;
  right: -100%;
  bottom: -100%;
  top: -100%;
  left: -100%;
  object-fit: cover;
  z-index: -100;
}
.w-background-video > video::-webkit-media-controls-start-playback-button {
  display: none !important;
  -webkit-appearance: none;
}
.w-background-video--control {
  position: absolute;
  bottom: 1em;
  right: 1em;
  background-color: transparent;
  padding: 0;
}
.w-background-video--control > [hidden] {
  display: none !important;
}
.w-slider {
  position: relative;
  height: 300px;
  text-align: center;
  background: #dddddd;
  clear: both;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  tap-highlight-color: rgba(0, 0, 0, 0);
}
.w-slider-mask {
  position: relative;
  display: block;
  overflow: hidden;
  z-index: 1;
  left: 0;
  right: 0;
  height: 100%;
  white-space: nowrap;
}
.w-slide {
  position: relative;
  display: inline-block;
  vertical-align: top;
  width: 100%;
  height: 100%;
  white-space: normal;
  text-align: left;
}
.w-slider-nav {
  position: absolute;
  z-index: 2;
  top: auto;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  padding-top: 10px;
  height: 40px;
  text-align: center;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  tap-highlight-color: rgba(0, 0, 0, 0);
}
.w-slider-nav.w-round > div {
  border-radius: 100%;
}
.w-slider-nav.w-num > div {
  width: auto;
  height: auto;
  padding: 0.2em 0.5em;
  font-size: inherit;
  line-height: inherit;
}
.w-slider-nav.w-shadow > div {
  box-shadow: 0 0 3px rgba(51, 51, 51, 0.4);
}
.w-slider-nav-invert {
  color: #fff;
}
.w-slider-nav-invert > div {
  background-color: rgba(34, 34, 34, 0.4);
}
.w-slider-nav-invert > div.w-active {
  background-color: #222;
}
.w-slider-dot {
  position: relative;
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: rgba(255, 255, 255, 0.4);
  cursor: pointer;
  margin: 0 3px 0.5em;
  transition: background-color 100ms, color 100ms;
}
.w-slider-dot.w-active {
  background-color: #fff;
}
.w-slider-dot:focus {
  outline: none;
  box-shadow: 0px 0px 0px 2px #fff;
}
.w-slider-dot:focus.w-active {
  box-shadow: none;
}
.w-slider-arrow-left,
.w-slider-arrow-right {
  position: absolute;
  width: 80px;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  cursor: pointer;
  overflow: hidden;
  color: white;
  font-size: 40px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.w-slider-arrow-left [class^='w-icon-'],
.w-slider-arrow-right [class^='w-icon-'],
.w-slider-arrow-left [class*=' w-icon-'],
.w-slider-arrow-right [class*=' w-icon-'] {
  position: absolute;
}
.w-slider-arrow-left:focus,
.w-slider-arrow-right:focus {
  outline: 0;
}
.w-slider-arrow-left {
  z-index: 3;
  right: auto;
}
.w-slider-arrow-right {
  z-index: 4;
  left: auto;
}
.w-icon-slider-left,
.w-icon-slider-right {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 1em;
  height: 1em;
}
.w-slider-aria-label {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.w-slider-force-show {
  display: block !important;
}
.w-dropdown {
  display: inline-block;
  position: relative;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  z-index: 900;
}
.w-dropdown-btn,
.w-dropdown-toggle,
.w-dropdown-link {
  position: relative;
  vertical-align: top;
  text-decoration: none;
  color: #222222;
  padding: 20px;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  white-space: nowrap;
}
.w-dropdown-toggle {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: inline-block;
  cursor: pointer;
  padding-right: 40px;
}
.w-dropdown-toggle:focus {
  outline: 0;
}
.w-icon-dropdown-toggle {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  margin-right: 20px;
  width: 1em;
  height: 1em;
}
.w-dropdown-list {
  position: absolute;
  background: #dddddd;
  display: none;
  min-width: 100%;
}
.w-dropdown-list.w--open {
  display: block;
}
.w-dropdown-link {
  padding: 10px 20px;
  display: block;
  color: #222222;
}
.w-dropdown-link.w--current {
  color: #0082f3;
}
.w-dropdown-link:focus {
  outline: 0;
}

/**
 * ## Note
 * Safari (on both iOS and OS X) does not handle viewport units (vh, vw) well.
 * For example percentage units do not work on descendants of elements that
 * have any dimensions expressed in viewport units. It also doesn’t handle them at
 * all in `calc()`.
 */
/**
 * Wrapper around all lightbox elements
 *
 * 1. Since the lightbox can receive focus, IE also gives it an outline.
 * 2. Fixes flickering on Chrome when a transition is in progress
 *    underneath the lightbox.
 */
.w-lightbox-backdrop {
  cursor: auto;
  font-style: normal;
  letter-spacing: normal;
  list-style: disc;
  text-indent: 0;
  text-shadow: none;
  text-transform: none;
  visibility: visible;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  color: #fff;
  font-family: "Helvetica Neue", Helvetica, Ubuntu, "Segoe UI", Verdana, sans-serif;
  font-size: 17px;
  line-height: 1.2;
  font-weight: 300;
  text-align: center;
  background: rgba(0, 0, 0, 0.9);
  z-index: 2000;
  outline: 0;
  /* 1 */
  opacity: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-transform: translate(0, 0);
  /* 2 */
}
/**
 * Neat trick to bind the rubberband effect to our canvas instead of the whole
 * document on iOS. It also prevents a bug that causes the document underneath to scroll.
 */
.w-lightbox-backdrop,
.w-lightbox-container {
  height: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.w-lightbox-content {
  position: relative;
  height: 100vh;
  overflow: hidden;
}
.w-lightbox-view {
  position: absolute;
  width: 100vw;
  height: 100vh;
  opacity: 0;
}
.w-lightbox-view:before {
  content: "";
  height: 100vh;
}
/* .w-lightbox-content */
.w-lightbox-group,
.w-lightbox-group .w-lightbox-view,
.w-lightbox-group .w-lightbox-view:before {
  height: 86vh;
}
.w-lightbox-frame,
.w-lightbox-view:before {
  display: inline-block;
  vertical-align: middle;
}
/*
 * 1. Remove default margin set by user-agent on the <figure> element.
 */
.w-lightbox-figure {
  position: relative;
  margin: 0;
  /* 1 */
}
.w-lightbox-group .w-lightbox-figure {
  cursor: pointer;
}
/**
 * IE adds image dimensions as width and height attributes on the IMG tag,
 * but we need both width and height to be set to auto to enable scaling.
 */
.w-lightbox-img {
  width: auto;
  height: auto;
  max-width: none;
}
/**
 * 1. Reset if style is set by user on "All Images"
 */
.w-lightbox-image {
  display: block;
  float: none;
  /* 1 */
  max-width: 100vw;
  max-height: 100vh;
}
.w-lightbox-group .w-lightbox-image {
  max-height: 86vh;
}
.w-lightbox-caption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 0.5em 1em;
  background: rgba(0, 0, 0, 0.4);
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.w-lightbox-embed {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.w-lightbox-control {
  position: absolute;
  top: 0;
  width: 4em;
  background-size: 24px;
  background-repeat: no-repeat;
  background-position: center;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.w-lightbox-left {
  display: none;
  bottom: 0;
  left: 0;
  /* <svg xmlns="http://www.w3.org/2000/svg" viewBox="-20 0 24 40" width="24" height="40"><g transform="rotate(45)"><path d="m0 0h5v23h23v5h-28z" opacity=".4"/><path d="m1 1h3v23h23v3h-26z" fill="#fff"/></g></svg> */
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii0yMCAwIDI0IDQwIiB3aWR0aD0iMjQiIGhlaWdodD0iNDAiPjxnIHRyYW5zZm9ybT0icm90YXRlKDQ1KSI+PHBhdGggZD0ibTAgMGg1djIzaDIzdjVoLTI4eiIgb3BhY2l0eT0iLjQiLz48cGF0aCBkPSJtMSAxaDN2MjNoMjN2M2gtMjZ6IiBmaWxsPSIjZmZmIi8+PC9nPjwvc3ZnPg==");
}
.w-lightbox-right {
  display: none;
  right: 0;
  bottom: 0;
  /* <svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 0 24 40" width="24" height="40"><g transform="rotate(45)"><path d="m0-0h28v28h-5v-23h-23z" opacity=".4"/><path d="m1 1h26v26h-3v-23h-23z" fill="#fff"/></g></svg> */
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii00IDAgMjQgNDAiIHdpZHRoPSIyNCIgaGVpZ2h0PSI0MCI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoNDUpIj48cGF0aCBkPSJtMC0waDI4djI4aC01di0yM2gtMjN6IiBvcGFjaXR5PSIuNCIvPjxwYXRoIGQ9Im0xIDFoMjZ2MjZoLTN2LTIzaC0yM3oiIGZpbGw9IiNmZmYiLz48L2c+PC9zdmc+");
}
/*
 * Without specifying the with and height inside the SVG, all versions of IE render the icon too small.
 * The bug does not seem to manifest itself if the elements are tall enough such as the above arrows.
 * (http://stackoverflow.com/questions/16092114/background-size-differs-in-internet-explorer)
 */
.w-lightbox-close {
  right: 0;
  height: 2.6em;
  /* <svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 0 18 17" width="18" height="17"><g transform="rotate(45)"><path d="m0 0h7v-7h5v7h7v5h-7v7h-5v-7h-7z" opacity=".4"/><path d="m1 1h7v-7h3v7h7v3h-7v7h-3v-7h-7z" fill="#fff"/></g></svg> */
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii00IDAgMTggMTciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxNyI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoNDUpIj48cGF0aCBkPSJtMCAwaDd2LTdoNXY3aDd2NWgtN3Y3aC01di03aC03eiIgb3BhY2l0eT0iLjQiLz48cGF0aCBkPSJtMSAxaDd2LTdoM3Y3aDd2M2gtN3Y3aC0zdi03aC03eiIgZmlsbD0iI2ZmZiIvPjwvZz48L3N2Zz4=");
  background-size: 18px;
}
/**
 * 1. All IE versions add extra space at the bottom without this.
 */
.w-lightbox-strip {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 0 1vh;
  line-height: 0;
  /* 1 */
  white-space: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
}
/*
 * 1. We use content-box to avoid having to do `width: calc(10vh + 2vw)`
 *    which doesn’t work in Safari anyway.
 * 2. Chrome renders images pixelated when switching to GPU. Making sure
 *    the parent is also rendered on the GPU (by setting translate3d for
 *    example) fixes this behavior.
 */
.w-lightbox-item {
  display: inline-block;
  width: 10vh;
  padding: 2vh 1vh;
  box-sizing: content-box;
  /* 1 */
  cursor: pointer;
  -webkit-transform: translate3d(0, 0, 0);
  /* 2 */
}
.w-lightbox-active {
  opacity: 0.3;
}
.w-lightbox-thumbnail {
  position: relative;
  height: 10vh;
  background: #222;
  overflow: hidden;
}
.w-lightbox-thumbnail-image {
  position: absolute;
  top: 0;
  left: 0;
}
.w-lightbox-thumbnail .w-lightbox-tall {
  top: 50%;
  width: 100%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}
.w-lightbox-thumbnail .w-lightbox-wide {
  left: 50%;
  height: 100%;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
}
/*
 * Spinner
 *
 * Absolute pixel values are used to avoid rounding errors that would cause
 * the white spinning element to be misaligned with the track.
 */
.w-lightbox-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  box-sizing: border-box;
  width: 40px;
  height: 40px;
  margin-top: -20px;
  margin-left: -20px;
  border: 5px solid rgba(0, 0, 0, 0.4);
  border-radius: 50%;
  -webkit-animation: spin 0.8s infinite linear;
  animation: spin 0.8s infinite linear;
}
.w-lightbox-spinner:after {
  content: "";
  position: absolute;
  top: -4px;
  right: -4px;
  bottom: -4px;
  left: -4px;
  border: 3px solid transparent;
  border-bottom-color: #fff;
  border-radius: 50%;
}
/*
 * Utility classes
 */
.w-lightbox-hide {
  display: none;
}
.w-lightbox-noscroll {
  overflow: hidden;
}
@media (min-width: 768px) {
  .w-lightbox-content {
    height: 96vh;
    margin-top: 2vh;
  }
  .w-lightbox-view,
  .w-lightbox-view:before {
    height: 96vh;
  }
  /* .w-lightbox-content */
  .w-lightbox-group,
  .w-lightbox-group .w-lightbox-view,
  .w-lightbox-group .w-lightbox-view:before {
    height: 84vh;
  }
  .w-lightbox-image {
    max-width: 96vw;
    max-height: 96vh;
  }
  .w-lightbox-group .w-lightbox-image {
    max-width: 82.3vw;
    max-height: 84vh;
  }
  .w-lightbox-left,
  .w-lightbox-right {
    display: block;
    opacity: 0.5;
  }
  .w-lightbox-close {
    opacity: 0.8;
  }
  .w-lightbox-control:hover {
    opacity: 1;
  }
}
.w-lightbox-inactive,
.w-lightbox-inactive:hover {
  opacity: 0;
}
.w-richtext:before,
.w-richtext:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-richtext:after {
  clear: both;
}
.w-richtext[contenteditable="true"]:before,
.w-richtext[contenteditable="true"]:after {
  white-space: initial;
}
.w-richtext ol,
.w-richtext ul {
  overflow: hidden;
}
.w-richtext .w-richtext-figure-selected.w-richtext-figure-type-video div:after,
.w-richtext .w-richtext-figure-selected[data-rt-type="video"] div:after {
  outline: 2px solid #2895f7;
}
.w-richtext .w-richtext-figure-selected.w-richtext-figure-type-image div,
.w-richtext .w-richtext-figure-selected[data-rt-type="image"] div {
  outline: 2px solid #2895f7;
}
.w-richtext figure.w-richtext-figure-type-video > div:after,
.w-richtext figure[data-rt-type="video"] > div:after {
  content: '';
  position: absolute;
  display: none;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}
.w-richtext figure {
  position: relative;
  max-width: 60%;
}
.w-richtext figure > div:before {
  cursor: default!important;
}
.w-richtext figure img {
  width: 100%;
}
.w-richtext figure figcaption.w-richtext-figcaption-placeholder {
  opacity: 0.6;
}
.w-richtext figure div {
  /* fix incorrectly sized selection border in the data manager */
  font-size: 0px;
  color: transparent;
}
.w-richtext figure.w-richtext-figure-type-image,
.w-richtext figure[data-rt-type="image"] {
  display: table;
}
.w-richtext figure.w-richtext-figure-type-image > div,
.w-richtext figure[data-rt-type="image"] > div {
  display: inline-block;
}
.w-richtext figure.w-richtext-figure-type-image > figcaption,
.w-richtext figure[data-rt-type="image"] > figcaption {
  display: table-caption;
  caption-side: bottom;
}
.w-richtext figure.w-richtext-figure-type-video,
.w-richtext figure[data-rt-type="video"] {
  width: 60%;
  height: 0;
}
.w-richtext figure.w-richtext-figure-type-video iframe,
.w-richtext figure[data-rt-type="video"] iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.w-richtext figure.w-richtext-figure-type-video > div,
.w-richtext figure[data-rt-type="video"] > div {
  width: 100%;
}
.w-richtext figure.w-richtext-align-center {
  margin-right: auto;
  margin-left: auto;
  clear: both;
}
.w-richtext figure.w-richtext-align-center.w-richtext-figure-type-image > div,
.w-richtext figure.w-richtext-align-center[data-rt-type="image"] > div {
  max-width: 100%;
}
.w-richtext figure.w-richtext-align-normal {
  clear: both;
}
.w-richtext figure.w-richtext-align-fullwidth {
  width: 100%;
  max-width: 100%;
  text-align: center;
  clear: both;
  display: block;
  margin-right: auto;
  margin-left: auto;
}
.w-richtext figure.w-richtext-align-fullwidth > div {
  display: inline-block;
  /* padding-bottom is used for aspect ratios in video figures
      we want the div to inherit that so hover/selection borders in the designer-canvas
      fit right*/
  padding-bottom: inherit;
}
.w-richtext figure.w-richtext-align-fullwidth > figcaption {
  display: block;
}
.w-richtext figure.w-richtext-align-floatleft {
  float: left;
  margin-right: 15px;
  clear: none;
}
.w-richtext figure.w-richtext-align-floatright {
  float: right;
  margin-left: 15px;
  clear: none;
}
.w-nav {
  position: relative;
  background: #dddddd;
  z-index: 1000;
}
.w-nav:before,
.w-nav:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-nav:after {
  clear: both;
}
.w-nav-brand {
  position: relative;
  float: left;
  text-decoration: none;
  color: #333333;
}
.w-nav-link {
  position: relative;
  display: inline-block;
  vertical-align: top;
  text-decoration: none;
  color: #222222;
  padding: 20px;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
}
.w-nav-link.w--current {
  color: #0082f3;
}
.w-nav-menu {
  position: relative;
  float: right;
}
[data-nav-menu-open] {
  display: block !important;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #C8C8C8;
  text-align: center;
  overflow: visible;
  min-width: 200px;
}
.w--nav-link-open {
  display: block;
  position: relative;
}
.w-nav-overlay {
  position: absolute;
  overflow: hidden;
  display: none;
  top: 100%;
  left: 0;
  right: 0;
  width: 100%;
}
.w-nav-overlay [data-nav-menu-open] {
  top: 0;
}
.w-nav[data-animation="over-left"] .w-nav-overlay {
  width: auto;
}
.w-nav[data-animation="over-left"] .w-nav-overlay,
.w-nav[data-animation="over-left"] [data-nav-menu-open] {
  right: auto;
  z-index: 1;
  top: 0;
}
.w-nav[data-animation="over-right"] .w-nav-overlay {
  width: auto;
}
.w-nav[data-animation="over-right"] .w-nav-overlay,
.w-nav[data-animation="over-right"] [data-nav-menu-open] {
  left: auto;
  z-index: 1;
  top: 0;
}
.w-nav-button {
  position: relative;
  float: right;
  padding: 18px;
  font-size: 24px;
  display: none;
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.w-nav-button:focus {
  outline: 0;
}
.w-nav-button.w--open {
  background-color: #C8C8C8;
  color: white;
}
.w-nav[data-collapse="all"] .w-nav-menu {
  display: none;
}
.w-nav[data-collapse="all"] .w-nav-button {
  display: block;
}
.w--nav-dropdown-open {
  display: block;
}
.w--nav-dropdown-toggle-open {
  display: block;
}
.w--nav-dropdown-list-open {
  position: static;
}
@media screen and (max-width: 991px) {
  .w-nav[data-collapse="medium"] .w-nav-menu {
    display: none;
  }
  .w-nav[data-collapse="medium"] .w-nav-button {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .w-nav[data-collapse="small"] .w-nav-menu {
    display: none;
  }
  .w-nav[data-collapse="small"] .w-nav-button {
    display: block;
  }
  .w-nav-brand {
    padding-left: 10px;
  }
}
@media screen and (max-width: 479px) {
  .w-nav[data-collapse="tiny"] .w-nav-menu {
    display: none;
  }
  .w-nav[data-collapse="tiny"] .w-nav-button {
    display: block;
  }
}
.w-tabs {
  position: relative;
}
.w-tabs:before,
.w-tabs:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-tabs:after {
  clear: both;
}
.w-tab-menu {
  position: relative;
}
.w-tab-link {
  position: relative;
  display: inline-block;
  vertical-align: top;
  text-decoration: none;
  padding: 9px 30px;
  text-align: left;
  cursor: pointer;
  color: #222222;
  background-color: #dddddd;
}
.w-tab-link.w--current {
  background-color: #C8C8C8;
}
.w-tab-link:focus {
  outline: 0;
}
.w-tab-content {
  position: relative;
  display: block;
  overflow: hidden;
}
.w-tab-pane {
  position: relative;
  display: none;
}
.w--tab-active {
  display: block;
}
@media screen and (max-width: 479px) {
  .w-tab-link {
    display: block;
  }
}
.w-ix-emptyfix:after {
  content: "";
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.w-dyn-empty {
  padding: 10px;
  background-color: #dddddd;
}
.w-dyn-hide {
  display: none !important;
}
.w-dyn-bind-empty {
  display: none !important;
}
.w-condition-invisible {
  display: none !important;
}
.wf-layout-layout {
  display: grid;
}
.w-code-component > * {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
/* ===== END SOURCE: webflow.css ===== */


/* ===== BEGIN SOURCE: custom-fonts.css ===== */
/* Noto sans JP */

@font-face {
    font-display: swap;
    font-family: 'Noto Sans JP';
    src: url('../fonts/noto-sans-jp-v52-japanese_latin-300.woff2') format('woff2'),
         url('../fonts/noto-sans-jp-v52-japanese_latin-300.woff') format('woff');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-display: swap;
    font-family: 'Noto Sans JP';
    src: url('../fonts/noto-sans-jp-v52-japanese_latin-400.woff2') format('woff2'),
         url('../fonts/noto-sans-jp-v52-japanese_latin-400.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-display: swap;
    font-family: 'Noto Sans JP';
    src: url('../fonts/noto-sans-jp-v52-japanese_latin-500.woff2') format('woff2'),
         url('../fonts/noto-sans-jp-v52-japanese_latin-500.woff') format('woff');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-display: swap;
    font-family: 'Noto Sans JP';
    src: url('../fonts/noto-sans-jp-v52-japanese_latin-600.woff2') format('woff2'),
         url('../fonts/noto-sans-jp-v52-japanese_latin-600.woff') format('woff');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-display: swap;
    font-family: 'Noto Sans JP';
    src: url('../fonts/noto-sans-jp-v52-japanese_latin-5200.woff2') format('woff2'),
         url('../fonts/noto-sans-jp-v52-japanese_latin-5200.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-display: swap;
    font-family: 'Noto Sans JP';
    src: url('../fonts/noto-sans-jp-v52-japanese_latin-800.woff2') format('woff2'),
         url('../fonts/noto-sans-jp-v52-japanese_latin-800.woff') format('woff');
    font-weight: 800;
    font-style: normal;
}

@font-face {
    font-display: swap;
    font-family: 'Noto Sans JP';
    src: url('../fonts/noto-sans-jp-v52-japanese_latin-900.woff2') format('woff2'),
         url('../fonts/noto-sans-jp-v52-japanese_latin-900.woff') format('woff');
    font-weight: 900;
    font-style: normal;
}

/* Montserrat */

/* montserrat-regular - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/montserrat-v26-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  /* montserrat-500 - latin */
  @font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 500;
    src: url('../fonts/montserrat-v26-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  /* montserrat-600 - latin */
  @font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 600;
    src: url('../fonts/montserrat-v26-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  /* montserrat-700 - latin */
  @font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/montserrat-v26-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  /* montserrat-700italic - latin */
  @font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Montserrat';
    font-style: italic;
    font-weight: 700;
    src: url('../fonts/montserrat-v26-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
/* ===== END SOURCE: custom-fonts.css ===== */


/* ===== BEGIN SOURCE: a-you-da0ed4.webflow.css ===== */
:root {
  --basic-font-color: #5b5b5b;
  --white: white;
  --main-blue: #0073b4;
  --紺: #003f63;
  --header-coloe-2: #007ebe;
  --header-color: #01aaff;
  --薄いグレーグリーン: rgba(162, 216, 212, .5);
  --薄いグリーン: rgba(20, 249, 200, .3);
  --薄いブルー: rgba(47, 177, 229, .3);
  --dark-green: #00726a;
  --light-blue: #c0fffd;
  --明るいブルー: #3db9ff;
  --deep-dark-green: #183c3b;
  --3: 3px;
  --light-dark-green: #00a89c;
  --2: 2px;
  --0: 0px;
  --100px: 100px;
  --12: 12px;
  --8: 8px;
  --hurf-brack: rgba(0, 0, 0, .5);
  --slight-dark-yellow: #d2b12b;
  --black: black;
  --emerald: #07f5b7;
  --20: 20px;
  --9: 9px;
  position: relative;
  /* overflow-x: hidden; */
}


span.label-name {
  text-align: left !important;
}


.w-layout-blockcontainer {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

.w-layout-vflex {
  flex-direction: column;
  align-items: flex-start;
  display: flex;
}

.w-embed-youtubevideo {
  background-image: url('https://d3e54v103j8qbb.cloudfront.net/static/youtube-placeholder.2b05e7d68d.svg');
  background-position: 50%;
  background-size: cover;
  width: 100%;
  padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  position: relative;
}

.w-embed-youtubevideo:empty {
  min-height: 75px;
  padding-bottom: 56.25%;
}

.w-layout-grid {
  grid-row-gap: 16px;
  grid-column-gap: 16px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.w.radio {
  margin-bottom: 5px;
  padding-left: 20px;
  display: block;
}

.w.radio:before {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w.radio:after {
  content: " ";
  clear: both;
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w.radio-input {
  float: left;
  margin: 4px 0 0 -20px;
  line-height: normal;
}

.w.radio-input--inputType-custom {
  border: 1px solid #ccc;
  border-radius: 2px;
  width: 12px;
  height: 12px;
}

.w.radio-input--inputType-custom.w--redirected-checked {
  background-color: #3898ec;
  background-image: url('https://d3e54v103j8qbb.cloudfront.net/static/custom.radio-checkmark.589d534424.svg');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  border-color: #3898ec;
}

.w.radio-input--inputType-custom.w--redirected-focus {
  box-shadow: 0 0 3px 1px #3898ec;
}

@media screen and (max-width: 991px) {
  .w-layout-blockcontainer {
    max-width: 728px;
  }
}

@media screen and (max-width: 767px) {
  .w-layout-blockcontainer {
    max-width: none;
  }
}

body {
  color: var(--basic-font-color);
  max-width: none;
  height: auto;
  font-family: Noto Sans JP, sans-serif;
  font-size: 16px;
  line-height: 20px;
  display: block;
  overflow-x: hidden;
  position: relative;
  box-sizing: border-box;
}



header {
  position: sticky;
  top: 0px;
  z-index: 9999;
}

a {
  text-decoration: underline;
}

.section {
  z-index: 2;
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  background-color: #fff;
  flex-flow: row;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 100px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  position: fixed;
}

.image {
  width: 77px;
  height: 57.8281px;
  margin-left: 0;
  padding: 0;
}

.slide-nav {
  z-index: 7;
  height: 40px;
}

.slider {
  z-index: 0;
  /* box-sizing: border-box; */
  opacity: 1;
  /* outline-offset: 0px; */
  -webkit-text-fill-color: inherit;
  mix-blend-mode: normal;
  /* background-clip: border-box; */
  /* outline: 3px #333; */
  width: 100%;
  height: 100vh;
  min-height: 1000px;
  padding: 0;
  display: block;
  position: relative;
  top: 0%;
  bottom: 0%;
  left: 0%;
  /* right: auto; */
}

.slide-19 {
  background-image: url('../images/cm_aircon_clean.webp');
  background-position: 50%;
  background-size: cover;
}

.slide-20 {
  -webkit-text-fill-color: inherit;
  object-fit: fill;
  background-image: url('../images/vacuum_clean2.webp');
  background-position: 0 0;
  background-size: cover;
  background-clip: border-box;
}

.slide-21 {
  background-image: url('../images/unit_clean.webp');
  background-position: 0 100%;
  background-size: cover;
}

.slide-22 {
  background-image: url('../images/unit_cable_clean.webp');
  background-position: 100%;
  background-size: cover;
}

.slide-23 {
  background-image: url('../images/door_glass_clean.webp');
  background-position: 100%;
  background-repeat: repeat;
  background-size: cover;
  background-attachment: scroll;
}

.slide-24 {
  background-image: url('../images/v2/sign_cleaning.jpg');
  background-position: 0 0;
  background-size: cover;
}

.slide-25 {
  background-image: url('../images/pro_cleaning.webp');
  background-position: 0 0;
  background-size: cover;
}

.firstview {
  z-index: 2;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
}

.firstview.top {
  z-index: auto;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: 100vh;
  min-height: 1000px;
}

.container {
  width: 30%;
}

.mask {
  width: 100%;
  height: 100vh;
  min-height: 1000px;
}

.about-drain-hose {
  background-color: var(--white);
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: auto;
  padding-left: 0;
  padding-right: 0;
  display: flex;
}

.left-arrow {
  overflow: hidden;
}

.icon {
  flex: 0 auto;
  align-self: auto;
  width: 45px;
  height: 100px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  line-height: 20px;
  display: block;
}

.container-2 {
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  justify-content: center;
  align-items: center;
  display: flex;
}

.text-block {
  font-size: 30px;
  line-height: 30px;
}

.brand-link {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  justify-content: center;
  align-self: auto;
  align-items: center;
  display: flex;
}

.brand-link.w--current {
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  align-self: auto;
}

.brand-logo {
  width: 50px;
  margin-left: auto;
  margin-right: 0;
  padding: 0;
  display: block;
  overflow: visible;
}

.nav-menu {
  grid-column-gap: 30px;
  grid-row-gap: 30px;
  flex: 1;
  justify-content: center;
  align-items: center;
  margin-top: .3vw;
  display: flex;
  position: static;
}

.nav-link-holder {
  flex-flow: column;
  flex: 0 auto;
  justify-content: center;
  align-items: center;
  padding-left: 0;
  padding-right: 0;
  line-height: 1.3;
  display: flex;
}

.nav-link-holder.nav-button {
  line-height: 18px;
  text-decoration: none;
}

.nav-link-holder.nav-button-holder {
  align-self: flex-end;
  margin-bottom: 15px;
  margin-left: 20px;
  padding-left: 0;
  padding-right: 0;
  font-size: 14px;
  display: block;
}

.container-3 {
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 1170px;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 0 2em;
  display: block;
  position: relative;
}

.container-3.nav-container {
  background-image: none;
  max-width: none;
  height: auto;
  padding-left: 0;
  padding-right: 0;
}

.nav-menu-container {
  justify-content: center;
  align-items: center;
  width: 100%;
  height: auto;
  padding: 1em 2em;
  display: flex;
}

.link {
  background-color: #000;
  width: 100%;
  height: 1px;
  margin-top: 0;
}

.navbar {
  z-index: 99;
  background-color: #fff;
  height: 70px;
  position: -webkit-sticky;
  position: sticky;
  top: 0%;
  left: 0%;
  right: 0%;
  box-shadow: 0 10px 20px rgba(0, 255, 212, .38);
}

.navbar.header {
  height: auto;
  position: -webkit-sticky;
  position: sticky;
  box-shadow: 0 3px 20px rgba(0, 132, 255, .5);
}

.nav-link {
  padding: 0;
}

.link-block-underline {
  background-color: #000;
  background-image: url('../images/テクスチャ背景.jpg');
  background-position: 0 0;
  background-size: cover;
  width: 100%;
  height: 2px;
  display: block;
}

.nav {
  z-index: 1;
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  color: #000;
  flex-flow: column;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: center;
  align-self: auto;
  align-items: center;
  text-decoration: none;
  transition: color .35s;
  display: flex;
  position: relative;
  overflow: hidden;
}

.nav.w--current {
  color: var(--basic-font-color);
}

.text-block-2 {
  z-index: auto;
  flex: 0 auto;
  order: 1;
  text-decoration: none;
  display: block;
  position: static;
}

.text-block-3 {
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  direction: ltr;
  color: #5b5b5b;
  letter-spacing: 3px;
  -webkit-text-stroke-width: 0px;
  -webkit-text-stroke-color: #000;
  text-indent: 0;
  text-transform: none;
  text-shadow: 0 1px 1px rgba(0, 0, 0, .2);
  column-count: 0;
  white-space: normal;
  word-break: break-all;
  overflow-wrap: normal;
  background-color: rgba(218, 161, 161, 0);
  flex: 0 auto;
  justify-content: center;
  align-self: auto;
  align-items: center;
  padding-left: 0;
  font-family: Noto Sans JP, sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 30px;
  text-decoration: none;
  display: flex;
}

.text-block-4 {
  color: #000;
  text-decoration: none;
}

.button2 {
  -webkit-text-fill-color: inherit;
  background-image: url('../images/テクスチャ背景.jpg');
  background-position: 0 0;
  background-size: cover;
  background-clip: border-box;
  border-radius: 30px;
  margin-top: 0;
  margin-bottom: 0;
  padding: 25px 40px;
  text-decoration: none;
  transition: background-color .35s;
}

.button2:hover {
  -webkit-text-fill-color: inherit;
  background-color: #0056a2;
  background-clip: border-box;
  display: inline-block;
}

.button2.nav-button {
  grid-column-gap: 5px;
  grid-row-gap: 5px;
  color: #333;
  background-color: #5bebdc;
  background-image: url('../images/テクスチャ背景.jpg');
  background-position: 0 0;
  background-size: cover;
  border: 0 solid #000;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  padding: 10px 15px;
  font-size: 16px;
  line-height: 21px;
  text-decoration: none;
  transition: opacity .35s, color .35s, background-color .35s;
  display: flex;
  position: relative;
}

.button2.nav-button:hover {
  opacity: .5;
  color: #000;
  -webkit-text-fill-color: inherit;
  background-color: #7dcbed;
  background-clip: border-box;
}

.container-4 {
  z-index: 3;
  flex-flow: column;
  flex: 0 auto;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  max-width: none;
  height: 100vh;
  min-height: 100px;
  padding: 0 0 5em;
  display: flex;
  position: relative;
}

.top-hero-content {
  z-index: 2;
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  flex-flow: column;
  flex: 1;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: flex-start;
  align-self: flex-start;
  align-items: flex-start;
  width: 100%;
  max-width: none;
  height: 100%;
  display: block;
  position: relative;
}

.top-hero-text-holder {
  z-index: 3;
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  opacity: 1;
  letter-spacing: 2px;
  flex-flow: column;
  order: 0;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: flex-start;
  align-self: auto;
  align-items: center;
  width: 100%;
  max-width: none;
  height: auto;
  margin: 60px 0 0;
  padding-right: 0;
  display: flex;
  position: relative;
}

.hero-text {
  opacity: 1;
  color: var(--main-blue);
  letter-spacing: 5px;
  -webkit-text-fill-color: inherit;
  object-fit: fill;
  background-color: rgba(255, 255, 255, 0);
  background-image: none;
  background-repeat: repeat;
  background-size: auto;
  background-clip: padding-box;
  border-radius: 0;
  flex: none;
  width: auto;
  max-width: none;
  margin-top: 0;
  margin-bottom: 0;
  padding: 10px 0;
  font-family: Noto Sans JP, sans-serif;
  font-size: 55px;
  font-weight: 600;
  line-height: 45px;
  transition: opacity .2s;
  display: block;
  overflow: visible;
}

.paragraph {
  color: #fff;
  white-space: normal;
  word-break: normal;
  overflow-wrap: normal;
  -webkit-text-fill-color: inherit;
  background-image: none;
  background-clip: border-box;
  align-self: flex-start;
  margin-top: 12px;
  margin-bottom: 0;
  padding-left: 25px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 25px;
  font-weight: 600;
  line-height: 60px;
}

.image-2 {
  background-image: url('../images/リピート率.png');
  background-position: 0 0;
  background-size: auto;
}

.image-3 {
  width: auto;
}

.image-4,
.image-5 {
  height: 200px;
}

.div-block {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  flex-flow: column;
  order: 0;
  justify-content: center;
  align-self: center;
  align-items: center;
  margin-top: 0;
  margin-left: 0;
  display: flex;
}

.div-block-2 {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  flex-flow: column;
  align-items: center;
  margin-bottom: 0;
  padding-top: 10px;
  padding-bottom: 30px;
  padding-left: 0;
  display: flex;
}

.bold-text {
  color: #63e8d7;
  text-shadow: none;
  font-family: Montserrat, sans-serif;
  font-weight: 500;
}

.text-block-5 {
  color: #fff;
  letter-spacing: 3px;
}

.container-5 {
  z-index: 1;
  opacity: 1;
  -webkit-text-fill-color: inherit;
  mix-blend-mode: normal;
  background-color: #6f9fb6;
  background-image: none;
  background-size: auto;
  background-clip: border-box;
  order: 0;
  align-self: auto;
  width: 100%;
  max-width: none;
  height: 90vh;
  display: block;
  position: absolute;
  top: 0%;
  bottom: 0%;
  left: 0%;
  right: auto;
}

.image-6 {
  z-index: 2;
  width: 70%;
  position: absolute;
}

.image-7 {
  background-image: url('../images/certificate.jpg');
  background-position: 0 0;
  background-size: auto;
  width: 41%;
  height: 100vh;
  display: block;
  position: absolute;
  top: 0%;
  bottom: auto;
  left: 0%;
  right: auto;
  overflow: hidden;
}

.image-8 {
  background-image: url('../images/certificate.jpg');
  background-position: 0 0;
  background-size: auto;
  display: block;
}

.background-logo {
  z-index: -3;
  opacity: 1;
  -webkit-text-fill-color: inherit;
  background-color: rgba(40, 101, 129, 0);
  background-clip: border-box;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  display: flex;
  position: fixed;
  top: 0%;
  bottom: auto;
  left: 0%;
  right: auto;
}

.text-block-6 {
  color: var(--basic-font-color);
  letter-spacing: 1.5px;
  font-family: Montserrat, sans-serif;
  font-size: 16px;
  font-weight: 700;
}

.text-block-7 {
  color: var(--basic-font-color);
  letter-spacing: 1.5px;
  font-family: Montserrat, sans-serif;
  font-size: 16px;
  font-weight: 700;
}

.text-block-8,
.text-block-9,
.text-block-10 {
  color: var(--basic-font-color);
  letter-spacing: 2px;
  font-family: Montserrat, sans-serif;
  font-size: 16px;
  font-weight: 700;
}

.text-block-11 {
  color: var(--basic-font-color);
  letter-spacing: 1.5px;
  font-family: Montserrat, sans-serif;
  font-size: 16px;
  font-weight: 700;
}

.text-block-12 {
  color: var(--basic-font-color);
  letter-spacing: .1vw;
  font-family: Montserrat, sans-serif;
  font-size: 16px;
  font-weight: 700;
}

.text-span {
  color: #805656;
}

.bold-text-2 {
  color: #49fff3;
  white-space: normal;
  word-break: normal;
  overflow-wrap: normal;
  -webkit-text-fill-color: inherit;
  background-color: rgba(255, 255, 255, 0);
  background-image: none;
  background-clip: border-box;
  font-weight: 700;
}

.text-span-2 {
  color: #fff;
  -webkit-text-stroke-color: #e2e2e2;
  -webkit-text-fill-color: inherit;
  background-color: rgba(255, 255, 255, 0);
  background-image: none;
  background-clip: border-box;
  font-size: 60px;
}

.text-span-3 {
  color: #fff;
}

.heading {
  color: var(--main-blue);
  letter-spacing: 4px;
  border-top-left-radius: 36px;
  border-bottom-right-radius: 36px;
  margin-top: 0;
  margin-bottom: 0;
  padding: 8px 10px 9px 20px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 32px;
  font-weight: 500;
  line-height: 33px;
}

.text-span-4,
.text-span-5,
.text-span-6,
.text-span-7,
.text-span-8 {
  color: #fff;
}

.paragraph-2 {
  color: var(--main-blue);
  -webkit-text-fill-color: inherit;
  background-image: none;
  background-clip: border-box;
  align-self: center;
  margin-top: 0;
  margin-bottom: 0;
  padding: 10px 20px;
  font-size: 24px;
  font-weight: 700;
}

.image-9 {
  align-self: center;
  width: 280px;
  margin-bottom: 11px;
  margin-left: 8px;
  margin-right: 15px;
}

.div-block-4 {
  grid-column-gap: 25px;
  grid-row-gap: 25px;
  justify-content: center;
  align-items: flex-start;
  margin-bottom: 0;
  display: flex;
}

.text-block-13 {
  color: #00dab1;
  letter-spacing: 7px;
  text-shadow: none;
  -webkit-text-fill-color: inherit;
  background-image: none;
  background-repeat: repeat;
  background-size: auto;
  background-clip: border-box;
  align-self: flex-end;
  margin-bottom: -23px;
  margin-left: -40px;
  font-family: Montserrat, sans-serif;
  font-size: 80px;
  font-weight: 400;
  line-height: 127px;
}

.text-block-14 {
  color: #fff;
  align-self: flex-end;
  margin-bottom: 8px;
  margin-left: 21px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 30px;
  font-weight: 500;
  line-height: 30px;
  display: none;
}

.slider-2 {
  z-index: 1;
  opacity: .48;
  background-color: rgba(221, 221, 221, 0);
  width: 100%;
  height: 30vh;
  display: none;
  position: static;
  top: 0;
  bottom: 0%;
  left: 0%;
  right: auto;
}

.slide-27 {
  background-image: url('../images/vacuum_clean.webp');
  background-position: 0 0;
  background-size: auto;
}

.slide-28 {
  background-image: url('../images/window_rail.webp');
  background-position: 0 0;
  background-size: auto;
}

.slide-29 {
  background-image: url('../images/pro_cleaning_check.webp');
  background-position: 0 0;
  background-size: auto;
}

.slide-30 {
  background-image: url('../images/floor_cm_clean2.webp');
  background-position: 0 0;
  background-size: auto;
}

.slide-31 {
  background-image: url('../images/floor_cm_clean.webp');
  background-position: 0 0;
  background-size: auto;
}

.slide-32 {
  background-image: url('../images/glass_clean.webp');
  background-position: 0 0;
  background-size: cover;
}

.div-block-5 {
  z-index: 2;
  background-image: url('../images/panel_clean.webp');
  background-position: 50%;
  background-size: cover;
  width: 50%;
  height: 65vh;
  display: none;
  position: absolute;
  bottom: 188.625px;
}

.slider-3 {
  height: 30vh;
}

.slide-33 {
  background-image: url('../images/.jpg');
  background-position: 0 0;
  background-size: cover;
}

.slide-34 {
  background-image: url('../images/certificate6.jpg');
  background-position: 0 0;
  background-size: cover;
}

.slide-35 {
  background-image: url('../images/floor_clean.webp');
  background-position: 0 0;
  background-size: cover;
}

.slide-36 {
  background-image: url('../images/v2/sign_cleaning.jpg');
  background-position: 0 0;
  background-size: cover;
}

.slide-37 {
  background-image: url('../images/childs_room.webp');
  background-position: 0 0;
  background-size: cover;
}

.slide-38 {
  background-image: url('../images/cm_aircon_clean.webp');
  background-position: 0 0;
  background-size: cover;
}

.slide-39 {
  background-image: url('../images/vacuum_clean3.webp');
  background-position: 0 0;
  background-size: cover;
}

.div-block-6 {
  align-self: flex-end;
}

.text-block-15 {
  color: #fff;
  font-size: 25px;
  font-weight: 400;
  text-decoration: none;
}

.image-10 {
  width: 150px;
}

.image-11 {
  z-index: 1;
  opacity: 1;
  justify-content: flex-start;
  align-items: center;
  width: 1100px;
  height: 82vh;
  margin-top: 40px;
  margin-left: 0;
  display: block;
  position: static;
  top: 8%;
  bottom: 0%;
  left: 0;
  right: auto;
}

.text-span-9 {
  letter-spacing: 4px;
}

.button {
  background-image: url('../images/テクスチャ背景.jpg');
  background-position: 0 0;
  background-size: cover;
}

.text-block-16 {
  color: #fff;
  letter-spacing: 4px;
  -webkit-text-stroke-color: #fff;
  background-image: url('../images/テクスチャ背景.jpg');
  background-position: 0 0;
  background-size: cover;
  border-radius: 15px;
  margin-bottom: 28px;
  padding: 20px 30px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 24px;
  font-weight: 400;
  text-decoration: none;
  box-shadow: 0 12px 15px 9px rgba(0, 0, 0, .2);
}

.link-block {
  text-decoration: none;
}

.div-block-7 {
  grid-column-gap: 0vw;
  grid-row-gap: 0vw;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.div-block-8 {
  background-color: #fff;
  width: 3px;
  height: 150px;
  margin-left: 125px;
}

.div-block-9 {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-top: 0;
  margin-bottom: -40px;
  padding-top: 40px;
  padding-bottom: 0;
  padding-left: 90px;
  display: flex;
}

.text-block-17 {
  color: #fff;
  align-self: center;
  font-family: Montserrat, sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 24px;
}

.text-span-10 {
  letter-spacing: 3px;
  border-bottom: 4px solid #d1b12b;
  font-weight: 400;
}

.text-span-11 {
  border-bottom: 4px solid #d2b12b;
  font-weight: 400;
}

.image-12 {
  z-index: -3;
  width: 80px;
  margin-top: 75px;
  margin-left: -20px;
  position: relative;
}

.heading-2 {
  color: #fff;
  text-align: left;
  letter-spacing: 4px;
  margin-top: 0;
  margin-bottom: 40px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 30px;
  font-weight: 300;
}

.about-section {
  z-index: 1;
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  background-image: none;
  background-size: auto;
  flex-flow: column;
  flex: 0 auto;
  justify-content: center;
  align-items: flex-end;
  width: 100%;
  max-width: 1454px;
  height: auto;
  margin-top: 0;
  margin-left: 0;
  margin-right: 0;
  padding-top: 0;
  padding-bottom: 100px;
  padding-right: 100px;
  display: flex;
  position: relative;
}

.text-span-12 {
  font-family: Montserrat, sans-serif;
  font-weight: 300;
}

.about {
  background-image: linear-gradient(90deg, var(--紺), var(--header-color)), linear-gradient(180deg, black, white);
  color: var(--white);
  text-align: center;
  letter-spacing: 3px;
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Montserrat, sans-serif;
  font-size: 60px;
  font-weight: 700;
  line-height: 60px;
}

.paragraph-3 {
  color: var(--basic-font-color);
  letter-spacing: 2px;
  flex: 0 auto;
  width: auto;
  margin-bottom: 0;
  font-family: Noto Sans JP, sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 32px;
  text-shadow: 0.3px 0.3px #a09686;
}

.image-13 {
  flex: 0 auto;
  align-self: flex-start;
  width: 45%;
}

.div-block-10 {
  opacity: 1;
  background-image: url('../images/A.you.png');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: contain;
  width: 71%;
  height: 80vh;
}

.hours-24 {
  background: linear-gradient(transparent 65%, #fffb41);
}

.advantages {
  grid-column-gap: 50px;
  grid-row-gap: 50px;
  background-color: var(--white);
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: auto;
  display: flex;
  position: relative;
}

.div-block-11 {
  flex-flow: column;
  justify-content: space-between;
  align-self: auto;
  align-items: flex-start;
  width: 600px;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
  display: flex;
  position: relative;
}

.container-7 {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: none;
  height: auto;
  display: flex;
}

.heading-3 {
  background-image: linear-gradient(90deg, var(--紺), var(--header-color));
  color: #fff;
  text-align: center;
  letter-spacing: 3px;
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  width: auto;
  height: auto;
  margin: 0;
  padding-left: 0;
  padding-right: 0;
  font-family: Montserrat, sans-serif;
  font-size: 60px;
  font-weight: 700;
  line-height: 60px;
}

.comparing-others {
  grid-column-gap: 18px;
  grid-row-gap: 18px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: auto;
  margin-top: 180px;
  display: flex;
  position: relative;
}

.div-block-13 {
  width: 50%;
  height: 100%;
}

.div-block-14 {
  z-index: 1;
  flex-flow: column;
  width: 80%;
  height: 100%;
  display: flex;
  position: relative;
}

.columns {
  border-bottom: 0 solid #fff;
  justify-content: center;
  align-items: center;
  display: flex;
}

.column {
  color: #999;
  background-color: #7f8694;
  border-top-left-radius: 30px;
  justify-content: center;
  align-items: center;
  height: 80px;
  display: flex;
}

.column-2 {
  background-color: #00b3a7;
  background-image: linear-gradient(225deg, #2eaee6, #3cfbd0 102%);
  border-top-right-radius: 30px;
  justify-content: center;
  align-items: center;
  height: 80px;
  display: flex;
}

.text-block-18 {
  color: #fff;
  letter-spacing: 3px;
  font-size: 20px;
  line-height: 20px;
}

.text-block-19 {
  color: #fff;
  letter-spacing: 3px;
  font-family: Montserrat, sans-serif;
  font-size: 28px;
  font-weight: 500;
  line-height: 28px;
}

.text-block-20 {
  color: #fff;
  text-align: center;
  letter-spacing: 3px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 20px;
}

.columns-2 {
  border-bottom: 1px solid #fff;
  justify-content: center;
  align-items: stretch;
  display: flex;
}

.column-3 {
  background-color: #20d4d7;
  justify-content: center;
  align-items: center;
  display: flex;
}

.text-block-21 {
  color: #fff;
  text-align: center;
  letter-spacing: 3px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 20px;
  font-weight: 500;
}

.columns-3 {
  border-bottom: 1px solid #fff;
  justify-content: center;
  align-items: stretch;
  display: flex;
}

.column-4 {
  background-color: #20d4d7;
  justify-content: center;
  align-items: center;
  display: flex;
}

.columns-4 {
  border-bottom: 1px solid #fff;
  justify-content: center;
  align-items: stretch;
  display: flex;
}

.text-block-22 {
  color: #fff;
  text-align: center;
  letter-spacing: 3px;
  font-size: 20px;
  font-weight: 500;
}

.column-5 {
  letter-spacing: 2px;
  background-color: #20d4d7;
  justify-content: center;
  align-items: center;
  display: flex;
}

.columns-5 {
  border-bottom: 1px solid #fff;
  justify-content: center;
  align-items: stretch;
  display: flex;
}

.text-block-23 {
  color: #fff;
  text-align: center;
  letter-spacing: 3px;
  font-size: 20px;
  font-weight: 500;
}

.column-6 {
  background-color: #20d4d7;
  justify-content: center;
  align-items: center;
  display: flex;
}

.columns-6 {
  border-bottom: 1px solid #fff;
  justify-content: center;
  align-items: stretch;
  display: flex;
}

.column-7 {
  background-color: var(--薄いグレーグリーン);
  opacity: 1;
  padding: 20px 30px;
}

.column-8 {
  background-color: rgba(135, 192, 219, .47);
  background-image: linear-gradient(225deg, rgba(46, 176, 229, .3), var(--薄いグリーン));
  padding: 20px 30px;
}

.column-9 {
  background-color: var(--薄いグレーグリーン);
  height: auto;
  padding: 20px 30px;
}

.column-10,
.column-11 {
  background-color: var(--薄いグレーグリーン);
  padding: 20px 30px;
}

.column-12 {
  background-color: var(--薄いグレーグリーン);
  flex-flow: column;
  padding: 20px 30px;
  display: flex;
}

.column-13 {
  background-color: var(--薄いグレーグリーン);
  padding: 20px 30px;
}

.column-14 {
  background-color: rgba(135, 192, 219, .47);
  background-image: linear-gradient(135deg, rgba(59, 249, 209, .3), var(--薄いブルー));
  height: auto;
  padding: 20px 30px;
}

.column-15,
.column-16 {
  background-color: rgba(135, 192, 219, .47);
  background-image: linear-gradient(135deg, var(--薄いグリーン), var(--薄いブルー));
  padding: 20px 30px;
}

.column-17 {
  background-color: rgba(135, 192, 219, .47);
  background-image: linear-gradient(135deg, var(--薄いグリーン), var(--薄いブルー));
  color: var(--main-blue);
  padding: 20px 30px;
}

.column-18 {
  background-color: rgba(135, 192, 219, .47);
  background-image: linear-gradient(135deg, var(--薄いグリーン), var(--薄いブルー));
  padding: 20px 30px;
}

.services {
  background-color: var(--white);
  background-image: none;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  height: auto;
  display: flex;
}

.paragraph-4 {
  color: #5e5e5e;
  letter-spacing: 2px;
  margin-bottom: 0;
  padding: 0;
  font-size: 20px;
}

.text-block-24 {
  color: #fff;
  letter-spacing: 3px;
  font-size: 20px;
  font-weight: 500;
}

.text-block-25 {
  color: #fff;
  letter-spacing: 3px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 20px;
  font-weight: 500;
}

.paragraph-5 {
  color: #5e5e5e;
  letter-spacing: 1px;
  margin-bottom: 0;
  font-size: 18px;
  line-height: 30px;
}

.div-block-15 {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  margin-top: 100px;
  margin-bottom: 30px;
  display: flex;
}

.text-block-26 {
  color: var(--basic-font-color);
  letter-spacing: 1.5px;
  -webkit-text-fill-color: inherit;
  background-clip: border-box;
  align-self: flex-start;
  margin-top: 0;
  font-family: Montserrat, sans-serif;
  font-size: 16px;
  font-weight: 600;
}

.heading-4 {
  color: var(--header-coloe-2);
  letter-spacing: 3px;
  margin-top: 0;
  margin-bottom: 30px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 29px;
  font-weight: 600;
  line-height: 40px;
  display: block;
}

.drain-cleaning {
  z-index: 1;
  background-image: none;
  background-size: auto;
  flex-flow: column;
  order: 0;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  max-width: none;
  height: auto;
  padding-bottom: 60px;
  font-size: 45px;
  display: flex;
  position: relative;
}

.justify-icon {
  grid-column-gap: 130px;
  grid-row-gap: 130px;
  flex-flow: row;
  justify-content: center;
  align-items: flex-start;
  width: auto;
  height: auto;
  padding-top: 0;
  display: flex;
}

.div-block-17 {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: auto;
  display: flex;
}

.div-block-18 {
  justify-content: flex-start;
  align-items: center;
  width: 45%;
  display: flex;
}

.div-block-19 {
  background-image: url('../images/vacuum_clean3.webp');
  background-position: 50%;
  background-size: cover;
  width: 60%;
  height: 50vh;
}

.div-block-20 {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.text-block-27 {
  color: var(--basic-font-color);
  text-align: center;
  letter-spacing: 2px;
  align-self: flex-start;
  width: 200px;
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  font-family: Noto Sans JP, sans-serif;
  font-size: 18px;
  font-weight: 600;
}

.div-block-21 {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: auto;
  margin-top: 0;
  display: flex;
}

.paragraph-6 {
  color: #00726a;
  letter-spacing: 2px;
  margin-bottom: 0;
  font-family: Noto Sans JP, sans-serif;
  font-size: 20px;
  font-weight: 500;
}

.paragraph-7 {
  color: #5e5e5e;
  letter-spacing: 1px;
  font-size: 18px;
}

.paragraph-8 {
  color: var(--dark-green);
  letter-spacing: 1px;
  margin-bottom: 0;
  font-family: Noto Sans JP, sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 30px;
}

.paragraph-9 {
  color: #5e5e5e;
  letter-spacing: 1px;
  margin-bottom: 0;
  font-size: 18px;
  line-height: 30px;
}

.paragraph-10 {
  color: #00726a;
  margin-bottom: 0;
  font-size: 18px;
  line-height: 30px;
}

.column-19 {
  background-color: #20d4d7;
  border-top-left-radius: 30px;
  justify-content: center;
  align-items: center;
  display: flex;
}

.list {
  color: #5e5e5e;
  letter-spacing: 1px;
  background-color: #fff;
  margin-bottom: 0;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-right: 30px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 18px;
  line-height: 30px;
}

.list-2 {
  color: var(--main-blue);
  letter-spacing: 1px;
  background-color: #fff;
  margin-bottom: 0;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-right: 30px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 30px;
}

.list-3 {
  color: #5e5e5e;
  letter-spacing: 1px;
  background-color: #fff;
  margin-bottom: 0;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-right: 30px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 30px;
}

.list-4 {
  color: var(--main-blue);
  letter-spacing: 1px;
  background-color: #fff;
  margin-bottom: 0;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-right: 30px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 30px;
}

.list-item {
  color: #5e5e5e;
  letter-spacing: 1px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 18px;
}

.list-5 {
  background-color: #fff;
  margin-bottom: 0;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-right: 30px;
}

.list-6 {
  color: var(--main-blue);
  background-color: #fff;
  margin-bottom: 0;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-right: 30px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 18px;
  font-weight: 500;
}

.list-7 {
  color: #5e5e5e;
  letter-spacing: 1px;
  background-color: #fff;
  margin-bottom: 0;
  margin-left: auto;
  margin-right: auto;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-right: 30px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 18px;
  font-weight: 400;
}

.list-8 {
  color: var(--main-blue);
  letter-spacing: 1px;
  background-color: #fff;
  margin-bottom: 0;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-right: 30px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 18px;
  font-weight: 500;
}

.list-item-2 {
  letter-spacing: 1px;
}

.list-9 {
  color: #5e5e5e;
  letter-spacing: 1px;
  background-color: #fff;
  margin-bottom: 0;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-right: 30px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 30px;
}

.text-block-28 {
  color: #5e5e5e;
  background-color: #fff;
  padding: 0 30px 20px;
  font-size: 16px;
}

.list-10 {
  color: var(--main-blue);
  letter-spacing: 1px;
  background-color: #fff;
  margin-bottom: 0;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-right: 30px;
  font-size: 18px;
}

.list-item-3 {
  font-family: Noto Sans JP, sans-serif;
  font-weight: 500;
}

.text-block-29 {
  letter-spacing: 1px;
  background-color: #fff;
  padding-bottom: 20px;
  padding-left: 30px;
  padding-right: 30px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 16px;
  font-weight: 500;
}

.list-11 {
  color: var(--main-blue);
  letter-spacing: 1px;
  background-color: #fff;
  margin-bottom: 0;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-right: 30px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 18px;
  font-weight: 500;
}

.list-12 {
  color: #5e5e5e;
  background-color: #fff;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-right: 30px;
  font-size: 18px;
}

.list-item-4 {
  letter-spacing: 1px;
  font-family: Noto Sans JP, sans-serif;
  font-weight: 400;
  line-height: 30px;
}

.text-block-30 {
  color: #fff;
  text-align: left;
  letter-spacing: 3px;
  width: 945px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 20px;
  font-weight: 300;
  line-height: 40px;
}

.advantages-title {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  flex-flow: row;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-width: auto;
  max-width: none;
  padding-top: 100px;
  display: flex;
}

.div-block-23 {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  flex-flow: column;
  justify-content: flex-start;
  align-self: auto;
  align-items: flex-start;
  width: auto;
  height: auto;
  display: flex;
}

.div-block-24 {
  grid-column-gap: 15px;
  grid-row-gap: 15px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-end;
  height: auto;
  margin-top: 80px;
  display: flex;
}

.div-block-25 {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  height: 23vh;
  display: flex;
}

.div-block-32 {
  background-image: url('../images/seat_bfaf.webp');
  background-position: 50%;
  background-size: cover;
  width: 100%;
  height: 100%;
  box-shadow: 0 12px 15px 9px rgba(0, 0, 0, .2);
}

.div-block-33 {
  background-image: url('../images/seat_bfaf2.webp');
  background-position: 0 0;
  background-size: cover;
  width: 42%;
  box-shadow: 0 12px 15px 9px rgba(0, 0, 0, .2);
}

.div-block-35 {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  width: 100%;
  height: 23vh;
  display: flex;
}

.div-block-37 {
  background-image: url('../images/sink_bfaf.webp');
  background-position: 0 0;
  background-size: cover;
  width: 31%;
  box-shadow: 0 12px 15px 9px rgba(0, 0, 0, .2);
}

.div-block-38 {
  background-image: url('../images/floor_bfaf.webp');
  background-position: 0 0;
  background-size: cover;
  width: 25%;
  box-shadow: 0 12px 15px 9px rgba(0, 0, 0, .2);
}

.div-block-39 {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  height: 23vh;
  display: flex;
}

.heading-5 {
  color: #fff;
  letter-spacing: 3px;
  align-self: auto;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Montserrat, sans-serif;
  font-size: 100px;
  font-weight: 400;
  line-height: 100px;
}

.div-block-43 {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  text-align: right;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  max-width: none;
  padding-right: 0;
  display: flex;
}

.text-block-31 {
  color: #fff;
  letter-spacing: 3px;
  margin-top: 0;
  font-family: Noto Sans JP, sans-serif;
  font-size: 18px;
  font-weight: 300;
}

.container-9 {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  max-width: none;
  margin-top: 0;
  margin-bottom: 0;
  margin-right: 0;
  display: flex;
}

.div-block-44 {
  width: 55%;
}

.text-block-32 {
  color: var(--basic-font-color);
  text-align: right;
  letter-spacing: 1px;
  flex: 1;
  align-self: auto;
  margin-top: 60px;
  margin-bottom: 0;
  padding-right: 180px;
  font-size: 16px;
  font-weight: 600;
}

.container-10 {
  grid-column-gap: 80px;
  grid-row-gap: 80px;
  flex-flow: column;
  flex: 1;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 400px;
  margin-top: -20px;
  display: flex;
}

.link-block-2 {
  text-decoration: none;
}

.text-block-33 {
  background-color: var(--main-blue);
  color: #fff;
  letter-spacing: 2px;
  background-image: linear-gradient(225deg, #5ce1ff, #003783);
  background-position: 0 0;
  border-radius: 15px;
  padding: 20px 50px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 40px;
  transition: box-shadow .4s, margin .4s;
  box-shadow: 0 4px 15px 10px rgba(6, 209, 255, .46);
}

.text-block-33:hover {
  box-shadow: none;
  margin-top: 10px;
  margin-bottom: -10px;
}

.div-block-45 {
  background-image: url('../images/arrow.png');
  background-position: 0 0;
  background-size: cover;
  width: 50px;
  height: 59px;
}

.text-block-34 {
  color: var(--main-blue);
  text-align: right;
  letter-spacing: 3px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 24px;
}

.div-block-46 {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  flex-flow: column;
  justify-content: flex-start;
  align-self: auto;
  align-items: flex-end;
  display: flex;
}

.flow {
  background-image: linear-gradient(180deg, var(--white), rgba(255, 255, 255, 0));
  color: var(--light-blue);
  letter-spacing: 3px;
  border-top-left-radius: 0;
  width: 100%;
  height: auto;
  padding-bottom: 0;
  font-family: Montserrat, sans-serif;
  font-size: 16px;
  font-weight: 100;
}

.heading-6 {
  color: #fff;
  text-align: center;
  letter-spacing: 3px;
  font-family: Montserrat, sans-serif;
  font-size: 100px;
  font-weight: 400;
  line-height: 100px;
}

.text-block-35 {
  color: #fff;
  text-align: center;
  letter-spacing: 3px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 18px;
  font-weight: 300;
}

.container-11 {
  flex-flow: column;
  align-items: stretch;
  width: 1000px;
  max-width: none;
  height: auto;
  margin-top: 100px;
  display: flex;
}

.div-block-47 {
  flex-flow: column;
  flex: 1;
  justify-content: flex-start;
  align-items: center;
  max-width: none;
  height: auto;
  display: flex;
}

.columns-7 {
  border-bottom: 2px solid var(--明るいブルー);
  color: #0073b4;
  letter-spacing: 2px;
  justify-content: center;
  align-items: stretch;
  width: 100%;
  margin-left: 0;
  margin-right: 0;
  padding-top: 6px;
  padding-bottom: 6px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 15px;
  font-weight: 600;
  display: flex;
}

.columns-8 {
  color: #fff;
  background-color: #007975;
  background-image: linear-gradient(133deg, #02f6bc, #31abea);
  background-position: 0 0;
  border-top: 0 solid #b8fffd;
  border-bottom: 1px solid #b8fffd;
  flex-flow: row;
  flex: 0 auto;
  justify-content: center;
  align-items: stretch;
  width: 100%;
  height: 50px;
  font-family: Noto Sans JP, sans-serif;
  font-weight: 400;
  line-height: 14px;
  display: flex;
}

.columns-8-copy {
  border-bottom: 2px solid var(--明るいブルー);
  opacity: 1;
  color: var(--main-blue);
  letter-spacing: 2px;
  justify-content: flex-start;
  align-items: stretch;
  width: 100%;
  padding-top: 6px;
  padding-bottom: 6px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 15px;
  font-weight: 700;
  display: flex;
}

.column-20 {
  justify-content: center;
  align-items: center;
  display: flex;
}

.column-21 {
  justify-content: center;
  align-items: center;
  font-size: 20px;
  display: flex;
}

.column-22,
.column-23,
.column-24 {
  justify-content: center;
  align-items: center;
  display: flex;
}

.column-25 {
  background-color: rgba(194, 255, 254, 0);
  height: 50px;
}

.text-block-36,
.text-block-37,
.text-block-38,
.text-block-39 {
  padding-top: 0;
  font-size: 18px;
}

.text-block-40 {
  text-align: center;
  letter-spacing: 2px;
  font-size: 18px;
}

.column-26 {
  justify-content: flex-start;
  align-items: center;
  font-family: Noto Sans JP, sans-serif;
  font-weight: 700;
  display: flex;
}

.text-block-41 {
  font-size: 15px;
  display: block;
}

.column-27 {
  align-items: center;
  display: flex;
}

.column-28,
.column-29 {
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.column-30,
.column-31,
.column-32,
.column-33,
.column-34,
.column-35,
.column-36,
.column-37,
.column-38,
.column-39,
.column-40,
.column-41,
.column-42,
.column-43,
.column-44,
.column-45,
.column-46,
.column-47,
.column-48,
.column-49,
.column-50,
.column-51,
.column-52,
.column-53,
.column-54 {
  align-items: center;
  display: flex;
}

.slider-4 {
  background-color: rgba(221, 221, 221, 0);
  justify-content: center;
  align-items: flex-start;
  height: auto;
  padding-bottom: 100px;
  display: flex;
}

.slide-40 {
  vertical-align: middle;
  height: auto;
}

.mask-2 {
  flex: 0 auto;
  align-self: auto;
  height: auto;
}

.left-arrow-2 {
  background-color: #808da0;
  border-radius: 30px;
  flex: 0 auto;
  align-self: auto;
  width: 50px;
  height: 50px;
  margin-top: 290px;
  transition: color .4s, background-color .4s;
}

.left-arrow-2:hover {
  color: #3aa4d2;
  background-color: #68f5f7;
}

.right-arrow {
  z-index: 1;
  background-color: #808da0;
  border-radius: 30px;
  order: 0;
  justify-content: flex-end;
  align-items: flex-start;
  width: 50px;
  height: 50px;
  margin-top: 290px;
  margin-bottom: 0;
  transition: color .4s, background-color .4s;
  display: flex;
  position: absolute;
}

.right-arrow:hover {
  color: #3aa4d2;
  background-color: #68f5f7;
}

.icon-2 {
  flex: 0 auto;
  align-self: auto;
  margin-top: 12px;
  font-size: 25px;
  font-weight: 900;
  line-height: 25px;
  display: block;
}

.icon-3 {
  margin-top: 12px;
  font-size: 25px;
  font-weight: 900;
  line-height: 25px;
}

.text-block-42 {
  text-align: center;
  font-size: 18px;
  font-weight: 600;
}

.text-block-43 {
  text-align: center;
}

.text-block-44 {
  text-align: left;
  letter-spacing: 1px;
  padding-right: 0;
  font-size: 17px;
}

.text-block-45,
.text-block-46 {
  text-align: left;
  letter-spacing: 1px;
  font-size: 17px;
}

.text-block-47 {
  text-align: center;
  letter-spacing: 1px;
  padding-left: 10px;
  font-size: 17px;
}

.text-block-48 {
  text-align: right;
  letter-spacing: 1px;
  font-size: 17px;
}

.text-block-49 {
  text-align: left;
  letter-spacing: 1px;
  margin-right: 10px;
  padding-right: 0;
  font-size: 17px;
}

.text-block-50,
.text-block-51 {
  letter-spacing: 1px;
  font-size: 17px;
}

.text-block-52 {
  text-align: right;
  letter-spacing: 1px;
  font-size: 17px;
}

.text-block-53,
.text-block-54 {
  letter-spacing: 1px;
  font-size: 17px;
}

.text-block-55 {
  letter-spacing: 1px;
  font-size: 17px;
  line-height: 20px;
}

.column-55 {
  padding-right: 0;
}

.column-56,
.column-57,
.column-58 {
  padding-left: 20px;
  padding-right: 0;
}

.column-59 {
  padding-left: 10px;
  padding-right: 0;
}

.text-block-56,
.text-block-57,
.text-block-58,
.text-block-59,
.text-block-60,
.text-block-61,
.text-block-62,
.text-block-63,
.text-block-64,
.text-block-65,
.text-block-66,
.text-block-67,
.text-block-68,
.text-block-69,
.text-block-70,
.text-block-71,
.text-block-72,
.text-block-73,
.text-block-74,
.text-block-75,
.text-block-76,
.text-block-77,
.text-block-78,
.text-block-79,
.text-block-80,
.text-block-81,
.text-block-82,
.text-block-83,
.text-block-84,
.text-block-85 {
  text-align: center;
}

.div-block-48 {
  z-index: 0;
  grid-column-gap: 30px;
  grid-row-gap: 30px;
  text-align: left;
  background-color: #808d9f;
  border: 1px solid #3eb9ff;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  width: auto;
  height: 25%;
  margin-top: -60px;
  padding: 100px 60px 60px;
  display: flex;
  position: static;
}

.heading-7 {
  color: var(--white);
  text-align: center;
  letter-spacing: 2px;
  -webkit-text-fill-color: inherit;
  background-image: linear-gradient(129deg, #14fdc8, #30aae9);
  background-clip: border-box;
  border-top: 0 solid #21e9d2;
  border-right: 0 solid #23e8d2;
  border-radius: 60px 0;
  margin-top: 10px;
  margin-bottom: 0;
  padding: 20px 40px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 30px;
  font-style: normal;
  font-weight: 600;
  text-decoration: none;
}

.text-block-86 {
  color: var(--white);
  text-align: center;
  letter-spacing: 3px;
  margin-top: 60px;
  margin-bottom: 60px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 20px;
  font-weight: 300;
}

.div-block-49 {
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  height: auto;
  margin-bottom: 60px;
  display: flex;
}

.text-block-87 {
  text-align: center;
  letter-spacing: 1px;
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  font-family: Montserrat, sans-serif;
  font-size: 50px;
  font-style: italic;
  font-weight: 600;
  line-height: 50px;
  text-decoration: underline;
}

.div-block-50 {
  text-align: center;
}

.div-block-50:hover {
  margin-top: 0;
  margin-bottom: 0;
}

.paragraph-11 {
  color: var(--light-blue);
  text-align: left;
  letter-spacing: 3px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 20px;
  font-weight: 300;
  line-height: 40px;
}

.div-block-51 {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
  display: flex;
}

.div-block-52 {
  color: #fff;
  -webkit-text-fill-color: transparent;
  background-image: linear-gradient(#fff, #3ff2f5);
  -webkit-background-clip: text;
  background-clip: text;
  flex-flow: row;
  justify-content: center;
  align-items: flex-end;
  text-decoration: none;
  display: flex;
}

.text-block-88 {
  letter-spacing: 2px;
  font-family: Noto Sans JP, sans-serif;
  font-weight: 400;
}

.div-block-53 {
  z-index: 3;
  flex-flow: column;
  margin-top: 0;
  display: flex;
  position: relative;
}

.text-block-89 {
  color: var(--main-blue);
  text-align: right;
  letter-spacing: 2px;
  font-size: 16px;
  font-weight: 600;
}

.list-13 {
  color: var(--white);
  letter-spacing: 2px;
  padding-left: 20px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 40px;
}

.div-block-54 {
  background-image: url('../images/arrow.png');
  background-position: 0 0;
  background-size: cover;
  width: 50px;
  height: 59px;
  font-size: 14px;
}

.slide-nav-2 {
  margin-top: 0;
  top: auto;
  bottom: 0%;
  left: 0%;
  right: 0%;
}

.div-block-55 {
  z-index: -1;
  border: 1px solid var(--明るいブルー);
  background-color: rgba(0, 28, 61, .5);
  width: 500px;
  height: 450px;
  display: none;
  position: absolute;
  top: 75px;
}

.heading-7-copy {
  color: var(--white);
  text-align: center;
  letter-spacing: 2px;
  -webkit-text-fill-color: inherit;
  background-image: linear-gradient(129deg, #10fcc8, #a1ce00);
  background-clip: border-box;
  border-radius: 60px 0;
  margin-top: 10px;
  margin-bottom: 0;
  padding: 20px 40px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 30px;
  font-style: normal;
  font-weight: 700;
  text-decoration: none;
}

.heading-7-copy-copy {
  color: var(--white);
  text-align: center;
  letter-spacing: 2px;
  -webkit-text-fill-color: inherit;
  background-image: linear-gradient(129deg, #0095c5, #4f00b4 51%, #ff86ce);
  background-clip: border-box;
  border-top: 0 solid #1be0d3;
  border-bottom: 0 solid #25e5d2;
  border-right: 0 solid #23e4d2;
  border-radius: 60px 0;
  margin-top: 10px;
  margin-bottom: 0;
  padding: 20px 40px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 30px;
  font-style: normal;
  font-weight: 700;
  text-decoration: none;
}

.div-block-47-copy {
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  max-width: 900px;
  height: 100%;
  display: flex;
}

.columns-8-2-copy {
  color: #fff;
  background-color: #007975;
  background-image: linear-gradient(133deg, #12f5b8, #98d32d);
  background-position: 0 0;
  border-top: 0 solid #b8fffd;
  border-bottom: 1px solid #b8fffd;
  flex-flow: row;
  flex: 0 auto;
  justify-content: center;
  align-items: stretch;
  width: 100%;
  height: 50px;
  font-family: Noto Sans JP, sans-serif;
  font-weight: 400;
  line-height: 14px;
  display: flex;
}

.columns-8-2-copy-copy {
  color: #fff;
  background-color: #007975;
  background-image: linear-gradient(133deg, #20e5d1, #0085d5 49%, #a093f9);
  background-position: 0 0;
  border-top: 0 solid #b8fffd;
  border-bottom: 1px solid #b8fffd;
  flex-flow: row;
  flex: 0 auto;
  justify-content: center;
  align-items: stretch;
  width: 100%;
  height: 50px;
  font-family: Noto Sans JP, sans-serif;
  font-weight: 400;
  line-height: 14px;
  display: flex;
}

.text-block-40-copy {
  color: var(--white);
  text-align: center;
  letter-spacing: 2px;
  font-size: 18px;
  font-weight: 500;
}

.text-block-37-copy,
.text-block-36-copy,
.text-block-38-copy,
.text-block-39-copy {
  color: var(--white);
  padding-top: 0;
  font-size: 18px;
}

.text-block-90 {
  letter-spacing: 2px;
  font-size: 18px;
  line-height: 18px;
}

.text-block-91,
.text-block-92 {
  font-size: 18px;
}

.text-block-38-copy,
.text-block-39-copy {
  color: var(--white);
  padding-top: 0;
  font-size: 18px;
}

.text-block-93,
.text-block-94,
.text-block-95,
.text-block-96,
.text-block-97,
.text-block-98,
.text-block-99,
.text-block-100,
.text-block-101,
.text-block-102,
.text-block-103,
.text-block-104,
.text-block-105,
.text-block-106,
.text-block-107,
.text-block-108,
.text-block-109,
.text-block-110,
.text-block-111,
.text-block-112,
.text-block-113,
.text-block-114,
.text-block-115,
.text-block-116 {
  text-align: center;
}

.column-60 {
  justify-content: center;
  align-items: center;
  display: flex;
}

.text-block-117 {
  text-align: center;
}

.column-61,
.column-62,
.column-63,
.column-64,
.column-65,
.column-66,
.column-67 {
  justify-content: center;
  align-items: center;
  display: flex;
}

.div-block-56 {
  background-image: linear-gradient(135deg, #30aae7, #14fdc8);
  border-top-left-radius: 15px;
  border-bottom-right-radius: 15px;
  width: 25px;
  height: 10px;
  margin-top: 15px;
}

.div-block-57 {
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  align-items: center;
  margin-top: 0;
  display: flex;
}

.text-block-118 {
  color: var(--white);
  text-align: center;
  letter-spacing: 2px;
  margin-top: 10px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 18px;
  font-weight: 400;
}

.price {
  background-color: var(--white);
  height: auto;
  padding-bottom: 0;
  font-weight: 400;
  line-height: 20px;
}

.column-68 {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  padding-right: 0;
  display: flex;
}

.slide-nav-2-copy {
  margin-top: 0;
  top: auto;
  bottom: 0%;
  left: 0%;
  right: 0%;
}

.section-8 {
  background-image: linear-gradient(318deg, #008cb3, rgba(255, 255, 255, 0));
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 1000px;
  display: flex;
}

.container-12 {
  width: 100%;
  height: auto;
}

.trained-staff {
  clear: none;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: auto;
  padding-left: 40px;
  padding-right: 40px;
  display: flex;
  position: relative;
}

.div-block-59 {
  z-index: 1;
  background-image: url('../images/staff-assembly.svg');
  background-position: 50% 0;
  background-size: cover;
  width: 357px;
  height: 247px;
  margin-top: 60px;
  margin-bottom: 0;
  position: relative;
}

.div-block-60 {
  z-index: 2;
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  border: 2px #07f5b7;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  flex-flow: column;
  justify-content: center;
  align-items: stretch;
  width: auto;
  height: auto;
  padding-top: 40px;
  padding-bottom: 15px;
  display: flex;
  position: relative;
  top: auto;
  bottom: -21%;
  left: 0%;
  right: 0%;
}

.heading-8 {
  color: #0073b4;
  letter-spacing: 3px;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Noto Sans JP, sans-serif;
  font-size: 35px;
  font-style: normal;
  font-weight: 600;
  text-decoration: none;
  position: relative;
}

.heading-9 {
  color: #0073b4;
  text-align: center;
  letter-spacing: 2px;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Noto Sans JP, sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 20px;
  position: relative;
}

.div-block-61 {
  background-color: #96dbff;
  border-radius: 30px 0;
  width: 610px;
  height: 20px;
  margin-top: -15px;
  display: block;
}

.in-house-construction {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  margin-top: 100px;
  display: flex;
}

.div-block-63 {
  background-image: url('../images/A.you.png');
  background-position: 0 0;
  background-size: cover;
  width: 338px;
  height: 250px;
  margin-top: 0;
  margin-bottom: -45px;
  position: absolute;
  top: auto;
  bottom: 0%;
  left: 40%;
  right: 0%;
}

.list-14 {
  color: #0073b4;
  letter-spacing: 2px;
  border-bottom: 1px #000;
  margin-top: 0;
  font-family: Noto Sans JP, sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 30px;
  display: none;
}

.text-block-119 {
  z-index: 2;
  color: #fff;
  text-align: center;
  letter-spacing: 2px;
  -webkit-text-fill-color: transparent;
  background-image: linear-gradient(90deg, #0073b4, #30e7b3);
  -webkit-background-clip: text;
  background-clip: text;
  width: auto;
  margin-top: 0;
  padding: 0;
  font-family: Noto Sans JP, sans-serif;
  font-size: 28px;
  font-weight: 700;
  line-height: 40px;
  position: relative;
}

.text-block-120 {
  color: #fff;
  text-align: right;
  letter-spacing: 3px;
  width: 80%;
  font-family: Noto Sans JP, sans-serif;
  font-size: 20px;
  font-weight: 300;
}

.text-block-121 {
  color: var(--white);
  text-align: center;
  letter-spacing: 3px;
  margin-bottom: 40px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 18px;
  font-weight: 300;
}

.heading-10 {
  color: var(--white);
  text-align: center;
  letter-spacing: 3px;
  font-family: Montserrat, sans-serif;
  font-size: 100px;
  font-weight: 400;
  line-height: 100px;
}

.div-block-64 {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  height: 400px;
  display: flex;
}

.div-block-65 {
  border: 1px solid var(--light-blue);
  background-color: rgba(24, 60, 59, .8);
  background-image: none;
  background-size: auto;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 90%;
  height: 70%;
  display: flex;
}

.text-block-122 {
  color: var(--deep-dark-green);
  text-shadow: 6px 1px 1px rgba(0, 0, 0, .2);
  white-space: normal;
  word-break: normal;
  overflow-wrap: normal;
  -webkit-text-fill-color: inherit;
  background-color: #07f5b7;
  background-image: linear-gradient(#5df4f6, #fff);
  background-clip: border-box;
  border-top-left-radius: 45px;
  border-bottom-right-radius: 45px;
  margin-bottom: -30px;
  padding: 0 15px;
  font-family: Montserrat, sans-serif;
  font-size: 40px;
  font-weight: 700;
  line-height: 80px;
  position: relative;
}

.div-block-66 {
  filter: brightness(200%);
  background-image: url('../images/mail.svg');
  background-position: 50%;
  background-size: cover;
  width: 77px;
  height: 60px;
}

.div-block-67 {
  justify-content: center;
  align-items: center;
  margin-top: 20px;
  display: flex;
}

.div-block-68 {
  background-image: url('../images/スケジュール.svg');
  background-position: 0 0;
  background-size: cover;
  width: 75px;
  height: 75px;
}

.div-block-69 {
  background-image: url('../images/arrow2-1.svg');
  background-position: 0 0;
  background-size: cover;
  width: 35px;
  height: 35px;
  margin-left: 20px;
  margin-right: 20px;
}

.paragraph-12 {
  color: var(--white);
  text-align: center;
  letter-spacing: 2px;
  width: auto;
  margin-bottom: 0;
  padding: 20px 35px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 30px;
}

.div-block-70 {
  flex-flow: row;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
  display: flex;
}

.div-block-71 {
  filter: brightness(200%);
  background-image: url('../images/hearing.png');
  background-position: 0 0;
  background-size: cover;
  width: 75px;
  height: 80px;
}

.div-block-72 {
  background-image: url('../images/現地調査.svg');
  background-position: 0 0;
  background-size: cover;
  width: 91px;
  height: 75px;
}

.text-block-123 {
  color: var(--white);
  margin-left: 15px;
  padding-right: 10px;
  font-size: 14px;
}

.paragraph-13 {
  color: var(--white);
  text-align: center;
  letter-spacing: 2px;
  margin-bottom: 0;
  padding-top: 20px;
  padding-bottom: 20px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 30px;
}

.div-block-73 {
  justify-content: center;
  align-items: center;
  margin-top: 20px;
  display: flex;
}

.div-block-74 {
  justify-content: center;
  align-items: center;
  width: auto;
  margin-top: 20px;
  display: flex;
}

.div-block-75 {
  background-image: url('../images/完了.svg');
  background-position: 0 0;
  background-size: cover;
  width: 90px;
  height: 90px;
}

.div-block-76 {
  -webkit-text-fill-color: inherit;
  background-image: url('../images/バケツ.svg');
  background-position: 0 0;
  background-size: cover;
  background-clip: border-box;
  width: 73px;
  height: 75px;
}

.div-block-77 {
  filter: brightness(160%);
  background-image: url('../images/garbage-man.png');
  background-position: 0 0;
  background-size: cover;
  width: 60px;
  height: 80px;
}

.paragraph-14 {
  color: var(--white);
  text-align: center;
  letter-spacing: 2px;
  margin-bottom: 0;
  padding-top: 20px;
  padding-bottom: 20px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 30px;
}

.div-block-78 {
  filter: brightness(160%);
  background-image: url('../images/check.png');
  background-position: 50%;
  background-size: cover;
  width: 80px;
  height: 80px;
}

.div-block-79 {
  filter: brightness(200%);
  background-image: url('../images/checkmark.png');
  background-position: 0 0;
  background-size: cover;
  width: 45px;
  height: 45px;
  margin-left: 20px;
  margin-right: 20px;
}

.paragraph-15 {
  color: var(--white);
  text-align: center;
  letter-spacing: 1px;
  width: 180px;
  margin-bottom: 0;
  padding-top: 20px;
  padding-bottom: 10px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 16px;
  font-weight: 500;
}

.paragraph-16 {
  color: var(--white);
  letter-spacing: 2px;
  margin-bottom: 0;
  font-family: Noto Sans JP, sans-serif;
  font-size: 16px;
  font-weight: 500;
}

.div-block-80 {
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.text-block-124 {
  margin-left: 0;
  margin-right: 10px;
  padding-right: 0;
}

.div-block-81 {
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-right: 40px;
  display: flex;
}

.text-block-125,
.text-block-126,
.text-block-127 {
  color: var(--light-blue);
  letter-spacing: 3px;
  margin-top: 20px;
  font-family: Montserrat, sans-serif;
  font-size: 16px;
  font-weight: 100;
}

.text-block-128 {
  margin-top: 10px;
}

.div-block-82 {
  margin-top: 100px;
  margin-bottom: 20px;
}

.text-block-129 {
  color: var(--header-color);
  text-align: center;
  font-size: 32px;
  font-weight: 700;
  line-height: 32px;
}

.text-block-130 {
  color: #fff;
  letter-spacing: 2px;
  margin-top: 60px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 22px;
  font-weight: 300;
  line-height: 22px;
}

.menber {
  text-align: center;
  letter-spacing: 2px;
  background-image: linear-gradient(0deg, rgba(255, 255, 255, .7) 92%, rgba(255, 255, 255, 0));
  width: 100%;
  height: auto;
  padding-bottom: 20px;
}

.flex-block {
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-bottom: 60px;
  position: relative;
}

.heading-11 {
  color: #fff;
  letter-spacing: 3px;
  font-family: Montserrat, sans-serif;
  font-size: 100px;
  font-weight: 400;
  line-height: 100px;
}

.text-block-131 {
  color: #0073b4;
  letter-spacing: 2px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 35px;
  font-weight: 600;
  line-height: 35px;
  position: relative;
}

.voice-section {
  color: #0073b4;
  letter-spacing: 2px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 35px;
  font-weight: bold;
  line-height: 35px;
  position: relative;
}

.text-block-132 {
  color: #0073b4;
  letter-spacing: 2px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 28px;
  font-weight: 600;
  line-height: 28px;
}

.text-block-133 {
  color: #0073b4;
  text-align: right;
  letter-spacing: 2px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 20px;
  font-weight: 500;
}

.slider-5 {
  background-color: rgba(221, 221, 221, 0);
  flex-flow: row;
  justify-content: center;
  align-items: center;
  width: 990px;
  max-width: none;
  height: 450px;
  display: flex;
}

.paragraph-17 {
  color: #0073b4;
  letter-spacing: 2px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 30px;
}

.div-block-83 {
  grid-column-gap: 29px;
  grid-row-gap: 29px;
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  width: 50%;
  display: flex;
}

.div-block-84 {
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  flex-flow: column;
  display: flex;
}

.mask-3 {
  flex: 0 auto;
  width: 100%;
  max-width: 940px;
}

.slide-41,
.slide-41.slides,
.slide-42,
.slide-42.slides,
.slide-43,
.slide-43.slides {
  width: 100%;
}

.slide-44 {
  width: 33%;
}

.div-block-85 {
  grid-column-gap: 36px;
  grid-row-gap: 36px;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding-left: 20px;
  padding-right: 20px;
  display: flex;
}

.div-block-86 {
  width: 32%;
  height: 300px;
}

.container-13 {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  max-width: 940px;
  display: flex;
}

.testimonials {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-top: 0;
  padding-top: 220px;
  display: flex;
}

.div-block-88 {
  background-image: url('../images/certificate.jpg');
  background-position: 50%;
  background-size: cover;
  width: 32%;
  height: 300px;
}

.div-block-89 {
  background-image: url('../images/check.png');
  background-position: 0 0;
  background-size: cover;
  width: 32%;
  height: 300px;
}

.faq {
  background-image: linear-gradient(180deg, rgba(255, 255, 255, .7), var(--white) 15%);
  letter-spacing: 2px;
  width: 100%;
  height: auto;
  padding-bottom: 0;
  position: relative;
}

.heading-12 {
  color: #fff;
  text-align: right;
  letter-spacing: var(--3);
  margin-top: 0;
  margin-bottom: 0;
  font-family: Montserrat, sans-serif;
  font-size: 100px;
  font-weight: 400;
  line-height: 100px;
}

.div-block-90 {
  grid-column-gap: 80px;
  grid-row-gap: 80px;
  justify-content: flex-end;
  align-items: flex-start;
  margin-top: 140px;
  display: flex;
}

.text-block-134 {
  color: #fff;
  letter-spacing: 3px;
  margin-top: 15px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 18px;
  font-weight: 300;
}

.div-block-91 {
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: auto;
  margin-top: 100px;
  display: flex;
}

.div-block-92 {
  grid-column-gap: 30px;
  grid-row-gap: 30px;
  background-color: var(--white);
  border-radius: 20px;
  flex-flow: column;
  justify-content: flex-start;
  align-self: stretch;
  align-items: flex-start;
  width: 43%;
  height: auto;
  padding: 20px 30px;
  display: flex;
  box-shadow: 0 5px 10px rgba(0, 132, 255, .5);
}

.div-block-93 {
  background-image: url('../images/代表取締役歯科衛生士-赤羽-歩.png');
  background-position: 50%;
  background-size: cover;
  width: 100%;
  height: 350px;
}

.text-block-135 {
  color: #0073b4;
  text-align: left;
  letter-spacing: 2px;
  width: 100%;
  font-family: Noto Sans JP, sans-serif;
  font-size: 20px;
  font-weight: 600;
}

.paragraph-18 {
  color: var(--header-coloe-2);
  text-align: left;
  letter-spacing: 1px;
  align-self: auto;
  font-family: Noto Sans JP, sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 30px;
}

.div-block-94 {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  justify-content: center;
  align-items: flex-start;
  margin-top: 0;
  margin-bottom: 40px;
  display: flex;
}

.div-block-95 {
  background-image: url('../images/清掃統括責任者-堀込-竜司.png');
  background-position: 50%;
  background-size: cover;
  width: 100%;
  height: 350px;
}

.div-block-96 {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  height: auto;
  display: flex;
}

.div-block-97,
.div-block-98 {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  background-color: var(--white);
  border-radius: 20px;
  flex-flow: column;
  width: 43%;
  height: auto;
  padding: 20px 20px 40px;
  display: block;
  box-shadow: 0 5px 10px rgba(0, 132, 255, .5);
}

.div-block-99 {
  background-image: url('../images/西久保-貴亮.png');
  background-position: 50%;
  background-size: cover;
  width: 100%;
  height: 350px;
}

.text-block-136 {
  color: var(--header-coloe-2);
  font-family: Noto Sans JP, sans-serif;
  font-size: 20px;
  font-weight: 600;
}

.div-block-100 {
  background-image: url('../images/須田-いずみ.png');
  background-position: 50%;
  background-size: cover;
  width: 100%;
  height: 350px;
}

.text-block-137 {
  color: var(--header-coloe-2);
  font-family: Noto Sans JP, sans-serif;
  font-size: 20px;
  font-weight: 600;
}

.heading-13 {
  color: #fff;
  text-align: center;
  letter-spacing: 3px;
  font-family: Montserrat, sans-serif;
  font-size: 100px;
  font-weight: 400;
  line-height: 100px;
}

.div-block-101 {
  flex-flow: column;
  align-items: center;
  display: flex;
}

.text-block-138 {
  color: #fff;
  letter-spacing: 2px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 18px;
  font-weight: 300;
}

.contact {
  background-color: var(--white);
  flex-flow: column;
  justify-content: center;
  align-items: center;
  height: auto;
  font-family: Noto Sans JP, sans-serif;
  display: flex;
  position: relative;
}

.div-block-102 {
  width: 100%;
  height: auto;
  margin-bottom: 40px;
}

.text-block-139 {
  background-color: var(--light-dark-green);
  color: #fff;
  cursor: pointer;
  border: 1px solid #4beaff;
  padding: 20px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 24px;
  position: static;
}

.paragraph-19 {
  background-color: var(--white);
  margin-top: 20px;
  margin-left: 20px;
  padding-top: 40px;
  padding-bottom: 40px;
  padding-left: 20px;
  font-size: 20px;
}

.text-block-140 {
  background-color: var(--light-dark-green);
  background-image: linear-gradient(45deg, var(--light-dark-green), var(--deep-dark-green));
  color: #fff;
  cursor: pointer;
  border: 1px solid #4beaff;
  margin-top: 0;
  margin-bottom: 0;
  padding: 20px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 24px;
}

.paragraph-20 {
  background-color: var(--white);
  margin-top: 20px;
  margin-left: 20px;
  padding-top: 40px;
  padding-bottom: 40px;
  padding-left: 20px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 20px;
  font-weight: 400;
}

.paragraphy {
  background-color: var(--white);
  margin-top: 20px;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-left: 20px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 20px;
  font-weight: 400;
}

.paragraphy.dropdown1 {
  background-color: #fff;
}

.div-block-103,
.div-block-104,
.div-block-105,
.div-block-106,
.div-block-107 {
  margin-bottom: 40px;
}

.container-14 {
  grid-column-gap: 80px;
  grid-row-gap: 80px;
  flex-flow: column;
  justify-content: center;
  align-items: stretch;
  display: flex;
}

.div-block-108 {
  color: #fff;
  flex-flow: column;
  align-items: center;
  padding-top: 100px;
  font-family: Montserrat, sans-serif;
  font-weight: 400;
  display: flex;
}

.heading-14 {
  background-image: linear-gradient(90deg, var(--紺), var(--header-color));
  letter-spacing: 3px;
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  margin-top: 0;
  font-size: 60px;
  font-weight: 700;
  line-height: 60px;
}

.text-block-141 {
  color: var(--basic-font-color);
  letter-spacing: var(--2);
  font-size: 18px;
  font-weight: 600;
}

.corporate-information.footer {
  background-image: linear-gradient(90deg, #e5abe7, #30aae8);
  margin-bottom: 0;
  padding-top: 60px;
  position: relative;
}

.div-block-109 {
  justify-content: center;
  align-items: center;
  display: flex;
}

.text-field {
  color: #5b5b5b;
  width: 70%;
  height: auto;
  margin-bottom: 0;
  padding-top: 30px;
  padding-bottom: 30px;
}

.field-label {
  background-color: var(--main-blue);
  color: #fff;
  text-align: left;
  letter-spacing: 2px;
  text-indent: 0;
  align-self: center;
  width: 30%;
  height: 80px;
  margin-bottom: 0;
  padding-top: 30px;
  padding-bottom: 0;
  padding-left: 20px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 18px;
  font-weight: 400;
}

.div-block-110 {
  display: flex;
}

.text-field-2 {
  color: var(--basic-font-color);
  width: 70%;
  height: auto;
  margin-bottom: 0;
  padding-top: 30px;
  padding-bottom: 30px;
}

.field-label-2 {
  background-color: var(--main-blue);
  color: #fff;
  letter-spacing: 2px;
  background-image: none;
  width: 30%;
  height: 80px;
  margin-bottom: 0;
  padding-top: 30px;
  padding-bottom: 0;
  padding-left: 20px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 18px;
  font-weight: 400;
}

.text-span-13 {
  color: red;
}

.mail-form {
  justify-content: center;
  align-items: center;
  font-family: Noto Sans JP, sans-serif;
  font-weight: 400;
  display: flex;
}

.mail-form.clinic-name {
  border: 1px #000;
  justify-content: center;
  align-items: stretch;

}

.mail-form.plan {
  grid-column-gap: 38px;
  grid-row-gap: 38px;
  background-color: rgba(255, 255, 255, .18);
  justify-content: flex-start;
  align-items: center;
  margin-top: 1px;
  padding-top: 0;
  padding-bottom: 0;
}

.mail-form.notes {
  align-items: stretch;
  height: 250px;
  margin-top: 2px;
}

.text-span-14,
.text-span-15,
.text-span-16,
.text-span-17,
.text-span-18 {
  color: red;
}

.radio-label,
.radio-label-2,
.radio-label-3 {
  color: var(--main-blue);
  letter-spacing: 2px;
  font-size: 16px;
  font-weight: 700;
}

.check-box {
  background-color: var(--main-blue);
  color: #fff;
  letter-spacing: 2px;
  background-image: none;
  align-self: auto;
  width: 30%;
  height: 120px;
  margin-bottom: 0;
  padding-top: 40px;
  padding-bottom: 40px;
  padding-left: 20px;
  font-size: 18px;
  font-weight: 400;
}

.div-block-111 {
  align-self: center;
  font-weight: 400;
}

.textarea {
  color: var(--basic-font-color);
  width: 70%;
  height: 100%;
  margin-bottom: 0;
  padding-top: 20px;
  padding-bottom: 190px;
  padding-left: 20px;
}

.notes {
  width: 100%;
  margin-bottom: 0;
}

.note-title {
  background-color: var(--main-blue);
  color: #fff;
  letter-spacing: 2px;
  background-image: none;
  width: 30%;
  margin-bottom: 0;
  padding-top: 100px;
  padding-left: 20px;
  font-size: 18px;
  font-weight: 500;
}

.form-block {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  display: flex;
}

.form {
  align-self: auto;
  width: 100%;
}

.div-block-112 {
  width: 100%;
  margin-top: 30px;
  padding: 0 30px;
}

.div-block-113 {
  border: 2px #34f7f0;
  justify-content: center;
  align-items: center;
  width: auto;
  height: auto;
  display: flex;
}

.container-15 {
  z-index: 1;
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  flex-flow: column;
  width: 100%;
  max-width: 990px;
  display: flex;
  position: relative;
}

.submit-button {
  text-align: center;
  letter-spacing: 2px;
  -webkit-text-fill-color: inherit;
  background-image: linear-gradient(135deg, #013c87, #52cef1);
  background-position: 0 0;
  background-clip: border-box;
  border: 1px solid #00fff7;
  border-radius: 36px;
  width: 40%;
  padding-top: 20px;
  padding-bottom: 20px;
  font-size: 20px;
  font-weight: 400;
  transition: margin .4s, box-shadow .4s;
  display: block;
  box-shadow: 0 5px 10px 3px rgba(6, 209, 255, .46);
}

.submit-button:hover {
  box-shadow: none;
  margin-top: 10px;
  margin-bottom: -10px;
}

.div-block-114 {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  margin-top: 10px;
  padding-top: 60px;
  padding-bottom: 60px;
  display: flex;
}

.text-span-19 {
  letter-spacing: 4px;
  font-weight: 600;
  display: block;
}

.container-16 {
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 990px;
  height: auto;
  margin-bottom: 100px;
  display: flex;
}

.div-block-115 {
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 50%;
  height: 100%;
  display: flex;
}

.div-block-116 {
  flex-flow: column;
  justify-content: center;
  align-items: stretch;
  width: 50%;
  height: 100%;
  display: flex;
}

.div-block-117 {
  background-image: url('../images/A.you_shadow_2.png');
  background-position: 0 0;
  background-size: cover;
  width: 300px;
  height: 244px;
}

.div-block-118 {
  background-image: url('../images/A.you_shadow_2.png');
  background-position: 0 0;
  background-size: cover;
  width: 250px;
  height: 200px;
  margin-left: -8px;
}

.text-block-142 {
  color: #0fe;
  letter-spacing: 2px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 24px;
}

.text-block-143 {
  font-size: 18px;
  line-height: 30px;
}

.columns-9,
.columns-10,
.columns-11,
.columns-12,
.columns-13 {
  color: #fff;
  letter-spacing: 1px;
  border-bottom: 1px solid #32f8f0;
  font-family: Noto Sans JP, sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 40px;
}

.container-17 {
  background-color: #fff;
  justify-content: center;
  align-items: center;
  max-width: none;
  height: 150px;
  display: flex;
}

.container-18 {
  grid-column-gap: 80px;
  grid-row-gap: 80px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: auto;
  display: flex;
}

.heading-15 {
  color: #fff;
  letter-spacing: 3px;
  width: 100%;
  font-family: Noto Sans JP, sans-serif;
  font-size: 24px;
  font-weight: 300;
  line-height: 60px;
}

.div-block-119 {
  grid-column-gap: 80px;
  grid-row-gap: 80px;
  justify-content: center;
  align-items: flex-start;
  height: auto;
  display: flex;
}

.div-block-120 {
  background-image: url('../images/d972510b9b5a7f1cc4066e0fcfc8076c.jpg');
  background-position: 50%;
  background-size: cover;
  width: 35%;
  height: 300px;
}

.div-block-121 {
  background-image: url('../images/pro_cleaning_cable.jpg');
  background-position: 50% 100%;
  background-size: cover;
  width: 50%;
  height: 300px;
}

.div-block-122 {
  grid-column-gap: 80px;
  grid-row-gap: 80px;
  width: 100%;
  height: 500px;
  display: flex;
}

.div-block-123 {
  background-image: url('../images/pro_cleaning_box.jpg');
  background-position: 50% 100%;
  background-size: cover;
  width: 60%;
}

.div-block-124 {
  color: #fff;
  letter-spacing: 2px;
  font-family: Noto Sans JP, sans-serif;
  font-weight: 300;
}

.paragraph-21 {
  color: #fff;
  letter-spacing: 2px;
  width: 45%;
  margin-bottom: 0;
  font-family: Noto Sans JP, sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 40px;
}

.grid {
  grid-template: "Area"
    "."
    "."
    "."
    "."
    / 1fr 1fr 1fr 1fr 1fr;
}

.service-list {
  grid-column-gap: 30px;
  grid-row-gap: 30px;
  grid-template-rows: auto auto auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  width: 100vw;
  max-width: none;
  height: 800px;
  padding-left: 180px;
  padding-right: 180px;
}

.modals.modal-1 {
  background-image: url('../images/floor_clean.webp');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 800px;
  width: 100%;
  height: 100%;
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  position: static;
}

.modals.modal-2 {
  background-image: url('../images/cm_aircon_clean.webp');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 800px 600px;
  width: 100%;
  height: 100%;
}

.modals.modal-3 {
  z-index: 4;
  background-image: url('../images/windows_clean.webp');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 800px 600px;
  width: 100%;
  height: 100%;
  position: static;
}

.modals.modal-4 {
  background-image: url('../images/de_unit_head_clean.webp');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 800px 600px;
  width: 100%;
  height: 100%;
}

.modals.modal-5 {
  background-image: url('../images/pro_clean_pro.webp');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 800px;
  width: 100%;
  height: 100%;
}

.modals.modal-6 {
  background-image: url('../images/plaster_trap.jpg');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 800px;
  width: 100%;
  height: 100%;
}

.modals.modal-7 {
  background-image: url('../images/.jpg');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 800px;
  width: 100%;
  height: 100%;
}

.modals.modal-8 {
  background-image: url('../images/wall_clean.webp');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 800px;
  width: 100%;
  height: 100%;
}

.modals.modal-9 {
  background-image: url('../images/v2/sign_cleaning.jpg');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 800px;
  width: 100%;
  height: 100%;
}

.modals.modal-10 {
  background-image: url('../images/seat_bfaf2.webp');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 1000px;
  width: 100%;
  height: 100%;
}

.modals.modal-11 {
  background-image: url('../images/mat_cleaning.webp');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 800px;
  width: 100%;
  height: 100%;
}

.modals.modal-12 {
  background-image: url('../images/sink_bfaf.webp');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 800px;
  width: 100%;
  height: 100%;
  display: block;
}

.modals.modal-13 {
  background-image: url('../images/shelf_clean.webp');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 800px;
  width: 100%;
  height: 100%;
}

.modals.modal-14 {
  background-image: url('../images/seat_bfaf.webp');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 1000px;
  width: 100%;
  height: 100%;
}

.modals.modal-15 {
  background-image: url('../images/certificate.jpg');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 800px;
  width: 100%;
  height: 100%;
}

.wax {
  z-index: auto;
  background-image: url('../images/floor_clean.webp');
  background-position: 0 0;
  background-size: cover;
  width: 100%;
  height: 60%;
  transition: box-shadow .4s;
  position: relative;
  box-shadow: 0 8px 12px rgba(0, 255, 247, .5);
}

.wax:hover {
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: cover;
  box-shadow: 0 0 100px 12px rgba(0, 255, 247, .3);
}

.wax.contents {
  box-shadow: 0 8px 12px rgba(0, 255, 247, .3);
}

.wax.contents:hover {
  box-shadow: 0 0 100px 12px rgba(0, 255, 247, .3);
}

.air-con {
  background-image: url('../images/cm_aircon_clean.webp');
  background-position: 50%;
  background-size: cover;
  width: 100%;
  height: 60%;
  transition: box-shadow .4s;
  box-shadow: 0 8px 12px rgba(0, 255, 247, .5);
}

.air-con:hover {
  box-shadow: 0 0 100px 12px rgba(0, 255, 247, .3);
}

.air-con.contents {
  box-shadow: 0 8px 12px rgba(0, 255, 247, .3);
}

.air-con.contents:hover {
  box-shadow: 0 var(--0) var(--100px) var(--12) rgba(0, 255, 247, .3);
}

.glass {
  background-image: url('../images/windows_clean.webp');
  background-position: 50%;
  background-size: cover;
  width: 100%;
  height: 60%;
  box-shadow: 0 8px 12px rgba(0, 0, 0, .2);
}

.glass.contents {
  transition: box-shadow .4s;
  box-shadow: 0 8px 12px rgba(0, 255, 247, .3);
}

.glass.contents:hover {
  box-shadow: 0 0 100px 12px rgba(0, 255, 247, .3);
}

.unit-sterilization {
  background-image: url('../images/de_unit_head_clean.webp');
  background-position: 0 0;
  background-size: cover;
  width: 100%;
  height: 60%;
  transition: box-shadow .4s;
  box-shadow: 0 8px 12px rgba(0, 255, 247, .3);
}

.unit-sterilization:hover {
  box-shadow: 0 0 100px 12px rgba(0, 255, 247, .3);
}

.spitton {
  background-image: url('../images/pro_clean_pro.webp');
  background-position: 0 0;
  background-size: cover;
  width: 100%;
  height: 60%;
  transition: box-shadow .4s;
  box-shadow: 0 8px 12px rgba(0, 255, 247, .3);
}

.spitton:hover {
  box-shadow: 0 0 100px 12px rgba(0, 255, 247, .3);
}

.text-block-144 {
  background-color: var(--light-blue);
  color: var(--main-blue);
  text-align: center;
  background-image: none;
  border-radius: 10px;
  width: 80%;
  margin-top: -10px;
  margin-left: 0;
  margin-right: 0;
  padding-top: 10px;
  padding-bottom: 10px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 16px;
  font-weight: 600;
  position: relative;
}

.toilet {
  background-image: url('../images/toilet_cleaning.jpg');
  background-position: 0 0;
  background-size: cover;
  width: 100%;
  height: 60%;
  transition: box-shadow .4s;
  box-shadow: 0 8px 12px rgba(0, 255, 247, .3);
}

.toilet:hover {
  box-shadow: 0 0 100px 12px rgba(0, 255, 247, .3);
}

.gypsum-trap {
  background-image: url('../images/plaster_trap.jpg');
  background-position: 0 0;
  background-size: cover;
  width: 100%;
  height: 60%;
  transition: box-shadow .4s;
  box-shadow: 0 8px 12px rgba(0, 255, 247, .3);
}

.gypsum-trap:hover {
  box-shadow: 0 0 100px 12px rgba(0, 255, 247, .3);
}

.cross {
  box-shadow: 0 var(--8) var(--12) var(--0) rgba(0, 255, 247, .3);
  background-image: url('../images/wall_clean.webp');
  background-position: 0 0;
  background-size: cover;
  width: 100%;
  height: 60%;
  transition: box-shadow .4s;
}

.cross:hover {
  box-shadow: 0 var(--0) var(--100px) var(--12) rgba(0, 255, 247, .3);
}

.sign {
  box-shadow: 0 var(--8) var(--12) 0 rgba(0, 255, 247, .3);
  background-image: url('../images/v2/sign_cleaning.jpg');
  background-position: 0 0;
  background-size: cover;
  width: 100%;
  height: 60%;
  transition: box-shadow .4s;
}

.sign:hover {
  box-shadow: 0 var(--0) var(--100px) var(--12) rgba(0, 255, 247, .3);
}

.unit {
  box-shadow: 0 var(--8) var(--12) var(--0) rgba(0, 255, 247, .3);
  background-image: url('../images/seat_bfaf2.webp');
  background-position: 50% 100%;
  background-size: cover;
  width: 100%;
  height: 60%;
  transition: box-shadow .4s;
}

.unit:hover {
  box-shadow: 0 var(--0) var(--100px) var(--12) rgba(0, 255, 247, .3);
}

.mat {
  box-shadow: 0 var(--8) var(--12) var(--0) rgba(0, 255, 247, .3);
  background-image: url('../images/mat_cleaning.webp');
  background-position: 0 0;
  background-size: cover;
  width: 100%;
  height: 60%;
  transition: box-shadow .4s;
}

.mat:hover {
  box-shadow: 0 var(--0) var(--100px) var(--12) rgba(0, 255, 247, .3);
}

.sync {
  box-shadow: 0 var(--8) var(--12) var(--0) rgba(0, 255, 247, .3);
  background-image: url('../images/sink_bfaf.webp');
  background-position: 50%;
  background-size: cover;
  width: 100%;
  height: 60%;
  transition: box-shadow .4s;
}

.sync:hover {
  box-shadow: 0 var(--0) var(--100px) var(--12) rgba(0, 255, 247, .3);
}

.room {
  box-shadow: 0 var(--8) var(--12) var(--0) rgba(0, 255, 247, .3);
  background-image: url('../images/shelf_clean.webp');
  background-position: 0 0;
  background-size: cover;
  width: 100%;
  height: 60%;
  transition: box-shadow .4s;
}

.room:hover {
  box-shadow: 0 var(--0) var(--100px) var(--12) rgba(0, 255, 247, .3);
}

.seet {
  box-shadow: 0 var(--8) var(--12) var(--0) rgba(0, 255, 247, .3);
  background-image: url('../images/seat_bfaf.webp');
  background-position: 50%;
  background-size: cover;
  width: 100%;
  height: 60%;
  transition: box-shadow .4s;
}

.seet:hover {
  box-shadow: 0 var(--0) var(--100px) var(--12) rgba(0, 255, 247, .3);
}

.certificate {
  box-shadow: 0 var(--8) var(--12) var(--0) rgba(0, 255, 247, .3);
  background-image: url('../images/certificate.jpg');
  background-position: 50%;
  background-size: cover;
  width: 100%;
  height: 60%;
  margin-left: auto;
  margin-right: auto;
  transition: opacity .4s;
}

.certificate:hover {
  box-shadow: 0 var(--0) var(--100px) var(--12) rgba(0, 255, 247, .3);
}

.wax-image {
  cursor: pointer;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  height: auto;
  display: flex;
}

.image-grid-section {
  z-index: 0;
  position: relative;
}

.image-grid {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  grid-template-rows: auto auto auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.grid-background-image {
  background-image: url('../images/checkmark.png');
  background-position: 0 0;
  background-size: cover;
  width: 300px;
  height: 300px;
}

.modal-background {
  z-index: auto;
  background-color: rgba(0, 0, 0, .5);
  width: 100%;
  height: 100%;
  position: fixed;
}

.modal-content {
  flex-flow: row;
  justify-content: center;
  align-items: center;
  height: 100%;
  display: flex;
}

.modaling {
  background-image: url('../images/checkmark.png');
  background-position: 50%;
  background-repeat: repeat;
  background-size: cover;
  width: 300px;
  height: 300px;
}

.close-button {
  background-image: url('../images/ei-close.svg');
  background-position: 50%;
  background-repeat: repeat;
  background-size: cover;
  width: 30px;
  height: 30px;
}

.background-image {
  z-index: 4;
  background-color: rgba(0, 0, 0, .5);
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  display: flex;
  position: fixed;
  top: 0px;
}

.div-block-136 {
  width: 990px;
  height: 60%;
}

.section-13 {
  background-image: url('../images/A.you.png');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 1000px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  height: 100vh;
  display: flex;
}

.div-modal-wrapper {
  background-color: rgba(0, 0, 0, .5);
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  display: flex;
  position: fixed;
}

.div-modal-wd {
  background-color: var(--white);
  justify-content: center;
  align-items: center;
  width: 480px;
  height: 320px;
  display: flex;
  position: relative;
}

.heading-16 {
  text-align: center;
}

.div-close-button {
  background-image: url('../images/ei-close.svg');
  background-position: 0 0;
  background-size: auto;
  width: 40px;
  height: 40px;
  margin-top: 10px;
  margin-right: 10px;
  position: absolute;
  top: 0%;
  bottom: auto;
  left: auto;
  right: 0%;
}

.background-image-2,
.background-image-3,
.background-image-4,
.background-image-5 {
  z-index: 4;
  background-color: rgba(0, 0, 0, .5);
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  display: flex;
  position: fixed;
  top: 0px;
}

.background-image-6 {
  z-index: 4;
  background-color: rgba(0, 0, 0, .5);
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0px;
}

.background-image-7,
.background-image-8,
.background-image-9,
.background-image-10,
.background-image-11,
.background-image-12 {
  z-index: 4;
  background-color: rgba(0, 0, 0, .5);
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  display: flex;
  position: fixed;
  top: 0px;
}

.background-image-13 {
  z-index: 4;
  background-color: var(--hurf-brack);
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  display: flex;
  position: fixed;
  top: 0px;
}

.background-image-14,
.background-image-15 {
  z-index: 4;
  background-color: var(--hurf-brack);
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0px;
}

.aircon-image,
.grass-image,
.unit-image {
  cursor: pointer;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.spitton-image {
  cursor: pointer;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
  position: static;
}

.trap-image {
  cursor: pointer;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  width: auto;
  height: auto;
  display: flex;
}

.toilet-image {
  cursor: pointer;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.cross-image,
.sign-image {
  cursor: pointer;
  flex-flow: column;
  align-items: center;
  display: flex;
}

.unit-simi-image,
.mat-image,
.sync-image,
.room-image {
  cursor: pointer;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.seet-image,
.certificate-image {
  cursor: pointer;
  flex-flow: column;
  align-items: center;
  display: flex;
}

.modal-wrapper {
  display: block;
}

.container-19 {
  background-color: var(--hurf-brack);
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 70%;
  display: flex;
}

.acordion-item {
  background-image: linear-gradient(45deg, var(--main-blue), var(--dark-green));
  border: 1px solid #4beaff;
  flex: 0 auto;
  width: 100%;
  height: auto;
  display: block;
  overflow: hidden;
}

.acordion-toggle {
  height: 60px;
  display: flex;
}

.dropdown-list {
  background-color: var(--light-blue);
  padding: 20px;
  display: block;
  position: static;
  overflow: visible;
}

.dropdown-list-2 {
  background-color: var(--white);
  display: block;
  position: static;
}

.dropdown-list-2.w--open {
  background-color: var(--white);
}

.paragraph-22 {
  padding: 40px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 16px;
  font-weight: 400;
}

.dropdown-toggle {
  display: flex;
}

.dropdown-list-3 {
  display: block;
}

.dropdown-toggle-2 {
  display: flex;
}

.dropdown-list-4 {
  display: block;
}

.acordion-icon {
  color: #fff;
}

.dropdown-list-5 {
  background-color: var(--white);
  padding: 20px 20px 20px 40px;
  display: block;
  position: static;
}

.paragraph-23 {
  color: var(--basic-font-color);
  font-family: Noto Sans JP, sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 30px;
}

.text-block-145 {
  color: #fff;
  font-family: Noto Sans JP, sans-serif;
  font-size: 18px;
  font-weight: 500;
  display: block;
}

.div-block-137 {
  z-index: 3;
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  flex-flow: column;
  align-items: stretch;
  display: flex;
  position: relative;
}

.div-block-138 {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: auto;
  margin-top: 100px;
  display: flex;
}

.heading-17 {
  color: #fff;
  text-align: right;
  letter-spacing: 5px;
  width: 70%;
  font-family: Noto Sans JP, sans-serif;
  font-size: 24px;
  font-weight: 300;
  line-height: 40px;
}

.div-block-139 {
  background-image: url('../images/certificate.jpg');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 800px 600px;
  width: 70%;
  height: 500px;
}

.paragraph-24 {
  color: #fff;
  text-align: left;
  letter-spacing: 2px;
  width: 70%;
  font-family: Noto Sans JP, sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 40px;
}

.list-item-5 {
  border-bottom: 2px dashed var(--basic-font-color);
  font-family: Noto Sans JP, sans-serif;
  line-height: 30px;
}

.list-item-6,
.list-item-7,
.list-item-8,
.list-item-9 {
  border-bottom: 2px solid var(--slight-dark-yellow);
  margin-top: 20px;
}

.div-block-140 {
  background-image: url('../images/churn_rate.webp');
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: cover;
  width: 200px;
  height: 200px;
  display: block;
}

.div-block-141 {
  background-image: url('../images/customer_satis.webp');
  background-position: 0 0;
  background-size: cover;
  width: 200px;
  height: 200px;
  display: block;
}

.div-block-142 {
  background-image: url('../images/repeat_rate.webp');
  background-position: 0 0;
  background-size: cover;
  width: 200px;
  height: 200px;
  display: block;
}

.div-block-143 {
  background-image: url('../images/leaf.png');
  background-position: 0 0;
  background-size: cover;
  width: 12vw;
  height: 12vw;
  display: none;
}

.left-arrow-3 {
  background-color: #30aae7;
  border-radius: 50px;
  width: 50px;
  height: 50px;
  margin-top: 140px;
  margin-bottom: 0;
  transition: color .4s, background-color .4s;
  top: 0;
  left: 3%;
}

.left-arrow-3:hover {
  color: var(--紺);
  background-color: #20d4d7;
}

.right-arrow-2 {
  z-index: 1;
  background-color: #30aae7;
  border-radius: 50px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  margin-top: 140px;
  margin-bottom: 0;
  transition: color .4s, background-color .4s;
  display: flex;
  top: 0;
  right: 3%;
}

.right-arrow-2:hover {
  color: var(--紺);
  background-color: #20d4d7;
}

.icon-4 {
  margin: 11px 0 0 14px;
  font-size: 25px;
  font-weight: 900;
  line-height: 25px;
}

.icon-5 {
  width: auto;
  height: auto;
  margin-top: 11px;
  margin-bottom: 0;
  font-size: 25px;
  font-weight: 900;
  line-height: 25px;
}

.slide-nav-3 {
  bottom: 50px;
}

.nav-menu-container2 {
  background-color: #003f63;
  justify-content: flex-end;
  align-items: flex-start;
  max-width: none;
  height: auto;
  padding-top: 10px;
  padding-bottom: 10px;
  padding-right: 20px;
  /* margin-top: 30px; */
  display: flex;
}

.link-block-3 {
  width: auto;
  height: auto;
  padding-top: 0;
  padding-left: 10px;
  padding-right: 10px;
  text-decoration: none;
}

.text-block-146 {
  color: var(--white);
  letter-spacing: 2px;
  font-size: 16px;
  font-weight: 500;
  line-height: 20px;
  transition: color .4s;
}

.text-block-146:hover {
  color: #00eaff;
}

.nav-bland {
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  transition: opacity .4s;
  display: flex;
}

.nav-bland:hover {
  opacity: .5;
}

.bland-logo {
  width: 50px;
}

.text-block-147 {
  color: var(--basic-font-color);
  letter-spacing: 2px;
  font-size: 24px;
  font-weight: 600;
  line-height: 24px;
  text-decoration: none;
}

.div-block-144 {
  background-color: #0073b4;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: auto;
  padding-top: 15px;
  padding-bottom: 15px;
  display: flex;
}

.text-block-148 {
  color: var(--white);
  letter-spacing: 2px;
  font-size: 20px;
  line-height: 20px;
}

.div-block-145 {
  z-index: 1;
  opacity: .5;
  background-color: #8ae3ff;
  width: 100%;
  height: 100vh;
  min-height: 1000px;
  position: absolute;
}

.div-block-146 {
  justify-content: center;
  align-items: center;
  display: flex;
}

.crown {
  display: none;
  background-image: url('../images/crown.webp');
  background-position: 0 0;
  background-size: cover;
  width: 50px;
  height: 50px;
}

.text-span-20 {
  -webkit-text-fill-color: transparent;
  background-image: linear-gradient(#ffca00, #fff);
  -webkit-background-clip: text;
  background-clip: text;
}

.text-block-149 {
  color: var(--main-blue);
  text-align: center;
  letter-spacing: -20px;
  padding-right: 28px;
  font-size: 70px;
}

.text-span-21 {
  -webkit-text-fill-color: transparent;
  background-image: linear-gradient(#ffca00, #fff);
  -webkit-background-clip: text;
  background-clip: text;
}

.sp_display {
  display: none;
}

.pc_display {
  display: block;
}

.div-block-147 {
  justify-content: center;
  align-items: center;
  max-width: none;
  max-height: none;
  display: flex;
}

.text-block-150 {
  z-index: 1;
  color: var(--white);
  background-color: #0073b4;
  margin-bottom: -35px;
  padding: 25px 50px;
  font-size: 24px;
  font-weight: 700;
  position: relative;
  line-height: 1.8;
  text-align: center;
}

.cta {
  z-index: 3;
  opacity: 1;
  flex-flow: column;
  justify-content: space-between;
  align-items: center;
  width: 910px;
  min-width: auto;
  max-width: none;
  height: auto;
  margin-top: 0;
  display: flex;
  position: relative;
}

.div-block-149 {
  background-color: rgba(0, 0, 0, .3);
  justify-content: center;
  align-items: center;
  width: 100%;
  height: auto;
  padding-top: 40px;
  padding-bottom: 40px;
  padding-left: 0;
  display: flex;
}

.link-block-4 {
  background-color: var(--white);
  color: #009942;
  border-radius: 36px;
  justify-content: space-between;
  align-items: center;
  width: auto;
  padding: 20px 20px 20px 30px;
  text-decoration: none;
  display: flex;
  box-shadow: 0 5px 15px #00a557;
}

.link-block-4:hover {
  margin: 0;
  box-shadow: 0 5px 15px #00a557;
}

.div-block-150 {
  background-image: url('../images/green-arrow.svg');
  background-position: 0 0;
  background-size: cover;
  flex: 0 auto;
  width: 30px;
  height: 30px;
}

.text-block-151 {
  text-align: center;
  flex: 1;
  font-size: 20px;
  font-weight: 700;
}

.text-block-151:hover {
  -webkit-text-fill-color: inherit;
  background-image: none;
  background-clip: border-box;
}

.text-block-152 {
  color: var(--white);
  text-align: center;
  padding-top: 10px;
  padding-bottom: 10px;
  font-size: 20px;
  font-weight: 500;
}

.div-block-151 {
  padding-left: 40px;
  padding-right: 40px;
}

.text-block-153 {
  color: #2168aa;
  text-align: center;
  -webkit-text-fill-color: inherit;
  background-image: none;
  background-clip: border-box;
  flex: 1;
  font-size: 20px;
  font-weight: 700;
}

.div-block-152 {
  background-image: url('../images/blue-arrow.svg');
  background-position: 0 0;
  background-size: cover;
  width: 30px;
  height: 30px;
}

.link-block-5 {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  background-color: var(--white);
  border-radius: 36px;
  justify-content: space-between;
  align-items: center;
  padding: 20px 20px 20px 40px;
  text-decoration: none;
  display: flex;
  box-shadow: 0 5px 15px #0086d2;
}

.radio-field {
  font-weight: 600;
}

.div-block-153 {
  z-index: 0;
  background-image: url('../images/about_back.webp');
  background-position: 0 0;
  background-size: cover;
  width: 100%;
  height: 700px;
  display: none;
  position: absolute;
}

.heading-18 {
  background-image: linear-gradient(90deg, #0080ca, var(--紺));
  letter-spacing: 2px;
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  width: auto;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 35px;
  line-height: 35px;
  position: relative;
}

.div-block-154 {
  background-color: #8afef6;
  background-image: linear-gradient(90deg, #8afef6, #82deff);
  border-radius: 30px;
  width: 540px;
  height: 25px;
  margin-top: -10px;
  margin-left: -10px;
}

.flex-block-2 {
  flex-flow: row;
  justify-content: flex-start;
  align-items: flex-end;
  margin-bottom: 40px;
}

.div-block-155 {
  background-image: url('../images/leaf-2.svg');
  background-position: 0 0;
  background-size: cover;
  width: 125px;
  height: 125px;
  margin-left: -45px;
  transform: rotate(10deg);
}

.heading-19 {
  letter-spacing: 2px;
  margin-top: 0;
  font-size: 45px;
  font-weight: bold;
  line-height: 65px;
}

.text-block-154 {
  color: var(--header-coloe-2);
  letter-spacing: 2px;
  margin-bottom: 40px;
  font-size: 30px;
  font-weight: 600;
  line-height: 45px;
}

.text-block-155 {
  color: var(--header-coloe-2);
  letter-spacing: -12px;
  margin-bottom: 5px;
  margin-left: -9px;
  font-size: 60px;
}

.text-span-22 {
  color: #30aae8;
}

.div-block-156 {
  background-image: url('../images/ホース内の汚れ1.png');
  background-position: 0 0;
  background-size: cover;
  width: 200px;
  height: 200px;
  margin-bottom: 10px;
  position: static;
  top: auto;
  bottom: auto;
  left: auto;
  right: auto;
}

.flex-block-3 {
  width: 800px;
  margin-top: 0;
  position: relative;
}

.flex-block-4 {
  justify-content: flex-end;
  align-items: center;
  position: absolute;
  top: 30%;
  bottom: auto;
  left: auto;
  right: 5%;
}

.text-block-156 {
  color: var(--紺);
  font-size: 16px;
  font-weight: 700;
}

.text-block-157 {
  letter-spacing: 2px;
  margin-top: 40px;
  margin-bottom: 60px;
  font-size: 20px;
  font-weight: 600;
}

.div-block-157 {
  background-image: url('../images/ユニットの故障.svg');
  background-position: 0 0;
  background-size: cover;
  width: 180px;
  height: 183px;
  margin-bottom: 0;
}

.div-block-158 {
  background-image: url('../images/バキュームの吸引力が弱まる.svg');
  background-position: 0 0;
  background-size: cover;
  width: 180px;
  height: 183px;
  margin-bottom: 0;
}

.div-block-159 {
  background-image: url('../images/悪臭の発生.svg');
  background-position: 0 0;
  background-size: cover;
  width: 180px;
  height: 183px;
  margin-bottom: 0;
}

.text-block-158 {
  direction: ltr;
  color: var(--main-blue);
  text-align: center;
  letter-spacing: 2px;
  font-size: 20px;
  font-weight: 600;
}

.text-block-159 {
  color: var(--main-blue);
  text-align: center;
  letter-spacing: 2px;
  padding-right: 15px;
  font-size: 20px;
  font-weight: 600;
}

.text-block-160 {
  color: var(--main-blue);
  text-align: center;
  letter-spacing: 2px;
  font-size: 20px;
  font-weight: 600;
}

.div-block-160 {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.example {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  margin-top: 60px;
  display: flex;
}

.text-block-161 {
  z-index: 1;
  color: #5847a4;
  letter-spacing: 2px;
  width: 100%;
  font-size: 30px;
  font-weight: 600;
  line-height: 45px;
  display: flex;
  position: relative;
}

.text-span-23 {
  color: var(--white);
  vertical-align: baseline;
  background-image: linear-gradient(#800084, #0371b3);
  align-self: center;
  margin-right: 20px;
  padding: 10px 20px;
  display: block;
}

.flex-block-5 {
  flex-flow: row;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  margin-left: 0;
  padding-left: 30px;
  position: relative;
}

.div-block-161 {
  background-image: url('../images/こんなに汚れが溜まってしまっているんです。.svg');
  background-position: 0 0;
  background-size: cover;
  width: 330px;
  height: 320px;
  position: absolute;
  top: -20%;
  bottom: 0%;
  left: auto;
  right: 1%;
}

.text-block-162 {
  color: var(--紺);
  text-align: center;
  font-family: Noto Sans JP, sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 25px;
}

.dirt-in-hose {
  background-image: url('../images/drain _pipe.webp');
  background-position: 50%;
  background-size: cover;
  width: 220px;
  height: 165px;
  margin-top: 20px;
}

.div-block-163 {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  flex-flow: row;
  justify-content: center;
  align-items: flex-end;
  margin-top: 60px;
  display: flex;
  position: relative;
}

.flex-block-6 {
  justify-content: center;
  align-items: center;
  width: 273px;
}

.sewage {
  background-image: url('../images/dirt2.webp');
  background-position: 0 0;
  background-size: cover;
  width: 220px;
  height: 165px;
  margin-top: 20px;
}

.dirt-from-drains {
  background-image: url('../images/dirt.webp');
  background-position: 0 0;
  background-size: cover;
  width: 220px;
  height: 165px;
  margin-top: 20px;
}

.flex-block-7 {
  background-image: none;
  background-size: auto;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: none;
  position: relative;
}

.comparison-video {
  z-index: 99;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: none;
  display: flex;
  position: relative;
}

.div-block-164 {
  background-image: url('../images/youtube-media-woman.png');
  background-position: 0 0;
  background-size: cover;
  width: 392px;
  height: 235px;
  margin-right: 30px;
}

.div-block-165 {
  width: 100%;
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  justify-content: center;
  align-items: flex-end;
  margin-right: 35px;
  display: flex;
}

.div-block-166 {
  background-image: url('../images/dot.svg');
  background-position: 0 0;
  background-size: cover;
  width: 14px;
  height: 130px;
  margin-bottom: -60px;
}

.div-block-167 {
  background-image: url('../images/バキューム比較吹き出し.svg');
  background-position: 0 0;
  background-size: cover;
  align-self: center;
  width: 365px;
  height: 123px;
  margin-left: 20px;
}

.text-block-163 {
  direction: ltr;
  color: rgba(91, 91, 91, 0);
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: #141111;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  overflow-wrap: normal;
  font-family: Montserrat, sans-serif;
  font-size: 150px;
  font-weight: 700;
  line-height: 150px;
  position: absolute;
  top: 0%;
  bottom: auto;
  left: 0%;
  right: auto;
}

.youtube {
  flex: 0 auto;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: auto;
  max-height: none;
  margin-bottom: 0;
  padding-bottom: 0;
  display: block;
}

.video {
  z-index: 1;
  width: 700px;
  margin-top: 140px;
  position: relative;
}

.maint {
  background-image: url('../images/MAINT.svg');
  background-position: 50%;
  background-size: cover;
  width: 540px;
  height: 109px;
  position: absolute;
  top: auto;
  bottom: 0%;
  left: auto;
  right: 0%;
}

.div-block-168 {
  background-image: url('../images/arrow-1.svg');
  background-position: 50%;
  background-size: cover;
  width: 50px;
  height: 60px;
  margin-top: 60px;
  margin-bottom: 60px;
}

.div-block-169 {
  z-index: 0;
  background-image: url('../images/ENANCE.svg');
  background-position: 50%;
  background-size: cover;
  width: 704px;
  height: 110px;
  position: absolute;
  top: 30%;
  bottom: auto;
  left: 0%;
  right: auto;
}

.maintenance-support {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: none;
  display: flex;
}

.div-block-170 {
  background-color: #d0f4ff;
  border-radius: 15px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  width: 920px;
  height: 540px;
  display: flex;
}

.div-block-171 {
  flex: 0 auto;
  justify-content: flex-start;
  align-self: stretch;
  align-items: center;
  margin-bottom: 10px;
  padding-left: 200px;
  display: flex;
}

.div-block-172 {
  background-image: url('../images/failure-arrow.svg');
  background-position: 0 0;
  background-size: cover;
  width: 38px;
  height: 38px;
}

.div-block-173 {
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
  display: flex;
}

.div-block-174 {
  background-image: url('../images/attention-icon.svg');
  background-position: 0 0;
  background-size: cover;
  width: 32px;
  height: 32px;
}

.text-block-164 {
  letter-spacing: 1px;
  -webkit-text-fill-color: transparent;
  background-image: linear-gradient(90deg, #2282b2, #04011e);
  -webkit-background-clip: text;
  background-clip: text;
  padding-left: 10px;
  font-size: 24px;
  font-weight: 600;
  line-height: 24px;
}

.text-block-165 {
  letter-spacing: 1px;
  flex: 0 auto;
  font-size: 24px;
  font-weight: 500;
}

.div-block-175 {
  background-image: url('../images/MAINTENANCE-ICON.svg');
  background-position: 0 0;
  background-size: cover;
  width: 220px;
  height: 140px;
  margin-bottom: 10px;
}

.text-block-166 {
  letter-spacing: 2px;
  margin-bottom: 20px;
  font-size: 30px;
  font-weight: 700;
  line-height: 45px;
}

.text-span-24 {
  color: var(--header-color);
}

.text-block-167 {
  letter-spacing: 1px;
  -webkit-text-fill-color: transparent;
  background-image: linear-gradient(90deg, #5c5c5c, #8d8d8d);
  -webkit-background-clip: text;
  background-clip: text;
  margin-top: 40px;
  margin-bottom: 20px;
  font-size: 20px;
  font-weight: 500;
}

.div-block-176 {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: center;
  align-self: stretch;
  align-items: center;
  margin-top: 30px;
  margin-bottom: 30px;
  padding-left: 325px;
  display: flex;
}

.div-block-177 {
  background-image: url('../images/Blue-Dot.svg');
  background-position: 0 0;
  background-size: cover;
  width: 13px;
  height: 130px;
}

.text-block-168 {
  color: var(--header-coloe-2);
  letter-spacing: 1.5px;
  margin-left: 30px;
  font-size: 24px;
  font-weight: 600;
  line-height: 34px;
}

.div-block-178 {
  background-image: url('../images/24時間対応.svg');
  background-position: 0 0;
  background-size: auto;
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  width: 759px;
  height: 317px;
  margin-bottom: 0;
  padding-left: 60px;
  display: flex;
}

.div-block-179 {
  background-image: url('../images/料金を確認する.svg');
  background-position: 0 0;
  background-size: auto;
  width: 317px;
  height: 78px;
  margin-top: 30px;
  margin-left: 60px;
  padding-left: 0;
}

.text-block-169 {
  letter-spacing: 2px;
  -webkit-text-fill-color: transparent;
  background-image: linear-gradient(90deg, #0c92d4, #6104b0 52%, #e9038f);
  -webkit-background-clip: text;
  background-clip: text;
  font-size: 26px;
  font-weight: 700;
  line-height: 40px;
}

.blue-background-1920 {
  z-index: 1;
  width: 100%;
  max-width: 100%;
  position: absolute;
  top: 0%;
  bottom: auto;
  left: 0%;
  right: auto;
}

.a-logo {
  position: absolute;
  top: 1%;
  bottom: auto;
  left: 10%;
  right: 0%;
}

.drain-cleaning-1920 {
  z-index: 0;
  position: absolute;
  top: 14%;
  bottom: auto;
  left: auto;
  right: 0%;
}

.text-block-170 {
  color: #00d9ff;
  letter-spacing: 2px;
  margin-left: -17px;
  padding-right: 0;
  font-size: 30px;
  font-weight: 700;
  line-height: 60px;
}

.column-69 {
  height: 75px;
}

.left-belt {
  background-color: #30aae7;
  width: 100%;
  height: 50px;
  margin-bottom: 20px;
  margin-left: 0;
  margin-right: 20px;
}

.right-belt {
  background-color: #30aae7;
  width: 100%;
  height: 50px;
  margin-bottom: 20px;
  margin-left: 20px;
}

.text-span-25,
.text-span-26 {
  color: #30aae9;
}

.pass-criteria-container {
  z-index: 2;
  grid-column-gap: 50px;
  grid-row-gap: 0px;
  flex-flow: wrap;
  justify-content: center;
  align-items: center;
  width: 90%;
  position: relative;
  margin-bottom: 30px;
}

.div-block-180 {
  color: #0073b4;
  letter-spacing: 1px;
  border-bottom: 1px dashed #bcbcbc;
  justify-content: flex-start;
  align-items: center;
  font-weight: 600;
  display: flex;
  gap: 10px;
}

.div-block-181 {
  background-image: url('../images/check-1.svg');
  background-position: 0 0;
  background-size: cover;
  width: 19px;
  height: 19px;
  margin-top: 10px;
  margin-bottom: 10px;
  margin-right: 10px;
}

.div-block-182 {
  background-color: #96dbff;
  border-top-left-radius: 20px;
  border-bottom-right-radius: 20px;
  width: 160px;
  height: 10px;
  margin-top: -5px;
}

.flex-block-9 {
  justify-content: center;
  align-items: center;
  margin-right: 10px;
}

.flex-block-10 {
  flex-flow: row;
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
}

.div-block-183 {
  background-image: url('../images/pass-criteria.svg');
  background-position: 0 0;
  background-size: cover;
  width: 30px;
  height: 34px;
}

.text-block-171 {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 16px;
}

.image-14 {
  z-index: 1;
  opacity: .71;
  width: 100%;
  position: absolute;
  top: 45%;
  bottom: 0%;
  left: auto;
  right: 0%;
}

.prats-top {
  z-index: 0;
  width: 77%;
  display: block;
  position: absolute;
  top: -5%;
  bottom: auto;
  left: auto;
  right: 0%;
}

.div-block-184 {
  background-image: url('../images/Comparing-Others-Background.png');
  background-position: 0 0;
  background-size: cover;
  width: 1919px;
  height: 1300px;
  display: none;
  position: absolute;
}

.parts-bottom {
  width: 77%;
  display: block;
  position: absolute;
  top: auto;
  bottom: -10%;
  left: 0%;
  right: auto;
}

.text-block-172 {
  font-size: 35px;
  line-height: 35px;
  position: relative;
}

.div-block-185 {
  background-color: #96dbff;
  border-top-left-radius: 30px;
  border-bottom-right-radius: 30px;
  width: 165px;
  height: 20px;
  margin-top: -7px;
}

.flex-block-11 {
  z-index: 1;
  color: #0073b4;
  letter-spacing: 2px;
  order: -1;
  justify-content: center;
  align-self: auto;
  align-items: center;
  margin-bottom: 20px;
  margin-right: 280px;
  font-weight: 600;
  position: relative;
}

.div-block-186 {
  background-color: #fff496;
  border-top-left-radius: 30px;
  border-bottom-right-radius: 30px;
  width: 500px;
  height: 20px;
  margin-top: -7px;
}

.voice-186 {
  margin: -15px auto 0;
}

.services-title {
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding-top: 100px;
  display: flex;
}

.price-title {
  justify-content: space-between;
  align-items: center;
  padding-top: 100px;
  display: flex;
}

.flow-title {
  justify-content: center;
  align-items: center;
  margin-top: 0;
  padding-top: 100px;
  display: flex;
}

.menber-title {
  justify-content: center;
  align-items: center;
  padding-top: 100px;
  display: flex;
}

.container-20 {
  justify-content: center;
  align-items: center;
  width: auto;
  display: flex;
}

.div-block-187 {
  background-color: #30aae7;
  width: 100%;
  height: 1px;
}

.faq-title {
  justify-content: center;
  align-items: center;
  padding-top: 100px;
  display: flex;
}

.image-15 {
  width: 100%;
  position: absolute;
  top: 20%;
  bottom: auto;
  left: 0%;
  right: auto;
  z-index: 1;
}

.image-16 {
  z-index: 0;
  width: 100%;
  max-width: 100%;
  position: absolute;
  bottom: 0%;
}

.link-2 {
  color: var(--main-blue);
}

.background-image-16 {
  z-index: 4;
  background-color: var(--hurf-brack);
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  display: flex;
  position: fixed;
  top: 0%;
  bottom: auto;
  left: auto;
  right: 0%;
}

.text-block-173 {
  font-weight: 500;
}

.top-about,
.advantages-reviews,
.services-price,
.flow-faq {
  grid-column-gap: 30px;
  grid-row-gap: 30px;
  flex-flow: row;
  flex: 0 auto;
}

.flex-block-12 {
  display: none;
}

.flex-block-13 {
  justify-content: flex-start;
  align-items: center;
}

.flex-block-14 {
  flex-flow: row;
  justify-content: center;
  align-items: flex-start;
}

.flex-block-15,
.flex-block-16 {
  flex-flow: row;
  justify-content: center;
  align-items: center;
}

.text-block-174,
.div-block-188,
.div-block-190,
.image-18,
.text-block-175 {
  display: none;
}

.column-72 {
  text-align: left;
}

.div-block-191,
.div-block-192,
.flex-block-18,
.text-block-177 {
  display: none;
}

.text-block-178 {
  color: var(--white);
  font-size: 18px;
  font-weight: 500;
}

.image-19 {
  display: none;
}

.image-20 {
  display: none;
}

.image-21,
.image-22,
.image-23,
.image-24,
.div-block-193,
.swipe-icon,
.swipe-icon-2 {
  display: none;
}

@media screen and (max-width: 991px) {
  .slide-18 {
    background-position: 85%;
  }

  .slide-19 {
    background-position: 100%;
  }

  .slide-20 {
    background-position: 100% 0;
  }

  .slide-22 {
    background-position: 50%;
  }

  .nav-menu {
    opacity: 1;
    background-color: #c8ebf5;
    background-image: url('../images/blue_back.webp');
    background-position: 0 0;
    background-size: cover;
    flex-flow: column;
    flex: 0 auto;
    margin-top: 0;
    padding-top: 80px;
    padding-bottom: 60px;
    font-size: 16px;
    display: flex;
    position: absolute;
  }

  .nav-link-holder {
    flex-flow: row;
    flex: 1;
    font-size: 16px;
  }

  .nav-menu-container {
    padding-top: .5em;
    padding-bottom: .5em;
  }

  .navbar.header {
    display: block;
  }

  .nav {
    padding-bottom: 40px;
    font-size: 16px;
  }

  .container-4 {
    padding: 0;
  }

  .top-hero-text-holder {
    margin-top: 10px;
    padding-left: 2em;
    padding-right: 2em;
  }

  .hero-text {
    padding-left: 0;
    padding-right: 0;
    font-size: 38px;
    line-height: 38px;
  }

  .div-block {
    align-self: auto;
  }

  .div-block-2 {
    padding-top: 0;
    padding-bottom: 20px;
  }

  .text-block-6 {
    background-image: linear-gradient(90deg, var(--紺), var(--header-coloe-2));
    text-align: center;
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
    font-size: 30px;
  }

  .text-block-7,
  .text-block-8,
  .text-block-9,
  .text-block-10,
  .text-block-11 {
    background-image: linear-gradient(90deg, var(--紺), var(--header-coloe-2));
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
    font-size: 30px;
  }

  .text-block-12 {
    background-image: linear-gradient(90deg, var(--紺), var(--header-coloe-2));
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
    padding-top: 0;
    font-size: 30px;
  }

  .heading {
    font-size: 26px;
    line-height: 35px;
  }

  .paragraph-2 {
    font-size: 22px;
    text-shadow: 1px 1px #ffe3b7;
  }

  .div-block-7 {
    width: auto;
  }

  .div-block-8 {
    height: 115px;
  }

  .div-block-9 {
    padding-left: 60px;
  }

  .text-block-17 {
    font-size: 18px;
  }

  .about-section {
    padding-right: 110px;
  }

  .comparing-others {
    margin-top: 100px;
  }

  .div-block-14 {
    justify-content: flex-start;
    align-items: stretch;
    width: 1440px;
    max-width: none;
    height: auto;
    overflow: visible;
  }

  .columns {
    margin-left: 0;
    margin-right: 0;
  }

  .columns-2 {
    align-items: stretch;
  }

  .column-6 {
    justify-content: center;
    align-items: center;
    display: flex;
  }

  .columns-6 {
    display: flex;
  }

  .column-12 {
    flex-flow: column;
    display: block;
  }

  .services {
    display: flex;
  }

  .drain-cleaning {
    padding-bottom: 20px;
    padding-left: 60px;
    padding-right: 60px;
  }

  .justify-icon {
    grid-column-gap: 10%;
    grid-row-gap: 10%;
  }

  .text-block-32 {
    padding-right: 60px;
  }

  .text-block-34 {
    text-align: left;
    padding-left: 140px;
    padding-right: 140px;
    line-height: 36px;
  }

  .container-11 {
    justify-content: flex-start;
    align-items: center;
    width: auto;
    max-width: none;
  }

  .div-block-47 {
    flex: 0 auto;
    max-width: none;
  }

  .columns-7 {
    width: 950px;
    font-size: 16px;
  }

  .columns-8 {
    width: 950px;
  }

  .columns-8-copy {
    width: 950px;
    font-size: 16px;
  }

  .text-block-41 {
    font-size: 16px;
  }

  .slider-4 {
    width: 90%;
    height: auto;
    padding-bottom: 100px;
  }

  .slide-40 {
    vertical-align: baseline;
  }

  .left-arrow-2,
  .right-arrow {
    margin-top: 290px;
  }

  .columns-8-2-copy,
  .columns-8-2-copy-copy {
    width: 950px;
  }

  .text-block-90 {
    font-size: 16px;
  }

  .text-block-91,
  .text-block-92,
  .text-block-38-copy,
  .text-block-39-copy {
    text-align: center;
    flex: 1;
    font-size: 16px;
    line-height: 18px;
  }

  .div-block-59 {
    margin-top: 60px;
  }

  .heading-9 {
    font-size: 24px;
    line-height: 24px;
  }

  .text-block-119 {
    font-size: 24px;
  }

  .div-block-65 {
    height: 90%;
  }

  .slider-5 {
    width: auto;
    height: auto;
    padding-bottom: 100px;
  }

  .div-block-83 {
    width: 70%;
  }

  .mask-3 {
    width: 90vw;
    max-width: none;
  }

  .div-block-85 {
    flex-flow: column-reverse;
  }

  .div-block-86 {
    background-repeat: no-repeat;
    background-size: cover;
    width: 60vw;
    height: 60vw;
  }

  .testimonials {
    padding-left: 40px;
    padding-right: 40px;
  }

  .div-block-88,
  .div-block-89 {
    width: 60vw;
    height: 60vw;
  }

  .div-block-93,
  .div-block-95 {
    width: 100%;
    height: 35vw;
  }

  .div-block-99,
  .div-block-100 {
    height: 35vw;
  }

  .contact {
    position: relative;
  }

  .field-label,
  .field-label-2,
  .check-box,
  .note-title {
    font-size: 16px;
  }

  .div-block-115,
  .div-block-116 {
    width: 45%;
  }

  .div-block-117 {
    width: 270px;
    height: 214px;
  }

  .container-17 {
    height: 100px;
  }

  .service-list {
    grid-template-rows: 200px 200px 200px 200px 200px;
    grid-template-columns: 1fr 1fr 1fr;
    grid-auto-flow: row dense;
    align-items: stretch;
    justify-items: stretch;
    width: 100%;
    height: auto;
    padding-left: 60px;
    padding-right: 60px;
  }

  .modals.modal-6 {
    background-size: 700px;
  }

  .modals.modal-10 {
    background-size: 800px;
  }

  .modals.modal-12,
  .modals.modal-14 {
    background-size: 700px;
  }

  .wax.contents,
  .air-con.contents,
  .glass.contents,
  .unit-sterilization,
  .spitton,
  .toilet,
  .gypsum-trap,
  .cross,
  .sign,
  .unit,
  .mat,
  .sync,
  .room,
  .seet,
  .certificate {
    height: 80%;
  }

  .wax-image {
    width: auto;
  }

  .background-image,
  .background-image-2,
  .background-image-3,
  .background-image-4,
  .background-image-5,
  .background-image-6,
  .background-image-7,
  .background-image-8,
  .background-image-9,
  .background-image-10,
  .background-image-11,
  .background-image-12,
  .background-image-13,
  .background-image-14,
  .background-image-15 {
    padding-left: 40px;
    padding-right: 40px;
  }

  .modal-wrapper {
    padding-left: 0;
    padding-right: 0;
    display: block;
  }

  .left-arrow-3 {
    margin-top: 100px;
    top: 65%;
    left: 5%;
  }

  .right-arrow-2 {
    margin-top: 100px;
    top: 65%;
    right: 5%;
  }

  .slide-nav-3 {
    bottom: 40px;
  }

  .body {
    overflow-x: hidden;
  }

  .nav-bland {
    flex: 1;
    justify-content: center;
    align-items: center;
  }

  .div-block-145 {
    opacity: .5;
  }

  .crown {
    display: none;
    width: 4vw;
    height: 5vw;
    margin-bottom: 2vw;
  }

  .text-block-149 {
    padding-right: 25px;
    font-size: 60px;
  }

  .cta {
    justify-content: center;
    align-items: center;
    width: auto;
  }

  .div-block-149 {
    flex-flow: wrap;
    justify-content: center;
    align-items: center;
  }

  .link-block-4 {
    justify-content: space-between;
  }

  .div-block-151 {
    flex: 0 auto;
    width: 100%;
    padding-bottom: 10px;
    padding-left: 40px;
    padding-right: 40px;
  }

  .text-block-154 {
    font-size: 25px;
  }

  .div-block-156 {
    width: 180px;
    height: 180px;
    margin-bottom: 10px;
  }

  .flex-block-3 {
    width: auto;
  }

  .flex-block-4 {
    top: 25%;
    right: 0%;
  }

  .text-block-161 {
    justify-content: center;
    align-items: center;
    font-size: 28px;
  }

  .flex-block-5 {
    justify-content: center;
    align-items: flex-start;
  }

  .div-block-161 {
    top: 4%;
    right: 25%;
  }

  .dirt-in-hose {
    width: 260px;
    height: 200px;
  }

  .div-block-163 {
    grid-column-gap: 5%;
    grid-row-gap: 5%;
    flex-flow: wrap;
    margin-top: 80px;
  }

  .flex-block-6 {
    margin-top: 0;
    padding-top: 20px;
  }

  .sewage,
  .dirt-from-drains {
    width: 260px;
    height: 200px;
  }

  .comparison-video {
    padding-left: 20px;
    padding-right: 20px;
  }

  .div-block-164 {
    width: 300px;
    height: 210px;
    margin-right: 0;
  }

  .div-block-165 {
    margin-left: 30px;
    margin-right: 0;
  }

  .div-block-166 {
    margin-left: 0;
    margin-right: -30px;
  }

  .div-block-167 {
    width: 335px;
    height: 113px;
  }

  .video {
    width: 640px;
  }

  .maint {
    opacity: .7;
  }

  .div-block-168 {
    margin-top: 60px;
    margin-bottom: 140px;
  }

  .div-block-169 {
    opacity: .7;
    top: 28%;
  }

  .maintenance-support {
    padding-bottom: 0;
    padding-left: 40px;
    padding-right: 40px;
  }

  .div-block-170 {
    width: auto;
    height: auto;
    padding-bottom: 40px;
    padding-left: 40px;
    padding-right: 40px;
  }

  .text-block-164,
  .text-block-165 {
    font-size: 20px;
  }

  .text-block-166 {
    text-align: center;
    font-size: 24px;
  }

  .div-block-176 {
    padding-left: 300px;
  }

  .text-block-168 {
    font-size: 20px;
  }

  .div-block-178 {
    background-size: cover;
    width: 660px;
    height: 276px;
    margin-bottom: 0;
  }

  .div-block-179 {
    background-position: 50%;
    background-size: cover;
    width: 265px;
    height: 65px;
  }

  .text-block-169 {
    font-size: 22px;
  }

  .blue-background-1920 {
    max-width: 1454px;
  }

  .drain-cleaning-1920 {
    max-width: 65%;
    top: 17%;
  }

  .pass-criteria-container {
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    flex-flow: wrap;
    justify-content: center;
    align-items: center;
  }

  .flex-block-10 {
    font-size: 20px;
  }

  .div-block-183 {
    width: 40px;
    height: 44px;
  }

  .image-14 {
    top: 77%;
  }

  .div-block-184 {
    height: auto;
  }

  .container-20 {
    max-width: none;
  }

  .image-15 {
    top: 35%;
  }

  .image-16 {
    width: 100%;
    max-width: 100%;
    top: auto;
    bottom: 0%;
    left: auto;
    right: 0%;
  }

  .background-image-16 {
    padding-left: 40px;
    padding-right: 40px;
  }

  .top-about {
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    flex-flow: row;
    flex: 0 auto;
    justify-content: center;
    align-self: auto;
    align-items: center;
    width: auto;
  }

  .advantages-reviews {
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    flex-flow: row;
    justify-content: center;
    align-items: center;
  }

  .services-price {
    flex-flow: row;
    justify-content: center;
    align-items: center;
  }

  .flow-faq {
    flex-flow: row;
  }

  .flex-block-12 {
    grid-column-gap: 20px;
    grid-row-gap: 20px;
    justify-content: center;
    align-items: stretch;
    padding-top: 20px;
    display: flex;
  }

  .menu-button {
    padding: 3px;
    font-size: 50px;
  }

  .menu-button.w--open {
    color: var(--header-coloe-2);
    background-color: #ace7fa;
  }

  .flex-block-13 {
    justify-content: flex-start;
    align-items: flex-start;
    width: 90%;
    overflow: auto;
  }

  .slide-45 {
    vertical-align: baseline;
  }

  .flex-block-14 {
    justify-content: flex-start;
    align-items: flex-start;
    overflow: auto;
  }

  .flex-block-15 {
    justify-content: flex-start;
    align-items: center;
    overflow: auto;
  }

  .flex-block-16 {
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    overflow: auto;
  }

  .text-block-176 {
    text-align: left;
  }

  .div-block-174 {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .sp_display {
    display: block;
  }

  .pc_display {
    display: none;
  }

  .firstview.top {
    padding-top: 0;
    padding-bottom: 0;
  }

  .top-hero-text-holder {
    margin-top: 5vw;
    padding-left: 4vw;
    padding-right: 4vw;
  }

  .hero-text {
    text-align: center;
    letter-spacing: 1vw;
    padding-top: 0;
    padding-bottom: 10px;
    font-size: 10vw;
    font-weight: 800;
    line-height: 10vw;
  }

  .container-5 {
    height: 100vh;
  }

  .heading {
    letter-spacing: .5vw;
    margin-bottom: 0;
    padding: 0 .5vw 0 3vw;
    font-size: 5vw;
    font-weight: 600;
    line-height: 6vw;
  }

  .paragraph-2 {
    letter-spacing: .4vw;
    padding: 1vw 0 3vw;
    font-size: 3.5vw;
    line-height: 2.7vw;
  }

  .div-block-7 {
    grid-column-gap: 2vw;
    grid-row-gap: 2vw;
    margin-top: 0;
  }

  .div-block-8 {
    width: .5vw;
    height: 10vw;
  }

  .div-block-9 {
    display: none;
  }

  .about-section {
    padding-bottom: 100px;
    padding-left: 40px;
    padding-right: 40px;
  }

  .div-block-11 {
    justify-content: space-between;
    align-items: flex-start;
    width: auto;
  }

  .heading-3 {
    font-size: 40px;
  }

  .comparing-others {
    margin-top: 80px;
  }

  .div-block-14 {
    width: 900px;
  }

  .columns {
    margin-left: -10px;
    margin-right: -10px;
  }

  .text-block-19 {
    font-size: 24px;
  }

  .text-block-20 {
    font-size: 16px;
  }

  .text-block-21 {
    font-size: 16px;
    line-height: 19px;
  }

  .text-block-22,
  .text-block-23 {
    font-size: 16px;
  }

  .column-7,
  .column-8,
  .column-9,
  .column-10,
  .column-11,
  .column-12,
  .column-13,
  .column-14,
  .column-15,
  .column-16,
  .column-17,
  .column-18 {
    padding-left: 20px;
    padding-right: 20px;
  }

  .text-block-24,
  .text-block-25 {
    font-size: 16px;
  }

  .heading-4 {
    font-size: 29px;
  }

  .drain-cleaning {
    padding-bottom: 60px;
    padding-left: 40px;
    padding-right: 40px;
  }

  .justify-icon {
    flex-flow: wrap;
  }

  .text-block-27 {
    width: 175px;
    font-size: 16px;
  }

  .list,
  .list-2,
  .list-3,
  .list-4 {
    font-size: 16px;
    line-height: 24px;
  }

  .list-item,
  .list-6 {
    font-size: 16px;
  }

  .list-9,
  .list-10 {
    font-size: 16px;
    line-height: 24px;
  }

  .text-block-29 {
    line-height: 24px;
  }

  .list-11,
  .list-12 {
    font-size: 16px;
  }

  .div-block-24 {
    margin-top: 40px;
  }

  .text-block-32 {
    margin-top: 20px;
    padding-right: 40px;
  }

  .text-block-34 {
    padding-left: 60px;
    padding-right: 60px;
    font-size: 24px;
  }

  .container-11 {
    position: relative;
  }

  .column-20 {
    flex: 0 auto;
    justify-content: center;
    align-items: center;
  }

  .left-arrow-2 {
    background-color: var(--明るいブルー);
    left: 3%;
  }

  .right-arrow {
    background-color: var(--明るいブルー);
    right: 3%;
  }

  .div-block-48 {
    width: 100%;
  }

  .div-block-51 {
    margin-bottom: 60px;
  }

  .div-block-55 {
    background-color: rgba(0, 64, 143, .5);
  }

  .trained-staff {
    padding-left: 40px;
    padding-right: 40px;
  }

  .div-block-59 {
    width: 65vw;
    height: 45vw;
  }

  .heading-9 {
    font-size: 28px;
    line-height: 28px;
  }

  .div-block-61 {
    width: 105%;
  }

  .in-house-construction {
    margin-top: 60px;
  }

  .text-block-119 {
    display: none;
  }

  .div-block-65 {
    width: 70%;
  }

  .text-block-125,
  .text-block-126,
  .text-block-127,
  .text-block-128 {
    font-size: 24px;
    font-weight: 300;
  }

  .div-block-82 {
    margin-top: 60px;
    margin-bottom: 60px;
  }

  /* .flex-block {
    width: 100vw;
  } */

  .text-block-131 {
    font-size: 30px;
    line-height: 30px;
  }

  .text-block-132 {
    font-size: 4.5vw;
    line-height: 4vw;
  }

  .text-block-133 {
    font-size: 3vw;
    line-height: 3vw;
  }

  .paragraph-17 {
    letter-spacing: .3vw;
    font-size: 3vw;
    line-height: 5vw;
  }

  .div-block-83 {
    grid-column-gap: 5vw;
    grid-row-gap: 5vw;
    justify-content: flex-start;
    align-items: center;
    width: 80vw;
    padding-left: 0;
    padding-right: 0;
  }

  .mask-3 {
    width: 90vw;
  }

  .div-block-85 {
    grid-column-gap: 5vw;
    grid-row-gap: 5vw;
    width: auto;
    padding-left: 0;
    padding-right: 0;
  }

  .div-block-86 {
    width: 80vw;
    height: 80vw;
  }

  .testimonials {
    padding-top: 20vw;
    padding-left: 0;
    padding-right: 0;
  }

  .div-block-88,
  .div-block-89 {
    width: 80vw;
    height: 80vw;
  }

  .div-block-91 {
    justify-content: flex-start;
    align-items: flex-start;
    margin-top: 20px;
    padding-left: 0;
    overflow: auto;
  }

  .div-block-92 {
    justify-content: flex-start;
    align-items: center;
    width: 88vw;
    padding: 5vw 7vw;
  }

  .div-block-93 {
    height: 67vw;
  }

  .div-block-94 {
    grid-column-gap: 60px;
    grid-row-gap: 60px;
    justify-content: flex-start;
    align-items: flex-start;
    padding-left: 33px;
    padding-right: 33px;
    overflow: visible;
  }

  .div-block-95 {
    height: 67vw;
  }

  .div-block-96 {
    display: none;
  }

  .div-block-99,
  .div-block-100 {
    height: 67vw;
  }

  .container-14 {
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    margin-top: 60px;
    padding-left: 20px;
    padding-right: 20px;
  }

  .text-field {
    width: 100%;
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .field-label {
    flex-flow: column;
    align-self: auto;
    width: 100%;
    height: auto;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 20px;
    display: block;
  }

  .text-field-2 {
    width: 100%;
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .field-label-2 {
    width: 100%;
    height: auto;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .mail-form.clinic-name {
    flex-flow: column;
    justify-content: center;
    align-items: flex-start;
  }

  .mail-form.address,
  .mail-form.furigana {
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .mail-form.name {
    flex-flow: column;
    justify-content: center;
    align-items: flex-start;
  }

  .mail-form.phone,
  .mail-form.email-address,
  .mail-form.email-confirmation {
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .mail-form.plan {
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
    padding-top: 0;
  }

  .mail-form.notes {
    flex-flow: column;
    height: auto;
  }

  .check-box {
    width: 100%;
    height: auto;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .div-block-111 {
    align-self: flex-start;
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .textarea {
    width: 100%;
    padding-bottom: 140px;
  }

  .note-title {
    width: 100%;
    margin-bottom: 0;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .form-block {
    margin-bottom: 40px;
  }

  .form {
    grid-column-gap: 20px;
    grid-row-gap: 20px;
    flex-flow: column;
    display: flex;
  }

  .div-block-113 {
    height: auto;
  }

  .submit-button {
    width: 90%;
  }

  .div-block-114 {
    padding-top: 20px;
  }

  .container-16 {
    grid-column-gap: 20px;
    grid-row-gap: 20px;
    flex-flow: column;
    margin-bottom: 40px;
    padding-left: 20px;
    padding-right: 20px;
  }

  .div-block-116 {
    width: 100%;
  }

  .service-list {
    grid-template-rows: 250px 250px 250px 250px 250px 250px 250px 250px;
    grid-template-columns: 1fr 1fr;
    padding-left: 40px;
    padding-right: 40px;
  }

  .modals.modal-1,
  .modals.modal-3,
  .modals.modal-4,
  .modals.modal-5 {
    background-size: 600px;
  }

  .modals.modal-6 {
    background-size: 500px;
  }

  .modals.modal-7 {
    background-size: 600px;
  }

  .modals.modal-8,
  .modals.modal-9,
  .modals.modal-10,
  .modals.modal-11,
  .modals.modal-12,
  .modals.modal-13,
  .modals.modal-14 {
    background-size: 500px;
  }

  .modal-wrapper {
    display: block;
  }

  .acordion-toggle {
    height: 60px;
  }

  .text-block-145 {
    align-self: center;
    font-size: 3vw;
    line-height: 4vw;
  }

  .div-block-140,
  .div-block-141,
  .div-block-142 {
    width: 26vw;
    height: 26vw;
  }

  .left-arrow-3 {
    z-index: 1;
    margin-top: 0;
    top: 85vw;
    left: 6vw;
  }

  .right-arrow-2 {
    margin-top: 0;
    top: 85vw;
    right: 6vw;
  }

  .nav-menu-container2 {
    height: auto;
    padding-top: 10px;
    padding-bottom: 10px;
  }


  .div-block-144 {
    padding-top: 3vw;
    padding-bottom: 3vw;
  }

  .text-block-148 {
    font-size: 3vw;
    line-height: 2.5vw;
  }

  .div-block-146 {
    justify-content: center;
    align-items: flex-end;
    margin-bottom: -5vw;
    margin-right: 6vw;
  }

  .crown {
    display: none;
    width: 7vw;
    height: 7vw;
    margin-bottom: 4vw;
  }

  .text-block-149 {
    letter-spacing: -19.8vw;
    justify-content: center;
    align-items: center;
    margin-top: 0;
    padding-left: 32.5vw;
    padding-right: 0;
    font-size: 11vw;
    line-height: 4vw;
    display: block;
  }

  .div-block-147 {
    max-width: none;
  }

  .text-block-150 {
    letter-spacing: 2px;
    margin-bottom: -3vw;
    padding: 3vw 5vw;
    font-size: 20px;
    line-height: 20px;
  }

  .cta {
    width: 90%;
  }

  .div-block-149 {
    background-color: rgba(0, 0, 0, .5);
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .link-block-4 {
    padding: 20px;
  }

  .div-block-150 {
    width: 32px;
    height: 32px;
  }

  .text-block-151 {
    letter-spacing: 2px;
    font-size: 22px;
    line-height: 24px;
  }

  .text-block-152 {
    letter-spacing: 2px;
    padding-top: 1vw;
    font-size: 20px;
    line-height: 20px;
  }

  .text-block-153 {
    letter-spacing: 2px;
    font-size: 22px;
    line-height: 24px;
  }

  .div-block-152 {
    width: 32px;
    height: 32px;
  }

  .link-block-5 {
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    padding: 20px;
  }

  .list-item-10 {
    font-size: 16px;
  }

  .heading-18 {
    z-index: 1;
    font-size: 30px;
  }

  .div-block-154 {
    width: 100%;
  }

  .div-block-155 {
    margin-left: -55px;
  }

  .div-block-156 {
    width: 25vw;
    height: 25vw;
  }

  .flex-block-3 {
    justify-content: flex-start;
    align-items: flex-start;
  }

  .flex-block-4 {
    display: none;
    top: 25%;
    right: 0%;
  }

  .text-block-161 {
    display: none;
  }

  .text-span-23 {
    align-self: auto;
    margin-right: 0;
    font-size: 28px;
  }

  .flex-block-5 {
    padding-left: 0;
  }

  .div-block-161 {
    display: none;
    top: 15%;
    right: 20%;
  }

  .text-block-162 {
    width: auto;
    padding-top: 20px;
    font-size: 22px;
    font-weight: 600;
    line-height: 30px;
  }

  .dirt-in-hose {
    width: 90vw;
    height: 60vw;
  }

  .div-block-163 {
    grid-column-gap: 5%;
    grid-row-gap: 5%;
    flex: 0 auto;
    justify-content: center;
    align-items: center;
    margin-top: 20px;
  }

  .flex-block-6 {
    flex-flow: column-reverse;
    width: auto;
    padding-top: 40px;
  }

  .sewage {
    width: 90vw;
    height: 65vw;
  }

  .dirt-from-drains {
    width: 90vw;
    height: 60vw;
  }

  .div-block-164 {
    width: 55vw;
    height: 33vw;
    margin-right: 42vw;
  }

  .div-block-165 {
    z-index: 1;
    grid-column-gap: 30px;
    grid-row-gap: 0px;
    flex-flow: wrap;
    position: relative;
  }

  .div-block-166,
  .div-block-167 {
    display: none;
  }

  .video {
    width: 100%;
    margin-top: 100px;
  }

  .maint {
    width: 77vw;
    height: 15vw;
  }

  .div-block-169 {
    width: 88vw;
    height: 14vw;
    top: 40%;
  }

  .maintenance-support {
    padding-left: 20px;
    padding-right: 20px;
  }

  .div-block-171 {
    padding-left: 0;
  }

  .div-block-173 {
    grid-column-gap: 10px;
    grid-row-gap: 10px;
  }

  .div-block-174 {
    display: none;
  }

  .text-block-164 {
    padding-left: 0;
  }

  .div-block-176 {
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    padding-left: 0;
  }

  .text-block-168 {
    letter-spacing: .2vw;
    margin-left: 60px;
    margin-right: -45px;
    font-size: 3vw;
    line-height: 5vw;
  }

  .div-block-178 {
    display: none;
  }

  .text-block-169 {
    font-size: 4vw;
    line-height: 7vw;
  }

  .a-logo {
    width: 100%;
    padding-left: 40px;
    padding-right: 40px;
    left: 0%;
  }

  .column-69 {
    height: auto;
    padding-left: 0;
  }

  .left-belt,
  .right-belt {
    height: 40px;
  }

  .pass-criteria-container {
    width: 100%;
  }

  .div-block-180 {
    grid-column-gap: 15px;
    grid-row-gap: 15px;
    font-size: 16px;
  }

  .div-block-182 {
    width: 103%;
    height: 14px;
  }

  .text-block-171 {
    font-size: 21px;
    line-height: 30px;
  }

  .image-14 {
    top: 86%;
  }

  .prats-top {
    top: -3%;
  }

  .parts-bottom {
    bottom: -4%;
  }

  .flex-block-11 {
    margin-right: 140px;
  }

  .div-block-186 {
    width: 250px;
    height: 15px;
  }

  .container-20 {
    padding-left: 0;
  }

  .background-image-16 {
    padding-left: 0;
    padding-right: 0;
  }

  .flex-block-14 {
    justify-content: flex-start;
    align-items: flex-start;
  }

  .text-block-174 {
    z-index: 1;
    grid-column-gap: 15px;
    grid-row-gap: 15px;
    color: #5847a4;
    text-align: center;
    letter-spacing: 1px;
    flex-flow: column;
    justify-content: center;
    align-items: stretch;
    font-size: 26px;
    font-weight: 600;
    line-height: 34px;
    display: flex;
    position: relative;
  }

  .div-block-188 {
    background-image: url('../images/比較してみよう767.svg');
    background-position: 0 0;
    background-size: cover;
    flex: 0 auto;
    width: 60vw;
    height: 32vw;
    margin-left: 27vw;
    padding-bottom: 0;
    padding-right: 0;
    display: block;
  }

  .flex-block-17 {
    background-image: url('../images/Rectangle-26.svg');
    background-position: 0 0;
    background-size: cover;
    justify-content: center;
    align-items: center;
    width: 85vw;
    height: 47.8vw;
  }

  .div-block-189 {
    background-image: url('../images/料金を確認する.svg');
    background-position: 0 0;
    background-size: cover;
    width: 265px;
    height: 65px;
    margin-top: 4vw;
    padding-bottom: 0;
    padding-right: 0;
  }

  .div-block-190 {
    display: block;
  }

  .image-17 {
    margin-left: 0;
    position: absolute;
  }

  .image-18 {
    width: 22vw;
    margin-right: 60px;
    display: block;
  }

  .image-19 {
    display: block;
  }

  .image-20 {
    display: block;
  }

  .image-21 {
    display: block;
  }

  .text-block-175 {
    z-index: 2;
    text-align: center;
    letter-spacing: 1px;
    -webkit-text-fill-color: transparent;
    background-color: #4c4c4c;
    background-image: linear-gradient(90deg, #0073b4, #30e7b3);
    -webkit-background-clip: text;
    background-clip: text;
    font-size: 24px;
    font-weight: 700;
    line-height: 40px;
    display: block;
    position: relative;
  }

  .list-item-12 {
    font-size: 16px;
  }

  .list-item-13,
  .list-item-14,
  .list-item-15 {
    font-size: 16px;
    line-height: 24px;
  }

  .grid-2 {
    grid-column-gap: 60px;
    grid-row-gap: 60px;
    grid-template-columns: 1fr;
  }

  .div-block-191 {
    grid-column-gap: 30px;
    grid-row-gap: 30px;
    background-color: var(--white);
    border-radius: 20px;
    flex-flow: column;
    width: 88vw;
    padding: 7vw;
    display: flex;
    box-shadow: 0 5px 10px rgba(0, 132, 255, .5);
  }

  .div-block-192 {
    background-color: var(--white);
    border-radius: 20px;
    width: 88vw;
    padding: 7vw;
    display: block;
    box-shadow: 0 5px 10px rgba(0, 132, 255, .5);
  }

  .flex-block-18 {
    grid-column-gap: 50px;
    grid-row-gap: 50px;
    justify-content: center;
    align-items: center;
    display: flex;
  }

  .div-block-193 {
    justify-content: flex-end;
    align-items: flex-end;
    margin-top: 40px;
    padding-right: 60px;
    display: flex;
  }

  .div-block-194 {
    background-image: linear-gradient(90deg, var(--header-coloe-2), var(--明るいブルー));
    width: 35%;
    height: 4px;
    padding-bottom: 0;
    padding-right: 0;
  }

  .text-block-179 {
    color: var(--header-coloe-2);
    align-self: auto;
    margin-bottom: -4px;
    padding-top: 0;
    padding-right: 10px;
    font-family: Montserrat, sans-serif;
    font-size: 17px;
    font-weight: 700;
  }

  .div-block-195 {
    background-color: var(--明るいブルー);
    width: 6px;
    height: 20px;
    margin-left: -10px;
    padding-bottom: 0;
    padding-right: 0;
    transform: skew(45deg);
  }

  .code-embed {
    position: relative;
  }

  .swipe-icon {
    z-index: 2;
    background-color: rgba(0, 0, 0, .67);
    border-radius: 20px;
    justify-content: center;
    align-items: center;
    padding: 20px;
    display: flex;
    position: absolute;
    top: 50%;
  }

  .text-block-180 {
    color: var(--white);
    letter-spacing: 1px;
    padding-top: 20px;
    font-size: 14px;
  }

  .image-25 {
    border-radius: 12px;
  }

  .swipe-icon-2 {
    z-index: 2;
    background-color: rgba(0, 0, 0, .7);
    border-radius: 20px;
    justify-content: center;
    align-items: center;
    padding: 20px;
    display: flex;
    position: absolute;
    top: 60%;
  }
}

@media screen and (max-width: 479px) {
  .nav-menu {
    height: 100vh;
  }

  .nav-link-holder {
    justify-content: center;
    align-items: center;
  }

  .nav-menu-container {
    padding-top: .125em;
    padding-bottom: .125em;
  }

  .button2.nav-button {
    transition: opacity .2s;
  }

  .firstview.top {
    /* height: 840px; */
    min-height: 0;
  }

  .container-4 {
    min-height: 0;
    /* height: 840px; */
  }

  /* .container-5 {
    height: 840px;
  } */

  .div-block-145 {
    /* height: 840px; */
    min-height: 0;
  }

  .slider {
    /* height: 840px; */
    min-height: 0;
  }

  .mask {
    /* height: 840px; */
    min-height: 0;
  }

  .top-hero-text-holder {
    padding-left: 2vw;
    padding-right: 2vw;
  }

  .hero-text {
    padding-bottom: .5vw;
    font-weight: 800;
    line-height: 12vw;
  }

  .div-block-2 {
    padding-top: 20px;
  }

  .text-block-6,
  .text-block-7,
  .text-block-8,
  .text-block-9,
  .text-block-10,
  .text-block-11,
  .text-block-12 {
    font-size: 20px;
  }

  .heading {
    font-weight: 700;
  }

  .paragraph-2 {
    font-size: 4vw;
    font-weight: 800;
  }

  .about-section {
    padding-bottom: 60px;
    padding-left: 20px;
    padding-right: 20px;
  }

  .about {
    font-size: 40px;
    line-height: 40px;
  }

  .heading-3 {
    letter-spacing: .5vw;
    font-size: 11vw;
    line-height: 10vw;
  }

  .column,
  .column-2 {
    height: 60px;
  }

  .text-block-18 {
    font-size: 16px;
  }

  .text-block-19 {
    font-size: 20px;
  }

  .text-block-20 {
    font-size: 13px;
  }

  .text-block-21 {
    font-size: 14px;
    line-height: 18px;
  }

  .text-block-22,
  .text-block-23 {
    font-size: 14px;
  }

  .column-7,
  .column-8 {
    padding: 15px;
  }

  .column-9 {
    padding: 15px;
    font-size: 14px;
  }

  .column-10 {
    margin-left: auto;
    margin-right: auto;
    padding: 15px;
  }

  .column-11,
  .column-12,
  .column-13,
  .column-14,
  .column-15 {
    padding: 15px;
  }

  .column-16 {
    padding: 15px;
    font-size: 14px;
  }

  .column-17,
  .column-18 {
    padding: 15px;
  }

  .text-block-24,
  .text-block-25 {
    font-size: 14px;
  }

  .text-block-26 {
    letter-spacing: 1px;
    font-size: 14px;
  }

  .heading-4 {
    letter-spacing: 2px;
    font-size: 20px;
    font-weight: 700;
    line-height: 32px;
  }

  .drain-cleaning {
    padding-bottom: 40px;
    padding-left: 20px;
    padding-right: 20px;
  }

  .justify-icon {
    grid-column-gap: 13%;
    grid-row-gap: 13%;
  }

  .div-block-17,
  .div-block-20 {
    padding-bottom: 40px;
  }

  .text-block-27 {
    letter-spacing: 1px;
    font-family: Montserrat, sans-serif;
    font-size: 14px;
    line-height: 20px;
  }

  .list {
    padding-top: 15px;
    padding-bottom: 15px;
    font-size: 14px;
  }

  .list-2,
  .list-3,
  .list-4 {
    padding-top: 15px;
    padding-bottom: 15px;
    font-size: 14px;
    line-height: 20px;
  }

  .list-item {
    font-size: 14px;
  }

  .list-5,
  .list-6 {
    padding-top: 15px;
    padding-bottom: 15px;
    font-size: 14px;
  }

  .list-7 {
    padding-top: 15px;
    padding-bottom: 15px;
    font-size: 15px;
  }

  .list-8 {
    padding-top: 15px;
    padding-bottom: 15px;
    padding-right: 20px;
    font-size: 17px;
  }

  .list-9 {
    padding-top: 15px;
    padding-bottom: 15px;
    font-size: 14px;
    line-height: 20px;
  }

  .text-block-28 {
    padding-bottom: 15px;
    font-size: 14px;
  }

  .list-10 {
    padding-top: 15px;
    padding-bottom: 15px;
  }

  .list-item-3 {
    font-size: 14px;
  }

  .text-block-29 {
    padding-bottom: 15px;
    font-size: 14px;
    line-height: 20px;
  }

  .list-11,
  .list-12 {
    padding-top: 15px;
    padding-bottom: 15px;
    font-size: 14px;
  }

  .list-item-4 {
    line-height: 20px;
  }

  .text-block-32 {
    padding-right: 20px;
    font-size: 14px;
  }

  .text-block-33 {
    border: .5px solid #00fff7;
    border-radius: 30px;
    padding: 20px 40px;
    font-size: 17px;
  }

  .text-block-34 {
    letter-spacing: 1px;
    padding-left: 40px;
    padding-right: 40px;
    font-size: 18px;
    line-height: 30px;
  }

  .container-11 {
    margin-top: 20px;
  }

  .columns-7 {
    border-bottom-width: 1px;
    width: 750px;
    padding-top: 6px;
    padding-bottom: 6px;
    font-size: 14px;
    line-height: 18px;
  }

  .columns-8 {
    width: 750px;
    height: 40px;
  }

  .columns-8-copy {
    border-bottom-width: 1px;
    width: 750px;
    padding-top: 6px;
    padding-bottom: 6px;
    font-size: 14px;
    line-height: 18px;
  }

  .text-block-36,
  .text-block-37,
  .text-block-38,
  .text-block-39,
  .text-block-40 {
    font-size: 16px;
  }

  .text-block-41 {
    font-size: 14px;
  }

  .slider-4 {
    padding-bottom: 60px;
  }

  .left-arrow-2 {
    background-color: var(--明るいブルー);
    width: 40px;
    height: 40px;
    margin-top: 130px;
    top: 0;
    left: 20px;
  }

  .right-arrow {
    background-color: var(--明るいブルー);
    width: 40px;
    height: 40px;
    margin-top: 130px;
    top: auto;
    bottom: auto;
    left: auto;
    right: 20px;
  }

  .icon-2,
  .icon-3 {
    font-size: 15px;
    line-height: 15px;
  }

  .text-block-42 {
    font-size: 14px;
    font-weight: 900;
  }

  .text-block-44,
  .text-block-45,
  .text-block-46,
  .text-block-47,
  .text-block-48,
  .text-block-49,
  .text-block-50,
  .text-block-51,
  .text-block-52,
  .text-block-53,
  .text-block-54 {
    font-size: 14px;
  }

  .text-block-55 {
    font-size: 14px;
    line-height: 14px;
  }

  .div-block-48 {
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }

  .heading-7 {
    padding: 15px 30px;
    font-size: 24px;
  }

  .text-block-87 {
    font-size: 40px;
    line-height: 40px;
  }

  .div-block-50 {
    width: 100%;
  }

  .div-block-51 {
    margin-bottom: 30px;
    padding-left: 0;
    padding-right: 0;
  }

  .text-block-88 {
    font-size: 15px;
  }

  .text-block-89 {
    font-size: 14px;
  }

  .list-13 {
    margin-top: 20px;
    padding-left: 20px;
    font-size: 14px;
    line-height: 30px;
  }

  .div-block-55 {
    width: 100%;
  }

  .heading-7-copy {
    padding: 15px 30px;
    font-size: 24px;
  }

  .heading-7-copy-copy {
    padding-top: 15px;
    padding-bottom: 15px;
    font-size: 24px;
    font-weight: 700;
  }

  .columns-8-2-copy,
  .columns-8-2-copy-copy {
    width: 750px;
    height: 40px;
  }

  .text-block-40-copy,
  .text-block-37-copy,
  .text-block-36-copy {
    font-size: 16px;
  }

  .text-block-118 {
    margin-top: 20px;
    font-size: 18px;
  }

  .div-block-59 {
    background-image: url('../images/Group-195.png');
    margin-top: 40px;
  }

  .div-block-60 {
    padding-top: 20px;
  }

  .heading-8 {
    letter-spacing: 1px;
    font-size: 4.5vw;
    line-height: 9vw;
  }

  .heading-9 {
    font-size: 19px;
    line-height: 23px;
  }

  .div-block-61 {
    height: 10px;
    margin-top: -15px;
  }

  .in-house-construction {
    margin-top: 20px;
  }

  .div-block-65 {
    width: 90%;
  }

  .text-block-122 {
    padding-left: 20px;
    padding-right: 20px;
    font-size: 30px;
  }

  .paragraph-12 {
    letter-spacing: 1px;
    font-size: 13px;
    line-height: 24px;
  }

  .paragraph-13,
  .paragraph-14 {
    font-size: 13px;
    line-height: 24px;
  }

  .paragraph-15,
  .paragraph-16 {
    font-size: 13px;
  }

  .div-block-80 {
    font-size: 14px;
  }

  .text-block-125,
  .text-block-126,
  .text-block-127,
  .text-block-128 {
    font-size: 20px;
  }

  .div-block-82 {
    margin-top: 40px;
    margin-bottom: 40px;
  }

  .text-block-129 {
    font-size: 24px;
  }

  .text-block-131 {
    font-size: 27px;
  }

  .div-block-83 {
    width: 90vw;
  }

  .div-block-86 {
    width: 90vw;
    height: 90vw;
  }

  .testimonials {
    padding-top: 25vw;
  }

  .div-block-88,
  .div-block-89 {
    width: 90vw;
    height: 90vw;
  }

  .text-block-135 {
    letter-spacing: 1px;
    font-size: 17px;
  }

  .paragraph-18 {
    font-size: 15px;
  }

  .div-block-94 {
    padding-left: 30px;
    padding-right: 30px;
  }

  .text-block-136,
  .text-block-137 {
    letter-spacing: 1px;
    font-size: 17px;
  }

  .heading-14 {
    margin-bottom: 0;
    font-size: 11vw;
    line-height: 11vw;
  }

  .text-block-141 {
    letter-spacing: 1px;
    font-size: 15px;
    font-weight: 600;
    line-height: 20px;
  }

  .corporate-information.footer {
    padding-top: 30px;
    padding-bottom: 0;
    display: block;
  }

  .field-label,
  .field-label-2 {
    padding-top: 6px;
    padding-bottom: 6px;
    font-size: 14px;
    line-height: 16px;
  }

  .radio-label,
  .radio-label-2,
  .radio-label-3 {
    font-size: 14px;
    line-height: 16px;
  }

  .check-box {
    padding-top: 6px;
    padding-bottom: 6px;
    font-size: 14px;
    line-height: 16px;
  }

  .div-block-111 {
    width: 100%;
    font-size: 15px;
  }

  .div-block-112 {
    padding: 0 20px;
  }

  .textarea {
    padding-bottom: 100px;
  }

  .note-title {
    padding-top: 6px;
    padding-bottom: 6px;
    font-size: 14px;
    line-height: 16px;
  }

  .submit-button {
    font-size: 18px;
  }

  .container-16 {
    margin-bottom: 0;
    padding-bottom: 30px;
  }

  .div-block-117 {
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: 230px;
    height: 217px;
  }

  .columns-9,
  .columns-10,
  .columns-11 {
    font-size: 16px;
    display: block;
  }

  .columns-12,
  .columns-13 {
    font-size: 16px;
  }

  .service-list {
    grid-column-gap: 15px;
    grid-row-gap: 15px;
    padding-left: 20px;
    padding-right: 20px;
  }

  .modals.modal-1,
  .modals.modal-2,
  .modals.modal-3,
  .modals.modal-4,
  .modals.modal-5 {
    background-size: cover;
    height: 30%;
  }

  .modals.modal-6 {
    background-image: url('../images/plaster_trap.jpg');
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    height: 35%;
    /* display: none; */
  }

  .modals.modal-7,
  .modals.modal-8,
  .modals.modal-9 {
    background-size: cover;
    height: 30%;
  }

  .modals.modal-10 {
    background-size: cover;
    height: 30%;
    display: none;
  }

  .modals.modal-11 {
    background-size: cover;
    height: 30%;
  }

  .modals.modal-12 {
    background-size: cover;
    height: 35%;
    display: none;
  }

  .modals.modal-13 {
    background-size: cover;
    height: 30%;
  }

  .modals.modal-14 {
    background-size: cover;
    height: 25%;
    display: none;
  }

  .modals.modal-15 {
    background-size: cover;
    height: 30%;
  }

  .text-block-144 {
    font-size: 14px;
  }

  .background-image,
  .background-image-2,
  .background-image-3,
  .background-image-4,
  .background-image-5 {
    padding-left: 20px;
    padding-right: 20px;
  }

  .background-image-6 {
    justify-content: center;
    align-items: center;
    padding-left: 20px;
    padding-right: 20px;
    display: flex;
  }

  .background-image-7,
  .background-image-8,
  .background-image-9,
  .background-image-10,
  .background-image-11,
  .background-image-12,
  .background-image-13 {
    padding-left: 20px;
    padding-right: 20px;
  }

  .background-image-14,
  .background-image-15 {
    justify-content: center;
    align-items: center;
    padding-left: 20px;
    padding-right: 20px;
    display: flex;
  }

  .modal-wrapper {
    display: block;
  }

  .acordion-toggle {
    height: 90px;
    padding-left: 10px;
    padding-right: 40px;
  }

  .acordion-icon {
    margin-right: 10px;
  }

  .paragraph-23 {
    letter-spacing: 1px;
    font-size: 15px;
    line-height: 24px;
  }

  .text-block-145 {
    letter-spacing: .4vw;
    align-self: center;
    font-size: 4vw;
    line-height: 5vw;
    display: block;
  }

  .div-block-140,
  .div-block-141,
  .div-block-142 {
    width: 30vw;
    height: 30vw;
  }

  .left-arrow-3 {
    width: 40px;
    height: 40px;
    top: 95vw;
    left: 1vw;
  }

  .right-arrow-2 {
    width: 40px;
    height: 40px;
    top: 95vw;
    right: 1vw;
  }

  .icon-4 {
    margin-top: 7px;
    margin-left: 13px;
    font-size: 16px;
  }

  .icon-5 {
    margin-top: 7px;
    font-size: 16px;
  }

  .slide-nav-3 {
    display: block;
  }

  .nav-menu-container2 {
    justify-content: center;
    align-items: flex-start;
    padding-top: 10px;
    padding-right: 0;
  }

  .link-block-3 {
    padding-left: 15px;
    padding-right: 15px;
    text-decoration: none;
  }

  .text-block-146 {
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
  }

  .text-block-147 {
    letter-spacing: 1px;
    font-size: 20px;
    font-weight: 800;
    line-height: 22px;
  }

  .text-block-148 {
    font-size: 4vw;
    font-weight: 600;
  }

  .text-block-149 {
    font-weight: 700;
  }

  .text-block-150 {
    padding-left: 6vw;
    padding-right: 6vw;
    font-size: 16px;
  }

  .div-block-150 {
    width: 25px;
    height: 25px;
  }

  .text-block-151 {
    font-size: 17px;
  }

  .text-block-152 {
    font-size: 15px;
    line-height: 18px;
  }

  .div-block-151 {
    padding-left: 20px;
    padding-right: 20px;
  }

  .text-block-153 {
    letter-spacing: 1px;
    font-size: 16px;
  }

  .div-block-152 {
    width: 25px;
    height: 25px;
  }

  .link-block-5 {
    grid-column-gap: 0vw;
    grid-row-gap: 0vw;
    padding-left: 20px;
    padding-right: 20px;
  }

  .list-item-10 {
    font-size: 14px;
    line-height: 18px;
  }

  .radio-field {
    font-size: 14px;
  }

  .heading-18 {
    align-self: stretch;
    font-size: 22px;
  }

  .div-block-154 {
    height: 15px;
  }

  .flex-block-2 {
    position: relative;
  }

  .div-block-155 {
    width: 15vw;
    height: 15vw;
    margin-left: auto;
    position: absolute;
    top: auto;
    bottom: 0%;
    left: auto;
    right: -5.5vw;
    overflow: visible;
  }

  .heading-19 {
    font-size: 28px;
    line-height: 47px;
    font-weight: bold;
  }

  .text-block-154 {
    font-size: 18px;
    font-weight: 700;
    line-height: 32px;
  }

  .text-block-155 {
    letter-spacing: -18px;
    margin-bottom: 0;
    font-size: 50px;
    line-height: 19px;
  }

  .flex-block-3 {
    justify-content: flex-start;
    align-items: flex-start;
  }

  .text-block-157 {
    font-size: 17px;
    line-height: 30px;
  }

  .div-block-157 {
    background-image: url('../images/Group-110.png');
    width: 50.6vw;
    height: 51vw;
  }

  .div-block-158 {
    background-image: url('../images/Group-111.png');
    width: 50.6vw;
    height: 51vw;
  }

  .div-block-159 {
    background-image: url('../images/Group-112.png');
    width: 50.6vw;
    height: 51vw;
  }

  .text-block-158,
  .text-block-159,
  .text-block-160 {
    font-size: 17px;
  }

  .text-span-23 {
    text-align: center;
    font-size: 24px;
  }

  .text-block-162 {
    letter-spacing: 1px;
    padding-top: 10px;
    font-size: 18px;
    font-weight: 700;
  }

  .flex-block-6 {
    padding-top: 20px;
  }

  .div-block-170 {
    padding-left: 20px;
    padding-right: 20px;
  }

  .div-block-173 {
    flex: 0 auto;
    justify-content: center;
    align-self: auto;
    align-items: center;
    margin-bottom: 15px;
  }

  .text-block-164 {
    flex: 0 auto;
    justify-content: center;
    align-self: auto;
    align-items: center;
    font-size: 16px;
    line-height: 22px;
    display: block;
  }

  .text-block-165 {
    font-size: 16px;
  }

  .text-block-166 {
    letter-spacing: 1px;
    font-size: 20px;
    line-height: 32px;
  }

  .text-block-167 {
    margin-top: 40px;
    margin-bottom: 10px;
    font-size: 15px;
  }

  .text-block-168 {
    text-align: center;
    margin-left: 17vw;
    margin-right: -12vw;
    font-size: 3.5vw;
  }

  .drain-cleaning-1920 {
    top: 17%;
  }

  .text-block-170 {
    font-size: 22px;
    line-height: 30px;
  }

  .left-belt,
  .right-belt {
    display: none;
  }

  .div-block-182 {
    height: 10px;
    margin-top: -7px;
  }

  .div-block-183 {
    width: 33px;
    height: 37px;
  }

  .text-block-171 {
    font-size: 15px;
    line-height: 22px;
  }

  .text-block-172 {
    font-size: 26px;
  }

  .div-block-185 {
    width: 120px;
    height: 13px;
    margin-top: -9px;
  }

  .div-block-186 {
    width: 230px;
  }

  .services-title,
  .price-title {
    justify-content: center;
    align-items: center;
  }

  .flex-block-13 {
    position: relative;
  }

  .text-block-174 {
    text-align: left;
    font-size: 20px;
  }

  .flex-block-17 {
    width: 90vw;
    height: 50.5vw;
  }

  .image-17 {
    width: 2vw;
  }

  .image-18 {
    margin-right: 0;
  }

  .text-block-175 {
    letter-spacing: 1px;
    font-size: 20px;
    line-height: 28px;
  }

  .list-item-12 {
    font-size: 14px;
  }

  .list-item-13,
  .list-item-14,
  .list-item-15 {
    font-size: 14px;
    line-height: 20px;
  }

  .flex-block-19 {
    font-size: 36px;
  }

  .image-19 {
    vertical-align: baseline;
    width: auto;
    max-width: none;
    display: block;
  }

  .image-20 {
    width: auto;
  }

  .column-73 {
    justify-content: flex-start;
    align-items: center;
    display: flex;
  }

  .column-74,
  .column-75 {
    align-self: center;
  }

  .text-block-177 {
    color: var(--white);
    overflow-wrap: anywhere;
    align-self: center;
    margin-right: 0;
    padding-right: 0;
    font-size: 4vw;
    font-weight: 600;
    line-height: 5vw;
    display: block;
  }

  .text-block-178 {
    color: var(--white);
    align-self: center;
    font-size: 4vw;
    font-weight: 600;
    line-height: 4vw;
    display: none;
  }

  .icon-6 {
    font-size: 45px;
    font-weight: 300;
    line-height: 44px;
  }

  .image-21,
  .image-22,
  .image-23,
  .image-24 {
    display: block;
  }

  .swipe-icon {
    justify-content: center;
    align-items: center;
    top: 50%;
  }

  .swipe-icon-2 {
    z-index: 2;
    background-color: rgba(0, 0, 0, .7);
    border-radius: 20px;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    padding: 20px;
    position: absolute;
    top: 63%;
  }
}

#w-node-_8bdfbf9e-ff29-2e74-c654-ca8044012b97-80427c88 {
  align-self: auto;
  justify-self: auto;
}

#w-node-_7c8400a0-04e0-c809-cffe-e333941840a7-80427c88 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#confirmationScreen {
  padding: 30px;
  /* background-color: #f9f9f9; */
  margin-top: 50px;
}

#confirmationScreen p {
  margin-bottom: 20px;
  text-align: center;
  letter-spacing: 1px;
  font-size: 20px;
  font-weight: 700;
  background-image: linear-gradient(90deg, var(--紺), var(--header-color));
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
}

#confirmationScreen ul {
  list-style-type: none;
  padding: 20px;
}

#confirmationScreen ul li {
  background-image: linear-gradient(90deg, var(--紺), var(--header-color));
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  padding: 20px;
  border-bottom: 1px solid var(--header-color);
  display: flex;
  align-items: center;
}

.confirmation-screen strong {
  width: 200px;
  text-align: left;
  /* 左揃え */
  margin-right: 50px;
  /* 項目名とテキストの間にスペースを追加 */
}

.confirmation-screen li span {
  flex: 1;
  /* 入力内容のテキストを左揃え */
  text-align: left;
  /* 左揃え */
  word-break: break-all;
}


#confirmationScreen button {
  margin-right: 50px;
}

.button-container {
  margin-bottom: 50px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: 20px;
}

.submit-button {
  color: #fff;
  padding: 20px 40px;
  cursor: pointer;
}


.edit-button {
  background-image: linear-gradient(90deg, black, var(--basic-font-color));
  color: #fff;
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 1px;
  width: 40%;
  border: none;
  padding: 20px 40px;
  cursor: pointer;
  border-radius: 36px;
  transition: margin .4s, box-shadow .4s;
  display: block;
  box-shadow: 0 5px 10px 3px rgba(6, 209, 255, .46);
}

.edit-button:hover {
  box-shadow: none;
  margin-top: 10px;
  margin-bottom: -10px;
}

.tel_footer {
  color: white;
  text-decoration: none;
}



@media (max-width: 767px) {
  #confirmationScreen {
    padding: 0px;
  }

  .edit-button {
    width: 90%;
  }
}

@media (max-width: 479px) {

  .edit-button {
    font-size: 18px;
  }

  #confirmationScreen p {
    font-size: 15px;
  }

  #confirmationScreen ul li {
    font-size: 13px;
  }

  .confirmation-screen strong {
    width: 150px;
    margin-right: 0px;
  }

  .confirmation-screen li span {
    font-size: 13px;
  }
}

/* 8/30変更 */
@media (max-width: 991px) {

  .image-14 {
    top: 50%;
  }
}

/* .cta {
  margin-top: 15vw;
} */

.testimonials {
  padding-top: initial;
}

.color-hint {
  background-color: hsla(193, 0%, 100%, 1);
  background-image:
    radial-gradient(at 100% 53%, hsla(195, 100%, 88%, 1) 0px, transparent 50%),
    radial-gradient(at 1% 31%, hsla(195, 100%, 88%, 1) 0px, transparent 50%);
  padding-top: 5vw;
}

.slider-4 {
  padding-bottom: initial;
}


.about-parent {
  background-image: url("../images/1920A_logo.svg");
  background-color: white;
  background-repeat: no-repeat;
}

.cta-2 {
  margin: 10vw 0;
}

.price {
  background-color: hsla(194, 0%, 100%, 1);
  background-image:
    radial-gradient(at 62% 97%, hsla(195, 100%, 88%, 1) 0px, transparent 50%),
    radial-gradient(at 98% 40%, hsla(195, 100%, 88%, 1) 0px, transparent 50%),
    radial-gradient(at 17% 98%, hsla(189, 100%, 98%, 1) 0px, transparent 50%),
    radial-gradient(at 96% 97%, hsla(195, 100%, 88%, 1) 0px, transparent 50%);
}

.blue-background-1920 {
  top: 0;
}

/* archive */
.archive-wrapper {
  display: flex;
  padding: 10px 20px;
  display: flex;

  .archive-w-p {
    width: 65vw;
    margin-left: 3vw;
  }
}

/* 記事デザイン */
.col-lg-8 {
  width: 80vw;
  margin: 0 auto;
}

.news-btn {
  text-align: center;
  margin-bottom: 30px;
}

/* single.php, archive.php */

.post-navigation {
  overflow: hidden;
  padding: 12px 20vw;
  border-top: 1px solid #eee;
}

.prev-art a {
  position: relative;
  float: left;
  width: 50%;
}

.next-art a {
  position: relative;
  float: right;
  width: 50%;
  text-align: right;
}

.home-top .article-top .img-wrap img {
  width: 600px;
  height: 400px;
}

.home-top .article-top .text {
  margin-left: 630px;
}

.home-top .article-top .new-post {
  font-weight: bold;
  display: block;
  margin-bottom: 0.5rem;
  color: #f00;
}

.home-top .article-top .text h2 {
  font-size: 1.6rem;
  margin-bottom: 1rem;
}

.home-top .article-top .text .article-date,
.home-top .article-top .text .cat-data {
  margin-bottom: 1rem;
}

.post-heading {
  margin: 3vw 0 2vw;
}

.single-main {
  width: 80vw;
  margin: 0 auto;
}


.article-p {
  flex-basis: 75% !important;
}

.article-img {
  flex-basis: 25% !important;
}

.article-container {
  margin-bottom: 10px;
  font-size: 0.9rem;
  line-height: 2;
  letter-spacing: 0.12em;
}


.masthead {
  width: 100vw;
}

.wp-image-285 {
  width: 100vw;
}

.single-main h1 {
  margin: 4vw 0 5vw;
}

.aioseo-breadcrumbs {
  margin: 0 0 5vw 0;
}

.single-main h1 {
  background-image: linear-gradient(90deg, var(--紺), var(--header-color)), linear-gradient(180deg, black, white);
  color: var(--white);
  letter-spacing: 3px;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-family: Montserrat, sans-serif;
  font-size: clamp(25px, 7vw, 50px);
  font-weight: 700;
  line-height: 60px;
}

.post-heading h1,
.page-categories {
  background-image: linear-gradient(90deg, var(--紺), var(--header-color)), linear-gradient(180deg, black, white);
  color: var(--white);
  letter-spacing: 3px;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-family: Montserrat, sans-serif;
  font-size: clamp(25px, 4vw, 50px);
  font-weight: 700;
  line-height: 60px;
}

.post-heading meta {
  background-image: linear-gradient(90deg, var(--紺), var(--header-color)), linear-gradient(180deg, black, white);
  color: var(--white);
  letter-spacing: 3px;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-family: Montserrat, sans-serif;
  font-size: clamp(25px, 3vw, 50px);
  font-weight: 700;
  line-height: 60px;
}


.wp-block-heading,
.archive_h2 {
  background-image: linear-gradient(90deg, var(--紺), var(--header-color)), linear-gradient(180deg, black, white);
  color: var(--white);
  letter-spacing: 3px;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-family: Montserrat, sans-serif;
  font-size: clamp(14px, 4vw, 18px);
  /* 最小14px, 最大18px */
  line-height: 1.6;
  /* 適切な行間 */
  font-weight: 700;
  margin: 15px 0 10px;
}

.has-black-background-color,
.wp-block-button__link,
.wp-element-button {
  margin-top: 20px;
}

.wp-block-post-title {
  font-size: clamp(14px, 4vw, 18px);
  /* 最小14px, 最大18px */
}

.wp-block-calendar {
  font-size: clamp(10px, 1vw, 100px);
  background-color: white;
}

.wp-block-archives a {
  text-decoration: none;
  color: black;
}

.article-p a,
.post-navigation a,
.news-btn a {
  text-decoration: none;
  color: #2EA7E0;
}


.wpcf7-list-item label {
  border: inherit;
  display: flex;
  flex-direction: row;
}

.wp-calendar-nav-prev a {
  color: black;
  text-decoration: none;
}

.voice-section {
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  line-height: 30px;
  color: #0073b4;
  background-color: white;
  text-align: center; /* 中央寄せ */
  padding: 35px 0 0;
  margin: 0px auto -13px;
}

.voice-section p {
  font-size: 21px;
  
}



.voice-section ul {
  margin: 15px 0 0;
  padding: 0;
  list-style: none;
  display: inline-block; /* リストを中央寄せ */
}

.voice-section li {
  margin: 5px 0; /* リストの間隔調整 */
}

.voice-section a {
  color: #0073b4;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.voice-section a:hover {
  opacity: 0.7;
}

.voice-section a::after {
  content: "🔗"; /* クリックできることを示すアイコン */
  font-size: 14px;
}


@media (max-width: 767px) {
  .wpcf7-acceptance .wpcf7-list-item label {
    display: flex;
    flex-direction: initial !important;
    background-color: initial !important;
    border: initial !important;

  }
}

.wpcf7-acceptance .wpcf7-list-item label {
  border: initial !important;
  padding: 3vw;
}


/* =========================================================
   A.you TOP FINAL SAFE FIX
   ========================================================= */

/* 背景ロゴの固定表示が後続セクションに透ける事故を止める */

/* 既存セクションがTOPの背景に透けないよう、通常の白背景に戻す */

/* PRICEを過去追記CSSで消してしまっていても復帰 */

/* ========================
   ❶ TOP Key Visual
   ======================== */


/* ========================
   ❷ Unit drain key visual
   ======================== */


.ay-unit-shot-1 { background-image: url('../images/drain _pipe.webp');}
.ay-unit-shot-2 { background-image: url('../images/dirt2.jpg'), url('../images/dirt2.jpg'); }
.ay-unit-shot-3 { background-image: url('../images/pro_cleaning_box.webp'), url('../images/pro_cleaning_box.webp'); }
.ay-unit-shot-4 { background-image: url('../images/dirt.webp'); }

/* recaptchaがTOPと重なるのを軽減 */


/* =========================================================
   PLAN / PRICE slider repair
   - Webflowの元スライダー構造を壊さず、はみ出しだけ補正
========================================================= */

#PRICE,
.price {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  background: #fff !important;
}

#PRICE .w-layout-blockcontainer,
.price .w-layout-blockcontainer {
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Webflowスライダー本体 */
#PRICE .slider-4,
.price .slider-4 {
  position: relative !important;
  width: 100% !important;
  max-width: 1180px !important;
  height: auto !important;
  margin: 0 auto !important;
  padding: 0 70px 80px !important;
  display: block !important;
  overflow: hidden !important;
  background: transparent !important;
}

/* スライダーの表示窓 */
#PRICE .mask-2,
.price .mask-2 {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  overflow: hidden !important;
  display: block !important;
  position: relative !important;
  white-space: nowrap !important;
}

/* 各コースの1スライド */
#PRICE .slide-40,
.price .slide-40 {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  display: inline-block !important;
  vertical-align: top !important;
  white-space: normal !important;
  overflow: visible !important;
}

/* スライド内の大枠が画面外へ出ないように */
#PRICE .slide-40 > *,
.price .slide-40 > * {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* PLAN内の表が横に飛び出さないように */
#PRICE .columns-8,
#PRICE .columns-8-copy,
.price .columns-8,
.price .columns-8-copy {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* 左右矢印をスライダー内に収める */
#PRICE .left-arrow-2,
.price .left-arrow-2 {
  position: absolute !important;
  left: 20px !important;
  right: auto !important;
  top: 50% !important;
  bottom: auto !important;
  margin: 0 !important;
  transform: translateY(-50%) !important;
  z-index: 5 !important;
}

#PRICE .right-arrow,
.price .right-arrow {
  position: absolute !important;
  right: 20px !important;
  left: auto !important;
  top: 50% !important;
  bottom: auto !important;
  margin: 0 !important;
  transform: translateY(-50%) !important;
  z-index: 5 !important;
}

/* スワイプアイコンが表の上に被りすぎないように */
#PRICE #swipe-icon,
.price #swipe-icon,
#PRICE .swipe-icon,
.price .swipe-icon {
  position: absolute !important;
  left: 50% !important;
  bottom: 20px !important;
  top: auto !important;
  transform: translateX(-50%) !important;
  z-index: 6 !important;
}

/* タブレット以下 */
@media screen and (max-width: 991px) {
  #PRICE .slider-4,
  .price .slider-4 {
    max-width: 100% !important;
    padding-left: 38px !important;
    padding-right: 38px !important;
  }

  #PRICE .left-arrow-2,
  .price .left-arrow-2 {
    left: 8px !important;
    width: 38px !important;
    height: 38px !important;
  }

  #PRICE .right-arrow,
  .price .right-arrow {
    right: 8px !important;
    width: 38px !important;
    height: 38px !important;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  #PRICE,
  .price {
    overflow-x: hidden !important;
  }

  #PRICE .slider-4,
  .price .slider-4 {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 70px !important;
  }

  #PRICE .mask-2,
  .price .mask-2 {
    width: 100% !important;
  }

  #PRICE .slide-40,
  .price .slide-40 {
    width: 100% !important;
  }

  #PRICE .left-arrow-2,
  .price .left-arrow-2 {
    left: 6px !important;
  }

  #PRICE .right-arrow,
  .price .right-arrow {
    right: 6px !important;
  }
}


/* =========================================================
   A.you TOP / UNIT 追加修正 v5
   追記場所：a-you-da0ed4.webflow.css の最下部
   ========================================================= */

/* -----------------------------
   1) デスクトップ / 共通の背景トーン調整
------------------------------ */
.ay-kv-bg-slide {
  background-position: right center !important;
}

.ay-kv-wash {
  background:
    linear-gradient(90deg,
      rgba(255,255,255,.97) 0%,
      rgba(255,255,255,.94) 16%,
      rgba(255,255,255,.88) 34%,
      rgba(255,255,255,.62) 54%,
      rgba(255,255,255,.22) 74%,
      rgba(255,255,255,.02) 100%),
    linear-gradient(180deg,
      rgba(255,255,255,.30) 0%,
      rgba(255,255,255,.08) 48%,
      rgba(255,255,255,.22) 100%) !important;
}

.ay-unit-kv-bg {
  background-image:
    linear-gradient(90deg,
      rgba(255,255,255,.97) 0%,
      rgba(255,255,255,.94) 16%,
      rgba(255,255,255,.87) 34%,
      rgba(255,255,255,.56) 56%,
      rgba(255,255,255,.18) 76%,
      rgba(255,255,255,.02) 100%),
    url('../images/v2/unit_clean_back.png'),
    url('../images/v2/②.jpg'),
    url('../images/unit_clean.webp') !important;
  background-size: cover, cover, cover, cover !important;
  background-position: right center, right center, right center, right center !important;
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat !important;
}

/* -----------------------------
   2) CTAボタンのはみ出し対策（共通）
------------------------------ */

.ay-kv-btn {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.ay-kv-btn > span:nth-child(2) {
  min-width: 0 !important;
}

/* -----------------------------
   3) タブレット以下
------------------------------ */
@media screen and (max-width: 767px) {
  .ay-kv-v3 {
    min-height: auto !important;
  }



  .ay-kv-content {
    width: 92vw !important;
    padding-top: 18px !important;
    position: relative !important;
  }



  .ay-kv-title-row {
    display: block !important;
    position: static !important;
  }

  .ay-kv-title {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
  }

  /* 98%をバッジ群の右側に回す */
  .ay-kv-retention {
    position: absolute !important;
    right: 0 !important;
    top: clamp(172px, 49vw, 224px) !important;
    width: clamp(92px, 25vw, 128px) !important;
    max-width: none !important;
    margin: 0 !important;
    z-index: 4 !important;
  }

  .ay-kv-badges {
    width: calc(100% - 30vw) !important;
    max-width: none !important;
    margin: 12px 0 0 !important;
    justify-content: flex-start !important;
    gap: 10px !important;
  }

  .ay-kv-badges img {
    width: calc((100% - 10px) / 2) !important;
    max-width: none !important;
  }

  .ay-kv-order {
    width: 100% !important;
    margin: 18px auto 0 !important;
    gap: 12px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    letter-spacing: .04em !important;
  }


  .ay-kv-cta {
    width: 92vw !important;
    gap: 12px !important;
    padding: 12px !important;
    margin-top: 18px !important;
  }

  .ay-kv-cta-item p {
    margin-bottom: 8px !important;
    font-size: 12px !important;
    letter-spacing: .03em !important;
  }

  .ay-kv-btn {
    gap: 8px !important;
    min-height: 52px !important;
    padding: 10px 38px 10px 10px !important;
    font-size: 13px !important;
    letter-spacing: 0 !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
  }

  .ay-kv-btn-icon {
    min-width: 30px !important;
    width: 30px !important;
    height: 30px !important;
    font-size: 10px !important;
    border-radius: 8px !important;
  }

  .ay-kv-btn i {
    right: 10px !important;
    width: 24px !important;
    height: 24px !important;
  }

  .ay-kv-btn i::after {
    left: 7px !important;
    top: 6px !important;
    width: 8px !important;
    height: 8px !important;
    border-top-width: 3px !important;
    border-right-width: 3px !important;
  }

  .ay-kv-trust {
    width: 92vw !important;
    margin-top: 12px !important;
    padding-bottom: 12px !important;
  }

  /* UNITセクション */
  .ay-unit-kv-v3 {
    padding: 34px 0 28px !important;
  }

  .ay-unit-kv-body {
    width: 92vw !important;
    gap: 18px !important;
  }

  .ay-unit-title-img {
    width: 100% !important;
    max-width: 420px !important;
    margin: 0 auto 16px !important;
  }

  .ay-unit-subcopy {
    margin-bottom: 18px !important;
    gap: 10px !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    letter-spacing: .03em !important;
  }

  .ay-unit-subcopy span {
    width: 26px !important;
  }

  /* アイコンは3列横並び */
  .ay-unit-icons {
    width: 100% !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .ay-unit-icons div {
    font-size: 11px !important;
    line-height: 1.35 !important;
  }

  .ay-unit-icons b {
    width: 54px !important;
    height: 54px !important;
    margin-bottom: 8px !important;
    font-size: 24px !important;
  }

  .ay-unit-kv-right {
    padding: 12px !important;
  }

  .ay-unit-panel-head {
    
    font-size: 13px !important;
    line-height: 1.45 !important;
    letter-spacing: .03em !important;
  }

  /* 画像は2列×2行 */
  .ay-unit-shot-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .ay-unit-shot {
    aspect-ratio: 4 / 3 !important;
  }

  .ay-unit-shot span {
    min-height: 38px !important;
    padding: 4px 6px !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
  }
}

/* -----------------------------
   4) かなり狭いスマホ向け微調整
------------------------------ */
@media screen and (max-width: 390px) {
  .ay-kv-retention {
    top: clamp(162px, 50vw, 205px) !important;
    width: clamp(84px, 24vw, 112px) !important;
  }

  .ay-kv-badges {
    width: calc(100% - 29vw) !important;
    gap: 8px !important;
  }

  .ay-kv-badges img {
    width: calc((100% - 8px) / 2) !important;
  }

  .ay-kv-order {
    font-size: 12px !important;
    margin-top: 14px !important;
  }

  .ay-kv-cta {
    width: calc(100vw - 24px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 10px !important;
  }

  .ay-kv-btn {
    min-height: 48px !important;
    font-size: 12px !important;
    padding: 9px 34px 9px 8px !important;
  }

  .ay-kv-btn-icon {
    min-width: 28px !important;
    width: 28px !important;
    height: 28px !important;
    font-size: 9px !important;
  }

  .ay-kv-btn i {
    right: 8px !important;
    width: 22px !important;
    height: 22px !important;
  }

  .ay-kv-btn i::after {
    left: 6px !important;
    top: 5px !important;
    width: 7px !important;
    height: 7px !important;
  }

  .ay-unit-icons div {
    font-size: 10px !important;
  }

  .ay-unit-icons b {
    width: 50px !important;
    height: 50px !important;
    font-size: 22px !important;
  }

  .ay-unit-shot span {
    font-size: 9px !important;
    min-height: 34px !important;
  }
}
/* =========================================================
   A.you TOP / UNIT KV final patch v4
   目的：既存Webflow CSSに干渉せず、TOPと第二KVだけを安全に制御
   追記場所：a-you-da0ed4.webflow.css の一番下
   ========================================================= */

/* 背景ロゴの固定表示が後続セクションに透ける事故を止める */

/* 既存セクションがTOPの背景に透けないよう、通常の白背景に戻す */

/* PRICEを過去追記CSSで消してしまっていても復帰 */

/* ========================
   ❶ TOP Key Visual
   ======================== */


/* ========================
   ❷ Unit drain key visual
   ======================== */

/* recaptchaがTOPと重なるのを軽減 */


/* =========================================================
   FINAL PATCH: TOP / SERVICES / LIGHTBOX
   追記先：a-you-da0ed4.webflow.css の最下部
   ========================================================= */

/* TOPの背景スライダー用ボタンは不要なので非表示 */

/* TOP背景画像は既存Webflowの slide-19〜25 を殺さない */

/* 右側の被写体を見せ、左側だけ読みやすく白もや */

/* TOPの3バッジを同一サイズ・横並びで安定 */


/* 壊れたコメントアウトPLANが残っても出さない安全策 */

/* SERVICES：カード形状を統一 */


/* SERVICES画像ポップアップ */


/* =========================================================
   EMERGENCY FINAL PATCH
   - TOP背景・3バッジ・SERVICESポップアップ・PRICE非表示を最後に強制補正
   追記場所：a-you-da0ed4.webflow.css の一番下
   ========================================================= */

/* 1) 壊れて表示されたPLAN/PRICEは完全停止 */

/* 2) TOPのWebflowスライダー矢印は不要なので完全非表示 */

/* 3) TOP背景スライダーを明示的に復旧 */

/* 左だけモヤ、右側は写真を残す */

/* 4) TOP 3バッジを同じ枠で横並びに固定 */


/* 5) SERVICESカードを完全に統一 */



/* 6) Webflow純正ライトボックスが暴発した場合は使わない */

/* 古い自作ライトボックスが残っていても表示しない */

/* 7) 新しい専用モーダル */


/* =========================================================
   A.you TOP / UNIT KV final patch v4
   目的：既存Webflow CSSに干渉せず、TOPと第二KVだけを安全に制御
   追記場所：a-you-da0ed4.webflow.css の一番下
   ========================================================= */

/* 背景ロゴの固定表示が後続セクションに透ける事故を止める */
.background-logo {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* 既存セクションがTOPの背景に透けないよう、通常の白背景に戻す */
.about-parent,
.testimonials,
.voice-section,
.advantages,
.services,
.price,
.video-section,
.maintenance-section,
.flow,
.member,
.faq,
.contact {
  position: relative !important;
  z-index: 2 !important;
  background-color: #fff;
}

/* PRICEを過去追記CSSで消してしまっていても復帰 */
#PRICE.price {
  display: flex !important;
  flex-flow: column !important;
  justify-content: flex-start !important;
  align-items: center !important;
  width: 100% !important;
  height: auto !important;
  overflow: visible !important;
  visibility: visible !important;
  opacity: 1 !important;
}
#PRICE .slider-4 {
  display: flex !important;
  width: 90% !important;
  max-width: 1280px !important;
  height: auto !important;
  overflow: hidden !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
#PRICE .mask-2 {
  width: 100% !important;
  height: auto !important;
  overflow: hidden !important;
}
#PRICE .w-slide {
  height: auto !important;
}

/* ========================
   ❶ TOP Key Visual
   ======================== */
.ay-kv-v3,
.ay-kv-v3 * {
  box-sizing: border-box;
}

.ay-kv-v3 {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  min-height: calc(100vh - 0px);
  overflow: hidden !important;
  background: #eef8ff;
  color: #003b67;
  font-family: "Noto Sans JP", sans-serif;
  padding-bottom: 0;
  isolation: isolate;
}

.ay-kv-ribbon {
  position: relative;
  z-index: 5;
  width: 100%;
  min-height: 54px;
  padding: 12px 16px 13px;
  background: linear-gradient(90deg, #0055a8 0%, #006abc 52%, #00478d 100%);
  color: #fff;
  text-align: center;
  font-size: clamp(17px, 2vw, 30px);
  font-weight: 800;
  letter-spacing: .12em;
  line-height: 1.2;
}

.ay-kv-bg {
  position: absolute;
  z-index: 0;
  inset: 54px 0 0 0;
  overflow: hidden;
  background: #eaf5fb;
}

.ay-kv-bg-slide {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
  opacity: 0;
  transform: scale(1.02);
  animation: ayKvFade 42s infinite;
}

.ay-kv-bg-slide:nth-child(1) { animation-delay: 0s; }
.ay-kv-bg-slide:nth-child(2) { animation-delay: 6s; }
.ay-kv-bg-slide:nth-child(3) { animation-delay: 12s; }
.ay-kv-bg-slide:nth-child(4) { animation-delay: 18s; }
.ay-kv-bg-slide:nth-child(5) { animation-delay: 24s; }
.ay-kv-bg-slide:nth-child(6) { animation-delay: 30s; }
.ay-kv-bg-slide:nth-child(7) { animation-delay: 36s; }

@keyframes ayKvFade {
  0% { opacity: 0; }
  4% { opacity: 1; }
  16% { opacity: 1; }
  20% { opacity: 0; }
  100% { opacity: 0; }
}

.ay-kv-wash {
  position: absolute;
  z-index: 1;
  inset: 54px 0 0 0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.86) 34%, rgba(255,255,255,.45) 64%, rgba(255,255,255,.12) 100%),
    linear-gradient(180deg, rgba(255,255,255,.78) 0%, rgba(255,255,255,.30) 48%, rgba(255,255,255,.74) 100%);
  pointer-events: none;
}

.ay-kv-content {
  position: relative;
  z-index: 3;
  width: min(1180px, 92vw);
  margin: 0 auto;
  padding: clamp(36px, 5vw, 72px) 0 0;
}

.ay-kv-lead {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(18px, 4vw, 56px);
  margin: 0 0 clamp(16px, 2vw, 26px);
  color: #003d6a;
  font-size: clamp(20px, 2.4vw, 34px);
  font-weight: 700;
  letter-spacing: .2em;
  line-height: 1.35;
  text-align: center;
}
.ay-kv-lead span {
  display: block;
  width: clamp(42px, 7vw, 100px);
  height: 1px;
  background: #003d6a;
  transform: rotate(32deg);
}
.ay-kv-lead span:last-child { transform: rotate(-32deg); }

.ay-kv-title-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(170px, 18vw, 300px);
  align-items: start;
  gap: clamp(28px, 4vw, 70px);
}

.ay-kv-title {
  display: block;
  width: 100%;
  max-width: 900px;
  height: auto;
  margin: 0;
}

.ay-kv-retention {
  display: block;
  width: 100%;
  max-width: 300px;
  height: auto;
  margin: -20px auto 0;
}

.ay-kv-badges {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(24px, 4vw, 70px);
  width: min(560px, 55vw);
  margin: clamp(18px, 3vw, 36px) 0 0 clamp(130px, 11vw, 190px);
}
.ay-kv-badges img {
  display: block;
  width: clamp(130px, 14vw, 210px);
  height: auto;
}

.ay-kv-order {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(18px, 3vw, 42px);
  width: min(720px, 70vw);
  margin: clamp(22px, 3vw, 42px) 0 0 clamp(60px, 8vw, 130px);
  color: #003d6a;
  text-align: center;
  font-size: clamp(20px, 2vw, 32px);
  font-weight: 800;
  letter-spacing: .14em;
  line-height: 1.65;
}
.ay-kv-order span {
  display: block;
  width: clamp(55px, 8vw, 120px);
  height: 1px;
  background: #003d6a;
}

.ay-kv-cta {
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(18px, 3vw, 60px);
  width: min(1060px, 86vw);
  margin: clamp(22px, 3vw, 38px) auto 0;
  padding: 12px clamp(18px, 3vw, 34px) 18px;
  background: rgba(31, 54, 72, .45);
  backdrop-filter: blur(1px);
}
.ay-kv-cta-item { text-align: center; }
.ay-kv-cta-item p {
  margin: 0 0 8px;
  color: #fff;
  font-size: clamp(15px, 1.35vw, 22px);
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.3;
}
.ay-kv-btn {
  position: relative;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: clamp(52px, 5vw, 72px);
  padding: 12px clamp(24px, 3vw, 40px);
  border-radius: 999px;
  background: #fff;
  text-decoration: none !important;
  box-shadow: 0 4px 10px rgba(0,0,0,.22);
  font-size: clamp(17px, 1.7vw, 26px);
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1.1;
  white-space: nowrap;
}
.ay-kv-btn-line { color: #00964b !important; border: 4px solid #00a95b; }
.ay-kv-btn-mail { color: #005db7 !important; border: 4px solid #0069c8; }
.ay-kv-btn-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-width: 34px;
  height: 34px;
  font-size: 12px;
  border-radius: 8px;
  background: #0bbf55;
  color: #fff;
  font-weight: 800;
  letter-spacing: 0;
}
.ay-kv-btn-mail .ay-kv-btn-icon,
.ay-kv-btn-mail .ay-kv-btn-icon { background: #e8f1f8; color: #0069c8; }
.ay-kv-btn i {
  position: absolute;
  right: 18px;
  top: 50%;
  width: 32px;
  height: 32px;
  transform: translateY(-50%);
  border-radius: 50%;
  background: currentColor;
}
.ay-kv-btn i::after {
  content: "";
  position: absolute;
  left: 10px;
  top: 8px;
  width: 10px;
  height: 10px;
  border-top: 4px solid #fff;
  border-right: 4px solid #fff;
  transform: rotate(45deg);
}

.ay-kv-trust {
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: 1fr 1.24fr;
  gap: 14px;
  width: calc(100% - 28px);
  max-width: 1420px;
  margin: 14px auto 0;
  padding-bottom: 22px;
}
.ay-kv-feature-box,
.ay-kv-logo-box {
  min-height: 108px;
  background: rgba(255,255,255,.93);
  border: 1px solid rgba(0,61,106,.17);
  padding: 15px 18px 12px;
  text-align: center;
}
.ay-kv-trust-title {
  margin: 0 0 10px;
  color: #004b8c;
  font-size: clamp(13px, 1.1vw, 17px);
  font-weight: 800;
  letter-spacing: .1em;
  line-height: 1.25;
}
.ay-kv-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  color: #003d6a;
  font-size: clamp(11px, .9vw, 14px);
  line-height: 1.45;
}
.ay-kv-feature-grid > div + div { border-left: 1px solid rgba(0,61,106,.22); }
.ay-kv-feature-grid strong { display: block; font-weight: 800; }
.ay-kv-feature-box small,
.ay-kv-logo-box small {
  display: block;
  margin-top: 7px;
  color: #506070;
  font-size: 11px;
  text-align: left;
}
.ay-kv-logo-grid {
  display: grid;
  grid-template-columns: .9fr 1fr 1.15fr;
  gap: clamp(16px, 2.5vw, 36px);
  align-items: center;
}
.ay-kv-logo-grid img {
  display: block;
  max-height: 48px;
  width: 100%;
  object-fit: contain;
}

/* ========================
   ❷ Unit drain key visual
   ======================== */
.ay-unit-kv-v3,
.ay-unit-kv-v3 * { box-sizing: border-box; }
.ay-unit-kv-v3 {
  position: relative !important;
  z-index: 2 !important;
  width: 100%;
  min-height: 680px;
  overflow: hidden;
  background: #f6fbff;
  color: #003d6a;
  padding: clamp(50px, 5vw, 84px) 0 clamp(32px, 4vw, 58px);
  isolation: isolate;
}
.ay-unit-kv-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image:
    linear-gradient(90deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.78) 42%, rgba(255,255,255,.22) 100%),
    url('../images/v2/unit_clean_back.png'),
    url('../images/v2/②.jpg'),
    url('../images/unit_clean.webp');
  background-size: cover, cover, cover, cover;
  background-position: center center, center center, center center, center center;
  background-repeat: no-repeat;
}
.ay-unit-kv-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(255,255,255,.22) 0%, rgba(255,255,255,.04) 58%, rgba(255,255,255,.35) 100%);
  pointer-events: none;
}
.ay-unit-kv-body {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(420px, 1.15fr);
  gap: clamp(30px, 4vw, 68px);
  align-items: end;
  width: min(1320px, 92vw);
  margin: 0 auto;
}
.ay-unit-title-img {
  display: block;
  width: min(700px, 100%);
  height: auto;
  margin: 0 0 clamp(28px, 4vw, 55px);
}
.ay-unit-subcopy {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  margin: 0 0 28px;
  color: #003d6a;
  text-align: center;
  font-size: clamp(16px, 1.5vw, 23px);
  font-weight: 800;
  line-height: 1.55;
  letter-spacing: .08em;
}
.ay-unit-subcopy span { display:block; width:72px; height:1px; background:#003d6a; }
.ay-unit-icons {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  width: min(520px, 100%);
}
.ay-unit-icons div {
  text-align: center;
  color: #003d6a;
  font-size: clamp(13px, 1vw, 16px);
  font-weight: 800;
  line-height: 1.5;
}
.ay-unit-icons b {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 78px;
  height: 78px;
  margin: 0 auto 10px;
  border: 2px solid #003d6a;
  border-radius: 50%;
  font-size: 36px;
  font-family: serif;
}
.ay-unit-kv-right {
  background: rgba(0, 42, 78, .82);
  padding: 18px 18px 20px;
  color: #fff;
  box-shadow: 0 14px 35px rgba(0,0,0,.18);
}
.ay-unit-panel-head {
  margin: 0 0 14px;
  text-align: center;
  color: #fff;
  font-size: clamp(15px, 1.25vw, 20px);
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1.45;
}
.ay-unit-shot-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.ay-unit-shot {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background-color: rgba(255,255,255,.2);
  background-size: cover;
  background-position: center;
  border: 2px solid rgba(255,255,255,.85);
}
.ay-unit-shot-1 { background-image: url('../images/v2/unit-thumb-01.png'), url('../images/v2/67163368-BBF6-4.png'); }
.ay-unit-shot-2 { background-image: url('../images/v2/unit-thumb-02.png'), url('../images/v2/D69B04BE-F8E0-4.png'); }
.ay-unit-shot-3 { background-image: url('../images/v2/unit-thumb-03.png'), url('../images/v2/DDB41F71-1F69-442D-8.png'); }
.ay-unit-shot-4 { background-image: url('../images/v2/unit-thumb-04.png'); }
.ay-unit-shot span {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  min-height: 34px;
  padding: 5px 6px;
  background: rgba(0, 31, 58, .82);
  color: #fff;
  font-size: clamp(10px, .8vw, 13px);
  font-weight: 700;
  line-height: 1.35;
}
.ay-unit-cta {
  margin-top: clamp(28px, 4vw, 50px) !important;
}

/* recaptchaがTOPと重なるのを軽減 */
.grecaptcha-badge { z-index: 50 !important; }

@media screen and (max-width: 991px) {
  .ay-kv-v3 { min-height: auto; }
  .ay-kv-ribbon { min-height: 40px; font-size: 14px; letter-spacing: .07em; padding: 10px 8px; }
  .ay-kv-bg, .ay-kv-wash { inset-top: 40px; }
  .ay-kv-content { width: 92vw; padding-top: 28px; }
  .ay-kv-title-row { grid-template-columns: 1fr; gap: 12px; }
  .ay-kv-title { max-width: 780px; margin: 0 auto; }
  .ay-kv-retention { width: min(190px, 42vw); margin: 8px auto 0; }
  .ay-kv-badges { width: 100%; margin: 20px auto 0; gap: 22px; }
  .ay-kv-badges img { width: min(155px, 34vw); }
  .ay-kv-order { width: 100%; margin: 22px auto 0; font-size: 18px; }
  .ay-kv-order span { width: 42px; }
  .ay-kv-cta { grid-template-columns: 1fr; width: 92vw; gap: 14px; padding: 14px; }
  .ay-kv-btn { min-height: 56px; font-size: 18px; padding: 12px 52px 12px 18px; }
  .ay-kv-trust { grid-template-columns: 1fr; width: 92vw; }
  .ay-kv-feature-box { order: 1; }
  .ay-kv-logo-box { order: 2; }
  .ay-kv-feature-grid { grid-template-columns: 1fr; gap: 10px; }
  .ay-kv-feature-grid > div + div { border-left: 0; border-top: 1px solid rgba(0,61,106,.18); padding-top: 10px; }
  .ay-kv-logo-grid { grid-template-columns: 1fr; gap: 12px; }
  .ay-kv-logo-grid img { max-height: 44px; }

  .ay-unit-kv-v3 { min-height: auto; padding: 45px 0 34px; }
  .ay-unit-kv-body { grid-template-columns: 1fr; width: 92vw; gap: 28px; }
  .ay-unit-title-img { margin: 0 auto 28px; }
  .ay-unit-subcopy { font-size: 16px; gap: 12px; }
  .ay-unit-subcopy span { width: 36px; }
  .ay-unit-icons { margin: 0 auto; gap: 10px; }
  .ay-unit-icons b { width: 62px; height: 62px; font-size: 28px; }
  .ay-unit-kv-right { padding: 14px; }
  .ay-unit-shot-grid { grid-template-columns: repeat(2, 1fr); }

  #PRICE .slider-4 { width: 95% !important; }
}

@media screen and (max-width: 479px) {
  .ay-kv-lead { font-size: 16px; letter-spacing: .08em; gap: 10px; }
  .ay-kv-lead span { width: 24px; }
  .ay-kv-badges img { width: min(135px, 40vw); }
  .ay-kv-order { font-size: 15px; letter-spacing: .05em; line-height: 1.6; }
  .ay-kv-order span { display: none; }
  .ay-kv-btn { font-size: 15px; letter-spacing: .03em; }
  .ay-kv-btn-icon { min-width: 30px; height: 30px; font-size: 10px; }
  .ay-kv-btn i { width: 28px; height: 28px; right: 12px; }
  .ay-unit-icons { grid-template-columns: 1fr; }
  .ay-unit-shot-grid { grid-template-columns: 1fr; }
}
/* =========================================================
   FINAL PATCH: TOP / SERVICES / LIGHTBOX
   追記先：a-you-da0ed4.webflow.css の最下部
   ========================================================= */

/* TOPの背景スライダー用ボタンは不要なので非表示 */

/* TOP背景画像は既存Webflowの slide-19〜25 を殺さない */
.ay-kv-bg-slide.slide-19,
.ay-kv-bg-slide.slide-20,
.ay-kv-bg-slide.slide-21,
.ay-kv-bg-slide.slide-22,
.ay-kv-bg-slide.slide-23,
.ay-kv-bg-slide.slide-24,
.ay-kv-bg-slide.slide-25 {
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: right center !important;
}

/* 右側の被写体を見せ、左側だけ読みやすく白もや */
.ay-kv-wash {
  background:
    linear-gradient(90deg,
      rgba(255,255,255,.96) 0%,
      rgba(255,255,255,.94) 24%,
      rgba(255,255,255,.84) 40%,
      rgba(255,255,255,.52) 56%,
      rgba(255,255,255,.18) 75%,
      rgba(255,255,255,0) 100%),
    linear-gradient(180deg,
      rgba(255,255,255,.62) 0%,
      rgba(255,255,255,.12) 48%,
      rgba(255,255,255,.48) 100%) !important;
}

/* TOPの3バッジを同一サイズ・横並びで安定 */
.ay-kv-badge-cluster {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: center !important;
  gap: clamp(12px, 2vw, 34px) !important;
  width: min(760px, 58vw) !important;
  margin: clamp(18px, 2.4vw, 30px) 0 0 clamp(105px, 8vw, 150px) !important;
}
.ay-kv-badge-cluster img,
.ay-kv-badge {
  
  height: auto !important;
  margin: 0 !important;
  transform: none !important;
}

@media screen and (max-width: 991px) {
  .ay-kv-badge-cluster {
    width: min(620px, 100%) !important;
    margin: 18px auto 0 !important;
    gap: 12px !important;
  }
}

@media screen and (max-width: 479px) {
  .ay-kv-content {
    width: 94vw !important;
  }
  .ay-kv-badge-cluster {
    width: 100% !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 14px auto 0 !important;
  }
  .ay-kv-order {
    margin-top: 12px !important;
    font-size: clamp(13px, 4.7vw, 18px) !important;
    line-height: 1.45 !important;
    letter-spacing: .03em !important;
  }
}

/* 壊れたコメントアウトPLANが残っても出さない安全策 */
#PRICE.price.is-disabled,
.price.is-disabled {
  display: none !important;
}

/* SERVICES：カード形状を統一 */
.service-list {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: clamp(18px, 2.4vw, 34px) clamp(14px, 2vw, 28px) !important;
  align-items: start !important;
  width: min(1100px, 94vw) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.ay-service-card {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  cursor: pointer !important;
  border: 0 !important;
  background: transparent !important;
  transition: transform .2s ease, filter .2s ease !important;
}

.ay-service-card:hover {
  transform: translateY(-3px);
  filter: brightness(1.02);
}

.ay-service-thumb {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  min-height: 0 !important;
  border-radius: 0 !important;
  background-color: #f2f8fb !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
  overflow: hidden !important;
  box-shadow: 0 10px 24px rgba(0, 109, 150, .08) !important;
}

.ay-service-card .text-block-144 {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 82% !important;
  min-height: 46px !important;
  margin: -24px auto 0 !important;
  padding: 8px 10px !important;
  border-radius: 10px !important;
  background: #c7fbfb !important;
  color: #006aa8 !important;
  font-size: clamp(13px, 1.25vw, 18px) !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  letter-spacing: .04em !important;
  text-align: center !important;
  box-shadow: 0 8px 18px rgba(0, 109, 150, .08) !important;
}

@media screen and (max-width: 991px) {
  .service-list {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media screen and (max-width: 767px) {
  .service-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px 14px !important;
    width: 92vw !important;
  }
  .ay-service-card .text-block-144 {
    width: 86% !important;
    min-height: 42px !important;
    margin-top: -22px !important;
    font-size: 14px !important;
  }
}

/* SERVICES画像ポップアップ */
.ay-service-lightbox {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px !important;
  background: rgba(0, 25, 48, .78) !important;
  backdrop-filter: blur(3px) !important;
}

.ay-service-lightbox[aria-hidden="false"] {
  display: flex !important;
}

body.ay-service-lightbox-open {
  overflow: hidden !important;
}

.ay-service-lightbox-inner {
  position: relative !important;
  width: min(980px, 94vw) !important;
  max-height: 90vh !important;
  padding: 18px !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 28px 70px rgba(0,0,0,.35) !important;
}

.ay-service-lightbox-img {
  display: block !important;
  width: 100% !important;
  max-height: 76vh !important;
  object-fit: contain !important;
  background: #f6fbff !important;
}

.ay-service-lightbox-caption {
  margin: 12px 0 0 !important;
  color: #00436f !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  text-align: center !important;
}

.ay-service-lightbox-close {
  position: absolute !important;
  top: max(16px, env(safe-area-inset-top)) !important;
  right: max(16px, env(safe-area-inset-right)) !important;
  z-index: 1000000 !important;
  width: 46px !important;
  height: 46px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: #003d6a !important;
  font-size: 34px !important;
  line-height: 42px !important;
  font-weight: 400 !important;
  cursor: pointer !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.25) !important;
}

@media screen and (max-width: 767px) {
  .ay-service-lightbox {
    padding: 14px !important;
  }
  .ay-service-lightbox-inner {
    width: 96vw !important;
    padding: 10px !important;
  }
  .ay-service-lightbox-caption {
    font-size: 15px !important;
  }
}
/* =========================================================
   EMERGENCY FINAL PATCH
   - TOP背景・3バッジ・SERVICESポップアップ・PRICE非表示を最後に強制補正
   追記場所：a-you-da0ed4.webflow.css の一番下
   ========================================================= */

/* 1) 壊れて表示されたPLAN/PRICEは完全停止 */
#PRICE,
section#PRICE,
.price#PRICE,
section.price#PRICE {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* 2) TOPのWebflowスライダー矢印は不要なので完全非表示 */
#TOP .w-slider-arrow-left,
#TOP .w-slider-arrow-right,
#TOP .left-arrow,
#TOP .right-arrow,
#TOP .left-arrow-2,
#TOP .right-arrow-2,
#TOP .left-arrow-3,
#TOP .right-arrow-3,
#TOP .icon-2,
#TOP .icon-3,
#TOP .icon-4,
#TOP .icon-5 {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* 3) TOP背景スライダーを明示的に復旧 */
#TOP.ay-kv-v3 {
  position: relative !important;
  overflow: hidden !important;
  background: #eef8ff !important;
}
#TOP .ay-kv-bg {
  position: absolute !important;
  z-index: 0 !important;
  inset: 54px 0 0 0 !important;
  overflow: hidden !important;
}
#TOP .ay-kv-bg-slide {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  opacity: 0;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: right center !important;
  animation: ayKvFadeEmergency 42s infinite !important;
  transform: none !important;
}
#TOP .ay-kv-bg-slide.slide-19 { background-image: url('../images/cm_aircon_clean.webp') !important; animation-delay: 0s !important; }
#TOP .ay-kv-bg-slide.slide-20 { background-image: url('../images/vacuum_clean2.webp') !important; animation-delay: 6s !important; }
#TOP .ay-kv-bg-slide.slide-21 { background-image: url('../images/unit_clean.webp') !important; animation-delay: 12s !important; }
#TOP .ay-kv-bg-slide.slide-22 { background-image: url('../images/unit_cable_clean.webp') !important; animation-delay: 18s !important; }
#TOP .ay-kv-bg-slide.slide-23 { background-image: url('../images/door_glass_clean.webp') !important; animation-delay: 24s !important; }
#TOP .ay-kv-bg-slide.slide-24 { background-image: url('../images/sign_cleaning.webp') !important; animation-delay: 30s !important; }
#TOP .ay-kv-bg-slide.slide-25 { background-image: url('../images/pro_cleaning.webp') !important; animation-delay: 36s !important; }
@keyframes ayKvFadeEmergency {
  0% { opacity: 0; }
  4% { opacity: 1; }
  16% { opacity: 1; }
  20% { opacity: 0; }
  100% { opacity: 0; }
}

/* 左だけモヤ、右側は写真を残す */
#TOP .ay-kv-wash {
  position: absolute !important;
  z-index: 1 !important;
  inset: 54px 0 0 0 !important;
  pointer-events: none !important;
  background:
    linear-gradient(90deg,
      rgba(255,255,255,.96) 0%,
      rgba(255,255,255,.93) 25%,
      rgba(255,255,255,.82) 42%,
      rgba(255,255,255,.48) 58%,
      rgba(255,255,255,.14) 77%,
      rgba(255,255,255,0) 100%),
    linear-gradient(180deg,
      rgba(255,255,255,.54) 0%,
      rgba(255,255,255,.08) 50%,
      rgba(255,255,255,.38) 100%) !important;
}

/* 4) TOP 3バッジを同じ枠で横並びに固定 */
#TOP .ay-kv-badge-cluster {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: center !important;
  justify-items: center !important;
  gap: clamp(12px, 2vw, 32px) !important;
  width: min(760px, 58vw) !important;
  margin: clamp(18px, 2.5vw, 32px) 0 0 clamp(105px, 8vw, 150px) !important;
  max-width: 100% !important;
}
#TOP .ay-kv-badge-cluster img,
#TOP .ay-kv-badge,
#TOP .ay-kv-badge-discount,
#TOP .ay-kv-badge-free,
#TOP .ay-kv-retention {
  
  height: clamp(118px, 13vw, 205px) !important;
  object-fit: contain !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  position: static !important;
}

@media screen and (max-width: 991px) {
  #TOP .ay-kv-bg,
  #TOP .ay-kv-wash { inset-top: 40px !important; }
  #TOP .ay-kv-badge-cluster {
    width: min(640px, 92vw) !important;
    margin: 18px auto 0 !important;
    gap: 10px !important;
  }
  #TOP .ay-kv-badge-cluster img,
  #TOP .ay-kv-badge,
  #TOP .ay-kv-retention {
    height: clamp(100px, 24vw, 155px) !important;
  }
}

@media screen and (max-width: 479px) {
  #TOP .ay-kv-content { width: 94vw !important; }
  #TOP .ay-kv-badge-cluster {
    width: 100% !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
    margin: 14px auto 0 !important;
  }
  #TOP .ay-kv-badge-cluster img,
  #TOP .ay-kv-badge,
  #TOP .ay-kv-retention {
    height: clamp(86px, 28vw, 128px) !important;
  }
  #TOP .ay-kv-order {
    margin-top: 12px !important;
    font-size: clamp(13px, 4.5vw, 17px) !important;
    line-height: 1.45 !important;
    letter-spacing: .03em !important;
  }
  #TOP .ay-kv-order span { display: none !important; }
}

/* 5) SERVICESカードを完全に統一 */
#SERVICES .service-list.ay-service-list-clean,
#SERVICES .service-list {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: clamp(22px, 2.5vw, 36px) clamp(16px, 2vw, 28px) !important;
  align-items: start !important;
  width: min(1120px, 94vw) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
#SERVICES .ay-service-card {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  cursor: pointer !important;
  text-align: center !important;
}
#SERVICES .ay-service-thumb {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  min-height: 0 !important;
  height: auto !important;
  background-color: #f3fbff !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
  overflow: hidden !important;
  box-shadow: 0 10px 24px rgba(0,109,150,.08) !important;
}
#SERVICES .ay-service-thumb img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
#SERVICES .ay-service-card .text-block-144 {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 82% !important;
  min-height: 46px !important;
  margin: -24px auto 0 !important;
  padding: 8px 10px !important;
  border-radius: 10px !important;
  background: #c7fbfb !important;
  color: #006aa8 !important;
  font-size: clamp(13px, 1.25vw, 18px) !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  letter-spacing: .04em !important;
  text-align: center !important;
}
@media screen and (max-width: 991px) {
  #SERVICES .service-list.ay-service-list-clean,
  #SERVICES .service-list { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media screen and (max-width: 767px) {
  #SERVICES .service-list.ay-service-list-clean,
  #SERVICES .service-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 30px 14px !important;
    width: 92vw !important;
  }
  #SERVICES .ay-service-card .text-block-144 {
    width: 86% !important;
    min-height: 42px !important;
    margin-top: -22px !important;
    font-size: 14px !important;
  }
}

/* 6) Webflow純正ライトボックスが暴発した場合は使わない */
.w-lightbox-backdrop,
.w-lightbox-container,
.w-lightbox-content,
.w-lightbox-view,
.w-lightbox-strip {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* 古い自作ライトボックスが残っていても表示しない */
.ay-service-lightbox {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* 7) 新しい専用モーダル */
.ay-service-modal[hidden] { display: none !important; }
.ay-service-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px !important;
  background: rgba(0,25,48,.82) !important;
  backdrop-filter: blur(3px) !important;
}
html.ay-service-modal-open,
body.ay-service-modal-open {
  overflow: hidden !important;
}
.ay-service-modal-inner {
  width: min(980px, 94vw) !important;
  max-height: 90vh !important;
  padding: 16px !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 28px 70px rgba(0,0,0,.35) !important;
}
.ay-service-modal-img {
  display: block !important;
  width: 100% !important;
  max-height: 76vh !important;
  object-fit: contain !important;
  background: #f6fbff !important;
}
.ay-service-modal-caption {
  margin: 12px 0 0 !important;
  color: #00436f !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  text-align: center !important;
}
.ay-service-modal-close {
  position: fixed !important;
  top: max(16px, env(safe-area-inset-top)) !important;
  right: max(16px, env(safe-area-inset-right)) !important;
  z-index: 1000000 !important;
  width: 46px !important;
  height: 46px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: #003d6a !important;
  font-size: 34px !important;
  line-height: 42px !important;
  cursor: pointer !important;
}
@media screen and (max-width: 767px) {
  .ay-service-modal { padding: 14px !important; }
  .ay-service-modal-inner { width: 96vw !important; padding: 10px !important; }
  .ay-service-modal-caption { font-size: 15px !important; }
}



/* =========================================================
   STABLE FINAL PATCH 2026-05-30
   - Webflow lightbox暴発停止
   - SERVICES余白/サイズ再設計
   - TOP PCを初期レイアウト寄せ、SPは3バッジ横並び
   - PLAN/PRICE完全停止
========================================================= */

/* 旧Webflowライトボックス・旧モーダルを完全停止 */
.w-lightbox-backdrop,
.w-lightbox-container,
.w-lightbox-content,
.w-lightbox-view,
.w-lightbox-strip,
.ay-service-lightbox,
.ay-service-modal {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* PRICE/PLANはコメント崩れが残っても強制非表示 */
#PRICE,
#PRICE.price,
section.price,
.price.is-disabled {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* TOPの左右スライドボタンは不要 */
#TOP .w-slider-arrow-left,
#TOP .w-slider-arrow-right,
#TOP .left-arrow,
#TOP .right-arrow,
#TOP .left-arrow-2,
#TOP .right-arrow-2,
#TOP .left-arrow-3,
#TOP .right-arrow-3,
.ay-kv-v3 .w-slider-arrow-left,
.ay-kv-v3 .w-slider-arrow-right,
.ay-kv-v3 .left-arrow,
.ay-kv-v3 .right-arrow,
.ay-kv-v3 .left-arrow-2,
.ay-kv-v3 .right-arrow-2,
.ay-kv-v3 .left-arrow-3,
.ay-kv-v3 .right-arrow-3 {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* 背景スライダー復旧：既存 slide-19〜25 の背景画像を活かす */
.ay-kv-bg-slide.slide-19,
.ay-kv-bg-slide.slide-20,
.ay-kv-bg-slide.slide-21,
.ay-kv-bg-slide.slide-22,
.ay-kv-bg-slide.slide-23,
.ay-kv-bg-slide.slide-24,
.ay-kv-bg-slide.slide-25 {
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
}

/* PC：初期案に近く、右側は写真を残し、左側だけ白もや */
.ay-kv-v3 {
  min-height: auto !important;
  overflow: hidden !important;
}
.ay-kv-wash {
  background:
    linear-gradient(90deg,
      rgba(255,255,255,.96) 0%,
      rgba(255,255,255,.93) 24%,
      rgba(255,255,255,.83) 42%,
      rgba(255,255,255,.48) 58%,
      rgba(255,255,255,.16) 76%,
      rgba(255,255,255,0) 100%),
    linear-gradient(180deg,
      rgba(255,255,255,.54) 0%,
      rgba(255,255,255,.10) 48%,
      rgba(255,255,255,.42) 100%) !important;
}

.ay-kv-content {
  width: min(1180px, 92vw) !important;
  padding: clamp(34px, 4.4vw, 66px) 0 0 !important;
}

.ay-kv-title-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) clamp(180px, 18vw, 300px) !important;
  align-items: start !important;
  gap: clamp(28px, 4vw, 70px) !important;
}

.ay-kv-title {
  display: block !important;
  width: 100% !important;
  max-width: 900px !important;
  height: auto !important;
  margin: 0 !important;
}

.ay-kv-retention-desktop {
  display: block !important;
  width: 100% !important;
  max-width: 300px !important;
  height: auto !important;
  margin: -18px auto 0 !important;
  transform: none !important;
}


.ay-kv-badge-cluster {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: center !important;
  gap: clamp(24px, 4vw, 70px) !important;
  width: min(560px, 55vw) !important;
  margin: clamp(18px, 3vw, 36px) 0 0 clamp(130px, 11vw, 190px) !important;
}


.ay-kv-order {
  width: min(720px, 70vw) !important;
  margin: clamp(22px, 3vw, 42px) 0 0 clamp(60px, 8vw, 130px) !important;
}

/* CTAは小さい幅でもはみ出さない */
.ay-kv-cta,
.ay-kv-cta-item {
  min-width: 0 !important;
}
.ay-kv-btn {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}
.ay-kv-btn > span:last-child {
  min-width: 0 !important;
  flex: 1 1 auto !important;
  white-space: nowrap !important;
}

/* SERVICES：余白を詰め、カードサイズを正常化 */
.ay-services-safe,
#SERVICES.services {
  padding-top: clamp(42px, 5vw, 78px) !important;
  padding-bottom: clamp(40px, 5vw, 70px) !important;
  margin-top: 0 !important;
  overflow: visible !important;
}

#SERVICES .container-9 {
  max-width: 1180px !important;
  width: min(1180px, 94vw) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

#SERVICES .services-title {
  margin-bottom: clamp(24px, 4vw, 44px) !important;
}

#SERVICES .div-block-24,
#SERVICES .ay-services-inner {
  margin-top: 0 !important;
  padding-top: 0 !important;
  min-height: 0 !important;
}

#SERVICES .div-block-43,
#SERVICES .div-block-46 {
  margin-bottom: 18px !important;
}

#SERVICES .text-block-32 {
  margin: 0 0 clamp(18px, 3vw, 32px) !important;
}

.service-list.ay-service-list-clean,
#SERVICES .service-list.ay-service-list-clean {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(22px, 2.7vw, 34px) clamp(18px, 2.4vw, 30px) !important;
  width: min(1040px, 94vw) !important;
  margin: 0 auto !important;
  align-items: start !important;
  justify-content: center !important;
}

.ay-service-card {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  appearance: none !important;
  cursor: pointer !important;
  transition: transform .18s ease, filter .18s ease !important;
}

.ay-service-card:hover {
  transform: translateY(-2px) !important;
  filter: brightness(1.02) !important;
}

.ay-service-thumb {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  background-color: #f2f8fb !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  box-shadow: 0 8px 18px rgba(0, 109, 150, .08) !important;
}

.ay-service-thumb img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.ay-service-card .text-block-144 {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 82% !important;
  min-height: 48px !important;
  margin: -20px auto 0 !important;
  padding: 8px 10px !important;
  border-radius: 10px !important;
  background: #c9ffff !important;
  color: #0072ad !important;
  font-size: clamp(13px, 1.25vw, 18px) !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  text-align: center !important;
  letter-spacing: .04em !important;
}

/* Native dialog：閉じている時は絶対に表示しない */
.ay-service-dialog:not([open]) {
  display: none !important;
}

.ay-service-dialog {
  position: fixed !important;
  inset: 0 !important;
  z-index: 1000000 !important;
  width: 100vw !important;
  max-width: none !important;
  height: 100vh !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 24px !important;
  border: 0 !important;
  background: rgba(0, 20, 38, .84) !important;
  overflow: hidden !important;
}

.ay-service-dialog::backdrop {
  background: rgba(0, 20, 38, .84) !important;
}

html.ay-service-dialog-open,
body.ay-service-dialog-open {
  overflow: hidden !important;
}

.ay-service-dialog-inner {
  position: relative !important;
  width: min(980px, 94vw) !important;
  max-height: calc(100vh - 48px) !important;
  margin: auto !important;
  padding: 14px !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 28px 70px rgba(0,0,0,.35) !important;
}

.ay-service-dialog-img {
  display: block !important;
  width: 100% !important;
  max-height: calc(100vh - 130px) !important;
  object-fit: contain !important;
  background: #f6fbff !important;
}

.ay-service-dialog-caption {
  margin: 10px 0 0 !important;
  color: #00436f !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  text-align: center !important;
}

.ay-service-dialog-close {
  position: fixed !important;
  top: max(14px, env(safe-area-inset-top)) !important;
  right: max(14px, env(safe-area-inset-right)) !important;
  z-index: 1000001 !important;
  width: 44px !important;
  height: 44px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: #003d6a !important;
  font-size: 32px !important;
  line-height: 40px !important;
  cursor: pointer !important;
}

/* タブレット */
@media screen and (max-width: 991px) {
  .ay-kv-content {
    width: 92vw !important;
    padding-top: 28px !important;
  }

  .ay-kv-title-row {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .ay-kv-title {
    max-width: 780px !important;
    margin: 0 auto !important;
  }

  .ay-kv-retention-desktop {
    display: none !important;
  }

  .ay-kv-badge-cluster {
    width: min(620px, 100%) !important;
    margin: 18px auto 0 !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .ay-kv-badge-cluster img,
  .ay-kv-badge {
    width: 100% !important;
    max-width: none !important;
  }

  .ay-kv-order {
    width: 100% !important;
    margin: 16px auto 0 !important;
  }

  .service-list.ay-service-list-clean,
  #SERVICES .service-list.ay-service-list-clean {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: min(760px, 94vw) !important;
    gap: 22px 18px !important;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .ay-kv-ribbon {
    min-height: 36px !important;
    padding: 8px 8px 9px !important;
    font-size: 12px !important;
    letter-spacing: .04em !important;
  }

  .ay-kv-bg,
  .ay-kv-wash {
    inset: 36px 0 0 0 !important;
  }

  .ay-kv-content {
    width: 94vw !important;
    padding-top: 20px !important;
  }

  .ay-kv-lead {
    
    gap: 10px !important;
    font-size: 14px !important;
    letter-spacing: .08em !important;
    line-height: 1.35 !important;
  }

  .ay-kv-lead span {
    width: 22px !important;
  }

  .ay-kv-title {
    width: 100% !important;
    max-width: 100% !important;
  }

  .ay-kv-badge-cluster {
    width: 100% !important;
    margin: 14px auto 0 !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .ay-kv-order {
    margin-top: 12px !important;
    font-size: clamp(13px, 4.7vw, 18px) !important;
    line-height: 1.45 !important;
    letter-spacing: .03em !important;
  }

  .ay-kv-order span {
    display: none !important;
  }

  .ay-kv-cta {
    width: calc(100vw - 24px) !important;
    gap: 12px !important;
    padding: 12px !important;
  }

  .ay-kv-btn {
    min-height: 50px !important;
    padding: 10px 40px 10px 10px !important;
    gap: 8px !important;
    border-width: 4px !important;
    font-size: clamp(12px, 4.15vw, 14px) !important;
  }

  .ay-kv-btn-icon {
    min-width: 32px !important;
    width: 32px !important;
    height: 32px !important;
    font-size: 11px !important;
  }

  #SERVICES.services {
    padding-bottom: 44px !important;
  }

  #SERVICES .services-title {
    margin-bottom: 22px !important;
  }

  #SERVICES .text-block-34 {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }

  #SERVICES .text-block-32 {
    margin-bottom: 18px !important;
    font-size: 12px !important;
  }

  .service-list.ay-service-list-clean,
  #SERVICES .service-list.ay-service-list-clean {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: min(520px, 92vw) !important;
    gap: 16px 12px !important;
  }

  .ay-service-card .text-block-144 {
    width: 86% !important;
    min-height: 38px !important;
    margin-top: -16px !important;
    padding: 6px 8px !important;
    border-radius: 8px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
  }

  .ay-service-dialog {
    padding: 12px !important;
  }

  .ay-service-dialog-inner {
    width: 96vw !important;
    max-height: calc(100vh - 24px) !important;
    padding: 8px !important;
  }

  .ay-service-dialog-img {
    max-height: calc(100vh - 92px) !important;
  }

  .ay-service-dialog-caption {
    font-size: 14px !important;
  }

  .ay-service-dialog-close {
    width: 40px !important;
    height: 40px !important;
    font-size: 28px !important;
  }
}

@media screen and (max-width: 390px) {
  .ay-kv-badge-cluster {
    gap: 6px !important;
  }

  .ay-kv-order {
    font-size: 13px !important;
  }

  .ay-kv-btn {
    font-size: 12px !important;
  }
}



/* =========================================================
   FINAL HOTFIX 2026-05-30
   1) UNIT-CLEAN 4枚の画像ファイル名を現サーバー名に固定
   2) PC⇄SPリサイズ時のWebflow/旧モーダル暴発を強制停止
   3) dialogは open 属性がある時だけ表示
========================================================= */

/* ユニット排水管清掃 4枚 */
.ay-unit-shot-1 {
  background-image: url('../images/v2/unit-thumb-01.JPG') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

.ay-unit-shot-2 {
  background-image: url('../images/v2/unit-thumb-02.webp') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

.ay-unit-shot-3 {
  background-image: url('../images/v2/unit-thumb-03.JPG') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

.ay-unit-shot-4 {
  background-image: url('../images/v2/unit-thumb-04.JPG') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* Webflow標準ライトボックスと旧独自モーダルの暴発を完全停止 */
.w-lightbox-backdrop,
.w-lightbox-container,
.w-lightbox-content,
.w-lightbox-view,
.w-lightbox-strip,
.w-lightbox-control,
.w-lightbox-spinner,
.ay-service-lightbox,
.ay-service-modal {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* 新dialogは open の時だけ表示。リサイズ時の勝手表示を防ぐ */
.ay-service-dialog:not([open]) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.ay-service-dialog[open] {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  align-items: center !important;
  justify-content: center !important;
}

/* スマホ時のサービス一覧の縦余白を詰める */
@media screen and (max-width: 767px) {
  #SERVICES.services,
  .ay-services-safe {
    padding-top: 32px !important;
    padding-bottom: 34px !important;
  }

  #SERVICES .services-title {
    margin-bottom: 16px !important;
  }

  #SERVICES .text-block-34 {
    margin-bottom: 8px !important;
  }

  #SERVICES .text-block-32 {
    margin-bottom: 14px !important;
  }

  #SERVICES .service-list.ay-service-list-clean {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px 10px !important;
    width: calc(100vw - 28px) !important;
  }

  #SERVICES .ay-service-thumb {
    aspect-ratio: 4 / 3 !important;
  }

  #SERVICES .ay-service-card .text-block-144 {
    min-height: 34px !important;
    margin-top: -14px !important;
    padding: 5px 6px !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
  }
}

/* 継続率98%バッジの重複解消：上側を消す */
.ay-kv-retention-desktop {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* 下側の3要素横並び側だけ表示 */
.ay-kv-retention-mobile {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* PCでも 2万円引き・無料見積もり・98% を横並び */
.ay-kv-badge-cluster {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: center !important;
  gap: clamp(18px, 3vw, 48px) !important;
  width: min(760px, 62vw) !important;
  margin: clamp(22px, 3vw, 38px) 0 0 clamp(95px, 8vw, 150px) !important;
}

.ay-kv-badge-cluster img,
.ay-kv-badge {
  display: block !important;
  width: 100% !important;
  max-width: 210px !important;
  height: auto !important;
  margin: 0 auto !important;
  transform: none !important;
}

/* スマホも3つ同サイズ横並び */
@media screen and (max-width: 767px) {
  .ay-kv-badge-cluster {
    width: 100% !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 7px !important;
    margin: 14px auto 0 !important;
  }

  .ay-kv-badge-cluster img,
  .ay-kv-badge {
    max-width: none !important;
    width: 100% !important;
  }
}



/* =========================================================
   FINAL TUNE 2026-05-30
   ・TOP 継続率98%バッジ位置/白背景
   ・ユニット排水管清掃セクション拡大
   ・Webflowモーダル暴れ対策
   ========================================================= */


/* ユニット排水管清掃：最重要ブロックなので、外余白ギリギリまで大きく見せる */
@media screen and (min-width: 992px) {
  .ay-unit-kv-v3 {
    min-height: 760px;
    padding-top: clamp(54px, 5vw, 92px);
    padding-bottom: clamp(34px, 4vw, 64px);
  }

  .ay-unit-kv-body {
    width: min(1540px, 96vw) !important;
    grid-template-columns: minmax(360px, .72fr) minmax(650px, 1.45fr) !important;
    gap: clamp(22px, 3vw, 48px) !important;
    align-items: center !important;
  }

  .ay-unit-title-img {
    width: min(650px, 100%) !important;
    margin-bottom: clamp(22px, 3vw, 42px) !important;
  }

  .ay-unit-kv-right {
    padding: clamp(20px, 2vw, 30px) !important;
    background: rgba(0, 42, 78, .86) !important;
    box-shadow: 0 18px 42px rgba(0,0,0,.22) !important;
  }

  .ay-unit-panel-head {
    margin-bottom: clamp(16px, 1.6vw, 24px) !important;
    font-size: clamp(18px, 1.45vw, 24px) !important;
  }

  .ay-unit-shot-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(12px, 1.2vw, 20px) !important;
  }

  .ay-unit-shot {
    aspect-ratio: 16 / 9 !important;
    border-width: 3px !important;
  }

  .ay-unit-shot span {
    min-height: 44px !important;
    padding: 8px 12px !important;
    font-size: clamp(13px, 1vw, 17px) !important;
    letter-spacing: .04em;
  }
}

@media screen and (max-width: 991px) {
  .ay-unit-kv-v3 {
    padding-top: 38px !important;
  }
  .ay-unit-shot-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  .ay-unit-shot {
    aspect-ratio: 4 / 3 !important;
  }
}

@media screen and (max-width: 560px) {
  .ay-unit-shot-grid {
    grid-template-columns: 1fr !important;
  }
  .ay-unit-shot {
    aspect-ratio: 16 / 10 !important;
  }
}

/* ポップアップ暴れ対策：ヘッダーより上に出し、画面サイズ変更時も中央固定で崩れにくくする */
.modal-background,
.div-modal-wrapper,
.background-image,
.background-image-2,
.background-image-3,
.background-image-4,
.background-image-5,
.background-image-6,
.background-image-7,
.background-image-8,
.background-image-9,
.background-image-10,
.background-image-11,
.background-image-12,
.background-image-13,
.background-image-14,
.background-image-15 {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  z-index: 99999 !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: auto !important;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding: clamp(16px, 3vw, 42px) !important;
}

.modal-content,
.container-19,
.div-modal-wrapper > div {
  max-width: min(1000px, 94vw) !important;
  max-height: calc(100dvh - 48px) !important;
}

.div-block-136 {
  width: min(990px, 92vw) !important;
  height: min(70vh, 680px) !important;
}

.div-modal-wd {
  width: min(480px, 92vw) !important;
  max-height: calc(100dvh - 48px) !important;
}

.modals[class*="modal-"] {
  background-size: contain !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

body.modal-open {
  overflow: hidden !important;
}

@media screen and (max-width: 767px) {
  .modal-background,
  .div-modal-wrapper,
  .background-image,
  .background-image-2,
  .background-image-3,
  .background-image-4,
  .background-image-5,
  .background-image-6,
  .background-image-7,
  .background-image-8,
  .background-image-9,
  .background-image-10,
  .background-image-11,
  .background-image-12,
  .background-image-13,
  .background-image-14,
  .background-image-15 {
    padding: 12px !important;
  }

  .div-block-136 {
    width: 94vw !important;
    height: 62vh !important;
  }
}



/* =========================================================
   A.you final SP/section spacing fix
   目的：
   1) スマホで継続率98%バッジを完全非表示
   2) TOP上部の謎の水色帯を消す
   3) TOP見出し上に適正余白を確保
   4) ユニット排水管清掃の写真を2列×2行寄せで表示
   5) サービス一覧の余白を圧縮
   ========================================================= */


/* -----------------------------
   TOP：水色帯・継続率バッジ調整
------------------------------ */

/* スマホは継続率バッジを完全非表示。block !importantを上書き */
@media screen and (max-width: 991px) {
  #TOP.ay-kv-v3 {
  }

  #TOP .ay-kv-content {
    padding-top: 0 !important;
  }

  #TOP .ay-kv-lead {
    margin-top: 0 !important;
    margin-bottom: 18px !important;
  }

  #TOP .ay-kv-title-row {
    margin-top: 0 !important;
    padding-top: 0 !important;
    row-gap: 0 !important;
  }

  #TOP .ay-kv-title {
    margin-top: 0 !important;
  }
}

@media screen and (max-width: 480px) {
  #TOP .ay-kv-lead {
    margin-bottom: 14px !important;
  }
}



/* -----------------------------
   ユニット排水管清掃：画像を大きく
------------------------------ */

/*
  既存構造で使われている想定：
  .ay-unit-shot-grid / .ay-unit-shot / .ay-unit-cleaning など。
  クラス違いでも効くように、drain系・unit系に広めに当てています。
*/

.ay-unit-section,
.ay-unit-cleaning,
.unit-drain-section,
.drain-cleaning {
  padding-left: clamp(16px, 3vw, 34px) !important;
  padding-right: clamp(16px, 3vw, 34px) !important;
}

/* 写真グリッドを2列に固定。外側ギリギリまで広げる */
.ay-unit-shot-grid,
.ay-unit-gallery,
.unit-drain-gallery,
.drain-cleaning .ay-unit-shot-grid,
.drain-cleaning .unit-drain-gallery {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 20px !important;
  width: 100% !important;
  max-width: 1180px !important;
  margin: 24px auto 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 各画像カード */
.ay-unit-shot,
.ay-unit-gallery-item,
.unit-drain-card,
.drain-cleaning .ay-unit-shot,
.drain-cleaning .unit-drain-card {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  border: 3px solid rgba(255, 255, 255, .9) !important;
  box-shadow: 0 16px 34px rgba(0, 28, 55, .18) !important;
  overflow: hidden !important;
}

/* 画像を大きめ比率で統一 */
.ay-unit-shot img,
.ay-unit-gallery-item img,
.unit-drain-card img,
.drain-cleaning .ay-unit-shot img,
.drain-cleaning .unit-drain-card img {
  display: block !important;
  width: 100% !important;
  height: clamp(260px, 32vw, 430px) !important;
  object-fit: cover !important;
}

/* 旧Webflow系のカードにも効かせる */
.drain-cleaning .w-layout-grid,
.about-drain-hose .w-layout-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 20px !important;
  max-width: 1180px !important;
  width: calc(100% - 40px) !important;
  margin: 24px auto 0 !important;
}

/* スマホは1列。余白は詰める */
@media screen and (max-width: 767px) {
  .ay-unit-shot-grid,
  .ay-unit-gallery,
  .unit-drain-gallery,
  .drain-cleaning .ay-unit-shot-grid,
  .drain-cleaning .unit-drain-gallery,
  .drain-cleaning .w-layout-grid,
  .about-drain-hose .w-layout-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    width: calc(100% - 28px) !important;
    margin-top: 16px !important;
  }

  .ay-unit-shot img,
  .ay-unit-gallery-item img,
  .unit-drain-card img,
  .drain-cleaning .ay-unit-shot img,
  .drain-cleaning .unit-drain-card img {
    height: auto !important;
    min-height: 220px !important;
    object-fit: cover !important;
  }
}


/* -----------------------------
   サービス一覧：2列×2行寄せ・余白圧縮
------------------------------ */

/*
  スクショの余白が大きい部分。
  画像カードの縦余白を詰め、スマホでは2列グリッドにする。
*/

#SERVICES,
.services {
  padding-top: 44px !important;
  padding-bottom: 48px !important;
}

#SERVICES .container-9,
.services .container-9 {
  margin-top: 0 !important;
}

#SERVICES .services-title,
.services .services-title {
  padding-top: 52px !important;
  margin-bottom: 28px !important;
}

#SERVICES .div-block-24,
.services .div-block-24 {
  margin-top: 28px !important;
  gap: 18px !important;
}

#SERVICES .service-list,
.services .service-list {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-rows: auto !important;
  gap: clamp(18px, 3vw, 30px) !important;
  width: min(100% - 32px, 980px) !important;
  height: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin: 0 auto !important;
}

#SERVICES .service-list > *,
.services .service-list > * {
  min-height: 0 !important;
  margin: 0 !important;
}

/* 画像領域を詰めつつ見やすく */
#SERVICES .contents,
#SERVICES .wax,
#SERVICES .air-con,
#SERVICES .glass,
#SERVICES .unit-sterilization,
#SERVICES .spitton,
#SERVICES .gypsum-trap,
#SERVICES .toilet,
#SERVICES .cross,
#SERVICES .sign,
#SERVICES .unit,
#SERVICES .mat,
#SERVICES .sync,
#SERVICES .room,
#SERVICES .seet,
#SERVICES .certificate,
.services .contents,
.services .wax,
.services .air-con,
.services .glass,
.services .unit-sterilization,
.services .spitton,
.services .gypsum-trap,
.services .toilet,
.services .cross,
.services .sign,
.services .unit,
.services .mat,
.services .sync,
.services .room,
.services .seet,
.services .certificate {
  height: clamp(180px, 25vw, 310px) !important;
  min-height: 180px !important;
  background-size: cover !important;
  background-position: center !important;
}

#SERVICES .text-block-144,
.services .text-block-144 {
  width: min(78%, 360px) !important;
  margin-top: -26px !important;
  margin-bottom: 0 !important;
  padding: 15px 18px !important;
  border-radius: 18px !important;
  font-size: clamp(16px, 2vw, 22px) !important;
  line-height: 1.35 !important;
}

/* スマホも2列。ただし小さすぎる場合は自動で詰める */
@media screen and (max-width: 767px) {
  #SERVICES,
  .services {
    padding-top: 26px !important;
    padding-bottom: 34px !important;
  }

  #SERVICES .services-title,
  .services .services-title {
    padding-top: 28px !important;
    margin-bottom: 18px !important;
  }

  #SERVICES .div-block-24,
  .services .div-block-24 {
    margin-top: 18px !important;
  }

  #SERVICES .service-list,
  .services .service-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px 12px !important;
    width: calc(100% - 24px) !important;
  }

  #SERVICES .contents,
  #SERVICES .wax,
  #SERVICES .air-con,
  #SERVICES .glass,
  #SERVICES .unit-sterilization,
  #SERVICES .spitton,
  #SERVICES .gypsum-trap,
  #SERVICES .toilet,
  #SERVICES .cross,
  #SERVICES .sign,
  #SERVICES .unit,
  #SERVICES .mat,
  #SERVICES .sync,
  #SERVICES .room,
  #SERVICES .seet,
  #SERVICES .certificate,
  .services .contents,
  .services .wax,
  .services .air-con,
  .services .glass,
  .services .unit-sterilization,
  .services .spitton,
  .services .gypsum-trap,
  .services .toilet,
  .services .cross,
  .services .sign,
  .services .unit,
  .services .mat,
  .services .sync,
  .services .room,
  .services .seet,
  .services .certificate {
    height: 130px !important;
    min-height: 130px !important;
  }

  #SERVICES .text-block-144,
  .services .text-block-144 {
    width: 86% !important;
    margin-top: -20px !important;
    padding: 10px 8px !important;
    border-radius: 13px !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
  }
}

/* 極小端末でも2列を維持しつつ、文字だけ潰れにくく */
@media screen and (max-width: 390px) {
  #SERVICES .service-list,
  .services .service-list {
    gap: 14px 10px !important;
  }

  #SERVICES .contents,
  #SERVICES .wax,
  #SERVICES .air-con,
  #SERVICES .glass,
  #SERVICES .unit-sterilization,
  #SERVICES .spitton,
  #SERVICES .gypsum-trap,
  #SERVICES .toilet,
  #SERVICES .cross,
  #SERVICES .sign,
  #SERVICES .unit,
  #SERVICES .mat,
  #SERVICES .sync,
  #SERVICES .room,
  #SERVICES .seet,
  #SERVICES .certificate,
  .services .contents,
  .services .wax,
  .services .air-con,
  .services .glass,
  .services .unit-sterilization,
  .services .spitton,
  .services .gypsum-trap,
  .services .toilet,
  .services .cross,
  .services .sign,
  .services .unit,
  .services .mat,
  .services .sync,
  .services .room,
  .services .seet,
  .services .certificate {
    height: 116px !important;
    min-height: 116px !important;
  }
}
/* ===== END SOURCE: a-you-da0ed4.webflow.css ===== */


/* ===== BEGIN SOURCE: media.css ===== */
@media (min-width:992px) {
    html.w-mod-js:not(.w-mod-ix) [data-w-id="6b90e619-d0a3-da88-b706-9954769d9828"] {
        height: 60px;
    }
}

@media (max-width:991px) and (min-width:768px) {
    html.w-mod-js:not(.w-mod-ix) [data-w-id="6b90e619-d0a3-da88-b706-9954769d9828"] {
        height: 60px;
    }
}

@media (max-width:479px) {
    html.w-mod-js:not(.w-mod-ix) [data-w-id="6b90e619-d0a3-da88-b706-9954769d9828"] {
        height: 90px;
    }

    html.w-mod-js:not(.w-mod-ix) [data-w-id="6018612c-a9e3-1c9d-c8ee-599141808e18"] {
        height: 90px;
    }

    html.w-mod-js:not(.w-mod-ix) [data-w-id="21a8a7f3-2490-8ddf-2a5b-27285e55dc5d"] {
        height: 90px;
    }

    html.w-mod-js:not(.w-mod-ix) [data-w-id="62dcc845-635e-6320-1e7c-d2a46415c22e"] {
        height: 90px;
    }
}
/* ===== END SOURCE: media.css ===== */


/* Old A.you TOP v2 addon removed: current homepage uses ay-kv-v3. */
/* =========================================================
   A.you FINAL FIXES 2026-09-23
   Purpose:
   - prevent PC retention badge clipping
   - keep 98% retention badge visible on mobile
   - remove extra top gap on mobile
   - prevent service dialog from appearing unless [open]
   ========================================================= */

/* Service dialog must stay fully hidden unless explicitly opened. */
#ayServiceDialog.ay-service-dialog:not([open]) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

#ayServiceDialog.ay-service-dialog[open] {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Desktop: keep all 3 badges inside the TOP content area. */
@media screen and (min-width: 992px) {
  #TOP .ay-kv-badge-cluster {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: min(720px, calc(100% - 160px)) !important;
    max-width: calc(100% - 40px) !important;
    margin-left: clamp(60px, 7vw, 110px) !important;
    margin-right: 0 !important;
    gap: clamp(16px, 2.5vw, 34px) !important;
  }

  #TOP .ay-kv-badge-cluster img,
  #TOP .ay-kv-badge,
  #TOP .ay-kv-retention-mobile {
    min-width: 0 !important;
    max-width: 210px !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    position: static !important;
    transform: none !important;
  }
}

/* Tablet / mobile: restore the 98% badge and keep all three in one row. */
@media screen and (max-width: 991px) {
  #TOP .ay-kv-retention-mobile {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    height: auto !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: visible !important;
    position: static !important;
    transform: none !important;
    pointer-events: auto !important;
    object-fit: contain !important;
  }

  #TOP .ay-kv-badge-cluster {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: min(640px, 94vw) !important;
    max-width: 100% !important;
    gap: 8px !important;
    margin: 14px auto 0 !important;
  }

  #TOP .ay-kv-badge-cluster img,
  #TOP .ay-kv-badge {
    min-width: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    position: static !important;
    transform: none !important;
  }
}

/* Mobile: remove the extra gap above the TOP ribbon/content. */
@media screen and (max-width: 480px) {
  #TOP.ay-kv-v3 {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  #TOP .ay-kv-content {
    padding-top: 0 !important;
  }
}

/* =========================================================
   A.you FINAL FIXES v2 2026-09-23
   - retention badge: no circular clipping on desktop
   - legacy Webflow service modals: permanently disabled
   ========================================================= */

/* 継続率98%画像そのものに旧PC用の丸背景・角丸を当てない */
@media screen and (min-width: 992px) {
  #TOP .ay-kv-badge-cluster .ay-kv-retention,
  #TOP .ay-kv-badge-cluster .ay-kv-retention-mobile {
    border-radius: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    clip-path: none !important;
    -webkit-clip-path: none !important;
    mask: none !important;
    -webkit-mask: none !important;
    transform: none !important;
    object-fit: contain !important;
  }
}

/* 現行SERVICESはnative dialogを使用。旧Webflowモーダルは完全停止 */
.modal-background,
.div-modal-wrapper,
.background-image,
.background-image-2,
.background-image-3,
.background-image-4,
.background-image-5,
.background-image-6,
.background-image-7,
.background-image-8,
.background-image-9,
.background-image-10,
.background-image-11,
.background-image-12,
.background-image-13,
.background-image-14,
.background-image-15,
.background-image-16 {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}


/* =========================================================
   A.you FINAL VISUAL FIXES v3 2026-09-23
   - 98% badge itself has no CSS shadow/white seat/clipping
   - rotating TOP photos get a soft white veil for readability
   ========================================================= */

/* 98%バッジ自体には背景・影・マスクを一切足さない */
#TOP .ay-kv-retention,
#TOP .ay-kv-retention-mobile,
#TOP .ay-kv-retention-desktop,
#TOP .ay-kv-badge-cluster .ay-kv-retention,
#TOP .ay-kv-badge-cluster .ay-kv-retention-mobile {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  padding: 0 !important;
  clip-path: none !important;
  -webkit-clip-path: none !important;
  mask: none !important;
  -webkit-mask: none !important;
  overflow: visible !important;
  object-fit: contain !important;
}

/* 背景スライダー写真全体に薄い白ベールをかけ、青文字・アイコンを読みやすくする */
#TOP .ay-kv-wash {
  display: block !important;
  position: absolute !important;
  z-index: 1 !important;
  top: 54px !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: none !important;
  background: linear-gradient(
    90deg,
    rgba(255,255,255,.40) 0%,
    rgba(255,255,255,.32) 50%,
    rgba(255,255,255,.26) 100%
  ) !important;
  box-shadow: inset 0 0 110px rgba(255,255,255,.10) !important;
}

/* スマホは写真が文字の直後まで来るので少しだけ白を強める */
@media screen and (max-width: 991px) {
  #TOP .ay-kv-wash {
    top: 40px !important;
    background: rgba(255,255,255,.34) !important;
    box-shadow: inset 0 0 80px rgba(255,255,255,.10) !important;
  }
}


/* =========================================================
   A.you FINAL VISUAL OVERRIDE 2026-09-23
   ファイル名固定版: ayou-clean-unified.css
   ========================================================= */

/*
 * 継続率98%は画像をそのまま表示する。
 * 旧ルールの丸背景 / border-radius / mask / shadow / crop を完全解除。
 */
#TOP .ay-kv-badge-cluster {
  overflow: visible !important;
}

#TOP img.ay-kv-badge.ay-kv-retention,
#TOP img.ay-kv-retention.ay-kv-retention-mobile,
#TOP img.ay-kv-retention.ay-kv-retention-desktop {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  clip-path: none !important;
  -webkit-clip-path: none !important;
  mask: none !important;
  -webkit-mask: none !important;
  -webkit-mask-image: none !important;
  overflow: visible !important;
  padding: 0 !important;
  transform: none !important;
}

/*
 * 背景写真そのものを薄く白くする。
 * ay-kv-wash は過去ルールが多いため使わず、TOPの疑似要素を最終ベールにする。
 */
#TOP.ay-kv-v3::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  z-index: 2 !important;
  top: 54px !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  background: rgba(255,255,255,.30) !important;
  pointer-events: none !important;
}

/* 古いwashは二重掛けを防ぐ */
#TOP .ay-kv-wash {
  background: transparent !important;
  box-shadow: none !important;
  opacity: 0 !important;
}

/* コンテンツは必ず白ベールより上 */
#TOP .ay-kv-content,
#TOP .ay-kv-cta,
#TOP .ay-kv-trust {
  position: relative !important;
  z-index: 3 !important;
}

#TOP .ay-kv-ribbon {
  position: relative !important;
  z-index: 4 !important;
}

@media screen and (max-width: 991px) {
  #TOP.ay-kv-v3::after {
    top: 40px !important;
    background: rgba(255,255,255,.34) !important;
  }
}

/* 旧Webflowサービス拡大モーダルは現行dialogと競合させない */
.modal-background,
.div-modal-wrapper,
.background-image,
.background-image-2,
.background-image-3,
.background-image-4,
.background-image-5,
.background-image-6,
.background-image-7,
.background-image-8,
.background-image-9,
.background-image-10,
.background-image-11,
.background-image-12,
.background-image-13,
.background-image-14,
.background-image-15,
.background-image-16,
.w-lightbox-backdrop,
.w-lightbox-container,
.w-lightbox-content,
.w-lightbox-view,
.w-lightbox-strip {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* =========================================================
   MAIL ICON FINAL OVERRIDE
   PC / SP 共通でアイコン枠いっぱいに中央表示
   ========================================================= */
#TOP .ay-kv-btn-mail .ay-kv-btn-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 38px !important;
  min-width: 38px !important;
  width: 38px !important;
  height: 38px !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1 !important;
  text-align: center !important;
  font-size: 0 !important;
  overflow: hidden !important;
}

#TOP .ay-kv-btn-mail .ay-kv-btn-icon::before {
  content: "✉" !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 29px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  color: #0069c8 !important;
  transform: translateY(-1px) scale(1.08) !important;
  transform-origin: center !important;
}

/* =========================================================
   HERO BADGES + MAIL ICON FINAL TUNE 2026-09-23
   ・タイトルは既存の左寄せを維持
   ・3バッジだけ画面中央に大きく配置
   ・メールアイコンの視覚中心を少し上へ補正
   ========================================================= */

/* PC：3要素をヒーロー中央に、横幅をしっかり使う */
@media screen and (min-width: 992px) {
  #TOP .ay-kv-badge-cluster {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    justify-items: center !important;
    align-items: center !important;
    gap: clamp(22px, 3.2vw, 48px) !important;
    width: min(1040px, 92vw) !important;
    max-width: 1040px !important;
    margin: clamp(24px, 2.6vw, 38px) auto 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  #TOP .ay-kv-badge-cluster > img,
  #TOP .ay-kv-badge-cluster .ay-kv-badge {
    display: block !important;
    width: 100% !important;
    max-width: 285px !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
  }
}

/* タブレット：中央3列を維持しつつ画面幅いっぱい寄り */
@media screen and (max-width: 991px) and (min-width: 768px) {
  #TOP .ay-kv-badge-cluster {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    justify-items: center !important;
    align-items: center !important;
    gap: 14px !important;
    width: min(760px, 94vw) !important;
    margin: 18px auto 0 !important;
    padding: 0 !important;
  }

  #TOP .ay-kv-badge-cluster > img,
  #TOP .ay-kv-badge-cluster .ay-kv-badge {
    width: 100% !important;
    max-width: 235px !important;
    height: auto !important;
    margin: 0 auto !important;
  }
}

/* スマホ：3要素は中央3列。左右余白を最小限に */
@media screen and (max-width: 767px) {
  #TOP .ay-kv-badge-cluster {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    justify-items: center !important;
    align-items: center !important;
    gap: 6px !important;
    width: calc(100vw - 18px) !important;
    max-width: none !important;
    margin: 14px 50% 0 !important;
    transform: translateX(-50%) !important;
    padding: 0 !important;
  }

  #TOP .ay-kv-badge-cluster > img,
  #TOP .ay-kv-badge-cluster .ay-kv-badge {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 auto !important;
  }
}

/* 98%は他2つと同じセル内で画像全体を表示 */
#TOP .ay-kv-badge-cluster .ay-kv-retention,
#TOP .ay-kv-badge-cluster .ay-kv-retention-mobile {
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  clip-path: none !important;
  -webkit-clip-path: none !important;
  mask: none !important;
  -webkit-mask: none !important;
  overflow: visible !important;
  object-fit: contain !important;
}

/* メールアイコン：グリフの見た目の中心が少し下なので上へ補正 */
#TOP .ay-kv-btn-mail .ay-kv-btn-icon::before {
  transform: translateY(-3px) scale(1.08) !important;
  transform-origin: center center !important;
}

/* =========================================================
   HERO LEAD MOBILE FINAL TUNE 2026-09-23
   ・スマホの「美しさは、信頼につながる。」を白帯ではなく写真上に表示
   ・帯背景を消し、文字だけを写真上に載せる
   ========================================================= */
@media screen and (max-width: 767px) {
  #TOP .ay-kv-content {
    padding-top: 10px !important;
  }

  #TOP .ay-kv-lead {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: fit-content !important;
    max-width: calc(100vw - 24px) !important;
    margin: 8px auto 14px !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #00508f !important;
    text-align: center !important;
    position: relative !important;
    z-index: 4 !important;
  }

  #TOP .ay-kv-lead::before,
  #TOP .ay-kv-lead::after {
    content: none !important;
    display: none !important;
  }

  #TOP .ay-kv-lead span {
    display: inline-block !important;
    width: 30px !important;
    height: 1px !important;
    background: #00508f !important;
    flex: 0 0 30px !important;
  }
}

@media screen and (max-width: 480px) {
  #TOP .ay-kv-lead {
    font-size: 15px !important;
    letter-spacing: .05em !important;
    line-height: 1.35 !important;
    margin: 6px auto 12px !important;
  }

  #TOP .ay-kv-lead span {
    width: 26px !important;
    flex-basis: 26px !important;
  }
}


/* =========================================================
   FAQ FINAL FIX 2026-09-23
   Webflow IX2に依存せず、.is-open だけで開閉する
   ========================================================= */
#Q-A .acordion-item {
  height: auto !important;
  overflow: hidden !important;
}

#Q-A .acordion-toggle {
  cursor: pointer !important;
  user-select: none !important;
}

#Q-A .dropdown-list-5 {
  display: none !important;
  position: static !important;
  width: 100% !important;
  opacity: 1 !important;
  visibility: visible !important;
}

#Q-A .acordion-item.is-open .dropdown-list-5 {
  display: block !important;
}

#Q-A .acordion-icon {
  transition: transform .2s ease !important;
  transform-origin: center center !important;
}

#Q-A .acordion-item.is-open .acordion-icon {
  transform: rotate(180deg) !important;
}


/* =========================================================
   SERVICES IMAGE RATIO FINAL TUNE 2026-09-23
   ・画像欄を横4:3で統一
   ・写真系背景はcover
   ・文字入り画像(img)は切れないようcontain
   ・下のラベルは画像に5pxだけ重ねる
   ========================================================= */
#SERVICES .ay-service-thumb,
#SERVICES .contents,
#SERVICES .wax,
#SERVICES .air-con,
#SERVICES .glass,
#SERVICES .unit-sterilization,
#SERVICES .spitton,
#SERVICES .gypsum-trap,
#SERVICES .toilet,
#SERVICES .cross,
#SERVICES .sign,
#SERVICES .unit,
#SERVICES .mat,
#SERVICES .sync,
#SERVICES .room,
#SERVICES .seet,
#SERVICES .certificate {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
  background-color: #fff !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
}

/* imgで置いている資料・文字入り画像は、文字を切らない */
#SERVICES .ay-service-thumb > img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #fff !important;
}

/* ラベルは写真に5pxだけ重ねる */
#SERVICES .ay-service-card .text-block-144,
#SERVICES .text-block-144 {
  position: relative !important;
  z-index: 2 !important;
  margin-top: -5px !important;
  margin-bottom: 0 !important;
}

/* スマホ側の固定130px指定も無効化して4:3を維持 */
@media screen and (max-width: 767px) {
  #SERVICES .ay-service-thumb,
  #SERVICES .contents,
  #SERVICES .wax,
  #SERVICES .air-con,
  #SERVICES .glass,
  #SERVICES .unit-sterilization,
  #SERVICES .spitton,
  #SERVICES .gypsum-trap,
  #SERVICES .toilet,
  #SERVICES .cross,
  #SERVICES .sign,
  #SERVICES .unit,
  #SERVICES .mat,
  #SERVICES .sync,
  #SERVICES .room,
  #SERVICES .seet,
  #SERVICES .certificate {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 4 / 3 !important;
  }

  #SERVICES .ay-service-card .text-block-144,
  #SERVICES .text-block-144 {
    margin-top: -5px !important;
  }
}

/* =========================================================
   HERO FINAL ALIGNMENT 2026-09-23
   ・説明コピー幅を720px相当から850pxへ
   ・ヘッダー/リボン直下の謎の空白をなくす
   ・背景写真をTOP最上部から敷き、リボンの裏まで連続させる
   ========================================================= */

/* PC：フルオーダーメイド清掃コピーを少し広く */
@media screen and (min-width: 992px) {
  #TOP .ay-kv-order {
    width: min(850px, 70vw) !important;
  }
}

/* TOP自体の外側余白を完全に消す */
#TOP.ay-kv-v3 {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

/* 背景写真はTOPの先頭から敷く。
   青いリボンはz-indexが上なので、その裏に写真が回り込み、
   リボン直下に背景色だけの帯が出なくなる。 */
#TOP .ay-kv-bg {
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  inset: 0 !important;
}

/* 白ベールも写真と同じ範囲に合わせる */
#TOP.ay-kv-v3::after {
  top: 0 !important;
}

/* リボン直後のコンテンツに余計な上余白を作らない */
#TOP .ay-kv-content {
  margin-top: 0 !important;
}

@media screen and (max-width: 991px) {
  #TOP .ay-kv-bg {
    top: 0 !important;
    inset: 0 !important;
  }

  #TOP.ay-kv-v3::after {
    top: 0 !important;
  }
}


/* =========================================================
   HERO PC COMPACT LAYOUT FINAL 2026-09-23
   ・PCのファーストビューを自然に圧縮
   ・Dental Clean Pro. は左寄せ/大きさを維持
   ・それ以外は中央寄せし、縦方向を圧縮
   ・同一画面内にCTA + 実績/ロゴ帯まで見えやすくする
   ========================================================= */
@media screen and (min-width: 992px) {

  /* TOP全体 */
  #TOP.ay-kv-v3 {
    min-height: 0 !important;
    height: auto !important;
    padding-bottom: 10px !important;
  }

  /* コンテンツ上部を詰める */
  #TOP .ay-kv-content {
    width: min(1180px, 92vw) !important;
    padding-top: clamp(18px, 2vh, 30px) !important;
    margin: 0 auto !important;
  }

  /* キャッチコピーは中央、余白を縮める */
  #TOP .ay-kv-lead {
    width: fit-content !important;
    margin: 0 auto clamp(8px, 1.2vh, 14px) !important;
    font-size: clamp(18px, 1.55vw, 26px) !important;
    line-height: 1.25 !important;
    letter-spacing: .10em !important;
  }

  #TOP .ay-kv-lead span {
    width: clamp(36px, 4vw, 62px) !important;
  }

  /* Dental Clean Pro. だけ左寄せを維持 */
  #TOP .ay-kv-title-row {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #TOP .ay-kv-title {
    width: min(850px, 72vw) !important;
    max-width: 850px !important;
    margin: 0 !important;
  }

  /* 3バッジを少し縮めて中央に集約 */
  #TOP .ay-kv-badge-cluster {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    justify-items: center !important;
    align-items: center !important;
    gap: clamp(18px, 2.4vw, 34px) !important;
    width: min(760px, 74vw) !important;
    max-width: 760px !important;
    margin: clamp(12px, 1.6vh, 20px) auto 0 !important;
    padding: 0 !important;
  }

  #TOP .ay-kv-badge-cluster > img,
  #TOP .ay-kv-badge-cluster .ay-kv-badge {
    width: 100% !important;
    max-width: 220px !important;
    height: auto !important;
    margin: 0 auto !important;
  }

  /* 説明コピーは中央・少し小さく */
  #TOP .ay-kv-order {
    width: min(850px, 78vw) !important;
    margin: clamp(10px, 1.4vh, 18px) auto 0 !important;
    gap: clamp(14px, 2vw, 28px) !important;
    font-size: clamp(17px, 1.55vw, 25px) !important;
    line-height: 1.42 !important;
    letter-spacing: .10em !important;
  }

  #TOP .ay-kv-order span {
    width: clamp(44px, 5vw, 76px) !important;
  }

  /* CTAを縦に詰める */
  #TOP .ay-kv-cta {
    width: min(1080px, 88vw) !important;
    gap: clamp(16px, 2vw, 28px) !important;
    margin: clamp(10px, 1.4vh, 18px) auto 0 !important;
    padding: 8px 24px 10px !important;
  }

  #TOP .ay-kv-cta-item p {
    margin-bottom: 5px !important;
    font-size: clamp(14px, 1.15vw, 18px) !important;
    line-height: 1.2 !important;
  }

  #TOP .ay-kv-btn {
    min-height: 54px !important;
    padding: 8px 38px 8px 18px !important;
    font-size: clamp(17px, 1.45vw, 23px) !important;
  }

  #TOP .ay-kv-btn i {
    width: 28px !important;
    height: 28px !important;
    right: 14px !important;
  }

  #TOP .ay-kv-btn i::after {
    left: 9px !important;
    top: 7px !important;
    width: 9px !important;
    height: 9px !important;
    border-top-width: 3px !important;
    border-right-width: 3px !important;
  }

  /* 実績/ロゴ部分も少し圧縮してファーストビュー内へ */
  #TOP .ay-kv-trust {
    width: min(1380px, 92vw) !important;
    gap: 12px !important;
    margin: 8px auto 0 !important;
    padding-bottom: 10px !important;
  }

  #TOP .ay-kv-feature-box,
  #TOP .ay-kv-logo-box {
    min-height: 94px !important;
    padding: 10px 14px 8px !important;
  }

  #TOP .ay-kv-trust-title {
    margin-bottom: 7px !important;
    font-size: clamp(12px, .95vw, 15px) !important;
    line-height: 1.2 !important;
  }

  #TOP .ay-kv-feature-grid {
    font-size: clamp(10px, .78vw, 13px) !important;
    line-height: 1.35 !important;
  }

  #TOP .ay-kv-feature-box small,
  #TOP .ay-kv-logo-box small {
    margin-top: 4px !important;
    font-size: 10px !important;
  }

  #TOP .ay-kv-logo-grid img {
    max-height: 40px !important;
  }
}

/* 高さが低いPCでは、さらに少しだけ圧縮 */
@media screen and (min-width: 992px) and (max-height: 900px) {
  #TOP .ay-kv-content {
    padding-top: 14px !important;
  }

  #TOP .ay-kv-title {
    width: min(800px, 68vw) !important;
  }

  #TOP .ay-kv-badge-cluster {
    width: min(700px, 70vw) !important;
    margin-top: 10px !important;
  }

  #TOP .ay-kv-badge-cluster > img,
  #TOP .ay-kv-badge-cluster .ay-kv-badge {
    max-width: 200px !important;
  }

  #TOP .ay-kv-order {
    margin-top: 8px !important;
    font-size: clamp(16px, 1.35vw, 22px) !important;
  }

  #TOP .ay-kv-cta {
    margin-top: 8px !important;
  }

  #TOP .ay-kv-trust {
    margin-top: 6px !important;
  }
}
