@charset "UTF-8";
/*!
 * ress.css ? v2.0.4
 * MIT License
 * github.com/filipelinhares/ress
 */
/* # =================================================================
   # Global selectors
   # ================================================================= */
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@500;700;900&display=swap");
html {
  box-sizing: border-box;
  -moz-tab-size: 4;
  tab-size: 4;
  -webkit-text-size-adjust: 100%;
  /* Prevent adjustments of font size after orientation changes in iOS */
  word-break: normal;
}

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

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

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

/* # =================================================================
   # General elements
   # ================================================================= */
hr {
  /* Show the overflow in Edge and IE */
  height: 0;
  overflow: visible;
  /* Add the correct box sizing in Firefox */
}

details,
main {
  display: block;
  /* Render the `main` element consistently in IE. */
}

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

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

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

abbr[title] {
  border-bottom: none;
  /* Remove the bottom border in Chrome 57 */
  /* Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari */
  text-decoration: underline;
  text-decoration: underline dotted;
}

a {
  background-color: transparent;
  /* Remove the gray background on active links in IE 10 */
}

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

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

pre {
  font-size: 1em;
  /* Correct the odd `em` font sizing in all browsers */
}

b,
strong {
  font-weight: bolder;
  /* Add the correct font weight in Chrome, Edge, and Safari */
}

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

sub {
  bottom: -.25em;
}

sup {
  top: -.5em;
}

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

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

[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {
  height: auto;
  /* Correct the cursor style of increment and decrement buttons in Chrome */
}

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

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
  /* Remove the inner padding in Chrome and Safari on macOS */
}

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

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

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

button {
  overflow: visible;
  /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
  text-transform: none;
  /* Firefox 40+, Internet Explorer 11- */
}

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

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

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

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

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

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

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

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

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

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

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

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

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

svg:not([fill]) {
  fill: currentColor;
}

/* # =================================================================
   # Accessibility
   # ================================================================= */
/* Hide content from screens but not screenreaders */
@media screen {
  [hidden~="screen"] {
    display: inherit;
  }
  [hidden~="screen"]:not(:active):not(:focus):not(:target) {
    clip: rect(0 0 0 0) !important;
    position: absolute !important;
  }
}

/* Specify the progress cursor of updating elements */
[aria-busy="true"] {
  cursor: progress;
}

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

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

html {
  font-size: 62.5%;
}

body {
  background: #fff;
  color: #000;
  font-family: Linotte, YuGothic, "Yu Gothic", "游ゴシック体", "游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Roboto, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Osaka, "MS PGothic", Arial, Helvetica, Verdana, sans-serif !important;
  font-feature-settings: "pwid";
  font-weight: 500;
  height: 100%;
  font-size: 18px;
  font-size: 1.8rem;
  text-align: justify;
  width: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-feature-settings: "palt";
  line-height: 1;
}

h1 b,
h2 b,
h3 b,
h4 b,
h5 b,
h6 b {
  color: #2cabe1;
}

h2 {
  font-weight: 600;
  margin-bottom: 30px;
  text-align: center;
}

h2.brownC img {
  margin-top: .8em;
}

.brownC {
  color: #2cabe1;
}

ul,
ol {
  list-style: none;
}

a {
  font-weight: bold;
  text-decoration: underline;
}

a:hover {
  text-decoration: none;
}

summary {
  color: transparent;
  cursor: pointer;
  display: block;
  list-style: none;
  outline: none;
  position: relative;
}

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

p {
  line-height: 2;
  text-align: justify;
}

p strong {
  padding: 5px 0 3px;
}

