@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: #f8f6ef;
  color: #000;
  font-family: YuGothic,"Yu Gothic","游ゴシック体","游ゴシック";
  font-weight: 500;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1;
}

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: #fedb3c;
}

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

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

.brownC {
  color: #6d510d;
}

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;
}

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

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

i {
  background: linear-gradient(transparent 59%, #fae99e 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;
  }
}

@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;
  }
}

@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 .form a {
  align-items: center;
  background: linear-gradient(to bottom, #51af08, #4a7726);
  background-size: contain;
  border-radius: 10px;
  box-shadow: 0 8px 0 #2d3b21;
  color: #fff;
  display: flex;
  justify-content: center;
  overflow: hidden !important;
  position: relative;
  text-decoration: none;
  text-shadow: 2.5px 2.5px 0 #2d3b21;
}

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

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

.button::before, .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:before, .contact:after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
}

.contact:before {
  background: url(/img/gaichu/goki/contact.svg);
  background-size: cover;
}

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

.contact h2 b {
  display: block;
}

.contact .content, .contact .header .service li, .header .service .contact li, .contact .trouble ul li, .trouble ul .contact li, .contact .merit li, .merit .contact li, .contact .voice li, .voice .contact li, .contact .flow ol, .flow .contact ol, .contact .area .inner, .area .contact .inner, .contact .entry .form, .entry .contact .form, .contact .before_after ul, .before_after .contact ul {
  background: #fff;
  border-radius: 10px;
  text-align: center;
}

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

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

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

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

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

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

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

.contactFix {
  background: #fff;
  border-top: solid 1px #fae99e;
  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 .form a, .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;
}

.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: #ce0057;
  font-size: 40px;
  font-size: 4rem;
  margin-bottom: 10px;
}

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

.contactFix .pc .terms p {
  color: #ce0057;
}

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

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

