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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sub {
  bottom: -.25em;
}

sup {
  top: -.5em;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

html {
  font-size: 62.5%;
}

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

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

h1 b,
h2 b,
h3 b,
h4 b,
h5 b,
h6 b {
  color: #75bd26;
}

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

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

.brownC {
  color: #75bd26;
}

ul,
ol {
  list-style: none;
}

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

a:hover {
  text-decoration: none;
}

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

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

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

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

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

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

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

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

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

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

.out_space {
  background-color: #fff;
}

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

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

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

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

.contact_part {
  margin-top: 30px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.contactFix a {
  text-decoration: none;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media screen and (min-width: 769px) {
  .button, .contact_part .contact .form a {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .button b, .contact_part .contact .form a b {
    font-size: 32px;
    font-size: 3.2rem;
  }
  .contact {
    padding-top: 40px !important;
  }
  .contact:before {
    height: 150px;
    right: 220px;
    top: 20px;
    width: 150px;
  }
  .contact:after {
    height: 323px;
    right: 20px;
    top: 0;
    width: 224px;
  }
  .contact h2 {
    font-size: 32px;
    font-size: 3.2rem;
  }
  .contact h2 b {
    font-size: 50px;
    font-size: 5rem;
    margin-top: 20px;
  }
  .contact .content, .contact .header .service li, .header .service .contact li, .contact .area .inner, .area .contact .inner, .contact .before_after ul, .before_after .contact ul {
    display: flex;
    justify-content: space-between;
    padding: 30px;
    position: relative;
  }
  .contact .content:after, .contact .header .service li:after, .header .service .contact li:after, .contact .area .inner:after, .area .contact .inner:after, .contact .before_after ul:after, .before_after .contact ul:after {
    background: #6dc7b7;
    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: #75bd26;
    font-size: 50px;
    font-size: 5rem;
  }
  .contact .tel p {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1;
    margin-top: 10px;
  }
  .contactFix {
    padding: 20px;
  }
  .contactFix .sp {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .contact {
    padding-top: 40px !important;
  }
  .contact:before {
    height: 15vw;
    right: 20vw;
    top: 0;
    width: 15vw;
  }
  .contact:after {
    height: 20vw;
    right: 20px;
    top: 0;
    width: 20vw;
  }
  .contact h2 {
    font-size: 22px;
    font-size: 2.2rem;
    max-width: 65%;
  }
  .contact h2 b {
    font-size: 5vw;
    margin-top: 10px;
  }
  .contact .content, .contact .header .service li, .header .service .contact li, .contact .area .inner, .area .contact .inner, .contact .before_after ul, .before_after .contact ul {
    padding: 20px;
  }
  .contact .form {
    border-bottom: solid 1px #75bd26;
    margin-bottom: 30px;
    padding-bottom: 38px !important;
  }
  .contact .form a {
    padding: 20px 0;
  }
  .contact .form a b {
    font-size: 26px;
    font-size: 2.6rem;
  }
  .contact .tel a {
    border-radius: 10px;
    color: #75bd26;
    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: 15px 0;
  }
  .contactFix .sp b {
    font-size: 26px;
    font-size: 2.6rem;
    padding-bottom: 7px;
  }
  .button b, .contact_part .contact .form a b {
    font-size: 18px;
    font-size: 1.8rem;
    padding-bottom: 4px;
  }
}

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

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

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

@media screen and (max-width: 1024px) and (min-width: 769px) {
  .header .points_FV,
  .header .concierge {
    display: none;
  }
  .header .points_FV_tablet {
    bottom: -5px;
    display: block !important;
    position: absolute;
    right: 0;
    width: 95%;
  }
  .header .point-inner {
    right: 99px;
    width: 57%;
  }
  .header .point-inner .point {
    max-width: auto !important;
    width: 100%;
  }
  .header .track_FV {
    right: 62%;
    width: 330px;
  }
  .header .service li {
    width: calc(100% / 4 - 20px);
  }
  .comparison {
    padding: 20px 20px 50px !important;
  }
  .merit li div p {
    font-size: 17px !important;
  }
}

@media screen and (max-width: 768px) {
  .section, .area, .entryMin {
    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 {
    background: none;
    border-bottom: none;
  }
  .header .inner .container::after, .header .inner .contact_part .contact::after, .contact_part .header .inner .contact::after, .header .inner .contactFix .pc::after, .contactFix .header .inner .pc::after, .header .inner .service::after, .header .inner .before_after::after {
    background-position: left bottom;
    background-size: contain;
    height: 100% !important;
    right: 10%;
    top: 20px !important;
    width: 30%;
  }
  .header .inner .container::before, .header .inner .contact_part .contact::before, .contact_part .header .inner .contact::before, .header .inner .contactFix .pc::before, .contactFix .header .inner .pc::before, .header .inner .service::before, .header .inner .before_after::before {
    background-position: left bottom;
    background-size: contain;
    height: 100% !important;
    right: -6% !important;
    top: 20px !important;
    width: 30%;
  }
  .header .point {
    max-width: 470px !important;
    width: 60%;
  }
  .header .service {
    margin-bottom: -5px !important;
    margin-top: 50px !important;
  }
  .header .service li {
    margin-bottom: 10px !important;
    width: calc((100% - 30px) / 4);
  }
  .header .service li .imgNote {
    align-items: center;
    display: flex;
    font-size: 20px !important;
    height: 3em;
    justify-content: center;
    line-height: 1.1;
    padding: 5px 0 !important;
  }
  .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);
  }
  .trader .trader_content {
    flex-direction: column;
  }
  .trader .trader_content picture {
    width: 100% !important;
    margin-top: 10px !important;
  }
  .pageNav {
    top: 0;
  }
  .pageNav .content, .pageNav .header .service li, .header .service .pageNav li, .pageNav .area .inner, .area .pageNav .inner, .pageNav .before_after ul, .before_after .pageNav ul {
    border-radius: 0;
    height: 50px;
    padding: 0 10px !important;
    width: 100%;
  }
  .pageNav .content .listed-company, .pageNav .header .service li .listed-company, .header .service .pageNav li .listed-company, .pageNav .area .inner .listed-company, .area .pageNav .inner .listed-company, .pageNav .before_after ul .listed-company, .before_after .pageNav ul .listed-company {
    display: none;
  }
  .pageNav .content > .call, .pageNav .header .service li > .call, .header .service .pageNav li > .call, .pageNav .area .inner > .call, .area .pageNav .inner > .call, .pageNav .before_after ul > .call, .before_after .pageNav ul > .call {
    align-items: center;
    display: flex;
    height: 50px;
    position: fixed;
    right: 100px;
    top: 0;
  }
  .pageNav .content > .call a, .pageNav .header .service li > .call a, .header .service .pageNav li > .call a, .pageNav .area .inner > .call a, .area .pageNav .inner > .call a, .pageNav .before_after ul > .call a, .before_after .pageNav ul > .call a {
    width: 50px;
  }
  .pageNav .content > .call p, .pageNav .header .service li > .call p, .header .service .pageNav li > .call p, .pageNav .area .inner > .call p, .area .pageNav .inner > .call p, .pageNav .before_after ul > .call p, .before_after .pageNav ul > .call p {
    background: #fefbed;
    border-radius: 5px;
    font-size: 12px;
    font-weight: bold;
    line-height: 1;
    margin-right: 5px;
    padding: 5px 15px 5px 5px;
    position: relative;
  }
  .pageNav .content > .call p:after, .pageNav .header .service li > .call p:after, .header .service .pageNav li > .call p:after, .pageNav .area .inner > .call p:after, .area .pageNav .inner > .call p:after, .pageNav .before_after ul > .call p:after, .before_after .pageNav ul > .call p:after {
    background: url(../../img/right.webp) no-repeat;
    background-size: cover;
    content: "";
    display: inline-block;
    height: 10px;
    position: absolute;
    right: 3px;
    top: 11px;
    width: 8px;
  }
  .pageNav .content > .call b, .pageNav .header .service li > .call b, .header .service .pageNav li > .call b, .pageNav .area .inner > .call b, .area .pageNav .inner > .call b, .pageNav .before_after ul > .call b, .before_after .pageNav ul > .call b {
    color: #ffe109;
  }
  .pageNav .logo img {
    height: 25px !important;
  }
  .pageNav ul {
    display: none !important;
  }
  .pageNav .call a {
    align-items: center;
    background: #75bd26;
    display: flex;
    height: 100%;
    width: 100%;
  }
  .pageNav .call img {
    height: 30px;
    width: 30px;
  }
  .pageNav .navterms {
    background: #42aeb6;
    display: inline-block !important;
    height: 50px;
    position: fixed;
    right: 50px;
    top: 0;
    width: 50px;
  }
  .pageNav .navterms p {
    color: #fff;
    font-size: 15px;
    line-height: 1;
    margin: auto;
    width: 3rem;
  }
  .pageNav .navToggle {
    background: #ffb302;
    cursor: pointer;
    display: block;
    height: 50px;
    position: fixed;
    right: 0;
    top: 0;
    width: 50px;
    z-index: 2;
  }
  .pageNav .navToggle span {
    background: #fff;
    display: block;
    height: 3px;
    left: 10px;
    position: absolute;
    transition: .35s ease-in-out;
    width: 30px;
  }
  .pageNav .navToggle span:nth-child(1) {
    top: 10px;
  }
  .pageNav .navToggle span:nth-child(2) {
    top: 17px;
  }
  .pageNav .navToggle span:nth-child(3) {
    top: 24px;
  }
  .pageNav .navToggle div {
    bottom: 5px;
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    line-height: 1;
    position: absolute;
    text-align: center;
    width: 100%;
  }
  .open .pageNav a {
    border-radius: 10px;
    display: block;
    padding: 5px 0;
  }
  .open .pageNav .button b, .open .pageNav .contact_part .contact .form a b, .contact_part .contact .form .open .pageNav a b {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .open .pageNav ul {
    background: #fff;
    display: block !important;
    height: 100vh;
    left: 0;
    margin-top: 0 !important;
    padding: 30px 20px 20px;
    position: fixed;
    text-align: center;
    top: 0;
    width: 100vw !important;
    z-index: 1;
  }
  .open .pageNav ul li.menuL.menuList1 {
    display: inline-block;
    width: 49%;
  }
  .open .pageNav ul .menuList2.sp,
  .open .pageNav ul .menuList3.sp,
  .open .pageNav ul .menuList4.sp {
    display: inline-block;
    padding: 0;
    position: unset !important;
    width: 49%;
  }
  .open .pageNav ul .menuList2.sp.fir:before,
  .open .pageNav ul .menuList3.sp.fir:before,
  .open .pageNav ul .menuList4.sp.fir:before {
    border-top: 1px dotted #ccc;
    content: "";
    display: inline-block;
    margin-top: 0 !important;
    position: relative;
    top: -5px;
    width: 200%;
  }
  .open .content > .call, .open .header .service li > .call, .header .service .open li > .call, .open .area .inner > .call, .area .open .inner > .call, .open .before_after ul > .call, .before_after .open ul > .call {
    display: none;
  }
  .open .sp {
    bottom: 0;
    box-sizing: border-box;
    display: block;
    left: 0;
    padding: 0 20px 20px;
    position: fixed;
    width: 100%;
  }
  .open .sp a {
    color: #000;
  }
  .open .sp a.button #text, .open .sp .contact_part .contact .form a #text, .contact_part .contact .form .open .sp a #text {
    color: #fff;
    justify-content: center;
  }
  .open .sp .call {
    margin: 20px 0;
  }
  .open .sp img {
    display: none;
  }
  .open .sp p {
    text-align: center;
  }
  .open .sp .terms p {
    color: #000;
    margin-top: 20px;
    text-align: center;
    text-decoration: underline;
  }
  .open .navToggle span:nth-child(1) {
    top: 20px;
    transform: rotate(315deg);
  }
  .open .navToggle span:nth-child(2) {
    left: 50%;
    width: 0;
  }
  .open .navToggle span:nth-child(3) {
    top: 20px;
    transform: rotate(-315deg);
  }
  .listed-company-text-sp {
    overflow: hidden;
    position: relative;
  }
  .listed-company-text-sp.fixed {
    height: auto;
    position: fixed;
    top: 50px !important;
    width: 100%;
    z-index: 10;
  }
  .pageNav.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);
  }
  .trouble li.trouble5 {
    width: 100%;
  }
  .trouble .SP_only {
    display: flex !important;
  }
  .merit h2 {
    background-size: contain !important;
  }
  .merit li {
    width: calc(100% / 2 - 10px);
  }
  .merit li div {
    height: calc(100% - 48px);
  }
  .merit li div img {
    margin: 0;
  }
  .merit li h3 {
    font-size: 22px !important;
  }
  .reason h2 {
    margin-left: auto;
    margin-right: auto;
  }
  .reason .content, .reason .header .service li, .header .service .reason li, .reason .area .inner, .area .reason .inner, .reason .before_after ul, .before_after .reason ul {
    padding: 20px 10px;
  }
  .reason .content h3 span, .reason .header .service li h3 span, .header .service .reason li h3 span, .reason .area .inner h3 span, .area .reason .inner h3 span, .reason .before_after ul h3 span, .before_after .reason ul h3 span {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .reason .content p, .reason .header .service li p, .header .service .reason li p, .reason .area .inner p, .area .reason .inner p, .reason .before_after ul p, .before_after .reason ul p {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .reason .content p span, .reason .header .service li p span, .header .service .reason li p span, .reason .area .inner p span, .area .reason .inner p span, .reason .before_after ul p span, .before_after .reason ul p span {
    font-size: 32px;
    font-size: 3.2rem;
  }
  .reason .comment {
    justify-content: flex-start;
    margin-bottom: 30px;
  }
  .reason .comment:after {
    background-repeat: no-repeat !important;
    background-size: contain !important;
    width: 25vw;
  }
  .reason .comment .inner {
    padding: 17px;
    width: 64vw;
  }
  .reason .comment .inner:before {
    right: -20px;
    top: 50px;
  }
  .reason .comment .inner:after {
    right: -14.5px;
    top: 50px;
  }
  .reason .comment h4 b {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .comparison {
    padding: 20px 30px 50px !important;
  }
  .comparison .slick {
    padding: 20px 30px !important;
  }
  .comparison .slick .slick-slider {
    margin: auto;
    max-width: 550px;
  }
  .comparison .slick .slick-slider .slick-next {
    right: -37px;
  }
  .comparison .slick .slick-slider .slick-prev {
    left: -60px;
  }
  .comparison .slick .slick-slider .slick-slide {
    transform: none !important;
  }
  .comparison .slick .slick-slider .slick-slide img {
    width: 100%;
  }
  .comparison .slick .slick-slider .is--active {
    transform: none !important;
  }
  .comparison .slick .slick-slider .slick-prev:before,
  .comparison .slick .slick-slider .slick-next:before {
    font-size: 40px;
  }
  .voice {
    padding-bottom: 30px !important;
    padding-top: 35px !important;
  }
  .voice h2 span:nth-child(1) {
    margin: auto;
    width: 60%;
  }
  .voice h2 span:nth-child(3) {
    font-size: 20px;
    font-size: 2rem;
    margin: 15px 0;
  }
  .voice ul {
    display: block !important;
  }
  .voice li {
    margin-bottom: 20px;
    padding: 20px;
    width: 100% !important;
  }
  .voice .voice_title p {
    margin-right: 15px;
  }
  .voice .voice_img {
    min-width: 200px;
  }
  .voice .voice_img .price_img {
    width: 55% !important;
  }
  .voice .SP_only {
    display: block !important;
  }
  .voice .PC_only {
    display: none !important;
  }
  .flow h2 {
    width: 80%;
  }
  .flow h2 span {
    border-radius: 20px;
    height: 40px;
    font-size: 22px;
    font-size: 2.2rem;
    margin: auto;
    max-width: 180px;
  }
  .flow h3 span {
    margin-bottom: 5px;
  }
  .flow 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;
    width: 30px;
  }
  .flow div.SP_only img:last-of-type {
    margin-top: 30px;
  }
  .area {
    margin-top: 100px !important;
  }
  .entryMin {
    margin-top: 100px !important;
  }
  .entryMin h2 {
    max-width: 70%;
  }
  .entryMin .form {
    padding: 30px 20px;
  }
  .entryMin .form:before {
    background: url(/img/fuyohin/ihin2/concierge6-sp.webp) no-repeat top right;
    height: 30vh;
    right: 0;
    top: -20vh;
    width: calc(100% / 3);
    z-index: -1;
  }
  .entryMin ul > li {
    margin-bottom: 10px;
  }
  .entryMin .service li {
    width: calc((100% - 20px) / 2);
  }
  .entryMin .service li:empty {
    display: none;
  }
  .entryMin .service label {
    padding: 10px 0;
  }
  .footer {
    padding-bottom: 20px !important;
    padding-top: 30px !important;
  }
  .footer .nav {
    margin-bottom: 10px;
  }
  .footer li {
    margin-bottom: 20px;
    padding-left: 7vw;
    width: calc(100% / 3);
  }
  #demo {
    display: none;
  }
  #canppic {
    display: none;
  }
}

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

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

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

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

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

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

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

.campaign .comment br {
  display: none;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.articleEntry {
  background: url(/img/fuyohin/formStart_bg.webp);
  padding-bottom: 60px 0;
}

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

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

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

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

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

#contactForm label {
  cursor: pointer;
}

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

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

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

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

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

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

#forms .fontsize_s {
  font-size: 13px !important;
}

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

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

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

#forms .add {
  min-height: auto !important;
}

