@import"https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap";

*,
::before,
::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

::before,
::after {
  text-decoration: inherit;
  vertical-align: inherit
}

html {
  cursor: default;
  line-height: 1.5;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  word-break: break-word
}

body {
  margin: 0
}

h1 {
  font-size: 2em;
  margin: .67em 0
}

dl dl,
dl ol,
dl ul,
ol dl,
ul dl {
  margin: 0
}

ol ol,
ol ul,
ul ol,
ul ul {
  margin: 0
}

hr {
  height: 0;
  overflow: visible
}

main {
  display: block
}

nav ol,
nav ul {
  list-style: none;
  padding: 0
}

pre {
  font-family: monospace, monospace;
  font-size: 1em
}

a {
  background-color: rgba(0, 0, 0, 0)
}

abbr[title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted
}

b,
strong {
  font-weight: bolder
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em
}

small {
  font-size: 80%
}

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle
}

audio,
video {
  display: inline-block
}

audio:not([controls]) {
  display: none;
  height: 0
}

iframe {
  border-style: none
}

img {
  border-style: none
}

svg:not([fill]) {
  fill: currentColor
}

svg:not(:root) {
  overflow: hidden
}

table {
  border-collapse: collapse
}

button,
input,
select {
  margin: 0
}

button {
  overflow: visible;
  text-transform: none
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button
}

fieldset {
  border: 1px solid #a0a0a0;
  padding: .35em .75em .625em
}

input {
  overflow: visible
}

legend {
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal
}

progress {
  display: inline-block;
  vertical-align: baseline
}

select {
  text-transform: none
}

textarea {
  margin: 0;
  overflow: auto;
  resize: vertical
}

[type=checkbox],
[type=radio] {
  padding: 0
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto
}

::-webkit-input-placeholder {
  color: inherit;
  opacity: .54
}

::-webkit-search-decoration {
  -webkit-appearance: none
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit
}

::-moz-focus-inner {
  border-style: none;
  padding: 0
}

:-moz-focusring {
  outline: 1px dotted ButtonText
}

:-moz-ui-invalid {
  box-shadow: none
}

details {
  display: block
}

dialog {
  background-color: #fff;
  border: solid;
  color: #000;
  display: block;
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content
}

dialog:not([open]) {
  display: none
}

summary {
  display: list-item
}

canvas {
  display: inline-block
}

template {
  display: none
}

a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
  -ms-touch-action: manipulation;
  touch-action: manipulation
}

[hidden] {
  display: none
}

[aria-busy=true] {
  cursor: progress
}

[aria-controls] {
  cursor: pointer
}

[aria-disabled=true],
[disabled] {
  cursor: not-allowed
}

[aria-hidden=false][hidden] {
  display: initial
}

[aria-hidden=false][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  position: absolute
}

html {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%
}

body {
  padding: 0;
  font-style: demiligt;
  color: #000;
  /* font-size: 15px; */
  word-spacing: 0;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  background-attachment: fixed
}

a {
  -webkit-transition: all .6s;
  -o-transition: all .6s;
  transition: all .6s
}

figure {
  margin: 0
}

img {
  width: 100%;
  height: 100%;
  vertical-align: middle;
  -webkit-transition: all .6s;
  -o-transition: all .6s;
  transition: all .6s
}

.smaon,
.tabon {
  display: none
}

.smaoff,
.taboff {
  display: block
}

p {
  text-align: justify;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  font-size: 15px;
  line-height: 1.6
}

h3 {
  color: #163d8b;
  font-size: 26px;
  text-align: center
}

h3.orange {
  color: #ec6d34
}

h4 {
  font-size: 20px;
  text-align: center;
  font-weight: 500;
  line-height: 2
}

.content {
  width: 100%;
  padding: 5% 5% 70px;
  margin: 0 auto
}

.inner-max1000 {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto
}

.column {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center
}

.btn-a {
  width: 100%;
  max-width: 320px;
  margin: 0 auto
}

.btn-a a {
  background-color: #163d8b;
  text-align: center;
  padding: 1em;
  display: block;
  text-decoration: none;
  color: #fff;
  position: relative;
  font-size: 15px
}

.btn-a a::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 1.5em;
  background: url(/life/housecleaning/assets/img/arrow_right.png) no-repeat;
  background-size: contain;
  width: 8px;
  height: 16px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: all .6s;
  -o-transition: all .6s;
  transition: all .6s
}

.btn-a a:hover {
  opacity: .8
}

.btn-a a:hover::after {
  right: 1.2em
}

@media screen and (max-width: 880px) {
  h3 {
    font-size: 23px
  }

  h4 {
    font-size: 18px
  }

  .tabon {
    display: block
  }

  .taboff {
    display: none
  }

  .content {
    padding-bottom: 50px
  }
}

