@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 */
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: #c3584a;
}

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

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

.brownC {
  color: #c3584a;
}

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 {
  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 {
  align-items: center;
  background: url(/img/law/button_bg.webp) repeat;
  background-size: contain;
  border-radius: 10px;
  box-shadow: 0 8px 0 #243e5a;
  color: #fff;
  display: flex;
  justify-content: center;
  overflow: hidden !important;
  position: relative;
  text-decoration: none;
  text-shadow: 2.5px 2.5px 0 #243e5a;
}

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

.button b {
  padding-bottom: 10px;
}

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

.button.disabled {
  background: #bcbcbc;
  box-shadow: 0 4px #7e7e7e;
  cursor: unset;
  text-shadow: none;
}

.button.disabled p {
  color: #fff !important;
}

.button.disabled:hover {
  box-shadow: 0 4px #7e7e7e;
  position: unset;
}

.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/law/contact.webp);
  background-size: cover;
  z-index: 1;
}

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

.contact_part .contact h2 {
  line-height: 1.5;
  margin-bottom: 30px;
  max-width: 70%;
  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 #edbe4f;
  border-radius: 10px;
  position: relative;
  text-align: center;
  z-index: 1;
}

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

.contact_part .contact h3 {
  background: url(/img/law/deco1.svg) no-repeat center;
  color: #1a3559;
  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 .form p {
  margin-top: 30px;
  text-align: center;
}

.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 #c3584a;
  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 .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/law/deco1.svg) no-repeat center;
}

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

.contactFix .pc .terms {
  border: 2px solid #ff9218;
  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: #ff9218;
  text-align: center;
}

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