strong {
  background: linear-gradient(transparent 59%, #ffe109 65%);
  font-style: normal;
}

i {
  background: linear-gradient(transparent 59%, #ffe109 65%);
  font-style: normal;
  line-height: 1.2em;
}

@media screen and (min-width: 769px) {
  h2 {
    font-weight: blod;
    font-size: 45px;
    font-size: 4.5rem;
  }
  h2 img {
    margin-top: 15px;
    max-width: 100%;
    width: auto;
  }
  h2 b {
    font-size: 80px;
    font-size: 8rem;
  }
  h2 span {
    font-size: 32px;
    font-size: 3.2rem;
  }
  h3 {
    font-size: 32px;
    font-size: 3.2rem;
    margin-bottom: 20px;
  }
  .SP_only {
    display: none;
  }
  .PC_only {
    display: block;
  }
}

@media screen and (max-width: 768px) {
  body.on {
    height: 100%;
    overflow: hidden;
  }
  h2 {
    font-size: 6.5vw;
  }
  h2 b {
    font-size: 10.4vw;
  }
  h2 span {
    font-size: 4vw;
  }
  h3 {
    font-size: 26px;
    font-size: 2.6rem;
    margin-bottom: 20px;
  }
  h3 b {
    font-size: 32px;
    font-size: 3.2rem;
  }
  .SP_only {
    display: block;
  }
  .PC_only {
    display: none !important;
  }
}

@media screen and (max-width: 414px) {
  body {
    font-size: 15px;
    font-size: 1.5rem;
  }
  h1 {
    font-size: 6vw;
  }
  h2 {
    font-size: 6vw;
    margin-bottom: 20px !important;
  }
  h2 b {
    font-size: 9vw;
  }
  h3 {
    font-size: 20px;
    font-size: 2rem;
  }
  h3 b {
    font-size: 26px;
    font-size: 2.6rem;
  }
  h4 {
    font-size: 18px;
    font-size: 1.8rem;
  }
}

.text_sd, h2.brownC, .merit li h3 {
  text-shadow: 2px 2px 0 white, 2px -2px 0 white, -2px -2px 0 white, -2px 2px 0 white, 2px 2px 0 white, 2px -2px 0 white, -2px -2px 0 white, -2px 2px 0 white, 2px 2px 0 white, 2px -2px 0 white, -2px -2px 0 white, -2px 2px 0 white, 2px 1px 0 white, 2px -1px 0 white, -2px -1px 0 white, -2px 1px 0 white, 2px 0 0 white, 2px 0 0 white, -2px 0 0 white, -2px 0 0 white, 2px 2px 0 white, 2px -2px 0 white, -2px -2px 0 white, -2px 2px 0 white, 2px 2px 0 white, 2px -2px 0 white, -2px -2px 0 white, -2px 2px 0 white, 2px 2px 0 white, 2px -2px 0 white, -2px -2px 0 white, -2px 2px 0 white, 2px 1px 0 white, 2px -1px 0 white, -2px -1px 0 white, -2px 1px 0 white, 2px 0 0 white, 2px 0 0 white, -2px 0 0 white, -2px 0 0 white, 2px 2px 0 white, 2px -2px 0 white, -2px -2px 0 white, -2px 2px 0 white, 2px 2px 0 white, 2px -2px 0 white, -2px -2px 0 white, -2px 2px 0 white, 2px 2px 0 white, 2px -2px 0 white, -2px -2px 0 white, -2px 2px 0 white, 2px 1px 0 white, 2px -1px 0 white, -2px -1px 0 white, -2px 1px 0 white, 2px 0 0 white, 2px 0 0 white, -2px 0 0 white, -2px 0 0 white, 1px 2px 0 white, 1px -2px 0 white, -1px -2px 0 white, -1px 2px 0 white, 1px 2px 0 white, 1px -2px 0 white, -1px -2px 0 white, -1px 2px 0 white, 1px 2px 0 white, 1px -2px 0 white, -1px -2px 0 white, -1px 2px 0 white, 1px 1px 0 white, 1px -1px 0 white, -1px -1px 0 white, -1px 1px 0 white, 1px 0 0 white, 1px 0 0 white, -1px 0 0 white, -1px 0 0 white, 0 2px 0 white, 0 -2px 0 white, 0 -2px 0 white, 0 2px 0 white, 0 2px 0 white, 0 -2px 0 white, 0 -2px 0 white, 0 2px 0 white, 0 2px 0 white, 0 -2px 0 white, 0 -2px 0 white, 0 2px 0 white, 0 1px 0 white, 0 -1px 0 white, 0 -1px 0 white, 0 1px 0 white, 0 0 0 white, 0 0 0 white, 0 0 0 white, 0 0 0 white, 0 0 0 white;
}

.out_space {
  background-color: #fff;
}

.button, .contact_part .contact .form a {
  align-items: center;
  background: url(/img/yane/button_bg.webp) repeat;
  background-size: contain;
  border-radius: 10px;
  box-shadow: 0 8px 0 #037c50;
  color: #fff;
  display: flex;
  justify-content: center;
  overflow: hidden !important;
  position: relative;
  text-decoration: none;
  text-shadow: 2.5px 2.5px 0 #157a30;
}

.button:hover, .contact_part .contact .form a:hover {
  box-shadow: none;
  position: relative;
  top: 8px;
}

.button b, .contact_part .contact .form a b {
  color: #fedb3c;
  padding-bottom: 10px;
}

.button::before, .contact_part .contact .form a::before {
  animation: gloss 3s ease-in-out infinite;
  background: #fff;
  content: "";
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: -180px;
  transform: rotate(45deg);
  width: 30px;
}

.contact_part {
  margin: 30px auto;
  max-width: 1040px;
}

.contact_part .contact:before, .contact_part .contact:after {
  content: "";
  display: block;
  position: absolute;
}

.contact_part .contact:before {
  background: url(/img/house-cleaning/contact.webp);
  background-size: cover;
}

.contact_part .contact:after {
  background: url(/img/fuyohin/ihin2/concierge2.webp);
  background-size: cover;
}

.contact_part .contact h2 {
  text-align: left;
}

.contact_part .contact h2 b {
  display: block;
}

.contact_part .contact .content, .contact_part .contact .header .service li, .header .service .contact_part .contact li, .contact_part .contact .area .inner, .area .contact_part .contact .inner, .contact_part .contact .before_after ul, .before_after .contact_part .contact ul {
  background: #fff;
  border: 2px solid #2cabe1;
  border-radius: 10px;
  position: relative;
  text-align: center;
  z-index: 1;
}

.contact_part .contact .content .tel p, .contact_part .contact .header .service li .tel p, .header .service .contact_part .contact li .tel p, .contact_part .contact .area .inner .tel p, .area .contact_part .contact .inner .tel p, .contact_part .contact .before_after ul .tel p, .before_after .contact_part .contact ul .tel p {
  text-align: center;
}

.contact_part .contact h3 {
  background: url(/img/fuyohin/ihin2/deco1.svg) no-repeat center;
  color: #56000a;
  font-size: 22px;
  font-size: 2.2rem;
}

.contact_part .contact .form {
  padding-bottom: 8px;
}

.contact_part .contact .form h3 {
  margin-bottom: 20px;
}

.contact_part .contact .form a {
  margin: 0 auto;
  max-width: 440px;
}

.contact_part .contact .tel h3 {
  margin-bottom: 10px;
}

.contact_part .contact .tel a {
  text-decoration: none;
}

.contact_part .contact .tel .terms p {
  color: #000;
  font-size: 16px;
  font-weight: normal;
  text-decoration: underline;
}

.contactFix {
  background: #fff;
  border-top: solid 1px #2cabe1;
  bottom: 0;
  left: 0;
  position: fixed;
  width: 100%;
  z-index: 10;
}

.contactFix.hide {
  display: none !important;
}

.contactFix a {
  text-decoration: none;
}

.contactFix .pc {
  display: flex;
  justify-content: space-between;
}

.contactFix .pc .button, .contactFix .pc .contact_part .contact .form a, .contact_part .contact .form .contactFix .pc a,
.contactFix .pc .tel {
  width: calc((100% - 140px) / 2);
}

.contactFix .pc .tel {
  color: #07263d;
  font-size: 18px;
  font-size: 1.8rem;
  text-align: center;
}

.contactFix .pc .tel p {
  line-height: 1;
  text-align: center;
}

.contactFix .pc .tel p:nth-child(1) {
  background: url(/img/fuyohin/ihin2/deco1.svg) no-repeat center;
}

.contactFix .pc .tel p:nth-child(2) {
  color: #29aae1;
  font-size: 40px;
  font-size: 4rem;
  margin-bottom: 10px;
}

.contactFix .pc .terms {
  border: 2px solid #ff668c;
  border-radius: 10px;
  bottom: -7px;
  font-size: 16px;
  padding: 3px 0;
  position: absolute;
  right: 0;
  text-align: center;
  width: 120px;
}

.contactFix .pc .terms p {
  color: #ff668c;
  text-align: center;
}

.contactFix .pc .shop {
  width: 120px;
}

.contactFix .pc .shop a {
  align-items: center;
  background: #ff668c;
  border-radius: 10px;
  color: #fff;
  display: flex;
  height: 50%;
  justify-content: center;
  width: 100%;
}

.contactFix .pc .shop a br {
  display: none;
}

.contactFix .pc .contact p.text {
  display: none;
}

.contactFix .pc .contact a p {
  color: #2cabe1;
  font-size: 40px;
  line-height: .5;
  position: relative;
  text-align: center;
}

.contactFix .pc .contact a p span {
  color: #000;
  font-size: 18px;
}

.contactFix .pc .contact a p:nth-of-type(1) {
  display: none;
}

.contactFix .pc .contact a p:before {
  background: url(/img/fuyohin/ihin2/deco1.svg) no-repeat center;
  background-size: cover;
  color: #000;
  content: "お急ぎ･お困りの方はこちら";
  display: block;
  font-size: 18px;
  position: relative;
  top: -20px;
}

@media screen and (min-width: 769px) {
  .button, .contact_part .contact .form a {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .button b, .contact_part .contact .form a b {
    font-size: 32px;
    font-size: 3.2rem;
  }
  .contact {
    padding-top: 40px !important;
  }
  .contact:before {
    height: 150px;
    right: 220px;
    top: 20px;
    width: 150px;
  }
  .contact:after {
    height: 323px;
    right: 20px;
    top: 0;
    width: 224px;
  }
  .contact h2 {
    font-size: 32px;
    font-size: 3.2rem;
  }
  .contact h2 b {
    font-size: 50px;
    font-size: 5rem;
    margin-top: 20px;
  }
  .contact .content, .contact .header .service li, .header .service .contact li, .contact .area .inner, .area .contact .inner, .contact .before_after ul, .before_after .contact ul {
    display: flex;
    justify-content: space-between;
    padding: 30px;
    position: relative;
  }
  .contact .content:after, .contact .header .service li:after, .header .service .contact li:after, .contact .area .inner:after, .area .contact .inner:after, .contact .before_after ul:after, .before_after .contact ul:after {
    background: #2cabe1;
    content: "";
    display: block;
    height: calc(100% - 60px);
    left: 50%;
    margin-left: -1px;
    position: absolute;
    top: 30px;
    width: 2px;
  }
  .contact .form,
  .contact .tel {
    width: calc(50% - 30px);
  }
  .contact .form a {
    height: 80px;
  }
  .contact .tel a {
    color: #2cabe1;
    font-size: 50px;
    font-size: 5rem;
  }
  .contact .tel p {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1;
    margin-top: 10px;
  }
  .contactFix {
    padding: 20px;
  }
  .contactFix .sp {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .contact {
    padding-top: 40px !important;
  }
  .contact:before {
    height: 15vw;
    right: 20vw;
    top: 0;
    width: 15vw;
  }
  .contact:after {
    height: 20vw;
    right: 20px;
    top: 0;
    width: 20vw;
  }
  .contact h2 {
    font-size: 22px;
    font-size: 2.2rem;
    max-width: 65%;
  }
  .contact h2 b {
    font-size: 5vw;
    margin-top: 10px;
  }
  .contact .content, .contact .header .service li, .header .service .contact li, .contact .area .inner, .area .contact .inner, .contact .before_after ul, .before_after .contact ul {
    padding: 20px;
  }
  .contact .form {
    border-bottom: solid 1px #2cabe1;
    margin-bottom: 30px;
    padding-bottom: 38px !important;
  }
  .contact .form a {
    padding: 20px 0;
  }
  .contact .form a b {
    font-size: 26px;
    font-size: 2.6rem;
  }
  .contact .tel a {
    border-radius: 10px;
    color: #2cabe1;
    display: block;
    font-size: 26px;
    font-size: 2.6rem;
    margin: 0 auto;
    max-width: 440px;
    padding: 10px 0;
  }
  .contact .terms a {
    background: none;
    color: #000;
    font-size: 16px;
    padding: 0;
    text-decoration: underline;
  }
  .contactFix .pc {
    display: none;
  }
  .contactFix .sp {
    padding: 10px 20px 18px;
  }
  .contactFix .sp a {
    padding: 20px 0;
  }
  .contactFix .sp b {
    font-size: 26px;
    font-size: 2.6rem;
    padding-bottom: 7px;
  }
  .button b, .contact_part .contact .form a b {
    font-size: 18px;
    font-size: 1.8rem;
    padding-bottom: 4px;
  }
}

@media screen and (max-width: 414px) {
  .contact:before {
    content: none;
  }
  .contact h2 {
    font-size: 15px;
    font-size: 1.5rem;
    white-space: nowrap;
  }
  .contact h2 b {
    font-size: 7.2vw;
  }
  .contact h3 {
    background-size: contain;
    font-size: 18px;
    font-size: 1.8rem;
  }
  .contact .form a b {
    font-size: 18px;
    font-size: 1.8rem;
    padding-bottom: 4px;
  }
  .contactFix .sp b {
    font-size: 18px;
    font-size: 1.8rem;
    padding-bottom: 4px;
  }
  .back_top:not(.pop) {
    bottom: 100px;
    display: none !important;
    position: fixed;
    right: 0;
    transition: .5s;
    z-index: 999;
  }
  .back_top:not(.pop).hide {
    display: none !important;
  }
}

@keyframes gloss {
  0% {
    opacity: 0;
    transform: scale(0) rotate(45deg);
  }
  80% {
    opacity: .5;
    transform: scale(0) rotate(45deg);
  }
  81% {
    opacity: 1;
    transform: scale(4) rotate(45deg);
  }
  100% {
    opacity: 0;
    transform: scale(50) rotate(45deg);
  }
}

@media screen and (min-width: 769px) {
  .section {
    margin-top: 50px !important;
  }
  .header {
    box-sizing: border-box;
  }
  .header .inner {
    height: 726px;
    padding-top: 123px;
  }
  .header .inner .points_FV_tablet {
    display: none;
  }
  .header .inner .container:after, .header .inner .contact_part .contact:after, .contact_part .header .inner .contact:after, .header .inner .contactFix .pc:after, .contactFix .header .inner .pc:after, .header .inner .service:after, .header .inner .before_after:after {
    background-position: center bottom;
    background-size: contain;
    bottom: 0;
    height: 544px;
    right: 16%;
    width: 33%;
  }
  .header .catch-copy {
    font-size: 32px;
    font-size: 3.2rem;
    margin: auto;
    margin-bottom: 10px;
    position: relative;
    width: 80%;
  }
  .header .catch-copy b {
    font-size: 50px;
    font-size: 5rem;
  }
  .header .catch-copy span img {
    left: -10px;
    position: relative;
    width: 85%;
  }
  .header .catch-copy span.title2 img:nth-child(1) {
    left: 0;
    margin: 5px 0 10px 0;
    position: relative;
    width: 97%;
    z-index: 2;
  }
  .header .points_FV {
    left: -28px;
    margin: 20px auto;
    position: relative;
    width: 57%;
    z-index: 2;
  }
  .header .point-inner {
    display: flex;
    justify-content: center;
    position: absolute;
    top: 630px;
    width: 100%;
  }
  .header .track_FV {
    bottom: -98px;
    position: absolute;
    right: 59%;
    width: 600px;
  }
  .header .service {
    margin-top: 100px !important;
  }
  .header .service li {
    width: calc((100% - 100px) / 5);
  }
  .pageNav {
    top: 40px;
  }
  .pageNav .content, .pageNav .header .service li, .header .service .pageNav li, .pageNav .area .inner, .area .pageNav .inner, .pageNav .before_after ul, .before_after .pageNav ul {
    border-radius: 35px;
    height: 70px;
    padding: 0 20px;
    width: 1000px;
  }
  .pageNav .logo img {
    height: 40px;
    margin-top: -10px;
    width: auto;
  }
  .pageNav ul {
    display: flex;
  }
  .pageNav li a {
    padding: 0 10px;
  }
  .pageNav .sp,
  .pageNav .call,
  .pageNav .navToggle {
    display: none;
  }
  .service .SP_only {
    display: none !important;
  }
  .service .PC_only {
    display: flex !important;
  }
  .trouble h2:before {
    height: 89px;
    top: -30px;
    width: 132px;
  }
  .trouble li {
    width: calc((100% - 20px) / 2);
  }
  .trouble .comment {
    margin-bottom: 60px;
  }
  .trouble .comment:after {
    height: 224px;
    width: 194px;
  }
  .trouble .comment .inner {
    padding: 27px;
    width: calc(100% - 224px);
  }
  .trouble .comment h4 {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .trouble .comment h4 b {
    font-size: 32px;
    font-size: 3.2rem;
  }
  .merit li {
    width: calc((100% - 40px) / 3);
  }
  .reason .content, .reason .header .service li, .header .service .reason li, .reason .area .inner, .area .reason .inner, .reason .before_after ul, .before_after .reason ul {
    padding: 60px 30px;
  }
  .reason .content h3, .reason .header .service li h3, .header .service .reason li h3, .reason .area .inner h3, .area .reason .inner h3, .reason .before_after ul h3, .before_after .reason ul h3 {
    font-size: 32px;
    font-size: 3.2rem;
  }
  .reason .content h3 span, .reason .header .service li h3 span, .header .service .reason li h3 span, .reason .area .inner h3 span, .area .reason .inner h3 span, .reason .before_after ul h3 span, .before_after .reason ul h3 span {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .reason .content h3 span b, .reason .header .service li h3 span b, .header .service .reason li h3 span b, .reason .area .inner h3 span b, .area .reason .inner h3 span b, .reason .before_after ul h3 span b, .before_after .reason ul h3 span b {
    font-size: 32px;
    font-size: 3.2rem;
  }
  .reason .content h3 > b, .reason .header .service li h3 > b, .header .service .reason li h3 > b, .reason .area .inner h3 > b, .area .reason .inner h3 > b, .reason .before_after ul h3 > b, .before_after .reason ul h3 > b {
    font-size: 50px;
    font-size: 5rem;
  }
  .reason .content p, .reason .header .service li p, .header .service .reason li p, .reason .area .inner p, .area .reason .inner p, .reason .before_after ul p, .before_after .reason ul p {
    font-size: 32px;
    font-size: 3.2rem;
  }
  .reason .content p span, .reason .header .service li p span, .header .service .reason li p span, .reason .area .inner p span, .area .reason .inner p span, .reason .before_after ul p span, .before_after .reason ul p span {
    font-size: 50px;
    font-size: 5rem;
  }
  .reason .content p br, .reason .header .service li p br, .header .service .reason li p br, .reason .area .inner p br, .area .reason .inner p br, .reason .before_after ul p br, .before_after .reason ul p br {
    display: none;
  }
  .reason .content:nth-child(2):before, .reason .header .service li:nth-child(2):before, .header .service .reason li:nth-child(2):before, .reason .area .inner:nth-child(2):before, .area .reason .inner:nth-child(2):before, .reason .before_after ul:nth-child(2):before, .before_after .reason ul:nth-child(2):before {
    height: 250px;
    right: 4.5vw;
    top: -217px;
    width: 232px;
  }
  .reason .comment.first {
    margin-bottom: 60px;
  }
  .reason .comment:after {
    height: 224px;
    width: 194px;
  }
  .reason .comment .inner {
    padding: 27px;
    width: calc(100% - 224px);
  }
  .reason .comment h4 {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .reason .comment h4 b {
    font-size: 32px;
    font-size: 3.2rem;
  }
  .voice h2 span:nth-child(1) {
    font-size: 50px;
    font-size: 5rem;
    margin-bottom: 20px;
  }
  .voice h2 span:nth-child(1) b {
    font-size: 50px;
    font-size: 5rem;
  }
  .voice h2 span:nth-child(2) {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .voice li {
    margin-bottom: 30px;
    padding: 20px;
  }
  .voice h3 {
    font-size: 25px;
    font-size: 2.5rem;
  }
  .voice .score {
    bottom: -10px;
    font-size: 14px;
    position: relative;
  }
  .flow h2 {
    text-align: center;
  }
  .flow h2 span {
    border-radius: 23px;
    height: 46px;
    margin: 0 auto;
    width: 232px;
  }
  .flow h3 {
    padding-top: 10px;
  }
  .flow h3 span {
    font-size: 22px;
    font-size: 2.2rem;
    margin-bottom: 10px;
  }
  .flow figure {
    width: calc((100% - 30px) / 3);
  }
  .area {
    margin: auto;
    max-width: 1040px;
  }
  .entryMin {
    margin-top: 100px !important;
  }
  .entryMin h2 {
    max-width: 400px;
  }
  .entryMin .form {
    padding: 60px 30px;
  }
  .entryMin .note {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .entryMin .service li:empty {
    display: none;
  }
  .entryMin .service label {
    font-size: 22px;
    font-size: 2.2rem;
    padding: 20px 0;
  }
  .entryMin .service label span {
    margin-top: 10px;
  }
  .footer .nav {
    margin-bottom: 60px;
  }
  .footer ul {
    justify-content: center;
  }
  .footer li {
    margin: 0 20px;
  }
  .button, .contact_part .contact .form a {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    padding: 10px 10px 5px 10px;
  }
  .button #canppic, .contact_part .contact .form a #canppic {
    display: none;
    width: calc(25% - 10px);
  }
  .button #canppic img, .contact_part .contact .form a #canppic img {
    width: 100%;
  }
  .button #text, .contact_part .contact .form a #text {
    font-size: 1em;
    letter-spacing: 3px;
    margin: 0 auto;
    width: calc(70% -10px);
  }
  .button #text b, .contact_part .contact .form a #text b {
    font-size: 3.3rem;
  }
  .button #counttimer, .contact_part .contact .form a #counttimer {
    display: none;
    font-size: .9em;
    text-align: center;
    width: 100%;
  }
  .form .button, .contact_part .contact .form a {
    padding: 5px 10px;
  }
}

@media screen and (max-width: 1024px) and (min-width: 769px) {
  .header .points_FV,
  .header .concierge {
    display: none;
  }
  .header .points_FV_tablet {
    bottom: -5px;
    display: block !important;
    position: absolute;
    right: 0;
    width: 95%;
  }
  .header .point-inner .point {
    max-width: 50% !important;
    width: 100%;
  }
  .header .track_FV {
    right: 62%;
    width: 330px;
  }
  .service {
    padding: 0 20px;
  }
  .trouble {
    padding: 25px 0 !important;
  }
  .trouble .contact_part {
    padding: 0 !important;
  }
  .out_space {
    padding: 0 20px !important;
  }
  .out_space.contact {
    padding: 1px 20px 30px !important;
  }
  .trader,
  .voice {
    padding: 0 20px !important;
  }
  .merit {
    padding: 0 20px !important;
  }
  .merit li div p {
    font-size: 17px !important;
  }
  .comparison {
    padding: 20px 20px 50px !important;
  }
  .flow,
  .reason {
    padding: 40px 0 !important;
  }
  .QA {
    padding: 50px 20px !important;
  }
}

@media screen and (max-width: 768px) {
  .section {
    margin-top: 50px !important;
  }
  .out_space {
    padding: 0 30px !important;
  }
  .out_space.contact {
    padding: 1px 30px 30px !important;
  }
  h1 {
    font-size: 8px !important;
    margin-top: 50px;
  }
  .header .catch-copy {
    margin-bottom: 30px;
  }
  .header .catch-copy span:nth-child(1) img {
    margin-bottom: 5px;
    width: 80%;
  }
  .header .catch-copy span img:nth-child(1) {
    display: inline !important;
  }
  .header .catch-copy span img:nth-child(2) {
    display: none;
  }
  .header p {
    background-image: linear-gradient(to right, rgba(255, 255, 255, 0), #fff, rgba(255, 255, 255, 0));
    font-size: 2.3vw;
    font-weight: bold;
    margin: auto;
    margin-bottom: 30px;
    padding-bottom: 10px;
    position: relative;
    text-align: center;
    width: 70%;
  }
  .header p.note {
    background-image: none;
    font-size: 1.7rem;
    font-size: 2vw;
    line-height: 1.5em;
    margin: 7px auto;
    max-width: none;
    text-align: left;
    text-shadow: #fff 1px 0 0, #fff 0 1px 0, #fff -1px 0 0, #fff 0 -1px 0;
    width: 95%;
    z-index: 3;
  }
  .header .inner {
    background: none;
    border-bottom: none;
  }
  .header .inner .container::after, .header .inner .contact_part .contact::after, .contact_part .header .inner .contact::after, .header .inner .contactFix .pc::after, .contactFix .header .inner .pc::after, .header .inner .service::after, .header .inner .before_after::after {
    background-position: left bottom;
    background-size: contain;
    height: 100% !important;
    right: 10%;
    top: 20px !important;
    width: 30%;
  }
  .header .inner .container::before, .header .inner .contact_part .contact::before, .contact_part .header .inner .contact::before, .header .inner .contactFix .pc::before, .contactFix .header .inner .pc::before, .header .inner .service::before, .header .inner .before_after::before {
    background-position: left bottom;
    background-size: contain;
    height: 100% !important;
    right: -6% !important;
    top: 20px !important;
    width: 30%;
  }
  .header .point {
    max-width: 470px !important;
    width: 60%;
  }
  .header .service {
    margin: 30px 0 !important;
    padding: 0 30px !important;
  }
  .header .service li {
    margin-bottom: 10px !important;
    width: calc((100% - 30px) / 5);
  }
  .header .service li figcaption {
    font-size: 1.5rem !important;
  }
  .pageNav {
    top: 0;
  }
  .pageNav .content, .pageNav .header .service li, .header .service .pageNav li, .pageNav .area .inner, .area .pageNav .inner, .pageNav .before_after ul, .before_after .pageNav ul {
    border-radius: 0;
    height: 50px;
    padding: 0 10px !important;
    width: 100%;
  }
  .pageNav .content .listed-company, .pageNav .header .service li .listed-company, .header .service .pageNav li .listed-company, .pageNav .area .inner .listed-company, .area .pageNav .inner .listed-company, .pageNav .before_after ul .listed-company, .before_after .pageNav ul .listed-company {
    display: none;
  }
  .pageNav .content > .call, .pageNav .header .service li > .call, .header .service .pageNav li > .call, .pageNav .area .inner > .call, .area .pageNav .inner > .call, .pageNav .before_after ul > .call, .before_after .pageNav ul > .call {
    align-items: center;
    display: flex;
    height: 50px;
    position: fixed;
    right: 100px;
    top: 0;
  }
  .pageNav .content > .call a, .pageNav .header .service li > .call a, .header .service .pageNav li > .call a, .pageNav .area .inner > .call a, .area .pageNav .inner > .call a, .pageNav .before_after ul > .call a, .before_after .pageNav ul > .call a {
    width: 50px;
  }
  .pageNav .content > .call p, .pageNav .header .service li > .call p, .header .service .pageNav li > .call p, .pageNav .area .inner > .call p, .area .pageNav .inner > .call p, .pageNav .before_after ul > .call p, .before_after .pageNav ul > .call p {
    background: #fefbed;
    border-radius: 5px;
    font-size: 12px;
    font-weight: bold;
    line-height: 1;
    margin-right: 5px;
    padding: 5px 15px 5px 5px;
    position: relative;
  }
  .pageNav .content > .call p:after, .pageNav .header .service li > .call p:after, .header .service .pageNav li > .call p:after, .pageNav .area .inner > .call p:after, .area .pageNav .inner > .call p:after, .pageNav .before_after ul > .call p:after, .before_after .pageNav ul > .call p:after {
    background: url(../../img/right.webp) no-repeat;
    background-size: cover;
    content: "";
    display: inline-block;
    height: 10px;
    position: absolute;
    right: 3px;
    top: 11px;
    width: 8px;
  }
  .pageNav .content > .call b, .pageNav .header .service li > .call b, .header .service .pageNav li > .call b, .pageNav .area .inner > .call b, .area .pageNav .inner > .call b, .pageNav .before_after ul > .call b, .before_after .pageNav ul > .call b {
    color: #ffe109;
  }
  .pageNav .logo img {
    height: 25px !important;
  }
  .pageNav ul {
    display: none !important;
  }
  .pageNav .call a {
    align-items: center;
    background: #ff668c;
    display: flex;
    height: 100%;
    width: 100%;
  }
  .pageNav .call img {
    height: 30px;
    width: 30px;
  }
  .pageNav .navterms {
    background: #2cabe1;
    display: inline-block !important;
    height: 50px;
    position: fixed;
    right: 50px;
    top: 0;
    width: 50px;
  }
  .pageNav .navterms p {
    color: #fff;
    font-size: 15px;
    line-height: 1;
    margin: auto;
    width: 3rem;
  }
  .pageNav .navToggle {
    background: #ffb302;
    cursor: pointer;
    display: block;
    height: 50px;
    position: fixed;
    right: 0;
    top: 0;
    width: 50px;
    z-index: 2;
  }
  .pageNav .navToggle span {
    background: #fff;
    display: block;
    height: 3px;
    left: 10px;
    position: absolute;
    transition: .35s ease-in-out;
    width: 30px;
  }
  .pageNav .navToggle span:nth-child(1) {
    top: 10px;
  }
  .pageNav .navToggle span:nth-child(2) {
    top: 17px;
  }
  .pageNav .navToggle span:nth-child(3) {
    top: 24px;
  }
  .pageNav .navToggle div {
    bottom: 5px;
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    line-height: 1;
    position: absolute;
    text-align: center;
    width: 100%;
  }
  .open .pageNav a {
    border-radius: 10px;
    display: block;
    padding: 5px 0;
  }
  .open .pageNav .button b, .open .pageNav .contact_part .contact .form a b, .contact_part .contact .form .open .pageNav a b {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .open .pageNav ul {
    background: #fff;
    display: block !important;
    height: 100vh;
    left: 0;
    margin-top: 0 !important;
    padding: 30px 20px 20px;
    position: fixed;
    text-align: center;
    top: 0;
    width: 100vw !important;
    z-index: 1;
  }
  .open .pageNav ul li.menuL.menuList1 {
    display: inline-block;
    width: 49%;
  }
  .open .pageNav ul .menuList2.sp,
  .open .pageNav ul .menuList3.sp,
  .open .pageNav ul .menuList4.sp {
    display: inline-block;
    padding: 0;
    position: unset !important;
    width: 49%;
  }
  .open .pageNav ul .menuList2.sp.fir:before,
  .open .pageNav ul .menuList3.sp.fir:before,
  .open .pageNav ul .menuList4.sp.fir:before {
    border-top: 1px dotted #ccc;
    content: "";
    display: inline-block;
    margin-top: 0 !important;
    position: relative;
    top: -5px;
    width: 200%;
  }
  .open .content > .call, .open .header .service li > .call, .header .service .open li > .call, .open .area .inner > .call, .area .open .inner > .call, .open .before_after ul > .call, .before_after .open ul > .call {
    display: none;
  }
  .open .sp {
    bottom: 0;
    box-sizing: border-box;
    display: block;
    left: 0;
    padding: 0 20px 20px;
    position: fixed;
    width: 100%;
  }
  .open .sp a {
    color: #000;
  }
  .open .sp a.button #text, .open .sp .contact_part .contact .form a #text, .contact_part .contact .form .open .sp a #text {
    color: #fff;
  }
  .open .sp .call {
    margin: 20px 0;
  }
  .open .sp img {
    display: none;
  }
  .open .sp p {
    text-align: center;
  }
  .open .sp .terms p {
    color: #000;
    margin-top: 20px;
    text-align: center;
    text-decoration: underline;
  }
  .open .navToggle span:nth-child(1) {
    top: 20px;
    transform: rotate(315deg);
  }
  .open .navToggle span:nth-child(2) {
    left: 50%;
    width: 0;
  }
  .open .navToggle span:nth-child(3) {
    top: 20px;
    transform: rotate(-315deg);
  }
  .listed-company-text-sp {
    overflow: hidden;
    position: relative;
  }
  .listed-company-text-sp.fixed {
    height: auto;
    position: fixed;
    top: 50px !important;
    width: 100%;
    z-index: 10;
  }
  .pageNav ul li {
    border: none !important;
  }
  .anime:before {
    animation: purunButton_circle linear 15000ms both infinite;
    right: 80% !important;
  }
  .anime:after {
    animation: purunButton_star linear 15000ms both infinite;
    right: 65% !important;
  }
  .trouble h2:before {
    height: 10vh;
    top: -30px;
    width: 20vw;
  }
  .trouble li {
    width: calc((100% - 10px) / 2);
  }
  .trouble li.trouble5 {
    width: 100%;
  }
  .trouble .SP_only {
    display: none;
  }
  .trouble .PC_only {
    display: flex !important;
  }
  .merit {
    padding: 30px !important;
  }
  .merit h2 {
    background-size: contain !important;
  }
  .merit h2 img {
    max-width: 80% !important;
  }
  .merit li {
    width: calc(100% / 2 - 10px);
  }
  .merit li div {
    height: calc(100% - 48px);
  }
  .merit li div img {
    margin: 0;
  }
  .merit li h3 {
    font-size: 22px !important;
  }
  .trader {
    padding: 20px 40px;
  }
  .trader .SP_only {
    display: none;
  }
  .trader .PC_only {
    display: flex !important;
  }
  .reason h2 {
    margin-left: auto;
    margin-right: auto;
  }
  .reason .content, .reason .header .service li, .header .service .reason li, .reason .area .inner, .area .reason .inner, .reason .before_after ul, .before_after .reason ul {
    padding: 20px 10px;
  }
  .reason .content h3 span, .reason .header .service li h3 span, .header .service .reason li h3 span, .reason .area .inner h3 span, .area .reason .inner h3 span, .reason .before_after ul h3 span, .before_after .reason ul h3 span {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .reason .content p, .reason .header .service li p, .header .service .reason li p, .reason .area .inner p, .area .reason .inner p, .reason .before_after ul p, .before_after .reason ul p {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .reason .content p span, .reason .header .service li p span, .header .service .reason li p span, .reason .area .inner p span, .area .reason .inner p span, .reason .before_after ul p span, .before_after .reason ul p span {
    font-size: 32px;
    font-size: 3.2rem;
  }
  .reason .comment {
    justify-content: flex-start;
    margin-bottom: 30px;
  }
  .reason .comment:after {
    background-repeat: no-repeat !important;
    background-size: contain !important;
    width: 25vw;
  }
  .reason .comment .inner {
    padding: 17px;
    width: 64vw;
  }
  .reason .comment .inner:before {
    right: -20px;
    top: 50px;
  }
  .reason .comment .inner:after {
    right: -14.5px;
    top: 50px;
  }
  .reason .comment h4 b {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .comparison {
    padding: 20px 30px 50px !important;
  }
  .comparison .slick {
    padding: 20px 30px !important;
  }
  .comparison .slick .slick-slider {
    margin: auto auto 30px;
    max-width: 550px;
  }
  .comparison .slick .slick-slider .slick-next {
    right: -37px;
  }
  .comparison .slick .slick-slider .slick-prev {
    left: -60px;
  }
  .comparison .slick .slick-slider .slick-slide {
    transform: none !important;
  }
  .comparison .slick .slick-slider .slick-slide img {
    width: 100%;
  }
  .comparison .slick .slick-slider .is--active {
    transform: none !important;
  }
  .comparison .slick .slick-slider .slick-prev:before,
  .comparison .slick .slick-slider .slick-next:before {
    font-size: 40px;
  }
  .voice {
    padding: 30px !important;
  }
  .voice h2 span:nth-child(1) {
    margin: auto;
    width: 60%;
  }
  .voice h2 span:nth-child(3) {
    font-size: 20px;
    font-size: 2rem;
    margin: 15px 0;
  }
  .voice ul {
    display: block !important;
  }
  .voice li {
    margin-bottom: 20px;
    padding: 20px;
    width: 100% !important;
  }
  .voice .voice_title p {
    margin-right: 15px;
  }
  .voice .voice_img {
    min-width: 200px;
  }
  .voice .voice_img .price_img {
    width: 55% !important;
  }
  .voice .SP_only {
    display: block !important;
  }
  .voice .PC_only {
    display: none !important;
  }
  .flow h2 {
    width: 80%;
  }
  .flow h2 span {
    border-radius: 20px;
    height: 40px;
    font-size: 22px;
    font-size: 2.2rem;
    margin: auto;
    max-width: 180px;
  }
  .flow h3 span {
    margin-bottom: 5px;
  }
  .flow .SP_only {
    display: none;
  }
  .flow .PC_only {
    display: block !important;
  }
  .entryMin {
    margin-top: 100px !important;
  }
  .entryMin h2 {
    max-width: 70%;
  }
  .entryMin .form {
    padding: 30px 20px;
  }
  .entryMin .form:before {
    background: url(/img/fuyohin/ihin2/concierge6-sp.webp) no-repeat top right;
    height: 30vh;
    right: 0;
    top: -20vh;
    width: calc(100% / 3);
    z-index: -1;
  }
  .entryMin .form .IE_note {
    display: none;
  }
  .entryMin .form li .other input:checked + label,
  .entryMin .form li .iraisya input:checked + label {
    width: calc(100% - 15px);
  }
  .entryMin ul > li {
    margin-bottom: 10px;
  }
  .entryMin .service li:empty {
    display: none;
  }
  .entryMin .service label {
    padding: 10px 0;
  }
  .QA {
    padding: 50px 30px !important;
  }
  .footer .nav {
    margin-bottom: 60px;
  }
  .footer li {
    margin-bottom: 20px;
    padding-left: 7vw;
    width: calc(100% / 3);
  }
  #demo {
    display: none;
  }
  #canppic {
    display: none;
  }
}

@media screen and (max-width: 414px) {
  .section {
    margin-top: 20px !important;
  }
  h2 span {
    font-size: 18px;
  }
  .tips {
    font-size: 14px !important;
  }
  .out_space {
    padding: 0 20px !important;
  }
  .header .inner .container, .header .inner .contact_part .contact, .contact_part .header .inner .contact, .header .inner .contactFix .pc, .contactFix .header .inner .pc, .header .inner .service, .header .inner .before_after {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
  }
  .header .inner .container::before, .header .inner .contact_part .contact::before, .contact_part .header .inner .contact::before, .header .inner .contactFix .pc::before, .contactFix .header .inner .pc::before, .header .inner .service::before, .header .inner .before_after::before {
    background-position: left bottom !important;
    right: -14% !important;
    top: 0 !important;
    width: 52% !important;
  }
  .header .inner .container::after, .header .inner .contact_part .contact::after, .contact_part .header .inner .contact::after, .header .inner .contactFix .pc::after, .contactFix .header .inner .pc::after, .header .inner .service::after, .header .inner .before_after::after {
    background-position: center bottom;
    background-size: contain;
    right: 10% !important;
    top: 0 !important;
    width: 45% !important;
  }
  .header .inner .container h1, .header .inner .contact_part .contact h1, .contact_part .header .inner .contact h1, .header .inner .contactFix .pc h1, .contactFix .header .inner .pc h1, .header .inner .service h1, .header .inner .before_after h1 {
    margin: 0;
    width: 100%;
  }
  .header .inner .container h1 span:nth-child(1) img, .header .inner .contact_part .contact h1 span:nth-child(1) img, .contact_part .header .inner .contact h1 span:nth-child(1) img, .header .inner .contactFix .pc h1 span:nth-child(1) img, .contactFix .header .inner .pc h1 span:nth-child(1) img, .header .inner .service h1 span:nth-child(1) img, .header .inner .before_after h1 span:nth-child(1) img {
    margin-bottom: 5px;
    width: 95%;
  }
  .header .inner .container h1 span img:nth-child(1), .header .inner .contact_part .contact h1 span img:nth-child(1), .contact_part .header .inner .contact h1 span img:nth-child(1), .header .inner .contactFix .pc h1 span img:nth-child(1), .contactFix .header .inner .pc h1 span img:nth-child(1), .header .inner .service h1 span img:nth-child(1), .header .inner .before_after h1 span img:nth-child(1) {
    display: none !important;
  }
  .header .inner .container h1 span img:nth-child(2), .header .inner .contact_part .contact h1 span img:nth-child(2), .contact_part .header .inner .contact h1 span img:nth-child(2), .header .inner .contactFix .pc h1 span img:nth-child(2), .contactFix .header .inner .pc h1 span img:nth-child(2), .header .inner .service h1 span img:nth-child(2), .header .inner .before_after h1 span img:nth-child(2) {
    display: inline;
  }
  .header .inner .container p, .header .inner .contact_part .contact p, .contact_part .header .inner .contact p, .header .inner .contactFix .pc p, .contactFix .header .inner .pc p, .header .inner .service p, .header .inner .before_after p {
    font-size: 1.4rem;
    line-height: 1.5em;
    margin: 0;
    padding: 10px 0;
    text-align: left;
    text-shadow: 1px  1px 0 #fff, -1px  1px 0 #fff, 1px -1px 0 #fff, -1px -1px 0 #fff, 1px  0 0 #fff, 0  1px 0 #fff, -1px  0 0 #fff, 0 -1px 0 #fff;
    width: 60%;
  }
  .header .inner .container p.note, .header .inner .contact_part .contact p.note, .contact_part .header .inner .contact p.note, .header .inner .contactFix .pc p.note, .contactFix .header .inner .pc p.note, .header .inner .service p.note, .header .inner .before_after p.note {
    bottom: 0;
    font-size: 1.2rem;
    position: relative;
    width: 100%;
  }
  .header .point {
    margin-top: 0;
    width: 100%;
  }
  .header .inner {
    background: none !important;
    border-bottom: 0 !important;
    height: auto;
    padding-top: 0;
  }
  .header .service {
    justify-content: flex-start !important;
    margin-top: 20px !important;
    padding: 0 20px !important;
  }
  .header .service li {
    margin-right: 5px !important;
    width: calc((100% / 4) - 5px);
  }
  .header .service li:nth-of-type(3n+3) {
    margin-right: 0;
  }
  .header .service li .imgNote {
    align-items: center;
    display: flex;
    font-size: 13px !important;
    height: 3em;
    justify-content: center;
    letter-spacing: -1px;
    line-height: 1.1 !important;
    min-height: 50px !important;
    padding: 5px 0 !important;
  }
  .header .service li .imgTitle {
    font-size: 15px !important;
    line-height: 1 !important;
    min-height: 45px !important;
    padding: 5px 0 !important;
  }
  .header .service li .imgTitle.fontSize_s {
    font-size: 12px !important;
    letter-spacing: -1px;
  }
  .header.gaichu_top {
    padding-bottom: 20px !important;
  }
  .header.gaichu_top figure {
    padding-bottom: 5px !important;
  }
  .trouble {
    margin-bottom: -5px !important;
    padding: 25px 0 1px !important;
  }
  .trouble h2:before {
    top: -10vh;
  }
  .trouble .PC_only {
    display: none !important;
  }
  .trouble .SP_only {
    display: flex !important;
  }
  .trouble ul li {
    margin-bottom: 5px !important;
    padding: 5px !important;
    width: calc((100% - 5px) / 2);
  }
  .trouble ul li.trouble5 {
    margin: 60px 0 10px !important;
  }
  .trouble ul li.trouble5:before {
    top: -45px !important;
  }
  .trouble .comment {
    position: relative;
  }
  .trouble .comment .inner {
    padding: 13px !important;
    width: 100% !important;
  }
  .trouble .comment .inner h4 {
    width: 59vw;
  }
  .trouble .comment .inner:before, .trouble .comment .inner:after {
    display: none;
  }
  .trouble .comment:after {
    display: none !important;
  }
  .trouble .contact_part {
    padding: 0 !important;
  }
  aside.contact h2 {
    font-size: 13px;
    max-width: 57%;
  }
  aside.contact h2 img {
    margin-top: 10px;
  }
  aside.contact .tel h3 {
    margin-bottom: 0 !important;
  }
  aside.contact .tel a {
    padding: 0 !important;
  }
  .out_space.contact {
    margin-bottom: 0;
    padding: 1px 20px 20px !important;
  }
  .contact:before {
    top: 17px;
  }
  .contact:after {
    height: 20vw;
    right: 20px;
    top: 32px;
  }
  .trader {
    padding: 30px 20px 0 !important;
  }
  .trader .SP_only {
    display: block !important;
  }
  .trader .PC_only {
    display: none !important;
  }
  .trader img {
    margin-bottom: 15px;
  }
  .trader .trader_title img {
    margin-bottom: 0;
  }
  .trackSize {
    margin: 30px 0 40px !important;
  }
  .trackSize .subTitle p {
    font-size: 6vw !important;
    letter-spacing: -1px;
  }
  .trackSize .subTitle span {
    font-size: 15px !important;
    line-height: 1.2 !important;
  }
  .merit {
    margin-bottom: 0 !important;
    margin-top: 40px !important;
    padding: 20px !important;
    padding-bottom: 40px !important;
    padding-top: 0 !important;
  }
  .merit li {
    font-size: 1.7rem;
    margin-bottom: 10px !important;
    width: 100% !important;
  }
  .merit li p {
    font-size: 15px !important;
  }
  .merit li div {
    position: relative;
  }
  .merit li div img {
    left: 13px;
    margin: 0 !important;
    max-width: 58px !important;
    position: absolute;
    top: -43px;
  }
  .merit li div p {
    padding-bottom: 0 !important;
  }
  .merit li:nth-of-type(3) p,
  .merit li:nth-of-type(4) p,
  .merit li:nth-of-type(6) p {
    padding-bottom: 25px !important;
  }
  .merit .merit_subtitle {
    padding: 35px 10px !important;
  }
  .merit .policy {
    display: block !important;
    padding: 20px !important;
  }
  .merit .policy .policyImg {
    display: block !important;
    float: left !important;
    min-width: 60px;
  }
  .merit .policy p {
    text-align: center;
  }
  .merit .policy p strong {
    letter-spacing: -1px;
  }
  .merit .policy p.text {
    text-align: left;
  }
  .reason {
    padding: 40px 0 5px !important;
  }
  .reason .content p, .reason .header .service li p, .header .service .reason li p, .reason .area .inner p, .area .reason .inner p, .reason .before_after ul p, .before_after .reason ul p {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.2;
    padding: 10px 0;
  }
  .reason .content p span, .reason .header .service li p span, .header .service .reason li p span, .reason .area .inner p span, .area .reason .inner p span, .reason .before_after ul p span, .before_after .reason ul p span {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .reason .content h3 img, .reason .header .service li h3 img, .header .service .reason li h3 img, .reason .area .inner h3 img, .area .reason .inner h3 img, .reason .before_after ul h3 img, .before_after .reason ul h3 img {
    width: 80% !important;
  }
  .reason h2 span {
    font-size: 5vw !important;
  }
  .reason .comment {
    position: relative;
  }
  .reason .comment .inner {
    padding: 13px !important;
    width: 100% !important;
  }
  .reason .comment .inner h4 {
    width: 59vw;
  }
  .reason .comment .inner:before, .reason .comment .inner:after {
    display: none;
  }
  .reason .comment .inner p {
    width: calc(100% - 87px);
  }
  .reason .comment:after {
    height: 90px;
    position: absolute !important;
    right: 10px;
    top: 27px;
    width: 82px;
    z-index: 0 !important;
  }
  .comparison {
    padding: 30px 20px 30px !important;
  }
  .comparison h2 img {
    width: 100% !important;
  }
  .comparison .slick {
    padding: 20px 30px !important;
  }
  .comparison .slick .slick-slider .slick-next {
    right: -25px;
  }
  .comparison .slick .slick-slider .slick-prev {
    left: -25px;
  }
  .comparison .slick .slick-slider .slick-prev:before,
  .comparison .slick .slick-slider .slick-next:before {
    font-size: 20px;
  }
  .voice {
    padding: 25px 20px 35px !important;
  }
  .voice .voiceContent {
    height: 300px !important;
  }
  .voice h2 span:nth-child(1) {
    max-width: 40% !important;
    min-width: 200px !important;
  }
  .voice h2 span:nth-child(1) img {
    width: 100%;
  }
  .voice h2 span.SP_only {
    font-size: 18px;
  }
  .voice h3 {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }
  .voice h3 span:nth-child(1) {
    font-size: 18px;
    font-size: 1.8rem;
  }
  .voice h3 span:nth-child(2) {
    width: calc(100% - 110px);
  }
  .voice li {
    margin-bottom: 10px !important;
  }
  .voice li:last-of-type {
    margin-bottom: 0 !important;
  }
  .voice .voice_content {
    flex-direction: column !important;
  }
  .voice .customer {
    font-size: 1.3rem !important;
    position: relative;
    width: 100% !important;
  }
  .voice .customer br {
    display: none;
  }
  .voice .customer img {
    left: -15px;
    position: relative;
    width: 54px;
  }
  .voice .comment {
    width: 100%;
  }
  .voice .comment p {
    margin-bottom: 0 !important;
  }
  .voice .comment.comment1 {
    border-left: 0 !important;
    border-top: 2px solid;
    padding: 20px 0 0 !important;
  }
  .voice .voice_title {
    padding: 15px !important;
  }
  .voice .voice_title p {
    font-size: 15px !important;
  }
  .voice .voice_title img {
    display: none;
  }
  .voice .voice_img {
    display: block !important;
    max-width: unset !important;
    padding-right: 0 !important;
    position: relative;
    width: 100% !important;
  }
  .voice .voice_img .voicebf_img {
    align-items: flex-start !important;
    width: 100% !important;
  }
  .voice .voice_img .voicebf_img img {
    height: 50px !important;
    width: 50px !important;
  }
  .voice .voice_img .price_img {
    right: 0 !important;
    width: calc(100% + 10px) !important;
  }
  .voice .voice_img .score {
    bottom: 10px;
    left: 65px;
    position: absolute;
  }
  .voice .PC_only {
    display: none !important;
  }
  .voice .SP_only {
    display: block !important;
  }
  .flow h2 {
    text-align: left;
  }
  .flow h2 span {
    height: 32px;
    font-size: 15px;
    font-size: 1.5rem;
    max-width: 120px;
  }
  .flow h2 img {
    margin-top: 15px;
    min-width: 250px;
    width: 60%;
  }
  .flow .SP_only {
    display: block !important;
  }
  .flow .SP_only img {
    margin: 10px auto;
  }
  .flow .PC_only {
    display: none !important;
  }
  .area {
    margin-top: 40px !important;
  }
  .QA {
    padding: 40px 20px !important;
  }
  .QA .QAContent li .question {
    font-size: 16px !important;
    height: auto !important;
    padding: 10px 50px 10px 10px !important;
  }
  .QA .QAContent li .question:before {
    height: 40px !important;
    margin-right: 10px !important;
    min-width: 40px;
    width: 40px !important;
  }
  .QA .QAContent li .question:after {
    height: 25px !important;
    right: 10px !important;
    width: 25px !important;
  }
  .entryMin h2 {
    margin-bottom: 5px !important;
  }
  .entryMin h2 img {
    margin-left: 0 !important;
    width: 70%;
  }
  .entryMin .form textarea,
  .entryMin .form input[type="text"] {
    width: 100%;
  }
  .entryMin .form label[for="time"] span {
    width: 110px !important;
  }
  .entryMin .form:before {
    top: -18vh;
  }
  .entryMin .form .address {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .entryMin .form .address div:nth-child(1) {
    width: 30% !important;
  }
  .entryMin .form .address div:last-of-type {
    width: 100%;
  }
  .entryMin .form .address #sys_zyusho {
    width: 60%;
  }
  .entryMin .form .opacity1 {
    font-size: 14px !important;
  }
  .entryMin .form li .other input:checked + label,
  .entryMin .form li .iraisya input:checked + label {
    width: calc(100% - 15px);
  }
  .footer li {
    padding-left: 5vw;
    width: calc(100% / 2);
  }
  .button, .contact_part .contact .form a {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    padding: 10px 10px 5px 10px;
  }
  .button #canppic, .contact_part .contact .form a #canppic {
    display: none;
    width: calc(30% - 10px);
  }
  .button #canppic img, .contact_part .contact .form a #canppic img {
    width: 100%;
  }
  .button #text, .contact_part .contact .form a #text {
    color: #fff;
    margin: 0 auto;
    width: calc(60% -10px);
  }
  .button #text b, .contact_part .contact .form a #text b {
    font-size: 2.5rem;
  }
  .button #counttimer, .contact_part .contact .form a #counttimer {
    display: none;
    font-size: .9em;
    text-align: center;
    width: 100%;
  }
  .form .button, .contact_part .contact .form a {
    padding: 15px 10px;
  }
  .form .button #text, .contact_part .contact .form a #text {
    text-align: center;
  }
  .form .button #text b, .contact_part .contact .form a #text b {
    font-size: 2.0rem;
  }
  .entryButtonFixed {
    transition: .5s;
  }
  .entryButtonFixed.hide {
    transform: translateY(100%);
  }
  .entryButtonFixed .sp a {
    padding: 10px 0 !important;
  }
}