@media screen and (max-width: 767px) {
  h3 {
    font-size: 20px
  }

  h4 {
    font-size: 16px
  }

  .smaon {
    display: block
  }

  .smaoff {
    display: none
  }
}

.topimg {
  margin: 0;
  width: 100%
}

.topimg img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain
}

figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain
}

.center {
  text-align: center
}

.ttlWrap {
  position: relative;
  width: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center
}

.ttlWrap h3 {
  display: inline-block
}

.blue {
  color: #163d8b
}

#concept p {
  font-size: 15px;
  line-height: 1.8
}

#concept .inner {
  position: relative;
  width: 100%;
  max-width: 450px;
  margin: 0 auto
}

#concept figure {
  width: 50%;
  height: auto;
  max-width: 286px;
  position: absolute;
  top: 50%;
  right: -70%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%)
}

#pbBlock01 .inner,
#pbBlock02 .inner {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center
}

#pbBlock01 .inner-max1000,
#pbBlock02 .inner-max1000 {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center
}

#pbBlock01 h3,
#pbBlock02 h3 {
  width: auto;
  display: inline-block;
  position: relative
}

#pbBlock01 {
  background-color: #dfeaf8;
  padding: 4% 5% 50px
}

#pbBlock01 .ttlWrap figure {
  position: absolute;
  top: 50%;
  right: -45%;
  width: 50%;
  height: auto;
  max-width: 200px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%)
}

#pbBlock01 .column {
  width: 100%;
  padding-top: 30px;
  position: relative
}

#pbBlock01 .column-th {
  width: 20%;
  height: auto;
  margin-right: 15px;
  min-width: 200px
}

#pbBlock01 .column::after {
  content: "";
  display: inline-block;
  width: 50%;
  max-width: 200px;
  height: 180px;
  position: absolute;
  bottom: -200px;
  right: 50%;
  -webkit-transform: translateX(50%);
  -ms-transform: translateX(50%);
  transform: translateX(50%);
  background: url(/life/housecleaning/assets/img/arrow.png) no-repeat;
  background-size: contain
}

#pbBlock02 .inner-max1000 {
  padding-top: 5%;
  width: 100%
}

#pbBlock02 .ttlWrap figure {
  position: absolute;
  top: 40%;
  right: -75%;
  width: 90%;
  max-width: 220px;
  height: auto;
  -webkit-transform: translateY(-40%);
  -ms-transform: translateY(-40%);
  transform: translateY(-40%)
}

#pbBlock02 .orangettl figure {
  right: -50%
}

#pbBlock02 .column {
  width: 100%;
  padding: 70px 0 0
}

#pbBlock02 .column-th {
  width: 32%;
  margin-right: 2%
}

#pbBlock02 .column-th:nth-of-type(3) {
  margin-right: 0
}

#pbBlock02 .column-tw {
  width: 49%;
  margin-right: 2%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex
}

#pbBlock02 .column-tw:last-of-type {
  margin-right: 0
}

#pbBlock02 .bdrbox p {
  text-align: center
}

.pbPoint {
  border-radius: 20px;
  background-color: #fff5b1;
  background-image: -webkit-repeating-linear-gradient(135deg, transparent, transparent 4px, rgb(255, 238, 125) 4px, rgb(255, 238, 125) 10px);
  background-image: -o-repeating-linear-gradient(135deg, transparent, transparent 4px, rgb(255, 238, 125) 4px, rgb(255, 238, 125) 10px);
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 4px, rgb(255, 238, 125) 4px, rgb(255, 238, 125) 10px);
  position: relative;
  padding: 20px 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  min-width: 282px;
  margin-bottom: 50px;
  max-width: 320px
}

.pbPoint .tag {
  width: 35%;
  position: absolute;
  top: -18px;
  left: 20px
}

.pbPoint .illust {
  width: 50%;
  height: auto;
  margin: 0 20px 0 auto;
  max-height: 146px
}

.pbPoint .illust img {
  width: 100%;
  -o-object-fit: contain;
  object-fit: contain
}

.pbPoint .txtwrap {
  width: 90%;
  margin: 15px auto 0;
  padding: 20px;
  background-color: #fff;
  border-radius: 10px
}

.pbPoint .ttl {
  font-size: 24px;
  font-weight: bold;
  color: #003b80;
  border-bottom: 2px solid #f4d923;
  padding-bottom: 5px;
  width: 100%;
  height: auto;
  text-align: center;
  margin: 0 0 10px
}

.pbPoint p {
  width: 100%;
  height: auto;
  font-size: 15px;
  margin: 10px 0 0;
  height: 120px
}

.bdrbox {
  border: 2px solid #163d8b;
  border-radius: 10px;
  padding: 30px 7%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex
}

.bdrbox .inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.bdrbox .btn-a a {
  width: 100%
}