@media screen and (min-width: 769px) {
  .button, .contact .form a {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .button b, .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 .trouble ul li, .trouble ul .contact li, .contact .merit li, .merit .contact li, .contact .voice li, .voice .contact li, .contact .flow ol, .flow .contact ol, .contact .area .inner, .area .contact .inner, .contact .entry .form, .entry .contact .form, .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 .trouble ul li:after, .trouble ul .contact li:after, .contact .merit li:after, .merit .contact li:after, .contact .voice li:after, .voice .contact li:after, .contact .flow ol:after, .flow .contact ol:after, .contact .area .inner:after, .area .contact .inner:after, .contact .entry .form:after, .entry .contact .form:after, .contact .before_after ul:after, .before_after .contact ul:after {
    background: #6d510d;
    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: #ce0057;
    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;
    width: 15vw;
  }
  .contact:after {
    height: 20vw;
    right: 20px;
    top: 3vh;
    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 .trouble ul li, .trouble ul .contact li, .contact .merit li, .merit .contact li, .contact .voice li, .voice .contact li, .contact .flow ol, .flow .contact ol, .contact .area .inner, .area .contact .inner, .contact .entry .form, .entry .contact .form, .contact .before_after ul, .before_after .contact ul {
    padding: 20px;
  }
  .contact .form {
    border-bottom: solid 1px #6d510d;
    margin-bottom: 30px;
    padding-bottom: 38px;
  }
  .contact .form a {
    padding: 20px 0;
  }
  .contact .form a b {
    font-size: 26px;
    font-size: 2.6rem;
  }
  .contact .tel a {
    background-color: #fedb3c;
    border-radius: 10px;
    color: #000;
    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 .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: 16px;
    font-size: 1.6rem;
  }
  .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, .trouble, .trb_trashh2, .trb_goki, .merit, .reason, .voice, .flow, .area, .entry, .footer {
    margin-top: 50px !important;
  }
  .header {
    box-sizing: border-box;
  }
  .header .inner {
    height: 740px;
    padding-top: 140px;
  }
  .header .inner .container:after, .header .inner .contact:after, .header .inner .contactFix .pc:after, .contactFix .header .inner .pc:after, .header .inner .section:after, .header .inner .trouble:after, .header .inner .trb_trashh2:after, .header .inner .trb_goki:after, .header .inner .merit:after, .header .inner .reason:after, .header .inner .voice:after, .header .inner .flow:after, .header .inner .area:after, .header .inner .entry:after, .header .inner .footer: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:nth-child(1) img {
    margin-bottom: 10px;
    width: 80%;
  }
  .header .catch-copy span img:nth-child(2) {
    display: none;
  }
  .header p {
    background-image: linear-gradient(to right, rgba(255, 255, 255, 0), white, rgba(255, 255, 255, 0));
    font-weight: bold;
    font-size: 20px;
    font-size: 2rem;
    margin-top: 30px;
    max-width: 500px;
    padding-bottom: 10px;
    text-align: left;
    text-shadow: 2px  2px 0 #fff, -2px  2px 0 #fff, 2px -2px 0 #fff, -2px -2px 0 #fff, 2px  0 0 #fff, 0  2px 0 #fff, -2px  0 0 #fff, 0 -2px 0 #fff;
  }
  .header p.note {
    background-image: none;
    font-size: 1.8rem;
    line-height: 1.5em;
    margin-top: 7px;
    max-width: none;
    position: relative;
    text-shadow: #fff 1px 0 0, #fff 0 1px 0, #fff -1px 0 0, #fff 0 -1px 0;
    width: calc(100% - 30px);
    z-index: 3;
  }
  .header .point-inner {
    margin: 0 auto;
    margin-top: 20px;
    max-width: 1000px;
    width: calc(100% - 10px);
  }
  .header .service {
    margin-top: 50px !important;
  }
  .header .service li {
    width: calc((100% - 60px) / 4);
  }
  .header .service.service_5 li {
    width: calc((100% - 60px) / 5);
  }
  .header .service.service_6 li {
    width: calc((100% - 60px) / 6);
  }
  .header .service.service_7 {
    justify-content: center;
  }
  .header .service.service_7 li {
    margin: 0 7px 10px 7px;
    width: calc((100% - 60px) / 4);
  }
  .header .concierge {
    right: -40px;
  }
  .pageNav {
    top: 40px;
  }
  .pageNav .content, .pageNav .header .service li, .header .service .pageNav li, .pageNav .trouble ul li, .trouble ul .pageNav li, .pageNav .merit li, .merit .pageNav li, .pageNav .voice li, .voice .pageNav li, .pageNav .flow ol, .flow .pageNav ol, .pageNav .area .inner, .area .pageNav .inner, .pageNav .entry .form, .entry .pageNav .form, .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;
  }
  .trouble h2:before {
    height: 89px;
    top: -30px;
    width: 132px;
  }
  .trouble li {
    width: calc((100% - 20px) / 2);
  }
  .merit li {
    padding: 35px 15px;
    width: calc((100% - 40px) / 3);
  }
  .reason .content, .reason .header .service li, .header .service .reason li, .reason .trouble ul li, .trouble ul .reason li, .reason .merit li, .merit .reason li, .reason .voice li, .voice .reason li, .reason .flow ol, .flow .reason ol, .reason .area .inner, .area .reason .inner, .reason .entry .form, .entry .reason .form, .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 .trouble ul li h3, .trouble ul .reason li h3, .reason .merit li h3, .merit .reason li h3, .reason .voice li h3, .voice .reason li h3, .reason .flow ol h3, .flow .reason ol h3, .reason .area .inner h3, .area .reason .inner h3, .reason .entry .form h3, .entry .reason .form 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 .trouble ul li h3 span, .trouble ul .reason li h3 span, .reason .merit li h3 span, .merit .reason li h3 span, .reason .voice li h3 span, .voice .reason li h3 span, .reason .flow ol h3 span, .flow .reason ol h3 span, .reason .area .inner h3 span, .area .reason .inner h3 span, .reason .entry .form h3 span, .entry .reason .form 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 .trouble ul li h3 span b, .trouble ul .reason li h3 span b, .reason .merit li h3 span b, .merit .reason li h3 span b, .reason .voice li h3 span b, .voice .reason li h3 span b, .reason .flow ol h3 span b, .flow .reason ol h3 span b, .reason .area .inner h3 span b, .area .reason .inner h3 span b, .reason .entry .form h3 span b, .entry .reason .form 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 .trouble ul li h3 > b, .trouble ul .reason li h3 > b, .reason .merit li h3 > b, .merit .reason li h3 > b, .reason .voice li h3 > b, .voice .reason li h3 > b, .reason .flow ol h3 > b, .flow .reason ol h3 > b, .reason .area .inner h3 > b, .area .reason .inner h3 > b, .reason .entry .form h3 > b, .entry .reason .form 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 .trouble ul li p, .trouble ul .reason li p, .reason .merit li p, .merit .reason li p, .reason .voice li p, .voice .reason li p, .reason .flow ol p, .flow .reason ol p, .reason .area .inner p, .area .reason .inner p, .reason .entry .form p, .entry .reason .form 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 .trouble ul li p span, .trouble ul .reason li p span, .reason .merit li p span, .merit .reason li p span, .reason .voice li p span, .voice .reason li p span, .reason .flow ol p span, .flow .reason ol p span, .reason .area .inner p span, .area .reason .inner p span, .reason .entry .form p span, .entry .reason .form 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 .trouble ul li p br, .trouble ul .reason li p br, .reason .merit li p br, .merit .reason li p br, .reason .voice li p br, .voice .reason li p br, .reason .flow ol p br, .flow .reason ol p br, .reason .area .inner p br, .area .reason .inner p br, .reason .entry .form p br, .entry .reason .form 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 .trouble ul li:nth-child(2):before, .trouble ul .reason li:nth-child(2):before, .reason .merit li:nth-child(2):before, .merit .reason li:nth-child(2):before, .reason .voice li:nth-child(2):before, .voice .reason li:nth-child(2):before, .reason .flow ol:nth-child(2):before, .flow .reason ol:nth-child(2):before, .reason .area .inner:nth-child(2):before, .area .reason .inner:nth-child(2):before, .reason .entry .form:nth-child(2):before, .entry .reason .form:nth-child(2):before, .reason .before_after ul:nth-child(2):before, .before_after .reason ul:nth-child(2):before {
    height: 265px;
    right: 7.5vw;
    top: -230px;
    width: 248px;
  }
  .reason .comment {
    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: 30px;
  }
  .voice h3 {
    font-size: 32px;
    font-size: 3.2rem;
    margin: -30px -30px 30px;
    padding: 20px 30px;
    width: calc(100% + 60px);
  }
  .voice h3 span:nth-child(1) {
    border-radius: 23px;
    height: 46px;
    font-size: 22px;
    font-size: 2.2rem;
    margin-right: 30px;
    width: 140px;
  }
  .voice .comment {
    width: calc(100% - 170px);
  }
  .voice .score {
    bottom: 0;
    left: 0;
    position: absolute;
  }
  .flow h2 {
    text-align: center;
  }
  .flow h2 span {
    border-radius: 23px;
    height: 46px;
    margin: 0 auto;
    width: 232px;
  }
  .flow ol {
    padding: 60px 30px;
  }
  .flow ol:before {
    background: url(/img/fuyohin/ihin2/concierge5.webp) no-repeat top right;
    height: 313px;
    right: 7.5vw;
    top: -230px;
    width: 228px;
    z-index: 1;
  }
  .flow li {
    padding-left: 80px;
  }
  .flow li:before {
    height: 50px;
    font-size: 32px;
    font-size: 3.2rem;
    padding-bottom: 3px;
    width: 50px;
  }
  .flow div {
    width: calc((100% - 30px) / 3 * 2);
  }
  .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-top: 100px !important;
  }
  .entry {
    margin-top: 100px !important;
  }
  .entry h2 {
    max-width: 400px;
  }
  .entry .form {
    padding: 60px 30px;
  }
  .entry .form:before {
    background: url(/img/fuyohin/ihin2/concierge6.webp) no-repeat top right;
    height: 345px;
    right: 7.5vw;
    top: -230px;
    width: 234px;
  }
  .entry .note {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .entry ul > li {
    margin-bottom: 20px;
  }
  .entry .service li {
    width: calc((100% - 50px) / 6);
  }
  .entry .service label {
    font-size: 22px;
    font-size: 2.2rem;
    padding: 20px 0;
  }
  .entry .service label span {
    margin-top: 10px;
  }
  .footer .nav {
    margin-bottom: 60px;
  }
  .footer ul {
    justify-content: center;
  }
  .footer li {
    margin: 5px 20px;
  }
  .button, .contact .form a {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    padding: 10px 10px 5px 10px;
  }
  .button #canppic, .contact .form a #canppic {
    display: none;
    width: calc(25% - 10px);
  }
  .button #canppic img, .contact .form a #canppic img {
    width: 100%;
  }
  .button #text, .contact .form a #text {
    font-size: .8em;
    letter-spacing: 3px;
    margin: 0 auto;
    width: calc(70% -10px);
  }
  .button #text b, .contact .form a #text b {
    font-size: 3.0rem;
  }
  .button #counttimer, .contact .form a #counttimer {
    display: none;
    font-size: .9em;
    text-align: center;
    width: 100%;
  }
  .form .button, .contact .form a {
    padding: 5px 10px;
  }
}