.contactFix .pc .shop a {
  align-items: center;
  background: #ff9218;
  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: #edbe4f;
  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/law/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) {
  .contact {
    padding-top: 40px !important;
  }
  .contact:before {
    height: 150px;
    right: 215px;
    top: 51px;
    width: 150px;
  }
  .contact:after {
    height: 323px;
    right: 0;
    top: 0;
    width: 224px;
  }
  .contact h2 {
    font-size: 25px;
    font-size: 2.5rem;
  }
  .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: 20px;
    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: #edbe4f;
    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 p,
  .contact .tel p {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1;
    margin-top: 10px;
  }
  .contact .form a {
    height: 80px;
  }
  .contact .tel a {
    color: #406aa4;
    font-size: 50px;
    font-size: 5rem;
  }
  .contactFix {
    padding: 20px;
  }
  .contactFix .sp {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .contact_part .contact:before {
    height: 15vw;
    right: 12vw;
    top: 0;
    width: 15vw;
  }
  .contact_part .contact:after {
    height: 20vw;
    right: 0;
    top: 0;
    width: 20vw;
  }
  .contact_part .contact h2 {
    font-size: 18px;
    font-size: 1.8rem;
    margin-bottom: 3rem;
    max-width: 65%;
  }
  .contact_part .contact h2 b {
    font-size: 5vw;
    margin-top: 10px;
  }
  .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 {
    padding: 20px;
  }
  .contact_part .contact .form {
    border-bottom: solid 1px #c3584a;
    margin-bottom: 30px;
    padding-bottom: 38px !important;
  }
  .contact_part .contact .form a {
    padding: 20px 0;
  }
  .contact_part .contact .tel a {
    border-radius: 10px;
    color: #406aa4;
    display: block;
    font-size: 26px;
    font-size: 2.6rem;
    margin: 0 auto;
    max-width: 440px;
    padding: 10px 0;
  }
  .contact_part .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 {
    padding-bottom: 7px;
  }
  .button b {
    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 {
    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, .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 h1 {
    font-size: 32px;
    font-size: 3.2rem;
    margin: auto;
    margin-bottom: 30px;
    position: relative;
    width: 80%;
  }
  .header h1 b {
    font-size: 50px;
    font-size: 5rem;
  }
  .header h1 span img {
    left: -10px;
    position: relative;
    width: 85%;
  }
  .header h1 span.title2 img:nth-child(1) {
    left: 0;
    margin: 5px 0 10px 0;
    position: relative;
    width: 96%;
    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: 610px;
    width: 100%;
  }
  .header .service {
    margin-top: 120px !important;
  }
  .header .service li {
    width: calc((100% - 100px) / 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 ul {
    padding: 30px;
  }
  .area li {
    width: calc(100% / 4);
  }
  .entryMin .form {
    padding: 60px 30px;
  }
  .entryMin .note {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .entryMin .service li:empty {
    display: none;
  }
  .entryMin .service label {
    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 {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    padding: 10px 10px 5px 10px;
  }
  .button #canppic {
    display: none;
    width: calc(25% - 10px);
  }
  .button #canppic img {
    width: 100%;
  }
  .button #text {
    letter-spacing: 3px;
    margin: 0 auto;
  }
  .button #counttimer {
    display: none;
    font-size: .9em;
    text-align: center;
    width: 100%;
  }
  .form .button {
    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: 0;
    display: block !important;
    position: absolute;
    right: 0;
    width: 95%;
  }
  .header .inner {
    height: 75vw;
  }
  .header .point-inner {
    top: 67vw;
  }
  .header .point-inner .point {
    max-width: auto !important;
    width: 100%;
  }
  .pageNav .content, .pageNav .header .service li, .header .service .pageNav li, .pageNav .area .inner, .area .pageNav .inner, .pageNav .before_after ul, .before_after .pageNav ul {
    font-size: 2vw;
    padding: 0 10px;
    width: calc(100% - 10px);
  }
  .pageNav .content li a, .pageNav .header .service li li a, .header .service .pageNav li li a, .pageNav .area .inner li a, .area .pageNav .inner li a, .pageNav .before_after ul li a, .before_after .pageNav ul li a {
    padding: 0 5px;
  }
  .pageNav .content .navterms p, .pageNav .header .service li .navterms p, .header .service .pageNav li .navterms p, .pageNav .area .inner .navterms p, .area .pageNav .inner .navterms p, .pageNav .before_after ul .navterms p, .before_after .pageNav ul .navterms p {
    font-size: 2vw;
  }
  .comparison {
    padding: 20px 20px 50px !important;
  }
  .contact h2 {
    font-size: 2.5rem;
    margin-bottom: 50px;
  }
  .contact h2 img {
    max-width: 50%;
  }
  .button #text,
  .contact_part .contact .form a #text {
    font-size: 2.5rem !important;
  }
  .contact_part .contact img {
    max-width: 70% !important;
  }
  .contact_part .contact:after {
    height: 284px;
    right: 0;
    top: 30px;
    width: 170px;
  }
  .contact_part .contact:before {
    height: 106px;
    right: 145px;
    top: 55px;
    width: 106px;
  }
  .contact:before {
    height: 120px;
    width: 120px;
  }
  .contact .form p,
  .contact .tel p {
    font-size: 2rem;
  }
  .contact .tel a {
    font-size: 3.5rem;
  }
  .contactFix .pc .tel p:nth-child(2) {
    font-size: 3.5rem;
  }
  .merit li h3 {
    font-size: 3vw !important;
  }
  .merit li div p {
    font-size: 13px !important;
  }
}

@media screen and (max-width: 768px) {
  .section, .entryMin {
    margin-top: 50px !important;
  }
  .header {
    margin-top: 50px;
  }
  .header h1 {
    margin-bottom: 30px;
  }
  .header h1 span:nth-child(1) img {
    margin-bottom: 5px;
    width: 80%;
  }
  .header h1 span img:nth-child(1) {
    display: inline !important;
  }
  .header h1 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: 50px !important;
    margin-top: 50px !important;
  }
  .header .service li {
    margin-bottom: 10px !important;
    width: calc((100% - 30px) / 5);
  }
  .header .service li figcaption {
    font-size: 1.5rem !important;
  }
  .header .service.service_5 li {
    width: calc((100% - 30px) / 5);
  }
  .header .service.service_6 li {
    width: calc((100% - 30px) / 6);
  }
  .header .service.service_6 li figcaption {
    margin-top: 10px;
  }
  .header .service.service_7 {
    justify-content: center;
  }
  .header .service.service_7 li {
    margin: 0 7px 10px 7px;
    width: calc((100% - 60px) / 4);
  }
  .pageNav {
    top: 0;
  }
  .pageNav .content, .pageNav .header .service li, .header .service .pageNav li, .pageNav .area .inner, .area .pageNav .inner, .pageNav .before_after ul, .before_after .pageNav ul {
    border-radius: 0;
    height: 50px;
    padding: 0 10px;
    width: 100%;
  }
  .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;
  }
  .pageNav ul {
    display: none;
  }
  .pageNav .call a {
    align-items: center;
    background: #c3584a;
    display: flex;
    height: 100%;
    width: 100%;
  }
  .pageNav .call img {
    height: 30px;
    width: 30px;
  }
  .pageNav .navterms {
    background: #406aa4;
    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: #edbe4f;
    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 {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .open .pageNav ul {
    background: #fff;
    display: block;
    height: 100vh;
    left: 0;
    padding: 30px 20px 20px;
    position: fixed;
    text-align: center;
    top: 0;
    width: 100vw;
    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 {
    color: #fff;
  }
  .open .sp .call {
    margin: 20px 0;
  }
  .open .sp img {
    display: none;
  }
  .open .sp p {
    text-align: center;
  }
  .open .sp .terms p {
    color: #000;
    margin-top: 20px;
    text-align: center;
    text-decoration: underline;
  }
  .open .navToggle span:nth-child(1) {
    top: 20px;
    transform: rotate(315deg);
  }
  .open .navToggle span:nth-child(2) {
    left: 50%;
    width: 0;
  }
  .open .navToggle span:nth-child(3) {
    top: 20px;
    transform: rotate(-315deg);
  }
  .trouble h2:before {
    height: 10vh;
    top: -30px;
    width: 20vw;
  }
  .trouble li {
    width: calc((100% - 10px) / 2);
  }
  .trouble li.trouble5 {
    width: 100%;
  }
  .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 auto 30px;
    max-width: 550px;
  }
  .comparison .slick .slick-slider .slick-next {
    right: -37px;
  }
  .comparison .slick .slick-slider .slick-prev {
    left: -60px;
  }
  .comparison .slick .slick-slider .slick-slide {
    transform: none !important;
  }
  .comparison .slick .slick-slider .slick-slide img {
    width: 100%;
  }
  .comparison .slick .slick-slider .is--active {
    transform: none !important;
  }
  .comparison .slick .slick-slider .slick-prev:before,
  .comparison .slick .slick-slider .slick-next:before {
    font-size: 40px;
  }
  .voice {
    padding-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;
  }
  .area ul {
    padding: 20px;
  }
  .area li {
    width: calc(100% / 4);
  }
  .entryMin .form {
    padding: 30px 20px;
  }
  .entryMin .form:before {
    background: url(/img/fuyohin/ihin2/concierge6-sp.webp) no-repeat top right;
    height: 30vh;
    right: 0;
    top: -20vh;
    width: calc(100% / 3);
    z-index: -1;
  }
  .entryMin .form .IE_note {
    display: none;
  }
  .entryMin .service label {
    padding: 10px 0;
  }
  .entryMin .slick-num,
  .entryMin .catalogue {
    background: #edbe4f;
    color: #fff;
    display: block !important;
    font-size: 20px;
    position: absolute;
    text-align: center;
    top: 0;
    width: 100%;
  }
  .entryMin .slick-prev,
  .entryMin .slick-next {
    top: -23px;
  }
  .entryMin .slick-prev {
    left: 10px;
  }
  .entryMin .slick-next {
    right: 10px;
  }
  .entryMin .lawyers-info {
    padding-top: 44px;
    position: relative;
  }
  .entryMin .lawyers .lawyer-title .agency {
    width: 100% !important;
  }
  .entryMin .lawyers .lawyer-title .tags {
    justify-content: flex-end !important;
    margin-top: 10px;
    width: 100%;
  }
  .entryMin .lawyers .base-info {
    order: 1;
    width: 100% !important;
  }
  .entryMin .lawyers .specialty {
    margin: 0 0 10px;
    min-width: 300px;
    order: 0;
    width: 100% !important;
  }
  .entryMin .lawyers .specialty .feature {
    grid-template-columns: 1fr 1fr 1fr 1fr !important;
  }
  .entryMin .lawyers .specialty .able span,
  .entryMin .lawyers .specialty .feature span {
    font-size: 12px !important;
  }
  .entryMin .lawyers .introduce {
    order: 1;
  }
  .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, .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 h1, .header .inner .contact_part .contact h1, .contact_part .header .inner .contact h1, .header .inner .contactFix .pc h1, .contactFix .header .inner .pc h1, .header .inner .service h1, .header .inner .before_after h1 {
    margin: 0;
    width: 100%;
  }
  .header .inner .container h1 span:nth-child(1) img, .header .inner .contact_part .contact h1 span:nth-child(1) img, .contact_part .header .inner .contact h1 span:nth-child(1) img, .header .inner .contactFix .pc h1 span:nth-child(1) img, .contactFix .header .inner .pc h1 span:nth-child(1) img, .header .inner .service h1 span:nth-child(1) img, .header .inner .before_after h1 span:nth-child(1) img {
    margin-bottom: 5px;
    width: 95%;
  }
  .header .inner .container h1 span img:nth-child(1), .header .inner .contact_part .contact h1 span img:nth-child(1), .contact_part .header .inner .contact h1 span img:nth-child(1), .header .inner .contactFix .pc h1 span img:nth-child(1), .contactFix .header .inner .pc h1 span img:nth-child(1), .header .inner .service h1 span img:nth-child(1), .header .inner .before_after h1 span img:nth-child(1) {
    display: none !important;
  }
  .header .inner .container h1 span img:nth-child(2), .header .inner .contact_part .contact h1 span img:nth-child(2), .contact_part .header .inner .contact h1 span img:nth-child(2), .header .inner .contactFix .pc h1 span img:nth-child(2), .contactFix .header .inner .pc h1 span img:nth-child(2), .header .inner .service h1 span img:nth-child(2), .header .inner .before_after h1 span img:nth-child(2) {
    display: inline;
  }
  .header .inner .container p, .header .inner .contact_part .contact p, .contact_part .header .inner .contact p, .header .inner .contactFix .pc p, .contactFix .header .inner .pc p, .header .inner .service p, .header .inner .before_after p {
    font-size: 1.4rem;
    line-height: 1.5em;
    margin: 0;
    padding: 10px 0;
    text-align: left;
    text-shadow: 1px  1px 0 #fff,
 -1px  1px 0 #fff,
 1px -1px 0 #fff,
 -1px -1px 0 #fff,
 1px  0 0 #fff,
 0  1px 0 #fff,
 -1px  0 0 #fff,
 0 -1px 0 #fff;
    width: 60%;
  }
  .header .inner .container p.note, .header .inner .contact_part .contact p.note, .contact_part .header .inner .contact p.note, .header .inner .contactFix .pc p.note, .contactFix .header .inner .pc p.note, .header .inner .service p.note, .header .inner .before_after p.note {
    bottom: 0;
    font-size: 1.2rem;
    position: relative;
    width: 100%;
  }
  .header .point {
    margin-top: 0;
    width: 100%;
  }
  .header .inner {
    background: none !important;
    border-bottom: 0 !important;
    height: auto;
    padding-top: 0;
  }
  .header .service {
    justify-content: space-around !important;
    margin-bottom: 20px !important;
    margin-top: 20px !important;
  }
  .header .service li {
    width: calc(50% - 15px);
  }
  .header .service li .imgNote {
    align-items: center;
    display: flex;
    font-size: 13px !important;
    height: 2em;
    justify-content: center;
    line-height: 1.1;
    padding: 5px 0 !important;
  }
  .header .service li .imgTitle {
    font-size: 15px !important;
    padding: 10px 0 !important;
  }
  .trouble {
    margin-bottom: -5px !important;
  }
  .trouble h2:before {
    top: -10vh;
  }
  .trouble ul li {
    margin-bottom: 5px !important;
    padding: 5px !important;
    width: calc((100% - 5px) / 2);
  }
  .trouble ul li.trouble5 {
    margin: 0 !important;
  }
  .trouble ul li.trouble5:before {
    top: -50px !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: 70%;
  }
  aside.contact h2 img {
    margin-top: 10px;
  }
  aside.contact .tel h3 {
    margin-bottom: 0 !important;
  }
  aside.contact .tel a {
    padding: 0 !important;
  }
  .trader {
    padding-top: 20px !important;
  }
  .trader .trader_content {
    flex-direction: column;
    margin-top: 30px !important;
  }
  .trader .trader_content picture {
    margin-top: 10px !important;
    width: 100% !important;
  }
  .trader .trader_content picture:last-of-type {
    margin-top: 30px !important;
  }
  .trader .trader_title img {
    margin-bottom: 0;
  }
  .trader img.arrow {
    top: 30px !important;
    width: 157px !important;
  }
  .debt .debt_img img {
    box-shadow: none !important;
    margin-bottom: 10px;
    margin-top: 10px !important;
  }
  .debt img.arrow {
    top: 15px !important;
    width: 130px !important;
  }
  .debt_result {
    padding: 0 20px 30px !important;
  }
  .debt_result .debt_result_content {
    margin: 20px auto 0 !important;
  }
  .compare {
    padding: 30px 20px 20px !important;
  }
  .compare .compare_content {
    margin-bottom: 30px;
    margin-top: 0 !important;
  }
  .compare .compare_content picture {
    margin-bottom: 10px !important;
    width: 500px;
  }
  .merit {
    margin-bottom: 0 !important;
    margin-top: 40px !important;
    padding: 20px !important;
    padding-bottom: 40px !important;
    padding-top: 0 !important;
  }
  .merit li {
    font-size: 1.7rem;
    margin-bottom: 10px !important;
    width: 100% !important;
  }
  .merit li p {
    font-size: 15px !important;
  }
  .merit li div {
    position: relative;
  }
  .merit li div img {
    left: 13px;
    margin: 0 !important;
    max-width: 58px !important;
    position: absolute;
    top: -43px;
  }
  .merit li div p {
    padding-bottom: 0 !important;
  }
  .merit li:nth-of-type(3) p,
  .merit li:nth-of-type(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 h2 span {
    font-size: 5vw !important;
  }
  .reason .comment {
    position: relative;
  }
  .reason .comment .inner {
    padding: 13px !important;
    width: 100% !important;
  }
  .reason .comment .inner h4 {
    width: 59vw;
  }
  .reason .comment .inner:before, .reason .comment .inner:after {
    display: none;
  }
  .reason .comment .inner p {
    width: calc(100% - 87px);
  }
  .reason .comment:after {
    height: 90px;
    position: absolute !important;
    right: 10px;
    top: 27px;
    width: 82px;
    z-index: 0 !important;
  }
  .comparison {
    padding: 30px 20px 30px !important;
  }
  .comparison h2 img {
    width: 100% !important;
  }
  .comparison .slick {
    padding: 20px 30px !important;
  }
  .comparison .slick .slick-slider .slick-next {
    right: -25px;
  }
  .comparison .slick .slick-slider .slick-prev {
    left: -25px;
  }
  .comparison .slick .slick-slider .slick-prev:before,
  .comparison .slick .slick-slider .slick-next:before {
    font-size: 20px;
  }
  .comparison .slick .slick-dots {
    bottom: -37px;
  }
  .comparison .slick .slick-dots li {
    width: 15px;
  }
  .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;
  }
  .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 {
    -webkit-tap-highlight-color: transparent;
  }
  .QA .QAContent li .question {
    font-size: 16px !important;
    height: auto !important;
    padding: 10px 50px 10px 10px !important;
  }
  .QA .QAContent li .question:before {
    background: url(/img/law/QA_icon_sp.webp) !important;
    background-size: contain !important;
    height: 40px !important;
    margin-right: 10px !important;
    min-width: 40px !important;
    width: 40px !important;
  }
  .QA .QAContent li .question:after {
    height: 25px !important;
    right: 10px !important;
    width: 25px !important;
  }
  .entryMin {
    margin-top: 40px !important;
  }
  .entryMin h2 {
    margin-left: auto;
    margin-right: auto;
    width: 80%;
  }
  .entryMin .form textarea,
  .entryMin .form input[type="text"] {
    width: 100%;
  }
  .entryMin .form .service,
  .entryMin .form .boiler-symptoms__list {
    grid-template-columns: 1fr 1fr;
  }
  .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;
  }
  .entryMin .form .lawyers-info .lawyer-list .lawyers {
    align-content: flex-start;
    align-items: flex-start;
    cursor: pointer;
    min-width: calc(100vw - 41px);
    width: calc(100vw - 41px);
  }
  .entryMin .form .lawyers-info .lawyer-list .lawyers .lawyer-content {
    padding: 15px 10px 5px;
  }
  .entryMin .form .lawyers-info .lawyer-list .lawyers .lawyer-title p {
    font-size: 18px;
    word-break: break-all;
  }
  .entryMin .form .lawyers-info .lawyer-list .lawyers .base-info > img {
    height: 100px !important;
    width: 100px !important;
  }
  .entryMin .form .lawyers-info .lawyer-list .lawyers .base-info > div {
    width: calc(100% - 110px);
  }
  .entryMin .form .lawyers-info .lawyer-list .lawyers .base-info .lawyer-name {
    min-height: 60px;
  }
  .entryMin .form .lawyers-info .lawyer-list .lawyers .base-info .lawyer-org {
    align-items: flex-start;
    flex-wrap: nowrap;
    min-height: 40px;
    word-break: break-all;
  }
  .entryMin .form .lawyers-info .lawyer-list .lawyers .base-info .lawyer-org span {
    min-width: 5em;
    width: 5em;
  }
  .entryMin .form .lawyers-info .lawyer-list .lawyers .base-info .law-address,
  .entryMin .form .lawyers-info .lawyer-list .lawyers .base-info .law-station {
    left: -115px;
    position: relative;
    width: calc(100% + 110px);
  }
  .entryMin .form .lawyers-info .lawyer-list .lawyers .base-info .law-address img,
  .entryMin .form .lawyers-info .lawyer-list .lawyers .base-info .law-station img {
    height: auto !important;
    margin-left: 5px;
    margin-right: 10px;
    width: 1.5em !important;
  }
  .entryMin .form .lawyers-info .lawyer-list .lawyers .base-info .law-address div,
  .entryMin .form .lawyers-info .lawyer-list .lawyers .base-info .law-station div {
    line-height: 1.2;
  }
  .entryMin .form .lawyers-info .lawyer-list .lawyers .specialty .able {
    min-height: 3em;
  }
  .entryMin .form .lawyers-info .lawyer-list .lawyers .specialty .able p {
    height: 3em;
    min-width: auto;
    padding: 0 5px;
    top: calc(50% - 1.5em);
    width: 3.5em;
  }
  .entryMin .form .lawyers-info .lawyer-list .lawyers .specialty .able span {
    align-items: center;
    display: flex;
  }
  .entryMin .form .lawyers-info .lawyer-list .lawyers .specialty .able .able-tag {
    margin-left: 3.5em;
  }
  .entryMin .form .lawyers-info .lawyer-list .lawyers .specialty .feature {
    grid-template-columns: 1fr 1fr 1fr !important;
  }
  .entryMin .form .lawyers-info .scroll-hint-icon-wrap {
    display: block;
    top: -30% !important;
  }
  .entryMin .form .form-sub-title {
    font-size: 24px !important;
    margin-top: 20px !important;
  }
  .entryMin .form .options {
    font-size: 18px !important;
  }
  .entryMin .form .options .required-notice {
    font-size: 14px !important;
    top: 1em !important;
  }
  .entryMin .termCheck label,
  .entryMin .notes {
    font-size: 12px;
    font-weight: normal;
  }
  .entryMin .time-select select {
    margin-left: 0 !important;
  }
  .entryMin .thanks h2 {
    width: 100%;
  }
  .entryMin .thanks p {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .footer li {
    padding-left: 5vw;
    width: calc(100% / 2);
  }
  .area {
    margin: auto !important;
  }
  .button {
    padding: 10px 10px 5px 10px;
  }
  .button #canppic {
    display: none;
    width: calc(30% - 10px);
  }
  .button #canppic img {
    width: 100%;
  }
  .button #text {
    color: #fff;
    font-size: 2.5rem !important;
    margin: 0 auto;
    width: calc(60% -10px);
  }
  .button #counttimer {
    display: none;
    font-size: .9em;
    text-align: center;
    width: 100%;
  }
  .contact_part .contact h2 {
    font-size: 11px;
    font-size: 1.1rem;
  }
  .contact_part .contact h3 {
    background: none;
  }
  .contact .form .button {
    padding: 15px 10px;
  }
  .contact .form .button #text {
    text-align: center;
  }
  .contact .form p {
    margin-top: 20px;
    text-align: center;
  }
}