@media screen and (max-width: 350px) {
  .header .service li:nth-of-type(2) .imgTitle {
    font-size: 14px !important;
  }
  .merit li:first-of-type h3 {
    margin-left: 55px;
  }
  .merit .policy .policyText p strong {
    font-size: 21px;
  }
  .reason .comment .inner h4 {
    width: 100%;
  }
  .reason .comment:after {
    top: 69px;
  }
  .voice h2 span.SP_only {
    font-size: 5vw;
  }
  .voice .customer {
    line-height: 1.2;
  }
  .voice .customer br {
    display: block;
  }
  .voice .voice_img {
    padding-right: 0;
    position: unset;
  }
  .voice .voice_img .score {
    position: unset;
  }
}

.campaign {
  margin: 0 auto;
  max-width: 1000px;
  padding: 30px 10px 30px 10px;
  text-align: center;
  width: 100%;
}

.campaign .title {
  color: black;
  font-size: 40px;
}

.campaign .title strong {
  background: none;
  color: #fedb3c;
  font-size: 40px;
}

.campaign .title strong span {
  font-size: 60px;
}

.campaign .comment {
  background-color: #fff3c8;
  border-radius: 10px;
  margin-top: 30px;
  padding: 40px;
  text-align: left;
  width: calc(80% - 10px);
}