@media screen and (max-width: 768px) {
  .section, .trouble, .trb_trashh2, .trb_goki, .merit, .reason, .voice, .flow, .area, .entry, .footer {
    margin-top: 50px !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 {
    height: 79vw;
    padding-top: 40px;
  }
  .header .inner .container::after, .header .inner .contact::after, .header .inner .contactFix .pc::after, .contactFix .header .inner .pc::after, .header .inner .section::after, .header .inner .trouble::after, .header .inner .trb_trashh2::after, .header .inner .trb_goki::after, .header .inner .merit::after, .header .inner .reason::after, .header .inner .voice::after, .header .inner .flow::after, .header .inner .area::after, .header .inner .entry::after, .header .inner .footer::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::before, .header .inner .contactFix .pc::before, .contactFix .header .inner .pc::before, .header .inner .section::before, .header .inner .trouble::before, .header .inner .trb_trashh2::before, .header .inner .trb_goki::before, .header .inner .merit::before, .header .inner .reason::before, .header .inner .voice::before, .header .inner .flow::before, .header .inner .area::before, .header .inner .entry::before, .header .inner .footer::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-bottom: -5px !important;
    margin-top: 50px !important;
  }
  .header .service li {
    margin-bottom: 10px !important;
    padding-bottom: 10px !important;
    width: calc((100% - 30px) / 4);
  }
  .header .service li figcaption {
    font-size: 1.5rem !important;
  }
  .header .service.service_5 li {
    width: calc((100% - 30px) / 5);
  }
  .header .service.service_6 li {
    width: calc((100% - 30px) / 6);
  }
  .header .service.service_6 li figcaption {
    margin-top: 10px;
  }
  .header .service.service_7 {
    justify-content: center;
  }
  .header .service.service_7 li {
    margin: 0 7px 10px 7px;
    width: calc((100% - 60px) / 4);
  }
  .pageNav {
    top: 0;
  }
  .pageNav .content, .pageNav .header .service li, .header .service .pageNav li, .pageNav .trouble ul li, .trouble ul .pageNav li, .pageNav .merit li, .merit .pageNav li, .pageNav .voice li, .voice .pageNav li, .pageNav .flow ol, .flow .pageNav ol, .pageNav .area .inner, .area .pageNav .inner, .pageNav .entry .form, .entry .pageNav .form, .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 .trouble ul li .listed-company, .trouble ul .pageNav li .listed-company, .pageNav .merit li .listed-company, .merit .pageNav li .listed-company, .pageNav .voice li .listed-company, .voice .pageNav li .listed-company, .pageNav .flow ol .listed-company, .flow .pageNav ol .listed-company, .pageNav .area .inner .listed-company, .area .pageNav .inner .listed-company, .pageNav .entry .form .listed-company, .entry .pageNav .form .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 .trouble ul li > .call, .trouble ul .pageNav li > .call, .pageNav .merit li > .call, .merit .pageNav li > .call, .pageNav .voice li > .call, .voice .pageNav li > .call, .pageNav .flow ol > .call, .flow .pageNav ol > .call, .pageNav .area .inner > .call, .area .pageNav .inner > .call, .pageNav .entry .form > .call, .entry .pageNav .form > .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 .trouble ul li > .call a, .trouble ul .pageNav li > .call a, .pageNav .merit li > .call a, .merit .pageNav li > .call a, .pageNav .voice li > .call a, .voice .pageNav li > .call a, .pageNav .flow ol > .call a, .flow .pageNav ol > .call a, .pageNav .area .inner > .call a, .area .pageNav .inner > .call a, .pageNav .entry .form > .call a, .entry .pageNav .form > .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 .trouble ul li > .call p, .trouble ul .pageNav li > .call p, .pageNav .merit li > .call p, .merit .pageNav li > .call p, .pageNav .voice li > .call p, .voice .pageNav li > .call p, .pageNav .flow ol > .call p, .flow .pageNav ol > .call p, .pageNav .area .inner > .call p, .area .pageNav .inner > .call p, .pageNav .entry .form > .call p, .entry .pageNav .form > .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 .trouble ul li > .call p:after, .trouble ul .pageNav li > .call p:after, .pageNav .merit li > .call p:after, .merit .pageNav li > .call p:after, .pageNav .voice li > .call p:after, .voice .pageNav li > .call p:after, .pageNav .flow ol > .call p:after, .flow .pageNav ol > .call p:after, .pageNav .area .inner > .call p:after, .area .pageNav .inner > .call p:after, .pageNav .entry .form > .call p:after, .entry .pageNav .form > .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 .trouble ul li > .call b, .trouble ul .pageNav li > .call b, .pageNav .merit li > .call b, .merit .pageNav li > .call b, .pageNav .voice li > .call b, .voice .pageNav li > .call b, .pageNav .flow ol > .call b, .flow .pageNav ol > .call b, .pageNav .area .inner > .call b, .area .pageNav .inner > .call b, .pageNav .entry .form > .call b, .entry .pageNav .form > .call b, .pageNav .before_after ul > .call b, .before_after .pageNav ul > .call b {
    color: #ce0057;
  }
  .pageNav .logo img {
    height: 25px !important;
  }
  .pageNav ul {
    display: none !important;
  }
  .pageNav .call a {
    align-items: center;
    background: #fedb3c;
    display: flex;
    height: 100%;
    width: 100%;
  }
  .pageNav .call img {
    height: 30px;
    width: 30px;
  }
  .pageNav .navterms {
    background: #5192c5;
    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;
    width: 3rem;
  }
  .pageNav .navToggle {
    background: #ce0057;
    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: 10px 0;
  }
  .open .pageNav .button b, .open .pageNav .contact .form a b, .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 .pageNav ul .menuList2.sp a,
  .open .pageNav ul .menuList3.sp a,
  .open .pageNav ul .menuList4.sp a {
    color: #000;
  }
  .open .content > .call, .open .header .service li > .call, .header .service .open li > .call, .open .trouble ul li > .call, .trouble ul .open li > .call, .open .merit li > .call, .merit .open li > .call, .open .voice li > .call, .voice .open li > .call, .open .flow ol > .call, .flow .open ol > .call, .open .area .inner > .call, .area .open .inner > .call, .open .entry .form > .call, .entry .open .form > .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 .call {
    margin: 20px 0;
  }
  .open .sp img {
    display: none;
  }
  .open .sp .terms p {
    color: #000;
    margin-top: 20px;
    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 {
    display: block !important;
    overflow: hidden;
    position: relative;
  }
  .listed-company-text-sp.fixed {
    height: auto;
    position: fixed;
    top: 50px !important;
    width: 100%;
    z-index: 10;
  }
  .pageNav.fuyohin2 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);
  }
  .merit h2 {
    background-size: contain !important;
  }
  .merit h2 img {
    max-width: 80%;
  }
  .merit li {
    padding: 30px 20px;
    width: calc((100% - 20px) / 2);
  }
  .reason h2 {
    margin-left: auto;
    margin-right: auto;
  }
  .reason .content, .reason .header .service li, .header .service .reason li, .reason .trouble ul li, .trouble ul .reason li, .reason .merit li, .merit .reason li, .reason .voice li, .voice .reason li, .reason .flow ol, .flow .reason ol, .reason .area .inner, .area .reason .inner, .reason .entry .form, .entry .reason .form, .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 .trouble ul li h3 span, .trouble ul .reason li h3 span, .reason .merit li h3 span, .merit .reason li h3 span, .reason .voice li h3 span, .voice .reason li h3 span, .reason .flow ol h3 span, .flow .reason ol h3 span, .reason .area .inner h3 span, .area .reason .inner h3 span, .reason .entry .form h3 span, .entry .reason .form 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 .trouble ul li p, .trouble ul .reason li p, .reason .merit li p, .merit .reason li p, .reason .voice li p, .voice .reason li p, .reason .flow ol p, .flow .reason ol p, .reason .area .inner p, .area .reason .inner p, .reason .entry .form p, .entry .reason .form 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 .trouble ul li p span, .trouble ul .reason li p span, .reason .merit li p span, .merit .reason li p span, .reason .voice li p span, .voice .reason li p span, .reason .flow ol p span, .flow .reason ol p span, .reason .area .inner p span, .area .reason .inner p span, .reason .entry .form p span, .entry .reason .form p span, .reason .before_after ul p span, .before_after .reason ul p span {
    font-size: 32px;
    font-size: 3.2rem;
  }
  .reason .comment {
    margin-bottom: 30px;
  }
  .reason .comment:after {
    background-repeat: no-repeat !important;
    background-size: contain !important;
    width: 25vw;
  }
  .reason .comment .inner {
    padding: 17px;
    width: 75vw;
  }
  .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;
  }
  .voice {
    padding-bottom: 30px !important;
    padding-top: 35px !important;
  }
  .voice h2 span:nth-child(1) {
    font-size: 6.5vw;
    margin-bottom: 10px;
  }
  .voice h2 span:nth-child(1) b {
    font-size: 6.5vw;
  }
  .voice h2 span:nth-child(2) {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .voice li {
    margin-bottom: 20px;
    padding: 20px;
  }
  .voice h3 {
    margin: -20px -20px 20px;
    padding: 20px;
    width: calc(100% + 40px);
  }
  .voice h3 span:nth-child(1) {
    border-radius: 13px;
    height: 26px;
    font-size: 18px;
    font-size: 1.8rem;
    margin-right: 20px;
    width: 140px;
  }
  .voice .comment {
    width: calc(100% - 160px);
  }
  .flow h2 span {
    border-radius: 20px;
    height: 40px;
    font-size: 22px;
    font-size: 2.2rem;
    max-width: 180px;
  }
  .flow ol {
    padding: 30px 20px;
  }
  .flow ol:before {
    background: url(/img/fuyohin/ihin2/concierge5-sp.webp) no-repeat top right;
    height: 30vh;
    right: 0;
    top: -20vh;
    width: calc(100% / 3);
    z-index: -1;
  }
  .flow li {
    padding-left: 40px;
  }
  .flow li:before {
    height: 30px;
    font-size: 22px;
    font-size: 2.2rem;
    padding-bottom: 3px;
    width: 30px;
  }
  .area {
    margin-top: 100px !important;
  }
  .entry {
    margin-top: 100px !important;
  }
  .entry h2 {
    max-width: 70%;
  }
  .entry .form {
    padding: 30px 20px;
  }
  .entry .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;
  }
  .entry .form .IE_note {
    display: none;
  }
  .entry ul > li {
    margin-bottom: 10px;
  }
  .entry .service li {
    width: calc((100% - 20px) / 3);
  }
  .entry .service label {
    padding: 10px 0;
  }
  .footer .nav {
    margin-bottom: 60px;
  }
  .footer li {
    margin-bottom: 20px;
    width: calc(100% / 3);
  }
  #demo {
    display: none;
  }
  #canppic {
    display: none;
  }
}