@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: #8e1b88;
  font-size: 40px;
}

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

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

.campaign .comment br {
  display: none;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.header .service li .imgTitle {
  align-items: center;
  border-radius: 10px 10px 0 0;
  color: #fff;
  display: flex;
  font-weight: bold;
  height: 2em;
  font-size: 20px;
  font-size: 2rem;
  justify-content: center;
  line-height: 1.2;
}

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

.header .service li.blue {
  border: 1px solid #406aa4;
  border-radius: 13px;
}

.header .service li.blue .imgTitle {
  background: #406aa4;
}

.header .service li.blue .imgNote {
  background: #f1f7ff;
  color: #1a3559;
}

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

.header .service li.yellow .imgTitle {
  background: #edbe4f;
}

.header .service li.yellow .imgNote {
  background: #fff8e7;
  color: #634a0f;
}

.header .concierge {
  bottom: 0;
  max-width: 600px;
  min-width: 550px;
  position: absolute;
  right: 100px;
  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;
}

.trouble {
  margin: auto;
  margin-bottom: 20px;
  margin-top: 15px;
  max-width: 1040px;
  padding: 25px 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/law/trouble5_title.webp) center no-repeat;
  background-size: contain;
  content: "";
  height: 50px;
  position: absolute;
  text-align: center;
  top: -64px;
  width: calc(100% - 10px);
}