#forms .specialNote {
  color: red !important;
  font-size: 17px !important;
  font-weight: bold;
  margin-bottom: 15px !important;
  text-align: left;
}

#forms .specialNote br {
  display: none;
}

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

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

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

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

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

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

#forms .balloon span.maximum-introduction {
  color: #ce0057;
  font-weight: bold;
  font-size: 22px;
}

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

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

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

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

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

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

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

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

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

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

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

#forms #chatForm #threePoints #imgNext span.confirmA:hover {
  position: relative;
  top: 5px;
}

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

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

#forms #chatForm .optionOutline:not(.userInfo) label {
  border-radius: 15px;
  margin-bottom: 20px;
  width: 31%;
}

#forms #chatForm .optionOutline:not(.userInfo) .two {
  width: 48.5%;
}

#forms #chatForm .optionOutline:not(.userInfo) .three {
  width: 32%;
}

#forms #chatForm .optionOutline:not(.userInfo) .four {
  width: 23%;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#forms #chatForm #chat .optionOutline,
#forms #chatForm #serviceSelect .optionOutline {
  border-top: 5px solid #81ce7e;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 15px;
  padding: 20px 15px 35px;
  position: relative;
}

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

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

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

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

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

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

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

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

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

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

#forms #chatForm #chat .multipleC .optionOutline .notice_m,
#forms #chatForm #serviceSelect .multipleC .optionOutline .notice_m {
  margin-bottom: 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#forms #normal .form .service li {
  margin-bottom: 20px;
  width: 48%;
}

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