@media screen and (max-width: 414px) {
  .section, .trouble, .trb_trashh2, .trb_goki, .merit, .reason, .voice, .flow, .area, .entry, .footer {
    margin-top: 20px !important;
  }
  .header .inner .container, .header .inner .contact, .header .inner .contactFix .pc, .contactFix .header .inner .pc, .header .inner .section, .header .inner .trouble, .header .inner .trb_trashh2, .header .inner .trb_goki, .header .inner .merit, .header .inner .reason, .header .inner .voice, .header .inner .flow, .header .inner .area, .header .inner .entry, .header .inner .footer, .header .inner .service, .header .inner .before_after {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
  }
  .header .inner .container::before, .header .inner .contact::before, .header .inner .contactFix .pc::before, .contactFix .header .inner .pc::before, .header .inner .section::before, .header .inner .trouble::before, .header .inner .trb_trashh2::before, .header .inner .trb_goki::before, .header .inner .merit::before, .header .inner .reason::before, .header .inner .voice::before, .header .inner .flow::before, .header .inner .area::before, .header .inner .entry::before, .header .inner .footer::before, .header .inner .service::before, .header .inner .before_after::before {
    background-position: left bottom !important;
    right: -14% !important;
    top: 0 !important;
    width: 45% !important;
  }
  .header .inner .container::after, .header .inner .contact::after, .header .inner .contactFix .pc::after, .contactFix .header .inner .pc::after, .header .inner .section::after, .header .inner .trouble::after, .header .inner .trb_trashh2::after, .header .inner .trb_goki::after, .header .inner .merit::after, .header .inner .reason::after, .header .inner .voice::after, .header .inner .flow::after, .header .inner .area::after, .header .inner .entry::after, .header .inner .footer::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 .catch-copy, .header .inner .contact .catch-copy, .header .inner .contactFix .pc .catch-copy, .contactFix .header .inner .pc .catch-copy, .header .inner .section .catch-copy, .header .inner .trouble .catch-copy, .header .inner .trb_trashh2 .catch-copy, .header .inner .trb_goki .catch-copy, .header .inner .merit .catch-copy, .header .inner .reason .catch-copy, .header .inner .voice .catch-copy, .header .inner .flow .catch-copy, .header .inner .area .catch-copy, .header .inner .entry .catch-copy, .header .inner .footer .catch-copy, .header .inner .service .catch-copy, .header .inner .before_after .catch-copy {
    margin: 0;
    width: 100%;
  }
  .header .inner .container .catch-copy span:nth-child(1) img, .header .inner .contact .catch-copy span:nth-child(1) img, .header .inner .contactFix .pc .catch-copy span:nth-child(1) img, .contactFix .header .inner .pc .catch-copy span:nth-child(1) img, .header .inner .section .catch-copy span:nth-child(1) img, .header .inner .trouble .catch-copy span:nth-child(1) img, .header .inner .trb_trashh2 .catch-copy span:nth-child(1) img, .header .inner .trb_goki .catch-copy span:nth-child(1) img, .header .inner .merit .catch-copy span:nth-child(1) img, .header .inner .reason .catch-copy span:nth-child(1) img, .header .inner .voice .catch-copy span:nth-child(1) img, .header .inner .flow .catch-copy span:nth-child(1) img, .header .inner .area .catch-copy span:nth-child(1) img, .header .inner .entry .catch-copy span:nth-child(1) img, .header .inner .footer .catch-copy span:nth-child(1) img, .header .inner .service .catch-copy span:nth-child(1) img, .header .inner .before_after .catch-copy span:nth-child(1) img {
    margin-bottom: 5px;
    width: 95%;
  }
  .header .inner .container .catch-copy span img:nth-child(1), .header .inner .contact .catch-copy span img:nth-child(1), .header .inner .contactFix .pc .catch-copy span img:nth-child(1), .contactFix .header .inner .pc .catch-copy span img:nth-child(1), .header .inner .section .catch-copy span img:nth-child(1), .header .inner .trouble .catch-copy span img:nth-child(1), .header .inner .trb_trashh2 .catch-copy span img:nth-child(1), .header .inner .trb_goki .catch-copy span img:nth-child(1), .header .inner .merit .catch-copy span img:nth-child(1), .header .inner .reason .catch-copy span img:nth-child(1), .header .inner .voice .catch-copy span img:nth-child(1), .header .inner .flow .catch-copy span img:nth-child(1), .header .inner .area .catch-copy span img:nth-child(1), .header .inner .entry .catch-copy span img:nth-child(1), .header .inner .footer .catch-copy span img:nth-child(1), .header .inner .service .catch-copy span img:nth-child(1), .header .inner .before_after .catch-copy span img:nth-child(1) {
    display: none !important;
  }
  .header .inner .container .catch-copy span img:nth-child(2), .header .inner .contact .catch-copy span img:nth-child(2), .header .inner .contactFix .pc .catch-copy span img:nth-child(2), .contactFix .header .inner .pc .catch-copy span img:nth-child(2), .header .inner .section .catch-copy span img:nth-child(2), .header .inner .trouble .catch-copy span img:nth-child(2), .header .inner .trb_trashh2 .catch-copy span img:nth-child(2), .header .inner .trb_goki .catch-copy span img:nth-child(2), .header .inner .merit .catch-copy span img:nth-child(2), .header .inner .reason .catch-copy span img:nth-child(2), .header .inner .voice .catch-copy span img:nth-child(2), .header .inner .flow .catch-copy span img:nth-child(2), .header .inner .area .catch-copy span img:nth-child(2), .header .inner .entry .catch-copy span img:nth-child(2), .header .inner .footer .catch-copy span img:nth-child(2), .header .inner .service .catch-copy span img:nth-child(2), .header .inner .before_after .catch-copy span img:nth-child(2) {
    display: inline;
  }
  .header .inner .container p, .header .inner .contact p, .header .inner .contactFix .pc p, .contactFix .header .inner .pc p, .header .inner .section p, .header .inner .trouble p, .header .inner .trb_trashh2 p, .header .inner .trb_goki p, .header .inner .merit p, .header .inner .reason p, .header .inner .voice p, .header .inner .flow p, .header .inner .area p, .header .inner .entry p, .header .inner .footer 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 p.note, .header .inner .contactFix .pc p.note, .contactFix .header .inner .pc p.note, .header .inner .section p.note, .header .inner .trouble p.note, .header .inner .trb_trashh2 p.note, .header .inner .trb_goki p.note, .header .inner .merit p.note, .header .inner .reason p.note, .header .inner .voice p.note, .header .inner .flow p.note, .header .inner .area p.note, .header .inner .entry p.note, .header .inner .footer 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: url(/img/gaichu/goki/back-img-goki-sp.webp) no-repeat center !important;
    height: 115vw;
    padding-top: 30px;
  }
  .header .service {
    margin-top: 20px !important;
  }
  .header .service li {
    padding: 5px 5px 5px !important;
    width: calc((100% / 4) - 5px);
  }
  .header .service li figcaption {
    font-size: 1.3rem !important;
    margin-top: 5px !important;
  }
  .header .service.service_6 li {
    width: calc((100% / 3) - 5px);
  }
  .header .service.service_6.gaichu_top li {
    width: calc((100% / 4) - 5px);
  }
  .header .service.service_5 {
    justify-content: center;
  }
  .header .service.service_5 li {
    margin-left: 5px;
    width: calc((100% / 3) - 5px);
  }
  .header .service.service_7 {
    justify-content: center;
  }
  .header .service.service_7 li {
    margin: 0 3px 10px 2px;
    width: calc((100% - 60px) / 4);
  }
  .header.gaichu_top {
    padding-bottom: 20px !important;
  }
  .header.gaichu_top figure {
    padding-bottom: 5px !important;
  }
  .trouble {
    margin-bottom: -5px !important;
  }
  .trouble h2:before {
    top: -10vh;
  }
  .trouble ul.PC_only {
    display: none !important;
  }
  .trouble ul.SP_only {
    display: flex !important;
  }
  .trouble ul li {
    margin-bottom: 5px !important;
    padding: 5px !important;
    width: calc((100% - 5px) / 2);
  }
  aside.contact h2.brownC {
    white-space: nowrap;
  }
  .merit {
    padding: 20px !important;
    padding-bottom: 40px !important;
    position: relative;
  }
  .merit li {
    font-size: 1.7rem;
    margin-bottom: 10px !important;
    padding: 10px;
    width: calc((100% - 5px) / 2) !important;
  }
  .merit li h3 {
    font-size: 5vw;
    margin: 5px 0 10px 0 !important;
  }
  .merit li p {
    padding: 10px !important;
  }
  .merit li p.PC_only {
    display: none !important;
  }
  .merit li p.SP_only {
    display: block !important;
  }
  .merit li:last-of-type p:after {
    bottom: -55px;
    left: -125% !important;
    width: calc((100% + 18px) * 2) !important;
    z-index: 10;
  }
  .reason .content p, .reason .header .service li p, .header .service .reason li p, .reason .trouble ul li p, .trouble ul .reason li p, .reason .merit li p, .merit .reason li p, .reason .voice li p, .voice .reason li p, .reason .flow ol p, .flow .reason ol p, .reason .area .inner p, .area .reason .inner p, .reason .entry .form p, .entry .reason .form 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 .trouble ul li p span, .trouble ul .reason li p span, .reason .merit li p span, .merit .reason li p span, .reason .voice li p span, .voice .reason li p span, .reason .flow ol p span, .flow .reason ol p span, .reason .area .inner p span, .area .reason .inner p span, .reason .entry .form p span, .entry .reason .form p span, .reason .before_after ul p span, .before_after .reason ul p span {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .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;
  }
  .voice {
    padding: 25px 20px !important;
  }
  .voice h2 span:nth-child(1) img {
    max-width: 40% !important;
  }
  .voice h3 {
    padding: 10px !important;
  }
  .voice h3 span:nth-child(1) {
    font-size: 15px;
    font-size: 1.5rem;
    width: 100px;
  }
  .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 .customer {
    display: flex;
    justify-content: space-around;
    margin: 0 auto 20px;
    width: 100% !important;
  }
  .voice .customer figcaption 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 .score {
    font-weight: 600;
    position: absolute;
    right: 0;
    top: -40px;
  }
  .flow h2 span {
    height: 32px;
    font-size: 15px;
    font-size: 1.5rem;
    max-width: 120px;
  }
  .flow ol:before {
    top: -16vh !important;
  }
  .flow li {
    flex-wrap: wrap;
  }
  .flow img {
    margin-top: 10px;
    width: 60%;
  }
  .flow .check p span {
    display: none;
  }
  .flow .check br {
    display: inline !important;
  }
  .entry {
    margin-top: 40px !important;
  }
  .entry .form textarea,
  .entry .form input[type="text"] {
    width: 100%;
  }
  .entry .form .service li {
    width: calc((100% - 10px) / 2);
  }
  .button#submitbtn p#agreement, .contact .form a#submitbtn p#agreement {
    font-size: 11px !important;
  }
  .footer li {
    padding-right: 20px;
    width: calc(100% / 2);
  }
  .area {
    margin-top: 60px !important;
  }
  .button, .contact .form a {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    padding: 10px 10px 5px 10px;
  }
  .button #canppic, .contact .form a #canppic {
    display: none;
    width: calc(30% - 10px);
  }
  .button #canppic img, .contact .form a #canppic img {
    width: 100%;
  }
  .button #text, .contact .form a #text {
    color: #fff;
    font-size: .8em;
    margin: 0 auto;
    width: calc(60% -10px);
  }
  .button #text b, .contact .form a #text b {
    font-size: 2.5rem;
  }
  .button #counttimer, .contact .form a #counttimer {
    display: none;
    font-size: .9em;
    text-align: center;
    width: 100%;
  }
  .form .button, .contact .form a {
    padding: 15px 10px;
  }
  .form .button #text, .contact .form a #text {
    text-align: center;
  }
  .form .button #text b, .contact .form a #text b {
    font-size: 2.0rem;
  }
  .contactFix {
    transition: .5s;
  }
  .contactFix.hide {
    transform: translateY(100%);
  }
}