.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: #c3584a;
  border: solid 3px #c3584a;
  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 #c3584a;
  right: -20px;
  top: 50px;
  z-index: -1;
}

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

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

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

.reassurance {
  display: block;
  margin: 20px auto 10px;
  max-width: 750px;
  width: 100%;
}

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

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

.trader .trader_content {
  margin-top: 40px;
}

.trader .trader_content picture {
  display: block;
  margin-top: 30px;
}

.trader .trader_content picture:last-of-type {
  margin: 60px auto 0;
  max-width: 700px;
  width: 100%;
}

.trader img.arrow {
  display: block;
  margin: auto;
  position: relative;
  top: 50px;
  width: 253px;
}

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

.debt .debt_title {
  margin: auto;
  max-width: 950px;
}

.debt .debt_img img {
  border-radius: 15px;
  box-shadow: 3px 3px 0 #e4e4dc;
  margin-top: 50px;
}

.debt img.arrow {
  box-shadow: none;
  display: block;
  margin: auto;
  position: relative;
  top: 30px;
  width: 200px;
}

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

.debt_result .debt_result_content {
  margin: 40px auto 0;
  max-width: 700px;
  width: 100%;
}

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

.compare .compare_content {
  margin-top: -10px;
}

.compare .compare_content picture {
  display: block;
  margin-bottom: 50px;
}

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

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

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