.bdrbox .headline {
  font-size: 22px;
  font-weight: bold;
  color: #163d8b;
  text-align: center;
  width: 100%
}

.bdrbox .ttl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 0 0 10px;
  border-bottom: 1px solid #163d8b;
  margin: 0 0 15px;
  width: 100%
}

.bdrbox .ttl img {
  width: 100%;
  margin: 0 auto;
  max-width: 200px
}

.bdrbox .attn {
  margin: 5px 0 30px
}

.bdrbox .eneriaLogo {
  width: 100%;
  max-width: 150px;
  height: auto;
  margin: 0 auto
}

.orange {
  padding: 0 90px;
  position: relative
}

.orange::before,
.orange::after {
  content: "";
  display: block;
  position: absolute;
  top: 55%;
  -webkit-transform: translateY(-55%);
  -ms-transform: translateY(-55%);
  transform: translateY(-55%)
}

.orange::before {
  left: 0;
  background: url(/life/housecleaning/assets/img/ttl_left.png) no-repeat;
  background-size: contain;
  width: 10%;
  height: 60px
}

.orange::after {
  right: 0;
  background: url(/life/housecleaning/assets/img/ttl_right.png) no-repeat;
  background-size: contain;
  width: 10%;
  height: 60px
}

#service .content {
  padding: 20px 5%
}

#service .content h3 {
  padding-bottom: 15px;
  border-bottom: 2px solid #163d8b
}

#service .content h3.orange {
  border-bottom: none
}

#service li {
  font-size: 15px
}

#service .btnWrap {
  padding: 70px 0 0;
  border-bottom: 6px solid #0091d7;
  margin: 0;
  background: #d2ecfa url(/life/housecleaning/assets/img/bg.png);
  background-size: 8px 9px
}

#service .btnWrap .ttl {
  width: 50%;
  max-width: 120px;
  margin: 0 auto
}

#service .btnWrap h3 {
  margin: 15px 0 50px
}

#service .btnWrap ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 0;
  margin: 0 auto
}

#service .btnWrap li {
  width: 16%;
  list-style: none;
  margin-right: .8%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex
}

#service .btnWrap li:last-of-type {
  margin-right: 0
}

#service .btnWrap a {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  text-decoration: none;
  color: #000;
  font-size: 18px;
  font-weight: bold;
  padding: 20px 10px 10px;
  text-align: center;
  background-color: #fff;
  border-radius: 18px 18px 0 0
}

#service .btnWrap a::before,
#service .btnWrap a::after {
  content: "";
  display: block;
  -webkit-transition: all .6s;
  -o-transition: all .6s;
  transition: all .6s
}

#service .btnWrap a::before {
  margin-bottom: 10px
}

#service .btnWrap a::after {
  background: url(/life/housecleaning/assets/img/down.png) no-repeat;
  width: 100%;
  height: 10px;
  background-size: contain;
  background-position: center;
  margin: 10px 0 0 0
}

#service .btnWrap a:hover {
  background-color: #0091d7;
  color: #fff
}

#service .btnWrap a:hover::after {
  background: url(/life/housecleaning/assets/img/down_w.png) no-repeat;
  background-size: contain;
  background-position: center;
  width: 100%;
  height: 10px
}

#service .btnWrap .tab01 a::before {
  background: url(/life/housecleaning/assets/img/tab01.png) no-repeat;
  background-size: contain;
  background-position: center;
  width: 100%;
  height: 86px;
  max-width: 102px
}

#service .btnWrap .tab01 a:hover::before {
  background: url(/life/housecleaning/assets/img/tab01_w.png) no-repeat;
  background-position: center;
  background-size: contain;
  width: 100%;
  height: 86px;
  max-width: 102px
}

#service .btnWrap .tab02 a::before {
  background: url(/life/housecleaning/assets/img/tab02.png) no-repeat;
  background-size: contain;
  background-position: center;
  width: 100%;
  height: 86px;
  max-width: 91px
}

#service .btnWrap .tab02 a:hover::before {
  background: url(/life/housecleaning/assets/img/tab02_w.png) no-repeat;
  background-size: contain;
  background-position: center;
  width: 100%;
  height: 86px;
  max-width: 91px
}

#service .btnWrap .tab03 a::before {
  background: url(/life/housecleaning/assets/img/tab03.png) no-repeat;
  background-position: center;
  background-size: contain;
  width: 100%;
  height: 86px;
  max-width: 106px
}

#service .btnWrap .tab03 a:hover::before {
  background: url(/life/housecleaning/assets/img/tab03_w.png) no-repeat;
  background-position: center;
  background-size: contain;
  width: 100%;
  height: 86px;
  max-width: 106px
}