.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:before {
  background: url(/img/campaign.webp) no-repeat;
  content: "";
  display: none;
  /*display: inline-block;*/
  height: 3em;
  left: 5px;
  position: absolute;
  top: 15px;
  width: 7em;
}

.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:before {
    background-size: contain;
    left: 2vw;
    top: 7px;
    width: 19vw;
  }
  .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:before {
    left: 1vw;
    top: 9px;
  }
  .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%;
  }
}

.container, .contact, .contactFix .pc, .section, .trouble, .trb_trashh2, .trb_goki, .merit, .reason, .voice, .flow, .area, .entry, .footer, .header .service, .before_after {
  margin: 0 auto;
  max-width: 1040px;
  padding: 0 20px;
  position: relative;
}

.content, .header .service li, .trouble ul li, .merit li, .voice li, .flow ol, .area .inner, .entry .form, .before_after ul {
  background: #fff;
  border-radius: 10px;
}

.goki-header .inner {
  background: url(/img/gaichu/goki/back-img-goki.webp) no-repeat center;
}

.header .inner {
  background-size: cover !important;
  overflow: hidden !important;
  text-align: center;
}

.header .inner > .container, .header .inner > .contact, .header .contactFix .inner > .pc, .contactFix .header .inner > .pc, .header .inner > .section, .header .inner > .trouble, .header .inner > .trb_trashh2, .header .inner > .trb_goki, .header .inner > .merit, .header .inner > .reason, .header .inner > .voice, .header .inner > .flow, .header .inner > .area, .header .inner > .entry, .header .inner > .footer, .header .inner > .service, .header .inner > .before_after {
  height: 100%;
}