.merit h2 span {
  color: #1a3559;
}

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

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

.merit li {
  background: #edbe4f;
  border: 1px solid #edbe4f;
  border-radius: 15px;
  margin-bottom: 20px;
}

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

.merit li div {
  align-items: center;
  background-color: #fffdf9;
  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: 18px;
  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%;
}

.policy {
  border: 4px solid #edbe4f;
  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: #406aa4;
  width: auto;
}

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

.reason h2 span {
  color: #ff9218;
  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: #1a3559;
  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: #edbe4f;
  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/law/concierge3.webp);
  background-size: cover;
  content: "";
  display: block;
  position: absolute;
}

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

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

.reason .comment .inner {
  background: #faf2e5;
  border: solid 3px #edbe4f;
  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 #edbe4f;
  right: -20px;
  top: 50px;
  z-index: 0;
}

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

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

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

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

.comparison h2 img {
  width: 80%;
}

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

.comparison .slick .slick-dots li.slick-active button:before {
  color: #edbe4f;
}

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

.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 .slick-slide img {
  margin: auto;
}

.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 #c3584a;
  border: 3px solid #406aa4;
  border-radius: 15px;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
  width: 100%;
}

.voice ul li .voice_title {
  background-color: #406aa4;
}

.voice ul li .voice_title p {
  color: #406aa4;
}