#service .btnWrap .tab04 a::before {
  background: url(/life/housecleaning/assets/img/tab04.png) no-repeat;
  background-size: contain;
  background-position: center;
  width: 100%;
  height: 86px;
  max-width: 76px
}

#service .btnWrap .tab04 a:hover::before {
  background: url(/life/housecleaning/assets/img/tab04_w.png) no-repeat;
  background-size: contain;
  background-position: center;
  width: 100%;
  height: 86px;
  max-width: 76px
}

#service .btnWrap .tab05 a::before {
  background: url(/life/housecleaning/assets/img/tab05.png) no-repeat;
  background-size: contain;
  background-position: center;
  width: 100%;
  height: 86px;
  max-width: 55px
}

#service .btnWrap .tab05 a:hover::before {
  background: url(/life/housecleaning/assets/img/tab05_w.png) no-repeat;
  background-size: contain;
  background-position: center;
  width: 100%;
  height: 86px;
  max-width: 55px
}

#service .btnWrap .tab06 a::before {
  background: url(/life/housecleaning/assets/img/tab06.png) no-repeat;
  background-size: contain;
  background-position: center;
  width: 100%;
  height: 86px;
  max-width: 69px
}

#service .btnWrap .tab06 a:hover::before {
  background: url(/life/housecleaning/assets/img/tab06_w.png) no-repeat;
  background-size: contain;
  background-position: center;
  width: 100%;
  height: 86px;
  max-width: 69px
}

#service .column {
  width: 100%
}

#service .column.reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse
}

#service .column-tw {
  width: 49%;
  margin-right: 2%;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center
}

#service .column-tw:nth-child(2) {
  margin-right: 0
}

#service .column-tw.bdrbox {
  text-align: center
}

#service .column-tw li {
  font-size: 20px;
  line-height: 1.6
}

#service .column-twMini {
  width: 25%
}

#service .column-twBig {
  width: 75%;
  padding-right: 40px
}

#service .column-twBig p {
  line-height: 1.6;
  margin: 0;
  font-size: 16px
}

#service .column-twBig p.blue {
  color: #163d8b;
  font-size: 20px;
  margin: 0 0 5px;
  font-weight: 500
}

#service .column-twBig span {
  color: #d70c18
}

#service .bdrbox {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

#service .bdrbox .column {
  margin-bottom: 30px
}

#service .aboutWrap p {
  font-size: 18px;
  line-height: 1.6;
  margin: 0 0 15px
}

#service .aboutWrap .headline {
  color: #163d8b;
  margin: 0 0 6px
}

#service .ttlWrap {
  margin: 0 auto 30px;
  max-width: 480px
}

#service .ttlWrap h3 {
  max-width: 480px
}

#service .ttlWrap figure {
  position: absolute;
  top: 50%;
  right: -50%;
  width: 45%;
  max-width: 220px;
  height: auto;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%)
}

#service .txtwrap ul {
  margin: 0 0 30px
}

#tab01 .column,
#tab02 .column,
#tab03 .column,
#tab04 .column,
#tab05 .column,
#tab06 .column {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start
}

#tab01 .column-tw,
#tab02 .column-tw,
#tab03 .column-tw,
#tab04 .column-tw,
#tab05 .column-tw,
#tab06 .column-tw {
  width: 48%;
  margin-right: 4%
}

.optionList {
  width: 100%;
  margin: 20px 0
}

.optionList tr {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
  background-color: #f0f0f0;
  padding: 1em;
  margin-top: 10px
}

.optionList th {
  font-weight: normal;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center
}

.optionList span {
  width: auto;
  padding: 3px 15px;
  color: #fff;
  background-color: #163d8b;
  margin-right: 10px;
  font-size: 15px;
  white-space: nowrap
}

.optionList td {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -webkit-justify-content: end;
  -ms-flex-pack: end;
  justify-content: end
}

.optionList p {
  margin: 0;
  font-size: 18px;
  white-space: nowrap
}

.optionList p.red {
  padding-left: 1em;
  font-size: 20px;
  color: #d70c18;
  font-weight: bold
}

.hcnAttn {
  padding-top: 50px
}

.hcnAttn ul {
  padding-left: 10px
}

.hcnAttn li {
  list-style: none;
  line-height: 1.6;
  position: relative;
  padding-left: 10px;
  margin: 0 0 10px;
}

.hcnAttn li::before {
  position: absolute;
  top: 0;
  left: -10px;
  content: "※";
  display: inline-block
}

.bdrTtl {
  border-bottom: 1px solid #000;
  font-size: 20px;
  font-weight: bold;
  padding: 1em 0 10px;
  margin-bottom: 15px
}

.priceBox {
  margin-top: 40px
}

.priceBox p {
  margin: 0 0 15px;
  line-height: 1
}

.priceBox figure {
  width: 100%;
  height: auto;
  max-width: 320px;
  margin: 0;
  padding-top: 10px
}