.header .inner > .container:before, .header .inner > .contact:before, .header .contactFix .inner > .pc:before, .contactFix .header .inner > .pc:before, .header .inner > .section:before, .header .inner > .trouble:before, .header .inner > .trb_trashh2:before, .header .inner > .trb_goki:before, .header .inner > .merit:before, .header .inner > .reason:before, .header .inner > .voice:before, .header .inner > .flow:before, .header .inner > .area:before, .header .inner > .entry:before, .header .inner > .footer:before, .header .inner > .service:before, .header .inner > .before_after:before {
  background-image: url(/img/gaichu/goki/gyousha-man.webp);
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  content: "";
  display: block;
  height: 460px;
  position: absolute;
  right: 0;
  top: 210px;
  width: 26%;
}

.header .inner > .container:after, .header .inner > .contact:after, .header .contactFix .inner > .pc:after, .contactFix .header .inner > .pc:after, .header .inner > .section:after, .header .inner > .trouble:after, .header .inner > .trb_trashh2:after, .header .inner > .trb_goki:after, .header .inner > .merit:after, .header .inner > .reason:after, .header .inner > .voice:after, .header .inner > .flow:after, .header .inner > .area:after, .header .inner > .entry:after, .header .inner > .footer:after, .header .inner > .service:after, .header .inner > .before_after:after {
  background-image: url(/img/gaichu/concierge_woman.webp);
  background-repeat: no-repeat;
  content: "";
  display: block;
  position: absolute;
  top: 150px;
  width: 26%;
}

.header .point {
  display: flex;
  justify-content: space-between;
  max-width: 530px;
  position: relative;
  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;
  padding: 0 20px;
  text-align: center;
  z-index: 1;
}

.header .service li {
  box-shadow: 3px 3px 0 #cdbaa3;
  margin-bottom: 10px;
  padding: 10px;
}

.header .service li img {
  border: 1px solid #dbdad8;
}

.header .service li figcaption {
  color: #6d510d;
  font-weight: bold;
  font-size: 22px;
  font-size: 2.2rem;
  margin-top: 15px;
}

.header .concierge {
  bottom: 0;
  position: absolute;
}

.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 .trouble ul li, .trouble ul .pageNav li, .pageNav .merit li, .merit .pageNav li, .pageNav .voice li, .voice .pageNav li, .pageNav .flow ol, .flow .pageNav ol, .pageNav .area .inner, .area .pageNav .inner, .pageNav .entry .form, .entry .pageNav .form, .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.fuyohin2 .listed-company {
  position: relative;
}

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

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

.pageNav.fuyohin2 .content, .pageNav.fuyohin2 .header .service li, .header .service .pageNav.fuyohin2 li, .pageNav.fuyohin2 .trouble ul li, .trouble ul .pageNav.fuyohin2 li, .pageNav.fuyohin2 .merit li, .merit .pageNav.fuyohin2 li, .pageNav.fuyohin2 .voice li, .voice .pageNav.fuyohin2 li, .pageNav.fuyohin2 .flow ol, .flow .pageNav.fuyohin2 ol, .pageNav.fuyohin2 .area .inner, .area .pageNav.fuyohin2 .inner, .pageNav.fuyohin2 .entry .form, .entry .pageNav.fuyohin2 .form, .pageNav.fuyohin2 .before_after ul, .before_after .pageNav.fuyohin2 ul {
  overflow: hidden;
  padding-left: 0;
}

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

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

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

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

.pageNav.fuyohin2 .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;
}

.SP_only.listed-company-text-sp.anime {
  display: none;
}

.trouble {
  margin-bottom: 20px;
}

.trouble h2 {
  position: relative;
}

.trouble h2:before {
  background: url(/img/fuyohin/ihin2/trouble.webp) no-repeat center;
  background-size: contain;
  content: "";
  position: absolute;
  z-index: -1;
}

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

.trouble ul li {
  margin-bottom: 20px;
  padding: 10px;
}

.trouble ul.SP_only {
  display: none;
}

.trouble ul.PC_only {
  display: flex;
}

.trb_trashh2 {
  text-align: center;
}

.trb_trashh2 h2 {
  position: relative;
}

.trb_trashh2 h2:before {
  background: url(/img/fuyohin/trashhouse/trouble_trashouse.webp) no-repeat center;
  background-size: contain;
  content: "";
  position: absolute;
  z-index: -1;
}

.trb_goki {
  text-align: center;
}

.trb_goki h2 {
  position: relative;
}

.trb_goki h2:before {
  background: url(/img/gaichu/goki/trouble_goki.webp) no-repeat center;
  background-size: contain;
  content: "";
  display: none;
  position: absolute;
  z-index: -1;
}

.merit {
  padding: 30px 20px;
}

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

.merit h2 {
  background: url(/img/gaichu/deco2.svg) no-repeat center bottom;
}

.merit h3 {
  color: #6d510d;
}

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

.merit li {
  background: url(/img/gaichu/merit_bg.webp) repeat;
  margin-bottom: 20px;
}