.campaign .comment br {
  display: none;
}

.desc {
  display: flex;
  justify-content: space-between;
  position: relative;
}

.desc .image {
  margin-top: -40px;
  position: relative;
  width: 150px;
}

.desc .image img {
  height: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 150px;
}

.desc li {
  line-height: 1.5em;
}

.desc li span {
  color: #ce0057;
  font-weight: bold;
}

.content2 #campaignImg {
  background-color: #fff;
  border: 3px solid #000;
  border-radius: 10px;
  padding: 30px 10px 30px 10px;
}

.content2 #campaignImg img {
  width: calc(100% - 20px);
}

.content2 #campaignImg .spcamp {
  display: none;
}

@media screen and (max-width: 768px) {
  .campaign > .title {
    font-size: 6vw;
  }
  .campaign > .title strong {
    line-height: 1.2;
  }
  .campaign .main {
    padding: 17px;
  }
  .campaign .main .title {
    margin-bottom: 20px;
  }
  .campaign .main .title strong {
    font-size: 24px;
  }
  .campaign .main .title strong em {
    font-size: 32px;
  }
  .campaign .main .point {
    font-size: 18px;
  }
  .campaign .main .point em {
    font-size: 24px;
  }
  .campaign .desc .title {
    font-size: 18px;
  }
  .campaign .desc .comment {
    padding: 20px;
    width: 80%;
  }
  .campaign .desc .image {
    margin: 0;
    width: 15%;
  }
  .campaign .desc .image img {
    width: calc(100% + 20px);
  }
}

@media screen and (max-width: 414px) {
  .campaign > .title {
    margin-bottom: 20px;
  }
  .campaign > .title strong {
    font-size: 6vw;
  }
  .campaign > .title strong span {
    font-size: 6vw;
  }
  .campaign #campaignImg {
    margin: 0 auto;
    padding: 10px;
    width: 100%;
  }
  .campaign #campaignImg img {
    height: auto;
    width: 100%;
  }
  .campaign #campaignImg .pccamp {
    display: none;
  }
  .campaign #campaignImg .spcamp {
    display: inline;
  }
  .campaign .content2 {
    margin: 20px 10px 40px 10px;
  }
  .campaign .main {
    margin-bottom: 20px;
  }
  .campaign .main .title strong em {
    display: block;
  }
  .campaign .desc {
    display: block;
  }
  .campaign .desc .comment {
    width: 100%;
  }
  .campaign .desc .comment br {
    display: inline;
  }
  .campaign .desc .comment:after {
    display: none;
  }
  .campaign .desc .comment ul {
    margin-top: 50px;
  }
  .campaign .desc .image {
    position: absolute;
    right: 20px;
    top: 0;
  }
  .content2 #campaignImg {
    border: none;
    border-radius: 10px;
  }
  .content2 #campaignImg img {
    width: calc(100% - 20px);
  }
  .content2 #campaignImg .spcamp {
    display: inline;
  }
}

.form .submit button {
  justify-content: center;
  position: relative;
}

.form .submit button.lack .cover {
  display: block;
  padding: 30px 0;
  /*padding: 1em 0 0 140px;*/
  text-align: center;
}

.form .submit button.lack .cover:before {
  background: url(/img/campaign_bw.webp) no-repeat;
  content: "";
  display: none;
  /*キャンペーンじゃない　display: inline-block;*/
  height: 3em;
  left: 5px;
  position: absolute;
  top: 15px;
  width: 7em;
}

.form .submit .count-down {
  bottom: .3em;
  color: #fff;
  /*キャンペーンじゃない*/
  display: none;
  font-size: 14px;
  letter-spacing: -.01em;
  padding: 1em 0 0 0;
  position: absolute;
  text-align: center;
  text-shadow: #000 1px 0, #000 -1px 0, #000 0 -1px, #000 0 1px, #000 1px 1px, #000 -1px 1px, #000 1px -1px, #000 -1px -1px, #000 1px 1px, #000 -1px 1px, #000 1px -1px, #000 -1px -1px, #000 1px 1px, #000 -1px 1px, #000 1px -1px, #000 -1px -1px, #000 3px 3px;
  width: calc(100% - 140px);
  z-index: 9999;
}

@media screen and (max-width: 768px) {
  .form .submit button {
    /*キャンペーンじゃない padding: 10px 0 30px 17vw;*/
  }
  .form .submit button.lack .cover {
    /*padding: 1em 0 0 18vw;*/
    padding: 34px 0;
  }
  .form .submit button.lack .cover:before {
    background-size: contain;
    bottom: -.5vw;
    left: 2vw;
    top: auto;
    width: 19vw;
  }
  .form .submit .count-down {
    bottom: 0;
    margin: 0;
    padding: 1em 0 0 0;
  }
}

@media screen and (max-width: 414px) {
  .form .submit button {
    padding: 10px 0;
    /*キャンペーンじゃない　padding: 10px 0 30px 4em;*/
  }
  .form .submit button.lack .cover {
    /*キャンペーンじゃない　padding: 1em 0 0 4em;*/
    padding: 17px 0;
  }
  .form .submit button.lack .cover:before {
    left: 1vw;
    top: 9px;
  }
  .form .submit .count-down {
    left: 0;
    padding: 0;
    width: 100%;
  }
}

.articleEntry {
  background: url(/img/house-cleaning/bg1.webp);
  padding-bottom: 60px 0;
}

#contactForm {
  min-height: 180px;
  position: relative;
}

#contactForm #form_title {
  animation: floating 5s ease infinite;
  margin: auto;
  position: absolute;
  text-align: center;
  top: 0;
  width: 100%;
  z-index: 6;
}

#contactForm #form_title img {
  margin-top: 20px;
  max-width: 330px;
}

#contactForm #form_title picture {
  cursor: pointer;
  display: inline-block;
  position: relative;
}

#contactForm #form_title picture:after {
  background: url(/img/chatform/form-start-part.webp) no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 45px;
  position: absolute;
  right: -25px;
  top: 20px;
  width: 45px;
}

#contactForm label {
  cursor: pointer;
}

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

.thanks {
  background: rgba(255, 255, 255, 0.7);
  border: 5px solid #ce0057;
  box-shadow: 3px 3px 5px #bdbbbb;
  margin: 50px auto;
  max-width: 940px;
  padding: 50px 30px;
  position: relative;
}

.thanks h2.title {
  color: #af1159;
  font-size: 40px;
  margin-bottom: 20px;
  max-width: 100% !important;
}

.thanks img {
  bottom: -10px;
  position: absolute;
  right: -10px;
}

.thanks p {
  max-width: 80%;
}

#forms {
  background: url(/img/chatform/chatform_bg.webp);
  background-size: 3%;
  padding: 60px 15px 60px;
}

#forms .fontsize_s {
  font-size: 15px !important;
  line-height: 1.2 !important;
}

#forms .textarea,
#forms .add {
  min-height: 100px !important;
  width: 100% !important;
}

#forms .textarea textarea,
#forms .add textarea {
  background: #fffde9;
  border: 3px solid #f0e156;
  border-radius: 10px;
  -webkit-box-shadow: inset 2px 2px 3px rgba(98, 68, 68, 0.3);
  box-shadow: inset 2px 2px 3px rgba(98, 68, 68, 0.3);
  font-weight: normal;
  height: 100%;
  line-height: 1.2;
  min-height: 100px;
  padding: 7px;
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  width: 100%;
}

#forms .textarea textarea::placeholder,
#forms .add textarea::placeholder {
  font-weight: normal;
}

#forms .balloon {
  background: #fff;
  border: 3px solid #e4ce14;
  border-radius: 15px;
  display: inline-block;
  letter-spacing: -1px;
  line-height: 1.5;
  margin-bottom: 15px;
  margin-left: 68px;
  max-width: 75%;
  min-width: 10em;
  padding: 15px 16px 13px;
  position: relative;
}

#forms .balloon.fir {
  margin-top: 50px;
}

#forms .balloon.fir:after {
  background: url(/img/chatform/chat_icon.webp);
  background-size: 100%;
  content: "";
  display: inline-block;
  height: 50px;
  left: -70px;
  position: absolute;
  top: -30px;
  width: 50px;
}

#forms .balloon.fir:before {
  content: "あなたのコンシェルジュ　江尾";
  display: inline-block;
  font-size: 13px;
  left: -15px;
  position: absolute;
  top: -34px;
}

#forms .balloon p:after {
  border-color: transparent transparent transparent #fff;
  border-style: solid;
  border-width: 12px 0 11px 11px;
  content: "";
  left: -7px;
  position: absolute;
  top: 6px;
  transform: rotate(-39deg);
  z-index: 1;
}

#forms .balloon p:before {
  border-color: transparent transparent transparent #e4ce14;
  border-style: solid;
  border-width: 15px 0 16px 12px;
  content: "";
  left: -12px;
  position: absolute;
  top: 0;
  transform: rotate(-41deg);
  z-index: 1;
}

#forms .serif .balloon[style*="display: none"] + .balloon {
  margin-top: 50px;
}

#forms .serif .balloon[style*="display: none"] + .balloon:after {
  background: url(/img/chatform/chat_icon.webp);
  background-size: 100%;
  content: "";
  display: inline-block;
  height: 50px;
  left: -70px;
  position: absolute;
  top: -30px;
  width: 50px;
}

#forms .serif .balloon[style*="display: none"] + .balloon:before {
  content: "あなたのコンシェルジュ　江尾";
  display: inline-block;
  font-size: 13px;
  left: -15px;
  position: absolute;
  top: -34px;
}

#forms a,
#forms button,
#forms label,
#forms input,
#forms summary,
#forms span {
  outline: none !important;
  -webkit-tap-highlight-color: transparent !important;
}

#forms #chatForm #introO {
  margin-bottom: 15px;
  padding-bottom: 35px;
}

#forms #chatForm #threePoints {
  margin-bottom: 15px;
  margin-top: 10px;
}

#forms #chatForm #threePoints img {
  width: calc(100% + 1%);
}

#forms #chatForm #threePoints #imgNext {
  margin-top: 10px;
  text-align: center;
}

#forms #chatForm #threePoints #imgNext span.confirmA {
  background: #81ce7e;
  border-radius: 28px;
  box-shadow: 0 4px #2d8821;
  color: #fff;
  cursor: pointer;
  font-weight: bold;
  padding: 10px 40px 8px;
}

#forms #chatForm #threePoints #imgNext span.confirmA:before {
  background: url(/img/chatform/check.webp) no-repeat;
  background-size: 100%;
  content: "";
  display: inline-block;
  height: 19px;
  left: -5px;
  position: relative;
  top: 3px;
  width: 18px;
}

#forms #chatForm #introO_outline {
  width: 100%;
}

#forms #chatForm .optionOutline {
  background: #fff;
  border-radius: 15px;
  box-shadow: 3px 3px 5px #bdbbbb;
  margin-top: 10px;
  padding: 40px 20px 60px;
  position: relative;
}

#forms #chatForm .optionOutline .notice_s {
  font-size: 12px;
  letter-spacing: -1px;
}

#forms #chatForm .optionOutline .notice_s span {
  color: red;
}

#forms #chatForm .optionOutline .notice_l {
  background: #f9ef9b;
  border-radius: 0 0 15px 15px;
  bottom: 0;
  color: #474005;
  font-size: 15px;
  font-weight: bold;
  left: 0;
  line-height: 1.2;
  padding: 8px 0 8px;
  position: absolute;
  text-align: center;
  width: 100%;
}

#forms #chatForm .optionOutline .notice_l span {
  display: inline-block;
  text-align: left;
}

#forms #chatForm .optionOutline .itext_O {
  font-size: 4.2vw;
  font-weight: bold;
  line-height: 1.3;
  margin-top: 5px;
}

#forms #chatForm .optionOutline .intro_O {
  border-radius: 15px;
  display: table;
  width: 100%;
}

#forms #chatForm .optionOutline #introO_1 {
  margin-bottom: 25px;
  position: relative;
  width: 100%;
}

#forms #chatForm .optionOutline #introO_1 .intro_O {
  align-items: center;
  background: #e7ffe4;
  border: 3px solid #52b645;
  box-shadow: 0 4px 0 #2d8821;
}

#forms #chatForm .optionOutline #introO_1 .intro_O:after {
  background: url(/img/chatform/recommendation.webp) no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 41px;
  left: -10px;
  position: absolute;
  top: -27px;
  width: 100px;
}

#forms #chatForm .optionOutline #introO_1 .itext_O {
  color: #2d8821;
}

#forms #chatForm .optionOutline #introO_1 .time {
  color: #2d8821;
}

#forms #chatForm .optionOutline #introO_1 input:checked + .intro_O {
  background: #2d8821;
  border-color: #2d8821;
  bottom: -4px;
  box-shadow: none;
  position: relative;
}

#forms #chatForm .optionOutline #introO_1 input:checked + .intro_O .itext_O,
#forms #chatForm .optionOutline #introO_1 input:checked + .intro_O .notice_s {
  color: #fff;
}

#forms #chatForm .optionOutline #introO_1 input:checked + .intro_O .itext_O span,
#forms #chatForm .optionOutline #introO_1 input:checked + .intro_O .notice_s span {
  color: #fff;
}

#forms #chatForm .optionOutline #introO_1 input:checked + .intro_O:after {
  left: -11px;
  top: -30px;
}

#forms #chatForm .optionOutline #introO_2 {
  width: 100%;
}

#forms #chatForm .optionOutline #introO_2 .intro_O {
  align-items: center;
  background: #e8f9fe;
  border: 3px solid #55adb5;
  box-shadow: 0 4px 0 #198690;
}

#forms #chatForm .optionOutline #introO_2 .itext_O {
  color: #198690;
}

#forms #chatForm .optionOutline #introO_2 .time {
  color: #198690;
}

#forms #chatForm .optionOutline #introO_2 input:checked + .intro_O {
  background: #198690;
  border-color: #198690;
  bottom: -4px;
  box-shadow: none;
  position: relative;
}