.price {
  font-size: 36px;
  margin-left: 10px;
  letter-spacing: .03em
}

.price-menu {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 20px;
  font-weight: 500
}

.price-standard {
  font-weight: bold;
  font-size: 22px
}

.price-special {
  color: #d70c18;
  font-weight: bold;
  font-size: 22px
}

.redbox {
  margin-right: 10px;
  background: #d70c18;
  color: #fff;
  padding: 8px;
  font-size: 14px;
  display: inline-block
}

.tax {
  display: inline-block;
  font-size: 18px;
  margin-left: 5px
}

#step {
  padding-top: 70px
}

#step .ttlWrap figure {
  position: absolute;
  top: -100px;
  right: 0;
  width: 37%;
  max-width: 300px
}

.stepcont {
  margin: 0;
  padding: 30px 30px 60px;
  background: #d2ecfa url(/life/housecleaning/assets/img/bg.png);
  background-size: 8px 9px
}

.stepcont .column {
  margin-top: 30px
}

.stepcont .column-th {
  width: 28%;
  max-width: 200px;
  margin-right: 7%
}

.stepcont .column-th p {
  margin: 15px 0 0
}

.stepcont .column-th figure {
  position: relative
}

.stepcont .column-th figure::after {
  content: "";
  display: block;
  position: absolute;
  top: 60%;
  right: -25%;
  -webkit-transform: translateY(-60%);
  -ms-transform: translateY(-60%);
  transform: translateY(-60%);
  background: url(/life/housecleaning/assets/img/right_b.png) no-repeat;
  background-size: contain;
  width: 30px;
  height: 30px
}

.stepcont .column-th:last-of-type {
  margin-right: 0
}

.stepcont .column-th:last-of-type figure::after {
  display: none
}

#contactBox h3 {
  padding-top: 30px
}

#contactBox .blue {
  line-height: 1;
  margin: 0 0 20px
}

#contactBox .column-ttl {
  font-size: 20px;
  color: #163d8b;
  font-weight: bold;
  margin-bottom: 15px;
  line-height: 1
}

#contactBox .column-tw {
  padding: 30px;
  border-radius: 10px;
  width: 49%;
  margin-right: 2%;
  background-color: #f0f0f0
}

#contactBox .column-tw:last-of-type {
  margin-right: 0
}

#contactBox .column-twMini {
  width: 50%;
  min-width: 167px;
  padding-bottom: 10px
}

#contactBox .column-twMini span {
  padding: 3px 1em;
  color: #163d8b;
  border: 1px solid #163d8b;
  display: inline-block;
  margin-bottom: 5px
}

#contactBox .column-twMini p {
  margin: 0;
  white-space: nowrap
}

#contactBox .column .column {
  -webkit-box-pack: left;
  -webkit-justify-content: left;
  -ms-flex-pack: left;
  justify-content: left
}

@media screen and (max-width: 1320px) {
  #concept figure {
    right: -50%
  }

  #pbBlock01 .ttlWrap figure {
    width: 45%
  }

  #pbBlock01 .column-th {
    width: 25%
  }

  #pbBlock02 .ttlWrap figure {
    width: 40%;
    right: -40%
  }

  .orange {
    font-size: 24px
  }

  .orange::before {
    left: 8%
  }

  .orange::after {
    right: 8%
  }

  #service .ttlWrap figure {
    width: 40%;
    right: -20%
  }
}

@media screen and (max-width: 1140px) {
  .ttlWrap {
    position: static
  }

  #concept .inner {
    position: static
  }

  #concept figure {
    position: static;
    width: 100%;
    -webkit-transform: translate(0);
    -ms-transform: translate(0);
    transform: translate(0);
    margin: 20px auto 0
  }

  #pbBlock01 .ttlWrap {
    position: relative
  }

  #pbBlock01 .column-th {
    width: 32%
  }

  #pbBlock02 .inner-max1000 {
    padding-top: 70px
  }

  #pbBlock02 .ttlWrap {
    display: block
  }

  #pbBlock02 .ttlWrap figure {
    position: static;
    width: 100%;
    -webkit-transform: translate(0);
    -ms-transform: translate(0);
    transform: translate(0);
    margin: 0 auto
  }

  .orange {
    margin: 0
  }

  .orange::before,
  .orange::after {
    bottom: 0
  }

  #service .ttlWrap {
    display: block
  }

  #service .ttlWrap h3 {
    max-width: 100%;
    position: relative
  }

  #service .ttlWrap figure {
    position: static;
    width: 100%;
    -webkit-transform: translate(0);
    -ms-transform: translate(0);
    transform: translate(0);
    margin: 0 auto
  }

  #service .ttlWrap.orange::before,
  #service .ttlWrap.orange::after {
    bottom: 0
  }

  #step .ttlWrap {
    position: relative
  }
}