.voice ul li .comment.comment1 {
  border-color: #406aa4;
}

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

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

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

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

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

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

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

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

.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: 15px 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 #e2c2e1;
  border-radius: 10px;
  box-shadow: 3px 3px 4px #becac7;
  height: 600px;
  overflow-y: scroll;
  padding: 15px;
}

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

.voice ::-webkit-scrollbar-track {
  border: 2px solid #e2c2e1;
  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: #c3584a;
  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: #406aa4;
  color: #fff;
  display: flex;
  justify-content: center;
}

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

.QA {
  padding: 50px 20px;
}

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

.QA .QAContent {
  background: #fff;
  border: 1px solid #edbe4f;
  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/law/QA_bg.webp);
  color: #1a3559;
  display: flex;
  font-size: 20px;
  font-weight: bold;
  height: 75px;
  line-height: 1.2;
  padding: 0 90px 0 0;
  position: relative;
}

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

.QA .QAContent li .question:after {
  background: url(/img/law/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 {
  background: #faf2e5;
  padding: 50px 20px;
}

.area h2 {
  background: url(/img/law/deco4.webp) no-repeat center bottom;
  background-size: contain;
  margin: 0 auto 50px;
  max-width: 1040px;
  text-align: center;
}

.area .inner {
  border: 2px solid #406aa4;
  margin: auto;
  max-width: 1040px;
}

.area .inner ul {
  display: flex;
  flex-wrap: wrap;
  margin: auto;
  text-align: center;
}

.area .inner li:last-child {
  margin-bottom: 0;
}

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

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

.entryMin h2 span {
  color: #c3584a;
  display: block;
  font-size: 32px;
  margin-bottom: 10px;
}

.entryMin .form {
  font-weight: bold;
  margin: 0 auto;
  max-width: 1040px;
  padding: 0 20px 55px;
  width: 100%;
}

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

.entryMin .form ul.required label,
.entryMin .form input.required,
.entryMin .form select.required {
  background: #ffeff2 !important;
  border: 1px solid #ff99c4 !important;
}

.entryMin .form .input.required {
  border-radius: 10px;
}

.entryMin .form .form-sub-title {
  color: #448dc8;
  font-size: 35px;
  line-height: 1.5;
  margin-top: 40px;
  text-align: center;
}

.entryMin .form .options {
  border-top: 1px dotted #1a3559;
  font-size: 22px;
  margin-top: 10px;
  padding-top: 10px;
  position: relative;
  width: 100%;
}

.entryMin .form .options span {
  font-size: 12px;
  font-weight: normal;
}

.entryMin .form .options .required-notice {
  color: red;
  display: inherit;
  font-size: 18px;
  position: absolute;
  right: 0;
  top: .5em;
}

.entryMin .form .accordion {
  cursor: pointer;
}

.entryMin .form .accordion:after {
  background: url(/img/law/open_mark_black.webp);
  background-size: cover;
  bottom: 7px;
  content: "";
  display: inline-block;
  height: 13px;
  position: absolute;
  right: 10px;
  transition: transform .5s;
  width: 20px;
}

.entryMin .form .accordion + .accordion-body {
  display: none;
}

.entryMin .form .accordion.open:after {
  transform: rotate(180deg);
}

.entryMin .form .accordion.open + .accordion-body {
  display: block;
}

.entryMin .form .please_select_category_guidance {
  background: #f1f7ff;
  text-align: center;
}

.entryMin .form .mustSelect {
  background: #ce0057;
  border-radius: 5px;
  bottom: 25%;
  color: #fff;
  display: inline-block;
  font-size: 11px;
  font-weight: bold;
  line-height: 1;
  margin-left: 10px;
  padding: 5px 6px 4px;
  position: relative;
  text-shadow: none;
  top: -2px;
  z-index: 2;
}

.entryMin .form select {
  background: #f1f7ff;
  border: 1px solid #406aa4;
  border-radius: 5px;
  font-size: 15px;
  font-weight: normal;
  height: 25px;
  margin-left: 10px;
  max-width: 157px;
  padding-left: .5em;
  width: 157px;
}

.entryMin .form #borrowing_companies_etc_area,
.entryMin .form #borrowing_amounts_etc_area {
  margin-top: 10px;
}

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

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

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

.entryMin .form .form-notice {
  border: 1px solid #ccc;
  font-size: 16px;
  height: 150px;
  overflow-y: scroll;
  padding: 10px;
}

.entryMin .form .form-notice p {
  line-height: 1.5;
}

.entryMin .form .form-notice p.weight-normal {
  font-size: 12px;
  font-weight: normal;
  margin-top: 10px;
}

.entryMin .form .catalogue {
  display: none;
}

.entryMin .form li.lawyers {
  background: #fffefb;
  border: 1px solid #edbe4f;
  margin-bottom: 15px;
  position: relative;
}

.entryMin .form li.lawyers input[type="checkbox"] {
  height: 30px;
  left: 10px;
  position: absolute;
  top: 8px;
  width: 22px;
}

.entryMin .form li.lawyers .specialty {
  width: 400px;
}

.entryMin .form li.lawyers .lawyer-title {
  background: #f3ebd4;
  border-bottom: 1px solid #edbe4f;
  color: #000;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 10px;
  width: 100%;
}

.entryMin .form li.lawyers .lawyer-title p.agency {
  font-size: 20px;
  line-height: 1.3;
  padding-left: 30px;
  width: calc(100% - 430px);
}

.entryMin .form li.lawyers .lawyer-title p.tags {
  display: flex;
  font-size: 14px;
  justify-content: space-between;
}

.entryMin .form li.lawyers .lawyer-title p.tags span {
  align-content: center;
  align-items: center;
  background: #c3584a;
  border-radius: 5px;
  color: #fff;
  display: flex;
  font-size: 16px;
  height: 1.6em;
  justify-content: center;
  line-height: 1.5;
  margin-left: 15px;
  padding: 0 5px;
}

.entryMin .form li.lawyers .lawyer-title p.tags span:last-of-type {
  background-color: #ff9218;
}

.entryMin .form li.lawyers .lawyer-content {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 15px 10px;
}

.entryMin .form li.lawyers .base-info {
  display: flex;
  text-align: left;
  width: calc(100% - 430px);
}

.entryMin .form li.lawyers .base-info > div {
  width: calc(100% - 135px);
}

.entryMin .form li.lawyers .base-info > img {
  background: #aaa;
  height: 150px;
  margin-right: 20px;
  width: 150px;
}

.entryMin .form li.lawyers .base-info .lawyer-name {
  font-size: 30px;
  line-height: 1.5;
}

.entryMin .form li.lawyers .base-info .lawyer-name span {
  font-size: 14px;
}

.entryMin .form li.lawyers .law-address,
.entryMin .form li.lawyers .law-station {
  align-items: center;
  border-top: 1px dotted #ddd6cd;
  color: #464646;
  display: flex;
  font-size: 14px;
  font-weight: normal;
  padding: 5px 0;
}

.entryMin .form li.lawyers .law-address span.item-name,
.entryMin .form li.lawyers .law-station span.item-name {
  display: inline-block;
  font-weight: bold;
  min-width: 4em;
  width: 4em;
}

.entryMin .form li.lawyers .law-address img,
.entryMin .form li.lawyers .law-station img {
  height: 20px;
  margin-left: 10px;
  margin-right: 15px;
  width: 16px;
}

.entryMin .form li.lawyers .law-address p,
.entryMin .form li.lawyers .law-station p {
  line-height: 1.5;
  word-break: keep-all;
}

.entryMin .form li.lawyers .lawyer-org {
  align-items: center;
  color: #634a0f;
  display: flex;
  font-size: 14px;
  font-weight: normal;
  line-height: 1.5;
  margin-bottom: 10px;
}

.entryMin .form li.lawyers .specialty {
  font-size: 16px;
}

.entryMin .form li.lawyers .specialty .able {
  background: #f1f7ff;
  border: 1px solid #cbd3df;
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  margin-bottom: 10px;
  padding: 2px 0 2px 5px;
  position: relative;
}

.entryMin .form li.lawyers .specialty .able p {
  align-items: center;
  background: #406aa4;
  color: #fff;
  display: flex;
  height: 30px;
  justify-content: center;
  left: 0;
  line-height: 1;
  min-width: 5.5em;
  padding: 0 10px;
  position: absolute;
  text-align: center;
  top: calc(50% - 15px);
}

.entryMin .form li.lawyers .specialty .able .able-tag {
  display: flex;
  flex-wrap: wrap;
  margin-left: 5.5em;
}

.entryMin .form li.lawyers .specialty .able span {
  background: #fff;
  border: 1px solid #b6c0cf;
  border-radius: 5px;
  box-shadow: 1px 1px 3px #dbdbdb;
  color: #406aa4;
  font-size: 12px;
  margin: 4px 5px;
  padding: 3px 7px;
  text-align: center;
}

.entryMin .form li.lawyers .specialty .feature {
  display: grid;
  gap: 8px 10px;
  grid-template-columns: 1fr 1fr 1fr;
}

.entryMin .form li.lawyers .specialty .feature span {
  background: #f5fff2;
  border: 1px solid #31915b;
  border-left: 5px solid #31915b;
  color: #000018;
  font-size: 12px;
  line-height: 1.5;
  text-align: center;
}

.entryMin .form li.lawyers .show-introduce {
  background: #d1b269;
  border-radius: 5px;
  bottom: 10px;
  color: #fff;
  cursor: pointer;
  font-size: 14px;
  line-height: 2;
  position: absolute;
  right: 10px;
  text-align: center;
  width: 10em;
}

.entryMin .form li.lawyers .introduce {
  border-top: 1px dotted #edbe4f;
  font-size: 16px;
  font-weight: normal;
  line-height: 1.5;
  padding: 15px 10px 10px 10px;
  width: 100%;
}

.entryMin .form li.lawyers span.read-more {
  background: #c7b671;
  border-radius: 10px;
  color: white;
  cursor: pointer;
  display: inline-block;
  font-size: 14px;
  font-weight: bold;
  margin-left: 10px;
  padding: 0 10px;
}

.entryMin .form li.lawyers.lawyer1 .show-introduce {
  display: none;
}

.entryMin .form li.lawyers.lawyer1 .introduce {
  display: block !important;
}

.entryMin .form li.lawyers .scroll-hint-icon-wrap {
  display: none !important;
}

.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 .submit {
  margin: 20px auto;
  max-width: 600px;
  position: relative;
}

.entryMin .form .submit p#request {
  color: #f0e156;
  font-size: 24px;
  line-height: 1.5;
}

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