#forms #normal .form .service li label .note {
  color: #362500;
  margin-bottom: 0;
}

#forms #normal .form .service li label .maximumInt {
  display: none;
}

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

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

#forms #normal .form .service li input[type="radio"]:checked + label .maximumInt {
  display: block;
  font-size: 14px;
  color: yellow;
  margin-top: 0;
}

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

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

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

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

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

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

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

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

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

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

#forms #normal .form .add li {
  margin: 0 13px 20px 0;
  max-height: 66px;
  min-height: 60px;
  width: 130px;
}

#forms #normal .form .add li.other {
  max-height: unset;
  width: 100%;
}

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

#forms #normal .form .add li label {
  align-items: center;
  background: #fff;
  border: 3px solid #f0e156;
  border-radius: 10px;
  box-shadow: 0 4px 0 #dd9800;
  color: #362500;
  cursor: pointer;
  display: flex;
  font-weight: bold;
  height: 100%;
  justify-content: center;
  line-height: 1.2;
  width: calc(100% - 20px);
}

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

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

#forms #normal .form .add textarea,
#forms #normal .form .add input[type="text"] {
  display: block;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#forms .loading {
  display: none;
}

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

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

#forms .balloon.waiting span {
  font-size: 0;
}

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

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

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

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

#forms p#checkCancel {
  align-items: center;
  background: #ff9800;
  border-radius: 25px;
  box-shadow: 0 5px 0 #b26a00;
  cursor: pointer;
  display: flex;
  height: 50px;
  justify-content: center;
  margin: 10px auto;
  max-width: 350px;
  padding: 3px 0;
  width: 100%;
}