@media screen and (max-width: 880px) {
  #pbBlock01 .column-th {
    width: 48%;
    margin: 0
  }

  #pbBlock01 .column-th:first-of-type {
    margin-right: 4%
  }

  #pbBlock02 .orangettl {
    width: 100%;
    display: block
  }

  #pbBlock02 .orangettl h3 {
    width: 100%
  }

  #pbBlock02 .orangettl figure {
    width: 80%;
    margin-bottom: 20px;
    max-width: 198px;
    height: auto
  }

  #pbBlock02 .column {
    padding-top: 40px
  }

  #pbBlock02 .column-th {
    width: 100%;
    margin-right: 0
  }

  #pbBlock02 .column-tw {
    width: 100%;
    margin: 0 0 20px
  }

  #pbBlock02 .bdrbox p {
    width: 100%
  }

  .pbPoint {
    min-width: 0
  }

  .pbPoint .ttl {
    font-size: 22px
  }

  .orange {
    padding: 0 40px;
    display: block;
    width: 100%
  }

  #service .btnWrap {
    border-bottom: none;
    padding: 50px 0 30px
  }

  #service .btnWrap ul {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }

  #service .btnWrap li {
    width: 31%;
    margin: 0 3.5% 20px 0
  }

  #service .btnWrap li:nth-of-type(3n) {
    margin-right: 0
  }

  #service .btnWrap a {
    border-radius: 10px;
    display: block
  }

  #service .btnWrap a::before {
    width: 100%;
    margin: 0 auto 15px
  }

  #service .column {
    display: block
  }

  #service .column-tw {
    width: 100%;
    margin: 0 0 20px
  }

  #service .column-tw li {
    font-size: 18px
  }

  #service .column-twMini {
    width: 100%
  }

  #service .column-twBig {
    width: 100%;
    padding: 15px 0 0 0
  }

  #service .ttlWrap {
    max-width: 100%
  }

  #service .ttlWrap figure {
    margin: 20px auto;
    width: 80%;
    max-width: 198px
  }

  #service .aboutWrap p {
    font-size: 16px
  }

  #service .txtwrap ul {
    margin-top: 15px
  }

  .optionList p {
    white-space: normal
  }

  .optionList p.red {
    font-size: 16px
  }

  .price {
    font-size: 28px
  }

  .price-menu {
    font-size: 18px
  }

  .price-standard {
    font-size: 20px
  }

  .price-special {
    font-size: 20px
  }

  .tax {
    font-size: 16px
  }

  #step {
    margin-top: 50px
  }

  #step .ttlWrap figure {
    top: -180%;
    width: 50%;
    right: 50%;
    -webkit-transform: translateX(50%);
    -ms-transform: translateX(50%);
    transform: translateX(50%);
    max-width: 100%
  }

  .stepcont .column-th {
    width: 45%;
    margin-right: 10%
  }

  .stepcont .column-th:nth-of-type(n+2) {
    margin-right: 0
  }

  .stepcont .column-th:nth-of-type(n+2) figure::after {
    display: none
  }

  .stepcont .column-th:last-of-type {
    margin-top: 30px
  }

  #contactBox .column-tw {
    width: 100%;
    margin: 0 0 15px
  }
}