.merit li p {
  background-color: #fff;
  height: calc(100% - 3.5rem);
  padding: 15px;
}

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

.merit li p.PC_only {
  display: block;
  letter-spacing: -1px;
}

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

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

.reason .content h3 b, .reason .header .service li h3 b, .header .service .reason li h3 b, .reason .trouble ul li h3 b, .trouble ul .reason li h3 b, .reason .merit li h3 b, .merit .reason li h3 b, .reason .voice li h3 b, .voice .reason li h3 b, .reason .flow ol h3 b, .flow .reason ol h3 b, .reason .area .inner h3 b, .area .reason .inner h3 b, .reason .entry .form h3 b, .entry .reason .form h3 b, .reason .before_after ul h3 b, .before_after .reason ul h3 b {
  text-shadow: 2px  2px 1px #000, -2px  2px 1px #000, 2px -2px 1px #000, -2px -2px 1px #000, 2px  0 1px #000, 0  2px 1px #000, -2px  0 1px #000, 0 -2px 1px #000;
  width: auto;
}

.reason h2 {
  background: url(/img/gaichu/deco3.svg) no-repeat center bottom;
  background-size: contain;
  max-width: 530px;
  padding-bottom: 20px;
  text-align: center;
}

.reason h2 span {
  display: block;
  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 h3, .reason .header .service li h3, .header .service .reason li h3, .reason .trouble ul li h3, .trouble ul .reason li h3, .reason .merit li h3, .merit .reason li h3, .reason .voice li h3, .voice .reason li h3, .reason .flow ol h3, .flow .reason ol h3, .reason .area .inner h3, .area .reason .inner h3, .reason .entry .form h3, .entry .reason .form h3, .reason .before_after ul h3, .before_after .reason ul h3 {
  text-align: center;
}

.reason .content h3 span, .reason .header .service li h3 span, .header .service .reason li h3 span, .reason .trouble ul li h3 span, .trouble ul .reason li h3 span, .reason .merit li h3 span, .merit .reason li h3 span, .reason .voice li h3 span, .voice .reason li h3 span, .reason .flow ol h3 span, .flow .reason ol h3 span, .reason .area .inner h3 span, .area .reason .inner h3 span, .reason .entry .form h3 span, .entry .reason .form 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 .trouble ul li h3 img, .trouble ul .reason li h3 img, .reason .merit li h3 img, .merit .reason li h3 img, .reason .voice li h3 img, .voice .reason li h3 img, .reason .flow ol h3 img, .flow .reason ol h3 img, .reason .area .inner h3 img, .area .reason .inner h3 img, .reason .entry .form h3 img, .entry .reason .form 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 .trouble ul li p, .trouble ul .reason li p, .reason .merit li p, .merit .reason li p, .reason .voice li p, .voice .reason li p, .reason .flow ol p, .flow .reason ol p, .reason .area .inner p, .area .reason .inner p, .reason .entry .form p, .entry .reason .form p, .reason .before_after ul p, .before_after .reason ul p {
  background: #fedb3c;
  border-radius: 10px;
  color: #000;
  font-weight: bold;
  text-align: center;
}

.reason .content:nth-child(2), .reason .header .service li:nth-child(2), .header .service .reason li:nth-child(2), .reason .trouble ul li:nth-child(2), .trouble ul .reason li:nth-child(2), .reason .merit li:nth-child(2), .merit .reason li:nth-child(2), .reason .voice li:nth-child(2), .voice .reason li:nth-child(2), .reason .flow ol:nth-child(2), .flow .reason ol:nth-child(2), .reason .area .inner:nth-child(2), .area .reason .inner:nth-child(2), .reason .entry .form:nth-child(2), .entry .reason .form: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 .trouble ul li:nth-child(2):before, .trouble ul .reason li:nth-child(2):before, .reason .merit li:nth-child(2):before, .merit .reason li:nth-child(2):before, .reason .voice li:nth-child(2):before, .voice .reason li:nth-child(2):before, .reason .flow ol:nth-child(2):before, .flow .reason ol:nth-child(2):before, .reason .area .inner:nth-child(2):before, .area .reason .inner:nth-child(2):before, .reason .entry .form:nth-child(2):before, .entry .reason .form: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);
  content: "";
  display: block;
  position: absolute;
}

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

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

.reason .comment .inner {
  background: #f8f6ef;
  border: solid 3px #000;
  border-radius: 10px;
  margin-top: 20px;
  position: relative;
}

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

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

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

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

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

.voice {
  padding-bottom: 20px;
  padding-top: 20px;
}

.voice h2 {
  text-align: center;
}

.voice h2 span {
  display: block;
}

.voice h2 span:nth-child(1) {
  background: url(/img/gaichu/deco4.svg) no-repeat center bottom;
  margin: auto auto 20px auto;
  max-width: 360px;
}

.voice h2 span:nth-child(1) img {
  max-width: 60%;
}

.voice li {
  border: 3px solid #000;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.voice h3 {
  align-items: center;
  background: #fedb3c;
  border-radius: 5px 5px 0 0;
  color: #000;
  display: flex;
  font-weight: 600;
}

.voice h3 span:nth-child(1) {
  align-items: center;
  background: #fff;
  color: #6d510d;
  display: flex;
  font-weight: 600;
  justify-content: center;
}

.voice .customer {
  font-size: 16px;
  font-size: 1.6rem;
  text-align: center;
  width: 140px;
}

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

.voice .comment {
  position: relative;
}

.voice .comment p {
  margin-bottom: 20px;
}

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

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

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

.flow {
  position: relative;
  z-index: 2;
}

.flow h2 {
  margin-bottom: 50px;
  max-width: 500px;
}

.flow h2 span {
  align-items: center;
  background: url(/img/gaichu/flow_bg.webp) repeat-x;
  display: flex;
  justify-content: center;
}

.flow h3 span {
  color: #6d510d;
  display: block;
}

.flow p {
  margin-bottom: 20px;
}

.flow p:last-child {
  margin: 0;
}

.flow ol {
  counter-reset: step;
  position: relative;
}

.flow ol:before {
  background-size: contain;
  content: "";
  display: block;
  position: absolute;
}

.flow li {
  display: flex;
  justify-content: space-between;
  margin-bottom: 60px;
  position: relative;
}

.flow li:before {
  align-items: center;
  background: #fedb3c;
  border-radius: 50%;
  color: #000;
  content: counter(step);
  counter-increment: step;
  display: flex;
  justify-content: center;
  left: 0;
  position: absolute;
  top: 0;
}

.flow li:nth-child(n + 7) h3 span {
  color: #ce0057;
}

.flow li:nth-child(n + 7):before {
  background: #ce0057;
  color: #fff;
}

.flow li:last-child {
  margin: 0;
}

.flow li.check {
  display: block;
  padding: 0;
}

.flow li.check:before {
  content: none;
}

.flow li.check p {
  color: #fff;
  text-align: center;
}

.flow li.check p:nth-child(1) {
  background: #fedb3c;
  border: 2px solid #000;
  color: #000;
}

.flow li.check p:nth-child(2) {
  background: #ce0057;
}

.flow .check br {
  display: none;
}

.area h2 {
  background: url(/img/gaichu/deco4.svg) no-repeat center bottom;
  text-align: center;
}