#forms #chatForm .optionOutline #introO_2 input:checked + .intro_O .itext_O,
#forms #chatForm .optionOutline #introO_2 input:checked + .intro_O .notice_s {
  color: #fff;
}

#forms #chatForm .optionOutline .time {
  background: #fff;
  border-radius: 15px 40px 40px 15px;
  display: table-cell;
  font-size: 6vw;
  font-weight: bold;
  height: 100%;
  vertical-align: middle;
  width: 20%;
}

#forms #chatForm .optionOutline .potion {
  display: table-cell;
  padding: 10px 0;
  width: 80%;
}

#forms #chatForm label {
  display: block;
  text-align: center;
}

#forms #chatForm label .airconO .aircon {
  display: none;
}

#forms #chatForm label p.aircon_t {
  display: flex;
  flex-direction: column;
  height: 40px;
  justify-content: center;
  line-height: 1;
}

#forms #chatForm label input[type="radio"],
#forms #chatForm label input[type="checkbox"] {
  display: none;
}

#forms #chatForm label input[type="radio"]:checked + .chat_O,
#forms #chatForm label input[type="checkbox"]:checked + .chat_O {
  background: #2d8821;
  border: 3px solid #2d8821 !important;
  bottom: -4px;
  box-shadow: unset !important;
  color: #fff;
  position: relative;
}

#forms #chatForm label input[type="radio"]:checked + .chat_O .ctext_O,
#forms #chatForm label input[type="checkbox"]:checked + .chat_O .ctext_O {
  color: #fff !important;
}

#forms #chatForm label input[type="radio"]:checked + .chat_O.airconO .aircon,
#forms #chatForm label input[type="checkbox"]:checked + .chat_O.airconO .aircon {
  display: flex;
  justify-content: center;
  width: 10em;
}

#forms #chatForm label input[type="radio"]:checked + .chat_O.airconO .aircon input,
#forms #chatForm label input[type="checkbox"]:checked + .chat_O.airconO .aircon input {
  align-items: center;
  background: #fffde9 !important;
  border: 3px solid #f0e156 !important;
  border-radius: 10px;
  display: block;
  font-weight: normal;
  height: 2em;
  margin-right: 10px;
  padding: 7px;
  width: calc(100% - 4em) !important;
}

#forms #chatForm label input[type="radio"]:checked + .chat_O.airconO .aircon span,
#forms #chatForm label input[type="checkbox"]:checked + .chat_O.airconO .aircon span {
  color: #fff;
  font-size: 15px !important;
  line-height: 2;
}

#forms #chatForm label input[type="radio"]:checked + div {
  pointer-events: none;
}

#forms #chatForm label p {
  text-align: center;
}

#forms #chatForm .multipleC {
  width: 100%;
}

#forms #chatForm #chat .threeMin > div,
#forms #chatForm #serviceSelect .threeMin > div {
  width: 100%;
}

#forms #chatForm #chat .optionOutline,
#forms #chatForm #serviceSelect .optionOutline {
  border-top: 5px solid #81ce7e;
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr 1fr 1fr;
  justify-content: space-between;
  margin-bottom: 15px;
  position: relative;
}

#forms #chatForm #chat .optionOutline .notice_m,
#forms #chatForm #chat .optionOutline .textarea,
#forms #chatForm #serviceSelect .optionOutline .notice_m,
#forms #chatForm #serviceSelect .optionOutline .textarea {
  grid-column-end: 4;
  grid-column-start: 1;
}

#forms #chatForm #chat .optionOutline .optionTitlePa,
#forms #chatForm #serviceSelect .optionOutline .optionTitlePa {
  background: #81ce7e;
  color: #fff;
  font-weight: bold;
  grid-column-end: 4 !important;
  grid-column-start: 1;
  text-align: center;
}

#forms #chatForm #chat .optionOutline.house.two p.optionTitle,
#forms #chatForm #serviceSelect .optionOutline.house.two p.optionTitle {
  grid-column-end: 3;
  grid-column-start: 1;
}

#forms #chatForm #chat .optionOutline .notice_m,
#forms #chatForm #serviceSelect .optionOutline .notice_m {
  display: block;
  font-size: 12px;
  letter-spacing: -1px;
  margin-bottom: -15px;
  text-align: center;
  width: 100%;
}

#forms #chatForm #chat .optionOutline .desired_time,
#forms #chatForm #serviceSelect .optionOutline .desired_time {
  display: grid;
  gap: 20px;
  grid-column-end: 4;
  grid-column-start: 1;
  margin-bottom: 30px;
}

#forms #chatForm #chat .optionOutline .preferred_date,
#forms #chatForm #serviceSelect .optionOutline .preferred_date {
  border: 1px solid #81ce7e;
  box-shadow: 0 1px 5px #bfbebe;
  display: grid;
  gap: 10px 0;
  padding: 10px;
}

#forms #chatForm #chat .optionOutline .preferred_date .optionTitle,
#forms #chatForm #serviceSelect .optionOutline .preferred_date .optionTitle {
  grid-column-end: 4 !important;
  grid-column-start: 1;
}

#forms #chatForm #chat .optionOutline .preferred_date .four,
#forms #chatForm #serviceSelect .optionOutline .preferred_date .four {
  gap: 10px 0;
}

#forms #chatForm #chat .optionOutline .preferred_date label,
#forms #chatForm #serviceSelect .optionOutline .preferred_date label {
  margin: 0 5px;
}

#forms #chatForm #chat .tips,
#forms #chatForm #serviceSelect .tips {
  font-size: 14px;
  letter-spacing: -1px;
  margin-bottom: 15px;
  text-align: center;
  width: 100%;
}

#forms #chatForm #chat .chat_O,
#forms #chatForm #serviceSelect .chat_O {
  align-items: center;
  border: 3px solid #f0e156;
  border-radius: 15px;
  box-shadow: 0 4px 0 #dd9800;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  min-height: 65px;
  padding: 5px 0 2px;
}

#forms #chatForm #chat .chat_O img,
#forms #chatForm #serviceSelect .chat_O img {
  height: 16vw;
  margin-bottom: 3px;
  width: auto;
}

#forms #chatForm #chat .chat_O p,
#forms #chatForm #serviceSelect .chat_O p {
  color: #362500;
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
}

#forms #chatForm #chat .chat_O p span,
#forms #chatForm #serviceSelect .chat_O p span {
  font-size: 13px;
}

#forms #chatForm #chat .chat_O.nothing,
#forms #chatForm #serviceSelect .chat_O.nothing {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: space-evenly;
}

#forms #chatForm #chat .noO,
#forms #chatForm #serviceSelect .noO {
  background: #81ce7e;
  border-radius: 15px 15px 15px 0;
  color: #fff;
  font-weight: bold;
  left: 0;
  line-height: 1;
  padding: 5px 20px 5px 10px;
  position: absolute;
  top: -17px;
}

#forms #chatForm #chat .noO span,
#forms #chatForm #serviceSelect .noO span {
  font-size: 18px;
}

#forms #chatForm #chat #chatQA_3 .chat_O,
#forms #chatForm #serviceSelect #chatQA_3 .chat_O {
  max-height: unset;
}

#forms #chatForm #chat #chatQA_3 .chat_O p,
#forms #chatForm #serviceSelect #chatQA_3 .chat_O p {
  font-size: 17px;
  letter-spacing: -1px;
}

#forms #chatForm #chat #chatQA_3 .chat_O p span,
#forms #chatForm #serviceSelect #chatQA_3 .chat_O p span {
  font-size: 13px;
}

#forms #chatForm #chat #chatO_4_1,
#forms #chatForm #chat #chatO_4_13,
#forms #chatForm #serviceSelect #chatO_4_1,
#forms #chatForm #serviceSelect #chatO_4_13 {
  flex-direction: row;
  justify-content: center;
}

#forms #chatForm #chat #chatO_4_1 input,
#forms #chatForm #chat #chatO_4_13 input,
#forms #chatForm #serviceSelect #chatO_4_1 input,
#forms #chatForm #serviceSelect #chatO_4_13 input {
  background: #fffde9 !important;
  border: 3px solid #f0e156 !important;
  max-width: 250px;
  min-width: 100px;
  width: 60%;
}

#forms #chatForm #chat #chatO_4_1 span,
#forms #chatForm #chat #chatO_4_13 span,
#forms #chatForm #serviceSelect #chatO_4_1 span,
#forms #chatForm #serviceSelect #chatO_4_13 span {
  color: #362500;
  font-size: 18px;
  font-weight: bold;
  line-height: 65px;
  margin: 0 10px;
}

#forms #chatForm #chat .payment,
#forms #chatForm #serviceSelect .payment {
  color: #ff8100;
}

#forms #chatForm #chat .payment p,
#forms #chatForm #serviceSelect .payment p {
  color: #ff8100;
}

#forms #chatForm #chat .multipleC .optionOutline,
#forms #chatForm #serviceSelect .multipleC .optionOutline {
  margin-bottom: 35px;
  padding-bottom: 110px;
}

#forms #chatForm #chat .multipleC .optionOutline .notice_l,
#forms #chatForm #serviceSelect .multipleC .optionOutline .notice_l {
  padding: 10px 0 30px;
}

#forms #chatForm #chat .optionTitle,
#forms #chatForm #serviceSelect .optionTitle {
  color: #2d8821;
  display: block;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  width: 100%;
}

#forms #chatForm #chat .optionTitle.top_line,
#forms #chatForm #serviceSelect .optionTitle.top_line {
  border-radius: 0;
  border-top: 2px dotted #81ce7e;
  margin-top: 20px;
  padding-top: 10px;
}

#forms #chatForm #chat .confirm,
#forms #chatForm #serviceSelect .confirm {
  bottom: -18px;
  left: 0;
  position: absolute;
  text-align: center;
  width: 100%;
}

#forms #chatForm #chat .confirm .confirmA,
#forms #chatForm #serviceSelect .confirm .confirmA {
  background: #81ce7e;
  border-radius: 28px;
  box-shadow: 0 4px #2d8821;
  color: #fff;
  cursor: pointer;
  font-weight: bold;
  padding: 6px 20px 4px;
}

#forms #chatForm #chat .confirm .confirmA#airconTypeResult,
#forms #chatForm #serviceSelect .confirm .confirmA#airconTypeResult {
  background: #becac7;
  box-shadow: 0 4px #a0a0a0;
  line-height: 1.2;
  padding: 3px 17px 5px;
}

#forms #chatForm #chat .confirm .confirmA:before,
#forms #chatForm #serviceSelect .confirm .confirmA:before {
  background: url(/img/chatform/check.webp) no-repeat;
  background-size: 100%;
  content: "";
  display: inline-block;
  height: 19px;
  left: -5px;
  position: relative;
  top: 3px;
  width: 18px;
}

#forms #chatForm #chat .confirm .confirmA:hover,
#forms #chatForm #serviceSelect .confirm .confirmA:hover {
  position: relative;
  top: 5px;
}

#forms #chatForm #chat input.yes + .chat_O img:last-of-type,
#forms #chatForm #chat input.no + .chat_O img:last-of-type,
#forms #chatForm #serviceSelect input.yes + .chat_O img:last-of-type,
#forms #chatForm #serviceSelect input.no + .chat_O img:last-of-type {
  display: none;
}

#forms #chatForm #chat input.yes:checked + .chat_O img:first-of-type,
#forms #chatForm #chat input.no:checked + .chat_O img:first-of-type,
#forms #chatForm #serviceSelect input.yes:checked + .chat_O img:first-of-type,
#forms #chatForm #serviceSelect input.no:checked + .chat_O img:first-of-type {
  display: none;
}

#forms #chatForm #chat input.yes:checked + .chat_O img:last-of-type,
#forms #chatForm #chat input.no:checked + .chat_O img:last-of-type,
#forms #chatForm #serviceSelect input.yes:checked + .chat_O img:last-of-type,
#forms #chatForm #serviceSelect input.no:checked + .chat_O img:last-of-type {
  display: block;
  margin: 0 auto 5px auto;
}

#forms #chatForm #chat .addition,
#forms #chatForm #serviceSelect .addition {
  margin-top: 15px;
  width: 100%;
}

#forms #chatForm #chat #cc_thanks,
#forms #chatForm #serviceSelect #cc_thanks {
  margin: 20px auto;
}

#forms #chatForm #chat #cc_thanks .thanks_img,
#forms #chatForm #serviceSelect #cc_thanks .thanks_img {
  margin: auto;
  max-width: 150px;
  position: relative;
}

#forms #chatForm #chat #cc_thanks #star,
#forms #chatForm #serviceSelect #cc_thanks #star {
  animation: vibration .4s linear infinite;
  left: -7%;
  position: absolute;
  top: 39%;
  width: 110%;
}

#forms div#chatF {
  max-width: 940px;
  width: 100%;
}

#forms .form {
  background: none;
  border: none;
  padding: 0;
  width: 100%;
}

#forms .form input[type="text"],
#forms .form input[type="date"],
#forms .form textarea {
  background: #fffde9 !important;
  border: 3px solid #f0e156 !important;
}

#forms .form .required:before {
  background: #ce0057;
  border-radius: 5px;
  bottom: 15px;
  color: white;
  content: "必須";
  font-size: 12px;
  height: 20px;
  padding: 0;
  position: absolute;
  right: 10px;
  text-align: center;
  width: 30px;
  z-index: 1;
}

#forms .form .input label {
  display: flex !important;
  text-align: left !important;
}

#forms .form .input label span:nth-child(2) {
  color: #d2ca88 !important;
}

#forms .form .input input::placeholder {
  color: #fffde9 !important;
}

#forms .optionOutline.userInfo {
  margin-bottom: 0 !important;
  padding-bottom: 30px !important;
}

#forms .optionOutline.userInfo .address {
  color: #2d8821;
}

#forms .optionOutline.userInfo .address div {
  display: inline-block;
}

#forms #normal .form {
  background: rgba(255, 255, 255, 0.7);
  border: none;
  border-radius: 15px;
  border-top: 5px solid #6cc4e1;
  box-shadow: 3px 3px 5px #bdbbbb;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 15px;
  margin-top: 10px;
  padding: 0;
  padding: 20px 20px 25px;
  position: relative;
}

#forms #normal .form .address {
  color: #198690;
}

#forms #normal .form ol {
  width: 100%;
}

#forms #normal .form #normalTitle {
  background: #6cc4e1;
  border-radius: 15px 15px 15px 0;
  color: #fff;
  font-weight: bold;
  left: 0;
  line-height: 1;
  padding: 5px 20px 5px 10px;
  position: absolute;
  top: -17px;
}

#forms #normal .form .userInfo label {
  width: auto;
}

#forms #normal .form .service li label {
  background: #fff;
  background: #fff;
  border: 3px solid #f0e156;
  border-radius: 15px;
  box-shadow: 0 4px 0 #dd9800;
  color: #362500;
  display: flex;
  flex-direction: column;
  font-size: 18px;
  line-height: 1.2;
  min-height: 70px;
  padding: 5px 0 2px;
  width: 100%;
}

#forms #normal .form .service li label .note {
  color: #362500;
  font-size: 18px;
  line-height: 1.2;
  margin-bottom: 0;
}

#forms #normal .form .service li input[type="radio"]:checked + label {
  background: #198690;
  border-color: #198690;
  bottom: -4px;
  box-shadow: none;
  color: #fff;
  position: relative;
}

#forms #normal .form .service li input[type="radio"]:checked + label .note {
  color: #fff;
}

#forms #normal .form .service li input[type="radio"]:checked + label:before {
  display: none;
}

#forms #normal .form .add {
  margin: 20px 0 15px !important;
  min-height: auto !important;
}

#forms #normal .form .add summary {
  background: #ff668c;
  border: 2px solid #ff668c;
  border-radius: 10px;
  color: transparent;
  padding: 15px 15px 15px 60px;
  position: relative;
}

#forms #normal .form .add summary span {
  color: #fff;
  font-weight: bold;
}

#forms #normal .form .add summary span:before, #forms #normal .form .add summary span:after {
  background: #fff;
  content: "";
  position: absolute;
  top: 50%;
}

#forms #normal .form .add summary span:before {
  height: 4px;
  left: 20px;
  margin-top: -2px;
  width: 20px;
}

#forms #normal .form .add summary span:after {
  height: 20px;
  left: 28px;
  margin-top: -10px;
  width: 4px;
}

#forms #normal .form .add dl {
  margin-top: 20px;
}

#forms #normal .form .add dt {
  border-bottom: solid 2px #19858f;
  color: #000;
  font-weight: bold;
  margin-bottom: 15px;
  padding-bottom: 10px;
}

#forms #normal .form .add dt span.plurality {
  color: #383f42;
  font-size: 14px;
}

#forms #normal .form .add dd {
  margin-bottom: 20px;
}

#forms #normal .form .add ul {
  display: flex;
  flex-wrap: wrap;
}

#forms #normal .form .add li {
  margin: 0 20px 20px 0;
  min-height: 60px;
  min-width: 11em;
}

#forms #normal .form .add li.other, #forms #normal .form .add li.iraisya {
  width: 100%;
}

#forms #normal .form .add li.other label, #forms #normal .form .add li.iraisya label {
  padding: 0;
  width: 192px;
}

#forms #normal .form .add li.input_flex {
  display: flex;
  height: 68px;
  margin: 0;
}

#forms #normal .form .add li.input_flex input {
  max-width: 100px;
}

#forms #normal .form .add li.input_flex span {
  line-height: 68px;
  margin: 0 10px;
}

#forms #normal .form .add input[type="checkbox"],
#forms #normal .form .add input[type="radio"] {
  opacity: 0;
  position: absolute;
}

#forms #normal .form .add label {
  align-items: center;
  background: #fff;
  border: 3px solid #f0e156;
  border-radius: 10px;
  box-shadow: 0 4px 0 #dd9800;
  color: #362500;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  line-height: 1.2;
}

#forms #normal .form .add textarea,
#forms #normal .form .add input[type="text"] {
  align-items: center;
  border: solid 1px #000;
  border-radius: 10px;
  display: block;
  font-weight: normal;
  padding: 7px;
  width: calc(100% - 20px);
}

#forms #normal .form .add .kodawari-input {
  height: calc(100% - 20px);
  padding: 10px;
}