@media screen and (max-width: 640px) {
  p {
    font-size: 14px
  }

  #concept figure {
    width: 70%
  }

  .orange {
    font-size: 20px;
    padding: 0 1em;
    max-width: 100%;
    width: 100%
  }

  #pbBlock01 .ttlWrap figure {
    width: 70%;
    right: -63%
  }

  #pbBlock01 .column-th {
    width: 48%;
    min-width: 0;
    margin-right: 0
  }

  #pbBlock01 .column::after {
    width: 35%;
    bottom: -230px
  }

  #pbBlock02 .ttlWrap {
    width: 100%
  }

  #pbBlock02 .ttlWrap h3 {
    width: 100%
  }

  #pbBlock02 .ttlWrap figure {
    width: 50%
  }

  #pbBlock02 .orangettl figure {
    width: 45%
  }

  #pbBlock02 .column {
    padding-top: 60px
  }

  #pbBlock02 .column-th {
    width: 80%
  }

  #pbBlock02 .column:last-of-type {
    padding-top: 30px
  }

  #pbBlock02 .orange {
    width: 100%
  }

  .pbPoint .ttl {
    font-size: 18px
  }

  .bdrbox {
    padding: 30px 8%
  }

  .bdrbox .ttl img {
    max-width: 150px
  }

  .bdrbox .headline {
    font-size: 18px
  }

  .bdrbox .attn {
    font-size: 13px;
    margin-bottom: 15px
  }

  .bdrbox .eneriaLogo {
    max-width: 130px
  }

  .orange {
    padding: 0 20px
  }

  .orange::before {
    left: 0px
  }

  .orange::after {
    right: 0px
  }

  #service h3 {
    margin-top: 0
  }

  #service .btnWrap {
    padding: 40px 0 20px;
    margin-bottom: 15px
  }

  #service .btnWrap .ttl {
    width: 25%
  }

  #service .btnWrap h3 {
    margin-bottom: 30px
  }

  #service .btnWrap a {
    font-size: 14px;
    line-height: 1.3
  }

  #service .btnWrap .tab01 a::before {
    width: 75%;
    height: 69px
  }

  #service .btnWrap .tab01 a:hover::before {
    width: 75%;
    height: 69px
  }

  #service .btnWrap .tab02 a::before {
    width: 75%;
    height: 69px
  }

  #service .btnWrap .tab02 a:hover::before {
    width: 75%;
    height: 69px
  }

  #service .btnWrap .tab03 a::before {
    width: 75%;
    height: 69px
  }

  #service .btnWrap .tab03 a:hover::before {
    width: 75%;
    height: 69px
  }

  #service .btnWrap .tab04 a::before {
    width: 75%;
    height: 69px
  }

  #service .btnWrap .tab04 a:hover::before {
    width: 75%;
    height: 69px
  }

  #service .btnWrap .tab05 a::before {
    width: 75%;
    height: 69px
  }

  #service .btnWrap .tab05 a:hover::before {
    width: 75%;
    height: 69px
  }

  #service .btnWrap .tab06 a::before {
    width: 75%;
    height: 69px
  }

  #service .btnWrap .tab06 a:hover::before {
    width: 75%;
    height: 69px
  }

  #service .column-tw li {
    font-size: 16px
  }

  #service .column-twBig p {
    font-size: 15px
  }

  #service .column-twBig p.blue {
    font-size: 17px
  }

  #service .ttlWrap figure {
    width: 45%
  }

  #service .txtwrap ul {
    margin: 0 0 20px
  }

  .optionList tr {
    display: block
  }

  .optionList th {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: left;
    -webkit-justify-content: left;
    -ms-flex-pack: left;
    justify-content: left;
    border-bottom: 1px solid #000;
    margin-bottom: 10px;
    padding: 0 0 5px
  }

  .optionList td {
    display: block
  }

  .optionList span {
    font-size: 14px;
    margin-bottom: 10px
  }

  .optionList p {
    font-size: 15px;
    width: 100%
  }

  .optionList p.red {
    font-size: 17px;
    padding-left: 0
  }

  .hcnAttn {
    padding-top: 0
  }

  .hcnAttn li {
    font-size: 14px
  }

  .bdrTtl {
    font-size: 18px;
    padding: 10px 0 5px
  }

  .priceBox {
    margin-top: 20px
  }

  .priceBox p {
    line-height: 1.3;
    margin-bottom: 5px
  }

  .price {
    font-size: 23px
  }

  .price-menu {
    font-size: 16px;
    display: block
  }

  .price-standard {
    font-size: 16px
  }

  .price-special {
    font-size: 16px
  }

  .redbox {
    padding: 4px;
    margin: 0 5px 5px 0;
    display: inline-block;
    font-size: 13px
  }

  #step .ttlWrap figure {
    top: -160px;
    width: 75%
  }

  #step .ttlWrap h3 {
    margin-top: 30px
  }

  .stepcont {
    padding-bottom: 30px
  }

  .stepcont .inner-max1000 {
    width: 100%
  }

  .stepcont .column-th figure::after {
    right: -20%;
    width: 18px;
    height: 18px
  }

  #contactBox h3 {
    padding: 10px 0 0
  }

  #contactBox .inner-max1000 {
    width: 100%
  }

  #contactBox .blue {
    line-height: 1.6
  }
}

div.contactBox {
  padding: 3px 1em;
  color: #163d8b;
  border: 1px solid #163d8b;
  display: inline-block;
  margin-bottom: 5px
}

/* スマホ画面のヘッダーの文字が小さくなるよう調整 */
main.life { font-size: 15px; }

/* スマホ画面のWebエネリアのロゴが小さくならないよう調整 */
.webEneriaBtn2 a img { width: auto; max-width: 100%; height: auto; box-sizing: content-box; }

/* footerBlock4 をスマホで 0.775rem に統一 */
@media (max-width: 640px) {
  .footerBlock4 {
    font-size: 0.775rem;
  }
}

/* footerBlock4 の caret アイコンを他ページと同じ基準 0.775rem に合わせる */
@media (max-width: 640px) {
  .footerBlock4 { font-size: 0.775rem; }
  .footerBlock4 .icon-caret-right {
    font-size: 0.775rem;   /* 文字と完全一致 */
    line-height: 1;        /* 不要なら削除可 */
    vertical-align: middle;/* 必要に応じ調整: baseline / middle / top */
    margin-right: 0.3em;   /* 余白を揃えたい場合。不要なら削除 */
  }
}