.area input {
  display: none;
}

.area .inner {
  border: 2px solid #fedb3c;
  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: #795548;
  background: #fedb3c;
  height: 2em;
  display: inline-block;
  padding: 0 10px;
  border-radius: 5px 5px 0 0;
  border: 2px solid #fedb3c;
  cursor: pointer;
}

.area .inner .main-name .area-main-name.show {
  font-weight: bold;
  color: #795548;
  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 #fedb3c;
}

.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: #fedb3c url(/img/gaichu/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;
}

.entry {
  position: relative;
  z-index: 2;
}

.entry h2 {
  text-align: center;
}

.entry h2 span {
  color: #6d510d;
  display: block;
  margin-bottom: 10px;
}

.entry .form {
  position: relative;
}

.entry .form:before {
  background-size: contain;
  content: "";
  position: absolute;
}

.entry .form ul .required::before {
  background: #ce0057;
  border-radius: 5px;
  bottom: 25%;
  color: #fff;
  content: "必須";
  font-size: 14px;
  font-weight: bold;
  padding: 5px 10px;
  position: absolute;
  right: 10px;
  z-index: 2;
}

.entry .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-left: 10px;
  padding: 5px 10px;
  text-shadow: none;
  z-index: 2;
}

.entry .form .IE_note {
  background: #376991;
  color: #fff;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 30px;
  margin-top: 10px;
  padding: 10px 0;
  text-align: center;
}

.entry .form .IE_note .IE_note_tel {
  color: #fff;
  text-decoration: underline;
}

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

.entry .tooltip {
  color: #6d510d;
  display: none;
  font-weight: 500;
  margin-bottom: 20px;
}

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

.entry .note {
  margin-bottom: 5px;
}

.entry .input {
  position: relative;
}

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

.entry .input input::placeholder {
  color: #fefbed;
}

.entry .input textarea {
  align-items: center;
  background: #fefbed;
  border: solid 1px #000;
  border-radius: 10px;
  color: #6d510d;
  display: block;
  font-weight: bold;
  padding: 10px;
  width: 100%;
}

.entry .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%;
}

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

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

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

.entry .input input:focus + label,
.entry .input textarea:focus + label,
.entry .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;
}

.entry .address {
  display: flex;
  padding: 16px;
}

.entry .address div:nth-child(1) {
  position: relative;
  width: 100px;
}

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

.entry .service {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.entry .service li {
  position: relative;
}

.entry .service input {
  opacity: 0;
  position: absolute;
}

.entry .service label {
  align-items: center;
  background: #fefbed;
  border: solid 1px #000;
  border-radius: 10px;
  color: #6d510d;
  cursor: pointer;
  display: block;
  font-weight: bold;
  text-align: center;
}

.entry .service label span {
  display: block;
  font-size: 16px;
  font-size: 1.6rem;
  width: 100%;
}

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

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

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

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

.entry 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;
}

.entry 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;
}

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

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

.entry 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;
}

.entry .add {
  margin-bottom: 20px;
}

.entry .add summary {
  background: #fedb3c;
  border: 2px solid #000;
  border-radius: 10px;
  color: transparent;
  padding: 15px 15px 15px 60px;
  position: relative;
}

.entry .add summary span {
  color: #000;
  font-weight: bold;
}

.entry .add summary span:before, .entry .add summary span:after {
  background: #000;
  content: "";
  position: absolute;
  top: 50%;
}

.entry .add summary span:before {
  height: 4px;
  left: 20px;
  margin-top: -2px;
  width: 20px;
}

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

.entry .add dl {
  margin-top: 20px;
}

.entry .add dt {
  border-bottom: solid 1px #000;
  color: #000;
  font-weight: bold;
  margin-bottom: 20px;
  padding-bottom: 20px;
}

.entry .add dd {
  margin-bottom: 20px;
}

.entry .add ul {
  display: flex;
  flex-wrap: wrap;
}

.entry .add li {
  margin: 0 10px 10px 0;
}

.entry .add input[type="checkbox"],
.entry .add input[type="radio"] {
  opacity: 0;
  position: absolute;
}

.entry .add label,
.entry .add textarea,
.entry .add input[type="text"] {
  align-items: center;
  background: #fefbed;
  border: solid 1px #000;
  border-radius: 10px;
  color: #6d510d;
  display: block;
  padding: 10px;
}

.entry .add label {
  cursor: pointer;
  font-weight: bold;
}

.entry .add label textarea {
  border: none;
  font-weight: 500;
  margin-top: 10px;
  padding: 0;
  width: 100%;
}

.entry .add input:checked + label {
  background: #ce0057;
  border-color: #ce0057;
  color: #fff;
}

.entry .add #kibouzikan {
  min-height: 4em;
  width: calc(100% - 20px);
}

.entry .add #bikou {
  min-height: 4em;
  width: calc(100% - 20px);
}

.entry li .other {
  width: 100%;
}

.entry #termCheck {
  margin-bottom: 30px;
}

.entry #termCheck p.termCheck {
  align-items: center;
  display: flex;
  flex-direction: row;
  line-height: 1.3;
  margin: 5px auto;
  justify-content: center;
}

.entry #termCheck p.termCheck label {
  cursor: pointer;
  display: inline-block !important;
  margin-bottom: 0 !important;
  margin-left: 10px;
  max-width: 100%;
  width: auto !important;
}

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

.entry .button, .entry .contact .form a, .contact .form .entry a {
  font-weight: bold;
  margin: 0 auto;
  max-width: 480px;
  padding: 20px 0 10px 0;
  position: relative;
  white-space: nowrap;
  width: 100%;
}

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

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

.entry .button.lack .cover, .entry .contact .form a.lack .cover, .contact .form .entry 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%;
}

.entry .button#submitbtn, .entry .contact .form a#submitbtn, .contact .form .entry a#submitbtn {
  flex-direction: column;
}

.entry .button#submitbtn p#agreement, .entry .contact .form a#submitbtn p#agreement, .contact .form .entry a#submitbtn p#agreement {
  font-size: 14px;
}

.entry .button#submitbtn p#request, .entry .contact .form a#submitbtn p#request, .contact .form .entry a#submitbtn p#request {
  line-height: 1.2 !important;
}

.entry .button#submitbtn:disabled, .entry .contact .form a#submitbtn:disabled, .contact .form .entry a#submitbtn:disabled {
  background: #bcbcbc;
  box-shadow: 0 4px #7e7e7e;
  cursor: unset;
}

.entry .button#submitbtn:disabled:hover, .entry .contact .form a#submitbtn:disabled:hover, .contact .form .entry a#submitbtn:disabled:hover {
  top: 0;
}

.entry .button#submitbtn:disabled b, .entry .contact .form a#submitbtn:disabled b, .contact .form .entry a#submitbtn:disabled b {
  color: #fff;
}

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

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

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

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

.entry .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;
}

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

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

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

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

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

.entry .thanks {
  display: none;
}

.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 {
  max-width: none;
  padding-bottom: 30px;
}

.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: #fedb3c;
  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;
}

.trouble.gaichu_top {
  margin-top: 50px;
}

.trouble.gaichu_top img {
  margin-top: 0;
}

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

@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);
  }
}