.entryMin .userInfo li p#phoneNumber_validation,
.entryMin .userInfo li p#email_validation {
  color: red;
  padding: 0 0 5px;
}

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

.entryMin .userInfo .input.required:before {
  background: #ce0057;
  border-radius: 5px;
  bottom: 25%;
  color: #fff;
  content: "必須";
  font-size: 11px;
  font-weight: bold;
  padding: 2px 6px 1px;
  position: absolute;
  right: 10px;
  z-index: 2;
}

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

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

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

.entryMin .input .time-select {
  display: flex;
  width: 100%;
}

.entryMin .input .time-select .select:first-of-type {
  margin-right: 15px;
}

.entryMin .input .time-select select {
  background: #f1f7ff;
  border: solid 1px #406aa4;
  border-radius: 5px;
  width: 110px;
}

.entryMin .input textarea {
  align-items: center;
  background: #f1f7ff;
  border: solid 1px #406aa4;
  border-radius: 10px;
  display: block;
  font-size: 14px;
  font-weight: bold;
  min-height: 88px;
  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: #406aa4;
  pointer-events: none;
  text-decoration: none;
}

.entryMin .input input:focus {
  background: #f1f7ff  !important;
  border: solid 1px #406aa4 !important;
}

.entryMin .input input:focus + label,
.entryMin .input textarea:focus + label,
.entryMin .input.empty label {
  background: none !important;
  border: none !important;
  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: grid;
  gap: 10px;
  grid-template-columns: 1fr 1fr 1fr;
}