/* 申し込み注意事項 箇条書きサイズ統一 */
#contactBox .hcnAttn ul li { font-size:15px; }
/* お申し込み・ご利用上の注意 見出しとリストの間隔調整 (再調整) */
#contactBox h3 { margin-bottom:12px; }
#contactBox .hcnAttn { margin-top:0; }
#contactBox .hcnAttn ul { margin-top:0; }
/* 参考: 「よくあるご質問」h3とh4の間隔に合わせ近似の12px設定 */

.text-red { color:#c40000; font-weight:600; }
/* ご確認事項スタイル */
.confirmNotes { margin:16px 0 32px; }
.confirmNotes__ttl { font-size:20px; font-weight:600; margin:0 0 12px; position:relative; padding-left:28px; text-align:left; }
.confirmNotes__ttl span { border-bottom:4px solid #163d8b; padding:0 4px 2px; display:inline-block; }
.confirmNotes__ttl:before { display:none !important; }
.confirmNotes__ttl { padding-left:0; }
.confirmNotes__list { list-style:none; margin:0 0 16px; padding:0; }
.confirmNotes__list > li { position:relative; padding-left:20px; line-height:1.7; margin:0 0 6px; font-size:15px; }
.confirmNotes__list > li:before { content:""; position:absolute; left:0; top:0.6em; width:7px; height:7px; background:#4d4d4d; border-radius:50%; }
.em-red { color:#c40000; font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.confirmNotes__areaTtl { font-weight:600; margin:4px 0 4px; font-size:14px; }
.confirmNotes__areaTxt { font-size:14px; line-height:1.6; margin:0 0 4px; }
.confirmNotes__areaTtl, .confirmNotes__areaTxt { padding-left:20px; }
@media (max-width:640px){ .confirmNotes__areaTtl, .confirmNotes__areaTxt { padding-left:18px; } }
/* エリアについてカード */
.confirmNotes__lead { font-size:15px; line-height:1.7; margin:0 0 18px; padding-left:20px; position:relative; }
.confirmNotes__lead:before { content:""; position:absolute; left:0; top:0.6em; width:7px; height:7px; background:#4d4d4d; border-radius:50%; }
.areaCards { display:block; gap:28px; padding-left:0; }
.areaCard { border:1px solid #bdbdbd; padding:18px 20px 16px; margin:0 0 28px; background:#fff; }
.areaCard__ttl { font-size:15px; font-weight:700; color:#163d8b; margin:0 0 12px; }
.areaCard__desc { font-size:14px; line-height:1.6; margin:0 0 14px; }
.areaCard__corp { font-size:14px; font-weight:600; margin:0 0 12px; }
.areaCard__link { font-size:14px; margin:0 0 4px; }
.areaCard__link a { color:#163d8b; text-decoration:none; position:relative; padding-left:14px; }
.areaCard__link a:before { content:"›"; position:absolute; left:0; top:0; color:#163d8b; font-size:16px; }
@media (min-width:760px){
  .areaCards { display:flex; }
  .areaCard { flex:1; margin:0; }
}
@media (max-width:640px){
  .confirmNotes__lead { padding-left:18px; font-size:14px; }
  .confirmNotes__lead:before { top:0.55em; }
  .areaCard { padding:16px 16px 14px; margin:0 0 22px; }
  .areaCard__ttl { font-size:14px; margin-bottom:10px; }
  .areaCard__desc { font-size:13px; }
  .areaCard__corp, .areaCard__link { font-size:13px; }
}

/* =============================
   FAQ Static layout (accordion removed)
============================= */
.faq-wrap {margin-top:40px;}
.faq-list {list-style:none; margin:0; padding:0;}
.faq-list > li {border-bottom:1px solid #ddd; padding:16px 0;}
.faq-list > li:last-child {border-bottom:none;}
.faq-list__q {margin:0 0 8px; font-size:16px;}
.faq-list__q a {text-decoration:none; color:#163d8b; display:inline-block;}
.faq-list__q span {color:#163d8b; font-weight:600; margin-right:4px;}
.faq-list__a {background:#fff; padding:0 0 0 0;}
.faq-list__a > span {display:inline-block; font-weight:600; color:#ec6d34; margin:0 6px 0 0;}
.faq-list__a p {margin:0 0 12px;}
.faq-list__a h6 {margin:16px 0 4px; font-size:14px; color:#163d8b;}
.faq-list__a img {height:auto; width:100%; max-width:360px;}
@media (min-width:769px){
  .faq-list__a img {float:right; margin:0 0 12px 24px; max-width:320px;}
}