#forms p#checkCancel a {
  align-items: center;
  color: #fff;
  display: flex;
  font-size: 18px;
  height: 100%;
  justify-content: center;
  text-decoration: none;
  width: 100%;
}

#forms p#checkCancel:hover {
  background: #ffc107;
  bottom: -5px;
  box-shadow: none;
  position: relative;
}

#forms p#noSelect {
  align-items: center;
  background: #44aeb6;
  border-radius: 25px;
  box-shadow: 0 5px 0 #217e85;
  cursor: pointer;
  display: flex;
  font-size: 22px;
  font-weight: bold;
  height: 50px;
  justify-content: center;
  margin: 10px auto;
  max-width: 350px;
  padding: 3px 0;
  width: 100%;
}

#forms p#noSelect span {
  color: #fff;
  font-size: 18px;
  text-align: center;
  width: 100%;
}

#forms p#noSelect:hover {
  background: #6ad0d8;
  bottom: -5px;
  box-shadow: none;
  position: relative;
}

#entryMin {
  padding-bottom: 0;
}

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

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

@media screen and (max-width: 415px) {
  #form_title picture {
    width: 80% !important;
  }
  .fontsizeSp_s {
    font-size: 13px !important;
  }
  #forms .textarea {
    min-height: 150px !important;
  }
  #forms .sideBySide {
    flex-direction: row !important;
    justify-content: space-evenly !important;
  }
  #forms .spFull {
    width: 100% !important;
  }
  #forms label.spTwo {
    width: 48.5% !important;
  }
  #forms label.spThree {
    width: 32% !important;
  }
  #forms label.spFour img {
    height: auto !important;
    width: 95% !important;
  }
  #forms #normal .form .textarea {
    min-height: 100px !important;
  }
  #forms #normal .form .add ul {
    justify-content: space-between;
  }
  #forms #normal .form .add ul li {
    margin: 0 0 20px 0;
    min-width: calc(50% - 10px);
    width: calc(50% - 10px);
  }
  #forms #normal .form .add ul li label {
    line-height: 1.2;
  }
  #forms #normal .form .add ul li.other label {
    width: calc(100% - 6px) !important;
  }
  #forms #normal .form .add ul li.other input:checked + label {
    width: calc(100% - 40px) !important;
  }
  #forms .specialNote {
    font-size: 15px !important;
    line-height: 1.2;
    margin: auto auto 15px;
    padding-left: 1em;
    text-align: left !important;
    text-indent: -1em;
    width: 18em !important;
  }
  #forms .specialNote br {
    display: block;
  }
  #forms .terms {
    margin: 0 auto 5px auto;
  }
  footer#footer.hidden {
    display: none;
  }
  #termCheck p.termCheck {
    width: 100% !important;
  }
  #termCheck p.termCheck label[for="term1"] {
    line-height: 1;
    text-align: left !important;
  }
  .button#submitbtn p#agreement, .contact_part .contact .form a#submitbtn p#agreement {
    font-size: 11px !important;
  }
  span.dot {
    display: none;
  }
  .thanks h2.title {
    font-size: 2.5rem;
    max-width: 100%;
  }
}