#forms #normal .form .add label {
  cursor: pointer;
  font-weight: bold;
}

#forms #normal .form .add label textarea {
  border: none;
  display: none;
  height: auto;
  margin-top: 10px;
  min-height: 100px;
  width: calc(100% - 20px);
}

#forms #normal .form .add label.aircon_l {
  flex-direction: column;
}

#forms #normal .form .add label p.aircon {
  display: none;
}

#forms #normal .form .add label p.aircon_t {
  display: flex;
  flex-direction: column;
  height: 40px;
  justify-content: center;
  line-height: 1;
}

#forms #normal .form .add input:checked + label {
  background: #198690;
  border: 3px solid #198690 !important;
  bottom: -4px;
  box-shadow: unset !important;
  color: #fff;
  position: relative;
}

#forms #normal .form .add input:checked + label[for="houseOther"], #forms #normal .form .add input:checked + label[for="service_g9"], #forms #normal .form .add input:checked + label[for="service_c9"] {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  padding: 0 20px;
  width: calc(100% - 30px);
}

#forms #normal .form .add input:checked + label textarea {
  display: block;
}

#forms #normal .form .add input:checked + label p.aircon {
  display: flex;
  justify-content: center;
  width: 10em;
}

#forms #normal .form .add input:checked + label p.aircon input {
  height: 1em;
  margin-right: 10px;
  width: calc(100% - 5em) !important;
}

#forms #normal .form .add .other input:checked + label {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  height: 100%;
  margin-bottom: 20px;
  padding: 0 16px;
  width: calc(100% - 38px) !important;
}

#forms #normal .form .add #kibouzikan,
#forms #normal .form .add #kibouzikan_m {
  min-height: 2em;
  width: calc(100% - 20px) !important;
}

#forms #normal .form .add #bikou {
  min-height: 4em;
  width: calc(100% - 20px) !important;
}

#forms #normal .form .add .notice_m:not(.checkCleaner) {
  color: #198690;
  font-size: 15px;
  font-weight: normal;
  line-height: 1;
  margin: 10px 0;
}

#forms #normal .form .add .notice_m:not(.checkCleaner) br {
  display: none;
}

#forms #normal .form .add .select:after {
  border-left: 9px solid transparent;
  border-right: 9px solid transparent;
  border-top: 10.5px solid #ce0057;
  content: "";
  left: 165px;
  position: absolute;
  top: 21px;
  width: 0;
}

#forms #normal .form .add .select select {
  background: #fffde9;
  border: solid 3px #f0e156;
  border-radius: 5px;
  box-sizing: border-box;
  cursor: pointer;
  height: 50px;
  padding-left: 10px;
  position: relative;
  width: 200px;
}

#forms .one {
  display: grid;
  grid-template-columns: 1fr !important;
}

#forms .two {
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr 1fr !important;
}

#forms .two .notice_m,
#forms .two .textarea {
  grid-column-end: 3 !important;
  grid-column-start: 1 !important;
}

#forms .three {
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr 1fr 1fr !important;
}

#forms .four {
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr 1fr 1fr 1fr !important;
}

#forms .four .notice_m,
#forms .four .textarea {
  grid-column-end: 5 !important;
  grid-column-start: 1 !important;
}

#forms .five {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr !important;
}

#forms .five .notice_m,
#forms .five .textarea {
  grid-column-end: 6 !important;
  grid-column-start: 1 !important;
}

#forms dd.airconType {
  text-align: center;
}

#forms .airconType .checkCleaner {
  background: #f2f2e3;
  border-radius: 10px;
  color: #000 !important;
  display: inline-block !important;
  font-weight: normal;
  line-height: 1.5 !important;
  margin: 15px auto 0 !important;
  padding: 10px 20px;
  text-align: left !important;
  width: auto !important;
}

#forms .airconType .checkCleaner span.notice_title {
  color: red;
  display: block;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 5px;
  text-align: center;
}

#forms .airconType .checkCleaner span.sub_notice {
  font-size: 12px;
  margin-left: 10px;
}

#forms .corporation {
  border: 3px solid #74afbd !important;
  box-shadow: 0 4px 0 #446e8f !important;
}

#forms .pink {
  color: red !important;
  font-weight: bold !important;
}

#forms .submit {
  margin: 25px auto 25px;
  width: auto;
}

#forms .submit #submitbtn {
  background: #ce0057;
  border: 0;
  border-radius: 50px;
  box-shadow: 0 4px #730031;
  display: block;
  font-size: 22px;
  height: auto;
  padding: 15px 20px 12px !important;
  text-align: center;
  text-shadow: none;
  width: 100%;
}

#forms .submit #submitbtn b {
  color: #fff;
  font-size: 22px;
}

#forms .submit #submitbtn p#agreement {
  font-size: 14px;
  text-align: center;
}

#forms .submit #submitbtn p#request {
  line-height: 1.2 !important;
  text-align: center;
}

#forms .submit #submitbtn:disabled {
  background: #bcbcbc;
  box-shadow: 0 4px #7e7e7e;
  cursor: unset;
}

#forms .submit #submitbtn:disabled:before {
  display: none;
}

#forms .submit #submitbtn:disabled:hover {
  top: 0;
}

#forms .notes {
  font-size: 15px;
  font-weight: bold;
}

#forms .terms {
  font-size: 18px;
  font-weight: bold;
  margin: 20px auto 5px auto;
}

#forms .terms summary:before {
  display: none;
}

#forms input[disabled] + div {
  background: #f0f0f0 !important;
  border: 3px solid #a5a5a5 !important;
  box-shadow: 0 4px 0 #5b5b5b !important;
}

#forms input[disabled] + div > img {
  opacity: .5;
}

#forms input[disabled] + div > p {
  color: #a5a5a5 !important;
}

#forms .loading {
  display: none;
}

#forms .loading img {
  max-height: 21px;
}

#forms .balloon.waiting {
  font-size: 0;
  height: 61px;
  margin-right: calc(100% - 300px);
  max-width: 150px;
  width: 150px;
}

#forms .balloon.waiting .loading {
  align-items: center;
  display: flex;
  justify-content: center;
}

#forms #termCheck p.termCheck {
  align-items: center;
  display: flex;
  flex-direction: row;
  margin: auto;
  justify-content: center;
}

#forms #termCheck p.termCheck label {
  display: inline-block !important;
  margin-bottom: 0 !important;
  margin-left: 10px;
  width: auto !important;
}

#forms #termCheck p.termCheck input {
  border: 1px solid #000;
  height: 15px;
  min-width: 15px;
  width: 15px;
}

#forms input#yearInput1,
#forms input#roomsizeInput1,
#forms .airconType input {
  text-align: right;
}

#entryMin {
  padding-bottom: 0;
}

@media screen and (min-width: 415px) {
  #contactForm #form_title source {
    display: block;
  }
  #contactForm #form_title img {
    max-width: 350px;
  }
  .chat_entryMin {
    padding-top: 150px;
  }
  .thanks {
    padding: 50px 70px;
    position: relative;
  }
  .thanks h2.title {
    margin-bottom: 20px;
  }
  .thanks p {
    font-size: 27px;
    max-width: 90%;
  }
  #forms {
    background-size: 1%;
  }
  #forms .balloon {
    margin-bottom: 30px;
    margin-left: 100px;
    margin-right: 20%;
    margin-top: 20px;
    max-width: 450px;
    min-width: 9em;
  }
  #forms .balloon.fir:after {
    height: 70px;
    left: -102px;
    width: 70px;
  }
  #forms .serif .balloon[style*="display: none"] + .balloon {
    margin-bottom: 20px;
    margin-top: 50px;
  }
  #forms .serif .balloon[style*="display: none"] + .balloon:after {
    height: 70px;
    left: -102px;
    width: 70px;
  }
  #forms #chatForm {
    margin: auto;
    max-width: 940px;
    min-height: 250px;
  }
  #forms #chatForm #introO {
    display: flex;
    justify-content: space-between;
  }
  #forms #chatForm .optionOutline {
    padding: 40px 30px 60px;
  }
  #forms #chatForm .optionOutline #introO_1,
  #forms #chatForm .optionOutline #introO_2 {
    width: 48%;
  }
  #forms #chatForm .optionOutline .time {
    border-radius: 15px 55px 55px 15px;
    font-size: 32px;
  }
  #forms #chatForm .optionOutline .itext_O {
    font-size: 22px;
  }
  #forms #chatForm .optionOutline .notice_s {
    font-size: 15px;
  }
  #forms #chatForm .optionOutline.userInfo, #forms #chatForm .optionOutline.form {
    display: block !important;
  }
  #forms #chatForm #chat .chat_O img,
  #forms #chatForm #serviceSelect .chat_O img {
    height: auto;
  }
  #forms #chatForm #chat .optionOutline,
  #forms #chatForm #serviceSelect .optionOutline {
    padding: 30px 30px 70px;
  }
  #forms #chatForm #chat .optionOutline .notice_m,
  #forms #chatForm #serviceSelect .optionOutline .notice_m {
    font-size: 15px;
  }
  #forms #chatForm #chat .confirm,
  #forms #chatForm #serviceSelect .confirm {
    bottom: -15px;
  }
  #forms #chatForm #chat .submit,
  #forms #chatForm #serviceSelect .submit {
    max-width: 600px;
  }
  #forms #chatForm #normal .form .userInfo label {
    width: auto;
  }
  #forms div#chatF {
    margin: 20px 0;
  }
}

@media screen and (max-width: 1025px) and (min-width: 415px) {
  #forms #chatForm .optionOutline #introO_1,
  #forms #chatForm .optionOutline #introO_2 {
    width: 49%;
  }
  #forms #chatForm .optionOutline .itext_O {
    font-size: 18px;
  }
  #forms #chatForm #chat .chat_O img,
  #forms #chatForm #serviceSelect .chat_O img {
    max-width: 90px;
    width: 90%;
  }
  .thanks {
    padding: 50px;
  }
  .thanks p {
    font-size: 24px;
  }
  footer#footer.hidden {
    display: none;
  }
}

@media screen and (max-width: 750px) {
  #forms .three,
  #forms .four,
  #forms .five {
    gap: 10px 15px !important;
    grid-template-columns: 1fr 1fr 1fr !important;
  }
  #forms .three .notice_m,
  #forms .three .textarea,
  #forms .four .notice_m,
  #forms .four .textarea,
  #forms .five .notice_m,
  #forms .five .textarea {
    grid-column-end: 4 !important;
    grid-column-start: 1 !important;
  }
  #forms #chatForm #chat .optionOutline.desired.two {
    grid-template-columns: 1fr !important;
  }
  #forms #chatForm #chat .optionOutline.desired.two .preferred_date .optionTitle {
    grid-column-end: 4 !important;
    grid-column-start: 1 !important;
  }
  #forms #chatForm #chat .optionOutline.desired.two .preferred_date .desired_time.four {
    grid-template-columns: 1fr 1fr 1fr 1fr !important;
  }
  #forms #chatForm #chat .optionOutline.desired.two .textarea {
    grid-column-end: 2 !important;
  }
  #forms #chatForm #chat .optionOutline.airconType.four {
    gap: 10px 20px !important;
    grid-template-columns: 1fr 1fr !important;
  }
  #forms #chatForm #chat .optionOutline.airconType.four .notice_m {
    grid-column-end: 3 !important;
  }
  #forms #chatForm #chat .optionOutline .optionTitlePa {
    grid-column-end: 4 !important;
  }
}

@media screen and (max-width: 415px) {
  #form_title picture {
    width: 80% !important;
  }
  #contactForm {
    min-height: 170px !important;
  }
  #forms .textarea {
    min-height: 150px !important;
  }
  #forms #chatForm #introO {
    padding-bottom: 70px;
  }
  #forms #chatForm #chat .chat_O p br {
    display: block;
  }
  #forms #chatForm label input[type="checkbox"]:checked + .chat_O.airconO .aircon input {
    width: calc(100% - 5em) !important;
  }
  #forms #chatForm #chat .optionOutline {
    gap: 15px 10px !important;
  }
  #forms #chatForm #chat .optionOutline.airconType.four {
    gap: 15px 10px !important;
    grid-template-columns: 48% 48% !important;
  }
  #forms #chatForm #chat .optionOutline.desired.two .preferred_date .desired_time.four {
    gap: 10px 0 !important;
    grid-template-columns: 1fr 1fr !important;
  }
  #forms #chatForm #chat .optionOutline .roomsize {
    grid-column-end: 3;
    grid-column-start: 1;
  }
  #forms #normal .form .textarea {
    min-height: 100px !important;
  }
  #forms #normal .form .add ul {
    justify-content: space-between;
  }
  #forms #normal .form .add ul li {
    margin: 0 0 20px 0;
    min-width: calc(50% - 10px);
    width: calc(50% - 10px);
  }
  #forms #normal .form .add ul li.other label, #forms #normal .form .add ul li.iraisya label {
    width: calc(100% - 5px) !important;
  }
  #forms #normal .form .add ul li input:checked + label[for="houseOther"], #forms #normal .form .add ul li input:checked + label[for="service_g9"], #forms #normal .form .add ul li input:checked + label[for="service_c9"] {
    width: calc(100% - 40px) !important;
  }
  #forms #normal .form .add ul li.input_flex.room {
    width: 100%;
  }
  #forms #normal .form .airconType .checkCleaner {
    padding: 10px;
  }
  #forms #normal .form .notice_m:not(.checkCleaner) {
    font-size: 15px !important;
  }
  #forms #normal .form .notice_m:not(.checkCleaner) br {
    display: unset !important;
  }
  #forms .three,
  #forms .four,
  #forms .five {
    gap: 15px 10px !important;
    grid-template-columns: 48% 48% !important;
  }
  #forms .three .notice_m,
  #forms .three .textarea,
  #forms .four .notice_m,
  #forms .four .textarea,
  #forms .five .notice_m,
  #forms .five .textarea {
    grid-column-end: 3 !important;
    grid-column-start: 1 !important;
  }
  #forms .airconType .notice_m {
    font-size: 11px !important;
  }
  #forms .airconType .notice_m span.notice_title {
    font-size: 16px;
  }
  #forms .airconType .notice_m span.sub_notice {
    display: block;
    font-size: 11px;
    margin: 0 !important;
  }
  #forms .service li label .note {
    font-size: 14px !important;
  }
  #forms .terms {
    margin: 0 auto 5px auto;
  }
  footer#footer.hidden {
    display: none;
  }
  #termCheck p.termCheck {
    width: 100% !important;
  }
  #termCheck p.termCheck label[for="term1"] {
    line-height: 1;
    text-align: left !important;
  }
  .button#submitbtn p#agreement, .contact_part .contact .form a#submitbtn p#agreement {
    font-size: 11px !important;
  }
  .fontsizeSp_s {
    font-size: 14px !important;
  }
  .thanks h2.title {
    font-size: 2.5rem;
    max-width: 100%;
  }
}

.container, .contact_part .contact, .contactFix .pc, .header .service, .before_after {
  margin: 0 auto;
  max-width: 1040px;
  position: relative;
}

.content, .header .service li, .area .inner, .before_after ul {
  background: #fff;
  border-radius: 10px;
}

.tips {
  font-size: 16px;
  line-height: 1.5;
  margin: 10px 0 0;
}

.out_space {
  background: #f7f7fa;
  padding: 0 20px;
}

.out_space.contact {
  margin: 30px 0;
  padding: 1px 0 30px;
}

.header .inner {
  background: url(/img/house-cleaning/back_img.webp) no-repeat center;
  background-size: cover;
  position: relative;
  text-align: center;
}

.header .inner > .container, .header .contact_part .inner > .contact, .contact_part .header .inner > .contact, .header .contactFix .inner > .pc, .contactFix .header .inner > .pc, .header .inner > .service, .header .inner > .before_after {
  height: 100%;
}

.header .inner p.noteOrange {
  color: #f9512a;
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
  position: relative;
  text-align: center;
  text-shadow: .2rem 0rem .5rem white, -.2rem 0rem .5rem white, 0rem .2rem .5rem white, 0rem -.2rem .5rem white;
  z-index: 2;
}

.header .point {
  display: flex;
  justify-content: space-between;
  max-width: 530px;
  min-width: 250px;
  position: relative;
  width: 32%;
  z-index: 2;
}

.header .point li {
  width: calc((100% / 3) - 10px);
}

.header .service {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  left: 0;
  max-width: 1040px;
  text-align: center;
  z-index: 1;
}

.header .service li {
  border-radius: 10px;
  box-shadow: 3px 3px 4px #becac7;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-bottom: 28px;
  padding: 0;
}

.header .service li .imgTitle {
  align-items: center;
  border-radius: 10px 10px 0 0;
  color: #fff;
  display: flex;
  font-weight: bold;
  font-size: 24px;
  font-size: 2.4rem;
  justify-content: center;
  line-height: 1;
  min-height: 65px;
}

.header .service li .imgTitle.fontSize_s {
  font-size: 20px;
}

.header .service li .imgNote {
  align-items: center;
  border-radius: 0 0 13px 13px;
  display: flex;
  font-size: 16px;
  font-size: 1.6rem;
  justify-content: center;
  line-height: 1.2;
  min-height: 60px;
}

.header .service li.serviceG {
  border: 1px solid #42aeb6;
  border-radius: 13px;
}

.header .service li.serviceG .imgTitle {
  background: #60a3aa;
}

.header .service li.serviceG img {
  border-bottom: 1px solid #c0e7e0;
}

.header .service li.serviceG .imgNote {
  background: #ddeef0;
  color: #005056;
}

.header .service li.serviceP {
  border: 1px solid #cf4c75;
  border-radius: 13px;
}

.header .service li.serviceP .imgTitle {
  background: #c25a7c;
}

.header .service li.serviceP img {
  border-bottom: 1px solid #f6d6e2;
}

.header .service li.serviceP .imgNote {
  background: #efdee5;
  color: #56000a;
}

.header .service li.serviceO {
  border: 1px solid #db893b;
  border-radius: 13px;
}

.header .service li.serviceO .imgTitle {
  background: #db893b;
}

.header .service li.serviceO img {
  border-bottom: 1px solid #f6ddc9;
}