.entryMin .service li label {
  align-content: center;
  align-items: center;
  background: #f1f7ff;
  border: 1px solid #406aa4;
  border-radius: 5px;
  color: #1a3559;
  cursor: pointer;
  display: flex;
  flex-wrap: wrap;
  height: 100%;
  justify-content: center;
  padding: 3px 0;
  position: relative;
  text-align: center;
  width: 100%;
}

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

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

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

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

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

.entryMin ul.boiler-symptoms__list {
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr 1fr 1fr;
  margin: 5px 0 15px;
}

.entryMin ul.boiler-symptoms__list li.checks {
  display: inline-block;
  position: relative;
}

.entryMin ul.boiler-symptoms__list li.checks input {
  opacity: 0;
  position: absolute;
}

.entryMin ul.boiler-symptoms__list li.checks label {
  align-items: center;
  background: #f1f7ff;
  border: 1px solid #406aa4;
  border-radius: 5px;
  color: #1a3559;
  cursor: pointer;
  display: flex;
  height: 100%;
  justify-content: center;
  line-height: 1.2;
  padding: 6px 0;
  text-align: center;
}

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

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

.entryMin .add summary {
  background: #c3584a;
  border: 2px solid #c3584a;
  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 {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin: auto;
  max-width: 400px;
  overflow: hidden;
}

.entryMin .button .cover {
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
}

.entryMin .button.lack {
  pointer-events: none;
}

.entryMin .button.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 div#termCheck {
  margin: auto;
  max-width: 27em;
}

.entryMin div#termCheck p.termCheck {
  line-height: 1.5;
  margin: 10px 0;
  padding-left: 1.5em;
  text-indent: -1.5em;
}

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

.entryMin .terms > p {
  display: flex;
  justify-content: center;
}

.entryMin .terms > p span {
  color: #0a2e70;
  cursor: pointer;
  font-size: 18px;
  font-weight: bold;
  margin: 0 10px;
  text-align: center;
  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;
  line-height: 1.5;
  margin: 5px auto 0;
  max-width: 39em;
  padding-left: 1em;
  text-align: left;
  text-indent: -1em;
}

.entryMin .thanks {
  display: none;
}

.entryMin .thanks h2 {
  line-height: 2;
  max-width: 900px;
}

.entryMin .thanks p {
  font-weight: normal;
  line-height: 1.4;
  margin-bottom: 10px;
  margin-left: 8em;
  margin-right: 7em;
  text-align: left;
}

.entryMin .thanks p.significant {
  font-weight: bold;
}

.entryMin .thanks #send_law_partners {
  margin: 20px 0;
}

.entryMin .thanks #send_law_partners div {
  background: #f3ebd4;
  margin: 20px 0;
  padding: 20px;
}

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

.button #text,
.contact_part #text {
  align-items: center;
  color: #fff;
  display: flex;
  font-size: 3.3rem;
}

.button #text b,
.contact_part #text b {
  color: #f0e156;
  padding-bottom: 0;
}

.button #text span,
.contact_part #text span {
  background: #f0e156;
  border: 3px solid #f0e156;
  border-radius: 5px;
  color: #3d5187;
  font-size: 25px;
  line-height: 1.2;
  margin-right: 10px;
  padding: 0 5px;
  text-shadow: none;
}

.for_contact .contact_part {
  margin: auto;
  margin-bottom: 20px;
  margin-top: 15px;
  max-width: 1040px;
  padding: 25px 20px 30px;
}

.contact_part .contact img {
  max-width: 600px;
}

.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: 1700px) and (min-width: 769px) {
  .header .concierge {
    min-width: 500px;
    right: 0;
    width: 38%;
  }
}

@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: #faf2e5;
  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: #c3584a;
  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: 70px !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);
  }
}