html {
  scroll-behavior: smooth;
}

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

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

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

.out_space {
  background: #f9faf6;
}

a {
  -webkit-tap-highlight-color: transparent;
  /* 強調をなくす */
}

.header .inner {
  background: url(/img/fuyohin/back_img_fuyohin.webp) no-repeat top;
  background-size: cover;
  border-bottom: 6px solid #75bd26;
  position: relative;
  text-align: center;
}

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

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

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

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

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

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

.header .service li .imgTitle {
  border-radius: 10px 10px 0 0;
  color: #fff;
  font-weight: bold;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1;
  padding: 15px 0 10px;
}

.header .service li .imgNote {
  border-radius: 0 0 13px 13px;
  font-size: 16px;
  font-size: 1.6rem;
  padding: 10px 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.trouble {
  margin: auto;
  max-width: 1040px;
  padding: 50px 20px;
}

.trouble h2 {
  position: relative;
}

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

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

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

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

.trouble .SP_only {
  display: none;
}

.trouble .PC_only {
  display: flex;
}

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

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

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

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

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

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

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

.trouble .comment h4 {
  color: #75bd26;
  margin-bottom: 20px;
}

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

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

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

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

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

.trader .trader_content picture:last-of-type {
  width: 100%;
}

.trackSize {
  background-color: #f9faf6;
  margin: 0 auto 0;
  max-width: 1040px;
  padding: 30px 20px 50px;
}

.trackSize .track_title {
  margin: auto;
  max-width: 950px;
}

.trackSize .subTitle {
  color: #56000a;
  font-weight: bold;
  margin: 20px auto 10px;
  text-align: center;
}

.trackSize .subTitle p {
  background: url(/img/fuyohin/track_decoration.webp) no-repeat center;
  background-size: contain;
  font-size: 24px;
  line-height: 1.5;
  margin: 0 auto 7px;
  max-width: 400px;
  text-align: center;
}

.trackSize .subTitle span {
  font-size: 18px;
  max-width: 600px;
}

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

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

.merit > h2 {
  background: url(/img/fuyohin/deco2.webp) no-repeat center bottom;
}

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

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

.merit h3 {
  color: #12650e;
}

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

.merit li {
  background: url(/img/fuyohin/merit_bg.webp) repeat;
  border: 1px solid #3c9e8e;
  border-radius: 15px;
  margin-bottom: 20px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.policy p {
  line-height: 1.7;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.comparison {
  margin: auto;
  max-width: 1040px;
  padding: 0 20px 50px;
}

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

.comparison h2 img {
  width: 80%;
}

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

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

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

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

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

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

.voice h2 {
  text-align: center;
}

.voice h2 span {
  display: block;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.voice .comment {
  position: relative;
}

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

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

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

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

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

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

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

.voice .SP_only {
  display: none;
}

.voice .PC_only {
  display: block;
}

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

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

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

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

.QA {
  padding: 50px 20px;
}

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

.QA .QAContent {
  border: 1px solid #75bd26;
  border-radius: 15px;
  margin: auto;
  max-width: 1000px;
  overflow: hidden;
}

.QA .QAContent li {
  cursor: pointer;
}

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

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

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

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

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

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

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

.area {
  padding: 0 20px;
}

.area h2 {
  background: url(/img/fuyohin/deco4.webp) no-repeat center top;
  background-size: inherit;
  text-align: center;
}

.area h2 span {
  font-size: 2rem;
  color: #e66e52;
}

.area input {
  display: none;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.entryMin h2 {
  text-align: center;
}

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

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

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

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

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

.entryMin .form .IE_note {
  background: #f9ef9b;
  color: #474005;
  line-height: 1.5;
  margin-bottom: 30px;
  margin-top: 10px;
  padding: 10px 0;
  text-align: center;
  width: 100%;
}

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

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

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

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

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

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

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

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

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

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

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

.entryMin .input input::placeholder {
  color: #75bd26;
}

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

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

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

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

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

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

.entryMin .address {
  display: flex;
}

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

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

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

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

.entryMin .service li {
  width: calc((100% - 100px) / 6);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.entryMin .add {
  margin: 20px 0 15px !important;
}

.entryMin .add summary {
  background: #75bd26;
  border: 2px solid #75bd26;
  border-radius: 10px;
  color: transparent;
  padding: 15px 15px 15px 60px;
  position: relative;
}

.entryMin .add summary span {
  color: #fff;
  font-weight: bold;
}

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

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

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

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

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

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

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

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

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

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

.entryMin .add .kodawari-input {
  height: calc(100% - 20px);
  padding: 10px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.entryMin .thanks {
  display: none;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.footer h2 {
  display: none;
}

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

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

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

.back_top {
  display: none;
}

.back_top.pop {
  display: none;
}

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

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

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

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

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

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

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

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

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

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

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

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

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