.header .service li.serviceO .imgNote {
  background: #fcecdf;
  color: #563500;
}

.header .concierge {
  bottom: -6px;
  max-width: 695px;
  min-width: 550px;
  position: absolute;
  right: 10px;
  width: 38%;
}

.pageNav {
  left: 0;
  position: fixed;
  width: 100%;
  z-index: 9999;
}

.pageNav a {
  align-items: center;
  color: #07263d;
  display: flex;
  height: 100%;
  justify-content: center;
  text-decoration: none;
}

.pageNav .content, .pageNav .header .service li, .header .service .pageNav li, .pageNav .area .inner, .area .pageNav .inner, .pageNav .before_after ul, .before_after .pageNav ul {
  align-content: center;
  background: #fff;
  box-shadow: 0 0 20px 3px rgba(0, 0, 0, 0.1);
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
}

.pageNav .listed-company {
  position: relative;
}

.pageNav .listed-company img {
  height: 100%;
  width: auto;
}

.pageNav .logo img {
  height: 45px;
}

.pageNav .content, .pageNav .header .service li, .header .service .pageNav li, .pageNav .area .inner, .area .pageNav .inner, .pageNav .before_after ul, .before_after .pageNav ul {
  overflow: hidden;
  padding-left: 0;
}

.pageNav ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  margin: 5px 0;
  width: 55%;
}

.pageNav ul li {
  border-bottom: 1px dotted #dfdfdf;
  border-left: 1px dotted #dfdfdf;
}

.pageNav ul li:nth-child(1), .pageNav ul li:nth-child(4) {
  border-left: none;
}

.pageNav ul li:nth-child(4), .pageNav ul li:nth-child(5), .pageNav ul li:nth-child(6) {
  border-bottom: none;
}

.pageNav .navterms {
  display: none;
}

.listed-company-text {
  left: 10%;
  position: absolute;
  top: 14%;
}

.anime:before {
  animation: purunButton_circle linear 1600ms both infinite;
  border: solid 1px #fff;
  border-radius: 50%;
  content: "";
  display: block;
  height: 0;
  letter-spacing: .1rem;
  position: absolute;
  right: 12px;
  top: 5px;
  transform: translateY(-50%) translateX(50%);
  width: 0;
  z-index: 80;
}

.anime:after {
  animation: purunButton_star linear 1600ms both infinite;
  background: url(/img/fuyohin/star-animetion.webp) no-repeat;
  background-size: contain;
  color: #fff;
  content: "";
  display: block;
  height: 80px;
  line-height: 1;
  position: absolute;
  right: -31px;
  text-shadow: none;
  top: -31px;
  transform: translate3d(0, 0, 0);
  width: 80px;
  z-index: 80;
}

.trouble {
  margin: auto;
  margin-bottom: 20px;
  margin-top: 15px;
  max-width: 1040px;
  padding: 25px 0;
}

.trouble h2 {
  position: relative;
}

.trouble ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.trouble ul li {
  background: #fff;
  border-radius: 10px;
  box-shadow: 3px 3px 0 #d3e0eb;
  margin-bottom: 20px;
  padding: 10px;
}

.trouble ul li.trouble5 {
  margin-top: 77px;
  position: relative;
  width: 100%;
}

.trouble ul li.trouble5:before {
  background: url(/img/house-cleaning/trouble5_title.webp) center no-repeat;
  background-size: contain;
  content: "";
  height: 50px;
  position: absolute;
  text-align: center;
  top: -64px;
  width: calc(100% - 10px);
}

.trouble .SP_only {
  display: none;
}

.trouble .PC_only {
  display: flex;
}

.trouble .comment {
  display: flex;
  justify-content: space-between;
}

.trouble .comment:after {
  background: url(/img/yane/concierge4.webp);
  content: "";
  display: block;
  position: relative;
  z-index: -2;
}

.trouble .comment .inner {
  background: #2cabe1;
  border: solid 3px #2cabe1;
  border-radius: 10px;
  margin-top: 20px;
  position: relative;
  text-align: left;
}

.trouble .comment .inner span {
  color: #ffe109;
  font-weight: 600;
}

.trouble .comment .inner:before, .trouble .comment .inner:after {
  border-style: solid;
  border-width: 19px 0 19px 38px;
  content: "";
  position: absolute;
}

.trouble .comment .inner:before {
  border-color: transparent transparent transparent #2cabe1;
  right: -20px;
  top: 50px;
  z-index: -1;
}

.trouble .comment .inner:after {
  border-color: transparent transparent transparent #2cabe1;
  right: -14.5px;
  top: 50px;
  z-index: 1;
}

.trouble .comment h4 {
  color: #2cabe1;
  margin-bottom: 20px;
}

.trouble .comment h4 b {
  color: #ffe109;
  display: block;
  margin-top: 10px;
}

.trader {
  margin: auto;
  max-width: 1040px;
}

.trader .trader_title {
  margin: auto;
  max-width: 950px;
}

.trader .trader_content {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.trader .trader_content img {
  margin-top: 30px;
  width: calc(100% / 2 - 15px);
}

.trader .trader_content img:first-of-type {
  width: 100%;
}

.merit {
  margin: 0 auto 40px;
  max-width: 1040px;
}

.merit h2,
.merit h3 {
  text-align: center;
}

.merit h2 {
  background: url(/img/house-cleaning/deco2.webp) no-repeat center bottom;
  background-size: contain;
}

.merit h2 span {
  color: #56000a;
}

.merit h2 img {
  max-width: 650px;
}

.merit h3 {
  color: #002b3d;
}

.merit ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.merit li {
  background: url(/img/house-cleaning/merit_bg.webp) repeat;
  border: 1px solid #2cabe1;
  border-radius: 15px;
  margin-bottom: 20px;
}

.merit li h3 {
  font-size: 33px;
  margin: 15px 0 10px;
}

.merit li div {
  align-items: center;
  background-color: #fff;
  border-radius: 0 0 13px 13px;
  display: flex;
  flex-direction: column;
  padding: 10px;
}

.merit li div img {
  margin: 20px;
  max-width: 236px;
}

.merit li div p {
  font-size: 19px;
  font-weight: bold;
  height: calc(100% - 3.5rem);
  line-height: 1.5;
  padding-bottom: 25px;
  text-align: center;
  width: 100%;
}

.merit li div p.SP_only {
  display: none;
}

.merit li div p.PC_only {
  display: block;
}

.merit li:nth-of-type(3) p {
  position: relative;
}

.merit li:nth-of-type(3) p:after {
  content: "※お電話でのお問合せに限ります。";
  display: block;
  font-size: 12px;
  font-weight: 500;
  left: 2%;
  letter-spacing: -1px;
  line-height: 1.2;
  margin-top: 2px;
  position: absolute;
  text-align: center;
  width: 95%;
}

.merit li:nth-of-type(4) p {
  position: relative;
}

.merit li:nth-of-type(4) p:after {
  content: "※深夜帯はご対応できない場合がございます。";
  display: block;
  font-size: 12px;
  font-weight: 500;
  left: 2%;
  letter-spacing: -1px;
  line-height: 1.2;
  margin-top: 2px;
  position: absolute;
  text-align: center;
  width: 95%;
}

.merit li:last-of-type p {
  position: relative;
}

.merit li:last-of-type p:after {
  content: "※見積規模や現地状況により見積時に料金が発生する可能性があります。";
  display: block;
  font-size: 12px;
  font-weight: 500;
  left: 2%;
  letter-spacing: -1px;
  line-height: 1.2;
  margin-top: 2px;
  position: absolute;
  text-align: justify;
  width: 95%;
}

.policy {
  border: 4px solid #2cabe1;
  border-radius: 15px;
  display: flex;
  justify-content: space-between;
  margin: auto;
  margin-top: 10px;
  max-width: 1040px;
  padding: 20px 30px;
}

.policy .policyImg {
  align-items: center;
  display: flex;
  margin-right: 20px;
  min-width: 70px;
  width: 15%;
}

.policy p {
  line-height: 1.7;
}

.policy p:first-of-type {
  font-size: 23px;
  margin-bottom: 15px;
}

.reason {
  margin: auto;
  max-width: 1040px;
  padding: 40px 0;
}

.reason .content h3 b, .reason .header .service li h3 b, .header .service .reason li h3 b, .reason .area .inner h3 b, .area .reason .inner h3 b, .reason .before_after ul h3 b, .before_after .reason ul h3 b {
  color: #ff668c;
  width: auto;
}

.reason h2 {
  background: url(/img/house-cleaning/deco3.webp) no-repeat center bottom;
  background-size: contain;
  max-width: 530px;
  padding-bottom: 20px;
}

.reason h2 span {
  color: #ff668c;
  display: block;
  font-size: 28px;
  margin-bottom: 5px;
}

.reason h2 img {
  display: inline-block;
  width: 40%;
}

.reason .priceCaption {
  line-height: 1.2em;
  margin-top: 20px;
  text-align: right;
}

.reason .content, .reason .header .service li, .header .service .reason li, .reason .area .inner, .area .reason .inner, .reason .before_after ul, .before_after .reason ul {
  text-align: center;
}

.reason .content h3, .reason .header .service li h3, .header .service .reason li h3, .reason .area .inner h3, .area .reason .inner h3, .reason .before_after ul h3, .before_after .reason ul h3 {
  color: #56000a;
  text-align: center;
}

.reason .content h3 span, .reason .header .service li h3 span, .header .service .reason li h3 span, .reason .area .inner h3 span, .area .reason .inner h3 span, .reason .before_after ul h3 span, .before_after .reason ul h3 span {
  display: block;
  margin-bottom: 10px;
}

.reason .content h3 img, .reason .header .service li h3 img, .header .service .reason li h3 img, .reason .area .inner h3 img, .area .reason .inner h3 img, .reason .before_after ul h3 img, .before_after .reason ul h3 img {
  display: block;
  margin: 10px auto 30px;
  max-width: 100%;
  width: auto;
}

.reason .content p, .reason .header .service li p, .header .service .reason li p, .reason .area .inner p, .area .reason .inner p, .reason .before_after ul p, .before_after .reason ul p {
  background: #ff668c;
  border-radius: 10px;
  color: #fff;
  font-weight: bold;
  text-align: center;
}

.reason .content img, .reason .header .service li img, .header .service .reason li img, .reason .area .inner img, .area .reason .inner img, .reason .before_after ul img, .before_after .reason ul img {
  width: 95%;
}

.reason .content:nth-child(2), .reason .header .service li:nth-child(2), .header .service .reason li:nth-child(2), .reason .area .inner:nth-child(2), .area .reason .inner:nth-child(2), .reason .before_after ul:nth-child(2), .before_after .reason ul:nth-child(2) {
  position: relative;
}

.reason .content:nth-child(2):before, .reason .header .service li:nth-child(2):before, .header .service .reason li:nth-child(2):before, .reason .area .inner:nth-child(2):before, .area .reason .inner:nth-child(2):before, .reason .before_after ul:nth-child(2):before, .before_after .reason ul:nth-child(2):before {
  background-image: url(/img/fuyohin/ihin2/concierge3.webp);
  background-size: cover;
  content: "";
  display: block;
  position: absolute;
}

.reason .comment {
  display: flex;
  justify-content: space-between;
}

.reason .comment:after {
  background: url(/img/house-cleaning/concierge4.webp) center no-repeat;
  background-size: cover;
  content: "";
  display: block;
  position: relative;
}

.reason .comment .inner {
  background: #f7f7fa;
  border: solid 3px #2cabe1;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-top: 20px;
  position: relative;
}

.reason .comment .inner:before, .reason .comment .inner:after {
  border-style: solid;
  border-width: 9px 0 9px 17px;
  content: "";
  position: absolute;
}

.reason .comment .inner:before {
  border-color: transparent transparent transparent #2cabe1;
  right: -20px;
  top: 50px;
  z-index: 0;
}

.reason .comment .inner:after {
  border-color: transparent transparent transparent #f7f7fa;
  right: -14.5px;
  top: 50px;
  z-index: 1;
}

.reason .comment h4 {
  color: #ff668c;
  margin-bottom: 20px;
}

.comparison {
  padding: 20px 0 50px;
}

.comparison h2 {
  margin: 0 auto 30px;
  max-width: 1000px;
}

.comparison h2 img {
  width: 80%;
}

.comparison .slick {
  background: #f9faf6;
  border-radius: 15px;
  box-shadow: 0 0 10px #becac7;
  margin: auto;
  max-width: 1040px;
  padding: 20px 50px;
}

.comparison .slick .slick-prev:before,
.comparison .slick .slick-next:before {
  color: #2dabe1;
}

.comparison .slick .slick-next {
  right: -35px;
}

.comparison .slick .slick-slide {
  transform: scale(0.75);
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
}

.comparison .slick .is--active {
  transform: scale(0.9);
}

.voice {
  margin: auto;
  max-width: 1040px;
  padding: 60px 0;
  padding-top: 15px;
}

.voice h2 {
  text-align: center;
}

.voice h2 span {
  display: block;
}

.voice ul {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
}

.voice ul li {
  border: 3px solid #2cabe1;
  border: 3px solid #42aeb6;
  border-radius: 15px;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
  width: 100%;
}

.voice ul li .voice_title {
  background-color: #42aeb6;
}

.voice ul li .voice_title p {
  color: #42aeb6;
}

.voice ul li .comment.comment1 {
  border-color: #42aeb6;
}

.voice ul li:nth-child(3n+2) {
  border: 3px solid #db893b;
}

.voice ul li:nth-child(3n+2) .voice_title {
  background-color: #db893b;
}

.voice ul li:nth-child(3n+2) .voice_title p {
  color: #db893b;
}

.voice ul li:nth-child(3n+2) .comment.comment1 {
  border-color: #db893b;
}

.voice ul li:nth-child(3n+3) {
  border: 3px solid #cf4c75;
}

.voice ul li:nth-child(3n+3) .voice_title {
  background-color: #cf4c75;
}

.voice ul li:nth-child(3n+3) .voice_title p {
  color: #cf4c75;
}

.voice ul li:nth-child(3n+3) .comment.comment1 {
  border-color: #cf4c75;
}

.voice .voice_title {
  align-items: center;
  border-radius: 10px 10px 0 0;
  display: flex;
  justify-content: space-between;
  margin-left: -20px;
  margin-top: -20px;
  padding: 20px;
  width: calc(100% + 40px);
}

.voice .voice_title img {
  background: #fff;
  border-radius: 50%;
  margin: auto 0;
  width: 15%;
}

.voice .voice_title p {
  background: #fff;
  border-radius: 20px;
  font-size: 23px;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  width: 125px;
}

.voice .voice_title h3 {
  align-items: center;
  color: #fff;
  display: flex;
  font-weight: 600;
  margin-bottom: 0;
  margin-top: 0;
  width: 83%;
}

.voice .voice_title h3 span {
  line-height: 1.2;
}

.voice .voice_content {
  display: flex;
  flex-direction: row;
  padding-top: 20px;
}

.voice .voiceContent {
  border: 2px solid #afdff4;
  border-radius: 10px;
  box-shadow: 3px 3px 4px #becac7;
  height: 600px;
  overflow-y: scroll;
  padding: 15px;
}

.voice ::-webkit-scrollbar {
  background-color: #afdff4;
  border-radius: 0 10px 10px 0;
  width: 12px;
}

.voice ::-webkit-scrollbar-track {
  border: 2px solid #afdff4;
  border-radius: 0 15px 15px 0;
}

.voice ::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.8);
  border-radius: 10px;
  width: 10px;
}

.voice .customer {
  font-weight: 600;
  height: 100%;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.7;
  width: 100%;
}

.voice .customer figcaption {
  font-weight: 600;
  margin-top: 10px;
}

.voice .customer img {
  background: #fff;
  border: 2px solid #fff;
  border-radius: 50%;
  width: 70%;
}

.voice .voice_img {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  max-width: 210px;
  padding-right: 20px;
  width: 100%;
}

.voice .voice_img .voicebf_img {
  align-content: center;
  align-items: flex-start;
  display: flex;
  flex-direction: row;
  height: auto;
  justify-content: space-between;
  margin-bottom: 10px;
  text-align: left;
}

.voice .voice_img .voicebf_img img {
  margin-right: 15px;
  width: 30%;
}

.voice .voice_img .price_img {
  position: relative;
  right: -5px;
  width: 60%;
}

.voice .comment {
  position: relative;
}

.voice .comment p {
  font-size: 17px;
  line-height: 1.6;
  margin-bottom: 9px;
}

.voice .comment p.title {
  color: #fff;
  font-size: 19px;
  font-weight: 600;
}

.voice .comment p.title span {
  background: #2cabe1;
  border-radius: 50px;
  height: 100%;
  padding: 5px 15px;
}

.voice .comment.comment1 {
  border-left: 2px solid;
  padding-left: 20px;
}

.voice .score {
  font-weight: 600;
}

.voice .score span {
  color: #e1e1e1;
  font-size: 18px;
  font-size: 1.8rem;
}

.voice .score span b {
  color: #ffe109;
}

.voice .SP_only {
  display: none;
}

.voice .PC_only {
  display: block;
}

.flow {
  margin: auto;
  max-width: 1040px;
  padding: 40px 0;
  position: relative;
  z-index: 2;
}

.flow h2 {
  margin: auto;
  max-width: 500px;
  text-align: center;
}

.flow h2 span {
  align-items: center;
  background: #ff668c;
  color: #fff;
  display: flex;
  justify-content: center;
}

.flow div {
  margin-top: 30px;
}

.QA {
  padding: 50px 0;
}

.QA h2 {
  background: url(/img/house-cleaning/deco4.webp) no-repeat center bottom;
  background-size: contain;
  text-align: center;
}

.QA .QAContent {
  border: 1px solid #2cabe1;
  border-radius: 15px;
  margin: auto;
  max-width: 1040px;
  overflow: hidden;
}

.QA .QAContent li {
  cursor: pointer;
}

.QA .QAContent li:not(:last-child) {
  margin-bottom: 7px;
}

.QA .QAContent li .question {
  align-items: center;
  background: url(/img/house-cleaning/bg1.webp);
  color: #002b3d;
  display: flex;
  font-size: 20px;
  font-weight: bold;
  height: 65px;
  line-height: 1.2;
  padding: 0 30px;
  position: relative;
  text-shadow: #fff 1px 0 0, #fff 0 1px 0, #fff -1px 0 0, #fff 0 -1px 0;
}

.QA .QAContent li .question:before {
  background: url(/img/house-cleaning/QA_icon.webp) no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 50px;
  margin-right: 20px;
  width: 50px;
}

.QA .QAContent li .question:after {
  background: url(/img/house-cleaning/open_mark.webp);
  background-size: cover;
  content: "";
  display: inline-block;
  height: 40px;
  position: absolute;
  right: 30px;
  transition: transform .5s;
  width: 40px;
}

.QA .QAContent li .answer {
  display: none;
  font-size: 17px;
  line-height: 1.5;
  padding: 15px 30px 10px;
}

.QA .QAContent li.open .answer {
  display: block;
}

.QA .QAContent li.open .question:after {
  transform: rotate(45deg);
}

.area {
  padding: 100px 0;
}

.area h2 {
  background: url(/img/house-cleaning/deco4.webp) no-repeat center bottom;
  background-size: contain;
  text-align: center;
}

.area input {
  display: none;
}

.area .inner {
  border: 2px solid #42aeb6;
  padding: 15px 20px;
  position: relative;
  margin-top: 80px;
}

.area .inner .main-name {
  position: absolute;
  top: -2em;
}

.area .inner .main-name .area-main-name {
  font-weight: bold;
  color: #fff;
  background: #42aeb6;
  height: 2em;
  display: inline-block;
  padding: 0 10px;
  border-radius: 5px 5px 0 0;
  border: 2px solid #42aeb6;
  cursor: pointer;
}

.area .inner .main-name .area-main-name.show {
  font-weight: bold;
  color: #42aeb6;
  background: #ffffff;
  border-bottom-color: #fff;
}

.area .inner .area-sub {
  -webkit-tap-highlight-color: transparent;
  /* 強調をなくす */
}

.area .inner .area-sub:not(:last-of-type) {
  border-bottom: 2px dotted #acdde0;
}

.area .inner .area-sub label {
  display: flex;
  flex-direction: column;
  cursor: pointer;
  padding: 10px;
}

.area .inner .area-sub input:checked + label .area-detail {
  height: auto;
  margin-top: 10px;
}

.area .inner .area-sub .area-detail {
  height: 0;
  overflow: hidden;
}

.area .inner .area-sub input:checked + label .area-name:after {
  transform: rotate(45deg);
}

.area .inner .area-main > input + label {
  display: none;
}

.area .inner .area-main > input:checked + label {
  display: block;
}

.area .inner .area-name {
  font-weight: bold;
  position: relative;
}

.area .inner .area-name:after {
  background: #acdde0 url(/img/house-cleaning/open_mark.webp) no-repeat center center;
  background-size: 1em;
  content: "";
  display: inline-block;
  height: 1.5em;
  position: absolute;
  right: 0;
  transition: transform .5s;
  width: 1.5em;
  border-radius: 50%;
  top: 4px;
}

.area .inner .area-detail {
  color: #717171;
  font-size: 16px;
  line-height: 1.7;
  margin: 0;
}

.area .inner .def-show {
  cursor: auto !important;
}

.area .inner .def-show .area-name:after {
  display: none !important;
}

.area .inner .def-show .area-detail {
  height: auto !important;
  margin-top: 10px !important;
}

.entryMin {
  margin-top: 0 !important;
  position: relative;
  z-index: 2;
}

.entryMin h2 {
  text-align: center;
}

.entryMin h2 span {
  color: #2cabe1;
  display: block;
  margin-bottom: 10px;
}

.entryMin .form {
  font-weight: bold;
  margin: 0 auto;
  padding: 40px 40px 55px;
  width: 1000px;
}

.entryMin .form > ol > li {
  margin: 0;
  position: relative;
}

.entryMin .form .required input {
  padding-right: 60px;
}

.entryMin .form .mustSelect {
  background: #ce0057;
  border-radius: 5px;
  bottom: 25%;
  color: white;
  content: "必須";
  display: inline-block;
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 10px;
  margin-left: 10px;
  padding: 5px 10px;
  position: relative;
  text-shadow: none;
  top: -3px;
  z-index: 2;
}

.entryMin .form .IE_note {
  background: #fedb3c;
  color: #000;
  line-height: 1.5;
  margin-bottom: 30px;
  margin-top: 10px;
  padding: 10px 0;
  text-align: center;
}

.entryMin .form .IE_note .IE_note_tel {
  color: #000;
  text-decoration: underline;
}

.entryMin .form .IE_note .IE_note_tel:hover {
  color: #ce0057;
}

.entryMin .form .tooltip {
  line-height: 1;
  margin-bottom: 10px;
  padding-left: 20px;
  position: relative;
  width: 100%;
}

.entryMin .form .tooltip span {
  animation: key1 .9s ease infinite alternate;
  display: block;
  left: 0;
  margin-top: -7px;
  position: absolute;
  top: 50%;
}

.entryMin .form .tooltip span:before {
  border: solid 4px #ce0057;
  border-bottom: none;
  border-left: none;
  content: "";
  display: block;
  height: 14px;
  transform: rotate(135deg);
  width: 14px;
}

.entryMin .form .note,
.entryMin .form .note_sita {
  display: none;
}

.entryMin .form .opacity1 {
  animation: opacity1 600ms linear 0s;
  color: #ce0057;
  display: block;
  font-size: 18px;
  font-weight: bold;
}

.entryMin .form .submit {
  margin: 50px auto;
  max-width: 600px;
  position: relative;
}

.entryMin .userInfo li {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  margin-top: 15px;
}

.entryMin .userInfo .address {
  border-radius: 5px;
  color: #0a2e70;
  padding-left: 10px;
}

.entryMin .userInfo .address div:nth-child(1) {
  width: 80px;
}

.entryMin .input {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  position: relative;
  width: 100%;
}

.entryMin .input input {
  background: #e1f8ff;
  border: solid 1px #000;
  border-radius: 10px;
  padding: 7px;
  width: 100%;
}

.entryMin .input input::placeholder {
  color: #e1f8ff;
}

.entryMin .input textarea {
  align-items: center;
  background: #fffde9 !important;
  border: 3px solid #f0e156 !important;
  border-radius: 10px;
  display: block;
  font-weight: bold;
  padding: 10px;
  width: 100%;
}

.entryMin .input label {
  align-items: center;
  display: flex;
  font-weight: bold;
  height: 100%;
  line-height: 1;
  padding-left: 15px;
  pointer-events: none;
  position: absolute;
  top: 0;
  transform: translateY(0);
  transition: all .15s;
  width: 100%;
}

.entryMin .input label span:nth-child(1) {
  position: relative;
  width: 100px;
}

.entryMin .input label span:nth-child(1):after {
  content: "：";
  position: absolute;
  right: 0;
}

.entryMin .input label span:nth-child(2) {
  color: #2cabe1;
  pointer-events: none;
  text-decoration: none;
}

.entryMin .input input:focus + label,
.entryMin .input textarea:focus + label,
.entryMin .input.empty label {
  font-size: 14px;
  height: auto;
  padding-left: 0;
  position: absolute;
  text-shadow: #fff 2px 0, #fff -2px 0, #fff 0 -2px, #fff 0 2px, #fff 2px 2px, #fff -2px 2px, #fff 2px -2px, #fff -2px -2px, #fff 1px 2px, #fff -1px 2px, #fff 1px -2px, #fff -1px -2px, #fff 2px 1px, #fff -2px 1px, #fff 2px -1px, #fff -2px -1px;
  top: -6px;
}

.entryMin .address {
  display: flex;
}

.entryMin .address div:nth-child(1) {
  line-height: 2.5;
  position: relative;
  width: 100px;
}

.entryMin .address div:nth-child(1):after {
  content: "：";
  position: absolute;
  right: 0;
}

.entryMin .address #sys_zyusho {
  line-height: 2.5;
  margin-right: 10px;
}

.entryMin .service li label {
  align-content: center;
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  height: 100%;
  justify-content: center;
  width: 100%;
}

.entryMin .service li label span {
  display: block;
  width: 100%;
}

.entryMin .service li input {
  opacity: 0;
  position: absolute;
}

.entryMin .service li label {
  background: #d7e7f0;
  border-radius: 5px;
  color: #6ab6ce;
  display: block;
  padding: 10px 0;
  position: relative;
  text-align: center;
}

.entryMin .service li label:before {
  border-radius: 50%;
  content: "";
  height: 18px;
  left: 10px;
  position: absolute;
  top: 10px;
  width: 18px;
}

.entryMin .service li label .note {
  color: #6ab6ce;
  display: block;
  font-size: 14px;
}

.entryMin .service li input[type="radio"]:checked + label {
  background: #ce0057;
  color: #fff;
}

.entryMin .service li input[type="radio"]:checked + label:before {
  background: #ce0057;
}

.entryMin .service li input[type="radio"]:checked + label .note {
  color: #fff;
}

.entryMin ul.boiler-symptoms__list {
  margin: 10px 0;
}

.entryMin ul.boiler-symptoms__list li.checks {
  display: inline-block;
  margin: 0 5px 10px 0 !important;
  position: relative;
  width: calc((100% / 3) - 10px);
}

.entryMin ul.boiler-symptoms__list li.checks input[type="checkbox"] {
  opacity: 0;
  position: absolute;
}

.entryMin ul.boiler-symptoms__list li.checks label {
  background: #fefbed;
  border: 1px solid #000;
  border-radius: 5px;
  color: #6c510d;
  cursor: pointer;
  display: block;
  padding: 5px 10px 5px 35px;
  text-align: left;
}

.entryMin ul.boiler-symptoms__list li.checks label:before {
  background: #fff;
  border: 1px solid #cdbaa3;
  border-radius: 5px;
  content: "";
  height: 18px;
  left: 10px;
  margin-top: -9px;
  position: absolute;
  top: 50%;
  width: 18px;
}

.entryMin ul.boiler-symptoms__list li.checks input:checked + label {
  background: #ffe109;
  border: none;
  color: #fff;
}

.entryMin ul.boiler-symptoms__list li.checks input:checked + label:after {
  border: solid 3px #ffe109;
  border-left: 0;
  border-top: 0;
  content: "";
  height: 14px;
  left: 14px;
  margin-top: -9px;
  position: absolute;
  top: 50%;
  transform: rotate(45deg);
  width: 10px;
}

.entryMin ul.boiler-symptoms__list li.checks input:checked + label:before {
  background: #fff;
  border-radius: 5px;
  content: "";
  height: 18px;
  left: 10px;
  margin-top: -9px;
  position: absolute;
  top: 50%;
  width: 18px;
}

.entryMin .button, .entryMin .contact_part .contact .form a, .contact_part .contact .form .entryMin a {
  overflow: hidden;
}

.entryMin .button .cover, .entryMin .contact_part .contact .form a .cover, .contact_part .contact .form .entryMin a .cover {
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
}

.entryMin .button.lack, .entryMin .contact_part .contact .form a.lack, .contact_part .contact .form .entryMin a.lack {
  pointer-events: none;
}

.entryMin .button.lack .cover, .entryMin .contact_part .contact .form a.lack .cover, .contact_part .contact .form .entryMin a.lack .cover {
  align-items: center;
  background: #aaa;
  border-radius: 10px;
  box-shadow: 0 8px 0 #aaa;
  display: flex;
  height: 100%;
  justify-content: center;
  opacity: 1;
  position: absolute;
  text-shadow: none;
  width: 100%;
}

.entryMin .terms {
  margin: 40px 0;
}

.entryMin .terms summary {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}

.entryMin .terms summary span {
  color: #0a2e70;
  text-decoration: underline;
}

.entryMin .terms h2.title {
  font-size: 2.5rem;
  text-align: left;
}

.entryMin .terms article {
  background: #dceef8;
  border-radius: 5px;
  font-size: 14px;
  font-weight: normal;
  height: 300px;
  margin-bottom: 10px;
  margin-top: 20px;
  overflow-y: scroll;
  padding: 40px;
}

.entryMin .terms article li,
.entryMin .terms article p {
  line-height: 1.5;
  margin: 0 !important;
}

.entryMin .terms article .title {
  font-size: 14px !important;
  margin: 15px 0 5px;
}

.entryMin .terms article .chapter {
  margin-bottom: 20px;
}

.entryMin .terms article .chapter > .title {
  font-size: 18px !important;
  margin: 20px 0 10px !important;
}

.entryMin .notes {
  color: #ce0057;
  margin-top: 10px;
  text-align: center;
}

.entryMin .thanks {
  display: none;
}

.button:before, .contact_part .contact .form a:before {
  animation: gloss 3s ease-in-out infinite;
  background: #fff;
  content: "";
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: -180px;
  transform: rotate(45deg);
  width: 30px;
}

.before_after {
  margin-top: 230px !important;
  position: relative;
}

.before_after h2 {
  left: 0;
  position: absolute;
  text-align: center;
  top: -110px;
  width: 100%;
}

.before_after h2 p {
  display: inline-block;
  position: relative;
}

.before_after h2 p:before {
  background: url(/img/fuyohin/trashhouse2/photos.webp) no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 100px;
  left: -118px;
  position: absolute;
  top: 1em;
  width: 100px;
}

.before_after h2 p:after {
  background: url(/img/fuyohin/trashhouse2/camera.webp) no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 85px;
  position: absolute;
  right: -123px;
  top: 1em;
  width: 100px;
}

.before_after h2 p span {
  font-size: 3.6rem;
  position: relative;
}

.before_after h2 p span:before {
  content: "写真で見る";
  display: inline-block;
  font-size: 3.2rem;
  height: 1em;
  left: -1em;
  position: absolute;
  width: 5em;
}

.before_after h2 p b {
  font-size: 65px;
  letter-spacing: -11px;
}

.before_after ul {
  display: flex;
  justify-content: space-between;
  padding: 50px 20px 70px;
}

.before_after ul li {
  display: flex;
  flex-direction: column;
  height: 37vw;
  max-height: 390px;
  text-align: center;
  width: auto;
}

.before_after ul li p {
  font-weight: bold;
  margin-bottom: 10px;
  position: relative;
  z-index: 1;
}

.before_after ul li p:after {
  background: url(/img/fuyohin/trashhouse2/dotted_line.webp) repeat;
  content: "";
  display: inline-block;
  height: 2px;
  left: 0;
  position: absolute;
  top: 1.3em;
  width: 100%;
  z-index: -1;
}

.before_after ul li p span {
  background-color: #fff;
  padding: 0 10px;
}

.before_after ul li p span strong {
  padding-left: 5px;
  padding-right: 5px;
}

.before_after ul li img {
  height: calc(100% - 40px);
}

@media screen and (max-width: 768px) {
  .before_after {
    margin-top: 130px !important;
  }
  .before_after h2 {
    top: -13vw;
  }
  .before_after h2 p:before {
    left: -11vw;
    width: 10vw;
  }
  .before_after h2 p:after {
    right: -13vw;
    width: 10vw;
  }
  .before_after h2 p span {
    font-size: 4vw;
  }
  .before_after h2 p span:before {
    font-size: 3.5vw;
  }
  .before_after h2 p b {
    font-size: 8vw;
  }
  .before_after ul {
    padding: 3vw 20px 60px;
  }
}

@media screen and (max-width: 420px) {
  .before_after {
    margin-top: 100px !important;
  }
  .before_after h2 p b {
    letter-spacing: -6px;
  }
  .before_after ul {
    display: block;
    justify-content: unset;
  }
  .before_after ul li {
    height: auto;
  }
  .before_after ul img {
    height: auto;
    width: 100%;
  }
  li.checks {
    width: 100% !important;
  }
}

.footer {
  background-color: #f7f7fa;
  padding-bottom: 30px;
  padding-top: 50px;
}

.footer h2 {
  display: none;
}

.footer a {
  color: #07263d;
  text-decoration: none;
}

.footer ul {
  display: flex;
  flex-wrap: wrap;
}

.footer .copyright {
  text-align: center;
}

.back_top {
  display: none;
}

.back_top.pop {
  display: none;
}

.header.gaichu_top {
  background: #fff;
  padding-bottom: 45px;
}

.header.gaichu_top .service li {
  background: url(/img/gaichu/gaichu/top-cat-bg.webp) repeat;
}

.header.gaichu_top .service li a {
  text-decoration: none;
}

.header.gaichu_top .service li figure {
  background: #2cabe1;
  padding-bottom: 10px;
}

.header.gaichu_top .service li:hover {
  background: url(/img/gaichu/gaichu/top-cat-bg-b.webp) repeat;
}

.header.gaichu_top .service li:hover figcaption {
  color: #000 !important;
}

.header.gaichu_top .service li:hover img {
  opacity: .8;
}

@media screen and (max-width: 414px) {
  .input label span:nth-child(1) {
    width: 80px !important;
  }
}

@keyframes gloss {
  0% {
    opacity: 0;
    transform: scale(0) rotate(45deg);
  }
  80% {
    opacity: .5;
    transform: scale(0) rotate(45deg);
  }
  81% {
    opacity: 1;
    transform: scale(4) rotate(45deg);
  }
  100% {
    opacity: 0;
    transform: scale(50) rotate(45deg);
  }
}

@keyframes floating {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

@keyframes key1 {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0px);
  }
}

@keyframes purunButton_circle {
  0% {
    opacity: 0;
  }
  82% {
    border: solid 1px #fff;
    height: 0;
    opacity: .5;
    width: 0;
  }
  88% {
    height: 40px;
    opacity: 1;
    width: 40px;
  }
  92% {
    border: solid 2px #fff;
    height: 120px;
    opacity: .3;
    width: 120px;
  }
  94% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}

@keyframes purunButton_star {
  0% {
    opacity: 0;
    transform: scale(0) rotate(0deg);
  }
  76% {
    opacity: 0;
    transform: scale(0) rotate(0deg);
  }
  80% {
    opacity: 1;
  }
  88% {
    opacity: 1;
    transform: scale(1.8) rotate(40deg);
  }
  94% {
    opacity: 0;
    transform: scale(3.2) rotate(140deg);
  }
  100% {
    opacity: 0;
    transform: scale(0) rotate(80deg);
  }
}
