@charset "UTF-8";
/*!
 * ress.css • v1.2.2
 * MIT License
 * github.com/filipelinhares/ress
 */
/* # =================================================================
   # Global selectors
   # ================================================================= */
html {
  box-sizing: border-box;
  overflow-y: scroll;
  /* All browsers without overlaying scrollbars */
  -webkit-text-size-adjust: 100%;
  /* iOS 8+ */
}

*,
::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;
}

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

/* # =================================================================
   # General elements
   # ================================================================= */
/* Add the correct display in iOS 4-7.*/
audio:not([controls]) {
  display: none;
  height: 0;
}

hr {
  overflow: visible;
  /* Show the overflow in Edge and IE */
}

/*
* Correct `block` display not defined for any HTML5 element in IE 8/9
* Correct `block` display not defined for `details` or `summary` in IE 10/11
* and Firefox
* Correct `block` display not defined for `main` in IE 11
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}

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

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

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

abbr[title] {
  border-bottom: 1px dotted;
  /* Add a bordered underline effect in all browsers */
  text-decoration: none;
  /* Remove text decoration in Firefox 40+ */
}

a {
  background-color: transparent;
  /* Remove the gray background on active links in IE 10 */
  -webkit-text-decoration-skip: objects;
  /* Remove gaps in links underline in iOS 8+ and Safari 8+ */
}

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 */
}

b,
strong {
  font-weight: bolder;
  /* Correct style set to `bold` in Edge 12+, Safari 6.2+, and Chrome 18+ */
}

dfn {
  font-style: italic;
  /* Address styling not present in Safari and Chrome */
}

/* Address styling not present in IE 8/9 */
mark {
  background-color: #ff0;
  color: #000;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

[type="number"] {
  width: auto;
  /* Firefox 36+ */
}

[type="search"] {
  -webkit-appearance: textfield;
  /* Safari 8+ */
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
  /* Safari 8 */
}

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 */
}

/* 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: 0;
  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 */
}

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

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

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

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

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

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

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

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

/* # =================================================================
   # Specify media element style
   # ================================================================= */
img {
  border-style: none;
  /* 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(:root) {
  overflow: hidden;
  /* Internet Explorer 11- */
}

audio,
canvas,
progress,
video {
  display: inline-block;
  /* Internet Explorer 11+, Windows Phone 8.1+ */
}

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

/* # =================================================================
   # Selection
   # ================================================================= */
/* Specify text selection background color and omit drop shadow */
::-moz-selection {
  background-color: #b3d4fc;
  /* Required when declaring ::selection */
  color: #000;
  text-shadow: none;
}

::selection {
  background-color: #b3d4fc;
  /* Required when declaring ::selection */
  color: #000;
  text-shadow: none;
}

.border, .covid .title, .merit .title span:nth-child(1), .jyumyou .title span, .fireInsurance .title span, .reason > .title, .voice .title, .area .title, .review .title, .campaign .title {
  font-size: 60px;
  font-weight: bold;
  text-shadow: -1px -1px 0 #fff, #000 2px 0, #000 -2px 0, #000 0 -2px, #000 0 2px, #000 2px 2px, #000 -2px 2px, #000 2px -2px, #000 -2px -2px, #000 1px 2px, #000 -1px 2px, #000 1px -2px, #000 -1px -2px, #000 2px 1px, #000 -2px 1px, #000 2px -1px, #000 -2px -1px, #000 5px 5px;
}

.blueStripe, .jump a, .form .add details summary a,
.jump span, .form .add details summary span, .entryButtonFixed .title {
  background: repeating-linear-gradient(-45deg, #59c6e9, #59c6e9 6px, #2db7e2 6px, #2db7e2 12px);
  border-color: #000;
  color: #fedb3c;
  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;
}

.blueStripe:hover, .jump a:hover, .form .add details summary a:hover,
.jump span:hover, .form .add details summary span:hover, .entryButtonFixed .title:hover {
  color: #fedb3c;
}

.nextContent:after, .summary:after, .merit:after, .jyumyou:after, .fireInsurance:after {
  bottom: -120px;
  content: "";
  display: block;
  height: 120px;
  left: 0;
  position: absolute;
  width: 100%;
  z-index: 1;
}

.jump, .form .add details summary {
  margin: 30px auto 0;
  max-width: 400px;
}

.jump a, .form .add details summary a,
.jump span, .form .add details summary span {
  align-items: center;
  border: solid 3px #000;
  border-radius: 25px;
  box-shadow: 0 5px 0 #000;
  display: flex;
  height: 50px;
  justify-content: center;
  transition: none;
}

.jump a:hover, .form .add details summary a:hover,
.jump span:hover, .form .add details summary span:hover {
  bottom: -5px;
  box-shadow: none;
  color: #000;
  position: relative;
  transition: none;
}

@media screen and (max-width: 414px) {
  .border, .covid .title, .merit .title span:nth-child(1), .jyumyou .title span, .fireInsurance .title span, .reason > .title, .voice .title, .area .title, .review .title, .campaign .title {
    font-size: 10vw;
  }
  .nextContent:after, .summary:after, .merit:after, .jyumyou:after, .fireInsurance:after {
    bottom: -60px;
    height: 60px;
  }
}

.lp {
  background: url(/img/back05.webp);
}

.lp .header {
  overflow: hidden;
}

.lp .header .inner {
  max-width: 1280px;
  position: relative;
  width: 100%;
}

.lp .header .partner {
  left: 35px;
  position: absolute;
  top: 10px;
  transform: rotate(-4deg);
  z-index: 5;
}

.lp .header .main {
  height: 850px;
  width: 100%;
}

.lp .header .main.fuyohin {
  height: 720px;
}

.lp .header .main img:nth-child(2),
.lp .header .main svg:nth-child(2) {
  display: none;
}

.lp .header .title {
  left: 0;
  position: absolute;
  top: 0;
}

.lp .header .title span {
  opacity: 0;
  position: absolute;
}

.lp .header .title span span:nth-child(1) {
  animation: popping .25s ease 1s 1 forwards;
  left: 420px;
  top: 40px;
  z-index: 2;
}

.lp .header .title span span:nth-child(2) {
  animation: jump .25s ease 1.25s 1 forwards;
  left: 640px;
  top: 15px;
  z-index: 2;
}

.lp .header .title span span:nth-child(3) {
  animation: jump .25s ease 1.5s 1 forwards;
  left: 820px;
  top: 25px;
  z-index: 2;
}

.lp .header .title > span:nth-child(1) {
  opacity: 1;
}

.lp .header .title > span:nth-child(2) {
  animation: strike .25s ease .25s 1 forwards;
  left: 0;
  top: 20px;
  z-index: 2;
}

.lp .header .title > span:nth-child(3) {
  animation: strike .25s ease .5s 1 forwards;
  left: 320px;
  top: 165px;
  z-index: 4;
}

.lp .header .title > span:nth-child(4) {
  animation: strike .25s ease .75s 1 forwards;
  left: 330px;
  top: 300px;
  z-index: 4;
}

.lp .header .quotation {
  animation: strike .25s ease .75s 1 forwards;
  left: 300px;
  opacity: 0;
  position: absolute;
  top: 290px;
  z-index: 4;
}

.lp .header .quotation img {
  animation: vibration .25s linear infinite;
}

.lp .header .quotation img:first-of-type {
  transform: rotate(357deg);
}

.lp .header .star1 {
  animation: popping .25s ease 1.25s 1 forwards;
  left: 200px;
  opacity: 0;
  position: absolute;
  top: 130px;
  z-index: 2;
}

.lp .header .star1 svg {
  animation: shine 2.5s linear infinite;
}

.lp .header ul {
  left: 360px;
  position: absolute;
  top: 450px;
  z-index: 3;
}

.lp .header li {
  border-radius: 5px;
  float: left;
  margin-right: 55px;
  opacity: 0;
  position: relative;
}

.lp .header li .service {
  bottom: 0;
  left: -40px;
  opacity: 0;
  position: absolute;
}

.lp .header li .blast {
  animation: vibration .3s ease infinite;
  position: absolute;
  top: -20px;
}

.lp .header li .blast img {
  animation: scaling .5s .6s linear infinite;
  width: 100%;
}

.lp .header li:nth-child(1) {
  animation: popping .25s ease 1s 1 forwards;
  margin-top: 40px;
}

.lp .header li:nth-child(2) {
  animation: popping .25s ease 1.5s 1 forwards;
  margin-top: 20px;
}

.lp .header li:nth-child(3) {
  animation: popping .25s ease 2s 1 forwards;
  margin-top: 0;
}

.lp .header li:nth-child(1) > img {
  animation: scaling 4s .6s linear infinite;
}

.lp .header li:nth-child(2) > img {
  animation: scaling 4.25s .6s linear infinite;
}

.lp .header li:nth-child(3) > img {
  animation: scaling 4.5s .6s linear infinite;
}

.lp .header li:nth-child(1) .service {
  animation: popping .2s ease 1.25s 1 forwards;
}

.lp .header li:nth-child(2) .service {
  animation: popping .2s ease 1.75s 1 forwards;
}

.lp .header li:nth-child(3) .service {
  animation: popping .2s ease 2.25s 1 forwards;
}

.lp .header .concierge {
  animation: dark 2s;
  position: absolute;
  right: 0;
  top: 100px;
  z-index: 2;
}

.lp .header .star2 {
  animation: popping2 2s;
  position: absolute;
  right: 90px;
  top: 170px;
  z-index: 3;
}

.lp .header .star2 svg {
  animation: shine2 1.5s linear infinite;
}

.lp .header .light {
  animation: shine 50s linear infinite;
  left: -1100px;
  position: absolute;
  top: -1100px;
  z-index: 1;
}

.lp .header .contentNav {
  left: 0;
  position: absolute;
}

.lp .header .entryButton {
  margin: 0 auto 100px;
}

.lp .header .entryButton .count-down {
  color: #fff;
  font-size: 14px;
  letter-spacing: .25em;
  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;
  z-index: 9999;
}

@media screen and (max-width: 1080px) {
  .lp .header .partner {
    padding: 20px 40px;
  }
  .lp .header .main {
    height: auto;
    position: relative;
    width: 100%;
  }
  .lp .header .main.fuyohin {
    height: auto;
  }
  .lp .header .main img:nth-child(1),
  .lp .header .main svg:nth-child(1) {
    display: none;
  }
  .lp .header .main img:nth-child(2) {
    display: block;
  }
  .lp .header .main svg:nth-child(2) {
    display: block;
  }
  .lp .header .main svg:nth-child(2) img {
    width: 100%;
  }
  .lp .header .title {
    position: relative;
  }
  .lp .header .title > span {
    left: 0 !important;
    position: absolute;
    top: 0 !important;
  }
  .lp .header .star,
  .lp .header .quotation {
    left: 0 !important;
    position: absolute;
    top: 0 !important;
  }
  .lp .header .concierge {
    left: 0;
    position: relative;
    top: 0;
  }
  .lp .header .title span img,
  .lp .header .quotation img,
  .lp .header .star1 svg,
  .lp .header .concierge img {
    height: auto;
    width: 100%;
  }
  .lp .header .title > span:nth-child(1) {
    left: auto !important;
    right: 0 !important;
    top: 0 !important;
    width: 60%;
    z-index: 4;
  }
  .lp .header .title > span:nth-child(1) span {
    display: table-cell;
    left: auto;
    padding: 0 5px;
    top: auto;
  }
  .lp .header .title > span:nth-child(1) span:nth-child(1), .lp .header .title > span:nth-child(1) span:nth-child(2) {
    position: relative;
    width: 30%;
  }
  .lp .header .title > span:nth-child(1) span:nth-child(3) {
    position: relative;
    top: 20px;
    width: 20%;
  }
  .lp .header .title > span:nth-child(1) img {
    display: block;
  }
  .lp .header .star1 {
    left: 0;
    top: 0;
    width: 100%;
  }
  .lp .header .star1 svg {
    animation: shineMin 2.5s linear infinite;
  }
  .lp .header ul {
    bottom: 15vw;
    left: 0;
    padding: 0 20px;
    top: auto;
    width: 100%;
  }
  .lp .header li {
    margin: 0 !important;
    padding: 0 20px;
    width: calc(100% / 3);
  }
  .lp .header li img {
    display: block !important;
  }
  .lp .header li > img {
    width: 100%;
  }
  .lp .header li .service {
    left: 0;
    max-width: 102px;
    width: 15vw;
  }
  .lp .header .entryButton {
    margin: -15vw auto 0;
  }
  .lp .header .entryButton .count-down {
    font-size: 2vw;
    letter-spacing: -.06rem;
    z-index: 9999;
  }
}

@media screen and (min-width: 1024px) {
  .lp .header .inner {
    margin: 80px auto 0;
  }
}

@media screen and (max-width: 1023px) {
  .lp .header .inner {
    padding: 60px 20px 20px;
  }
}

@media screen and (max-width: 768px) {
  .lp .header .main {
    margin-top: 20px;
    overflow: hidden;
  }
  .lp .header ul {
    padding: 0;
  }
  .button #text {
    font-size: 24px;
  }
  .button #text b {
    font-size: 36px;
  }
  .entryButtonFixed {
    font-size: 18px;
  }
  .entryButtonFixed b {
    font-size: 24px;
  }
}

@media screen and (max-width: 414px) {
  .button #text {
    font-size: 14px;
  }
  .button #text b {
    font-size: 18px;
  }
  .button #canppic {
    width: 30%;
  }
  .entryButton #text {
    width: calc(75% - 10px);
  }
  .entryButton .items {
    font-size: 16px;
  }
  .entryButton .count-down {
    font-size: 2vw;
    letter-spacing: -.06rem;
    width: 100%;
  }
  .lp .header .partner {
    padding: 0;
  }
  .lp .header .title > span:nth-child(1) {
    width: 80%;
  }
  .lp .header li {
    padding: 0 5px;
  }
  .lp .header li > img {
    display: none !important;
  }
  .lp .header li .service {
    position: static;
    width: 100%;
  }
  .lp .header li .service img {
    width: 100%;
  }
  .lp .header li .blast {
    top: 0;
  }
  .jump, .form .add details summary {
    margin-top: 20px;
  }
  .button #canppic {
    width: 25%;
  }
}

.info {
  position: relative;
  width: 100%;
  z-index: 999;
}

.info .content, .info .area .inner, .area .info .inner {
  left: 0;
  width: 100%;
}

.info .content div, .info .area .inner div, .area .info .inner div {
  background: #fff;
  border: solid 3px #ce0057;
  border-radius: 10px;
  margin: 0 auto;
  max-width: 900px;
}

.info .content .title, .info .area .inner .title, .area .info .inner .title {
  color: #ce0057;
  font-size: 22px;
}

.covid {
  background: url(/img/back04.webp);
  padding: 20px;
  position: relative;
  z-index: 9;
}

.covid.top {
  margin-bottom: -100px;
}

.covid.bottom {
  margin: 50px 0;
}

.covid .title {
  color: #fff;
  margin-bottom: 20px;
}

.covid .title span {
  color: #fedb3c;
}

.covid h3 {
  color: #ce0057;
  margin: 50px 0 20px;
}

.covid > div {
  background: #fff;
  border-radius: 10px;
  margin: 0 auto;
  max-width: 1000px;
  padding: 30px;
}

.covid > div div {
  margin-top: 20px;
  text-align: right;
}

.covid .source {
  font-size: 14px;
}

@media screen and (min-width: 769px) {
  .info .content, .info .area .inner, .area .info .inner {
    padding: 0 20px;
    position: absolute;
    top: -150px;
  }
  .info .content div, .info .area .inner div, .area .info .inner div {
    padding: 30px;
  }
  .covid {
    padding: 30px 0;
  }
  .covid .title {
    font-size: 32px;
    text-align: center;
  }
}

@media screen and (max-width: 768px) {
  .info {
    background: #ce0057;
    top: -10vh;
  }
  .info .content, .info .area .inner, .area .info .inner {
    top: -100px;
  }
  .info .content div, .info .area .inner div, .area .info .inner div {
    padding: 20px;
  }
  .covid .title {
    font-size: 24px;
  }
}

.pageNav {
  font-size: 16px;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 9999;
}

.pageNav p {
  line-height: 1;
}

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

.pageNav .content > .call, .pageNav .area .inner > .call, .area .pageNav .inner > .call {
  align-items: center;
  display: flex;
  position: fixed;
  right: 100px;
  top: 0;
}

.pageNav .content > .call p, .pageNav .area .inner > .call p, .area .pageNav .inner > .call p {
  background: #fff3c8;
  border-radius: 5px;
  font-size: 12px;
  font-weight: bold;
  margin-right: 5px;
  padding: 5px 15px 5px 5px;
  position: relative;
}

.pageNav .content > .call p:after, .pageNav .area .inner > .call p:after, .area .pageNav .inner > .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 a, .pageNav .area .inner > .call a, .area .pageNav .inner > .call a {
  justify-content: center;
  width: 50px;
}

.pageNav .logo img {
  height: 40px;
  margin-top: -10px;
  width: auto;
}

.pageNav .call {
  height: 50px;
}

.pageNav .call a {
  align-items: center;
  background: #a8c508;
  border: solid 3px;
  display: flex;
  height: 100%;
  width: 100%;
}

.pageNav .call img {
  height: 30px;
  width: 30px;
}

.pageNav .call span {
  font-size: 12px;
}

.pageNav a {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: center;
}

.pageNav .sp {
  bottom: 0;
  box-sizing: border-box;
  display: block;
  left: 0;
  padding: 0 20px 20px;
  position: fixed;
  width: 100%;
}

.pageNav .sp .call {
  margin: 10px 0;
}

.pageNav .sp .button {
  height: 50px;
}

.pageNav .sp .terms p {
  color: #000;
  margin-top: 20px;
  text-decoration: underline;
}

@media screen and (min-width: 1024px) {
  .pageNav {
    top: 20px;
  }
  .pageNav .content, .pageNav .area .inner, .area .pageNav .inner {
    border-radius: 10px;
    height: 70px;
    padding: 0 20px;
    width: 1000px;
  }
  .pageNav .content > .call, .pageNav .area .inner > .call, .area .pageNav .inner > .call {
    display: none;
  }
  .pageNav .content > .navToggle, .pageNav .area .inner > .navToggle, .area .pageNav .inner > .navToggle {
    display: none;
  }
  .pageNav ul {
    display: flex;
  }
  .pageNav li {
    height: 100%;
  }
  .pageNav li a {
    padding: 0 10px;
  }
  .pageNav .sp {
    display: none;
  }
}

@media screen and (max-width: 1023px) {
  .pageNav .content, .pageNav .area .inner, .area .pageNav .inner {
    height: 50px;
    padding: 0 10px;
    width: 100%;
  }
  .pageNav ul {
    display: none;
  }
  .pageNav .logo img {
    height: 25px;
  }
  .pageNav .navToggle {
    right: 0;
    top: 0;
  }
  .pageNav > .call {
    display: flex;
  }
  .open .pageNav .content > .call, .open .pageNav .area .inner > .call, .area .open .pageNav .inner > .call {
    display: none;
  }
  .open .pageNav ul {
    background: #fff;
    display: block;
    height: 100%;
    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 .pageNav ul a {
    padding: 5px 0;
  }
}

.summary {
  position: relative;
  z-index: 2;
  /* .anim{animation: strike 0.25s 0.4s linear forwards;}*/
}

.summary:before {
  background: url(/img/back02.webp);
  content: "";
  height: calc(100%);
  left: 0;
  position: absolute;
  transform: skewY(-5deg);
  transform-origin: left center;
  width: 100%;
  z-index: 1;
}

.summary:after {
  background: url(/img/next-blue.webp) no-repeat center bottom;
}

.summary > .inner {
  margin: 0 auto;
  padding-top: 60px;
}

.summary > .inner .title {
  position: absolute;
  right: -50px;
  top: -40px;
  z-index: 5;
}

.summary .comic {
  margin-bottom: 60px;
  position: relative;
  z-index: 2;
}

.summary .comic li {
  position: relative;
  z-index: 1;
  /*opacity: 0;*/
}

.summary .comic:nth-child(1) .comment {
  top: -10px;
}

.summary .comic:nth-child(3) .comment,
.summary .comic:nth-child(2) .sound,
.summary .comic:nth-child(3) .sound {
  top: -20px;
}

.summary .comic .scene {
  position: relative;
  z-index: 1;
}

.summary .comic .comment {
  left: 0;
  position: absolute;
  top: 0;
  z-index: 2;
}

.summary .comic .comment:nth-child(3) {
  display: none;
}

.summary .comic .sound {
  animation: vibration .75s ease infinite;
  left: 0;
  position: absolute;
  top: 0;
  z-index: 2;
}

.summary .comic .sound img {
  width: 100%;
}

.summary .conclusion {
  background: url(/img/back02.webp);
  position: relative;
  text-align: center;
  z-index: 1;
}

.summary .conclusion p {
  font-size: 32px;
  font-weight: bold;
}

.summary .conclusion p em {
  font-size: 60px;
}

.summary .conclusion .name {
  margin: 0 auto;
  max-width: 538px;
  padding: 0 20px;
  width: 100%;
}

.summary .conclusion .name img {
  width: 100%;
}

@media screen and (max-width: 1080px) {
  .summary .inner .title {
    min-width: 220px;
    right: 0;
    width: 40%;
  }
  .summary .inner .title img {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .summary {
    background: url(/img/back02.webp);
  }
  .summary .title {
    right: 0;
  }
  .summary .comic {
    margin: 0;
  }
  .summary .conclusion p {
    font-size: 24px;
    font-weight: bold;
  }
  .summary .conclusion p em {
    font-size: 40px;
  }
  .summary .conclusion .name {
    max-width: 400px;
  }
}

@media screen and (max-width: 414px) {
  .summary > .inner {
    margin: 0;
    padding: 0 20px 20px;
    width: 100%;
  }
  .summary > .inner .title {
    left: 0;
    position: relative;
    right: 0;
    text-align: center;
    top: 10px;
    width: 100%;
  }
  .summary > .inner .title img {
    width: 70%;
  }
  .summary .conclusion p {
    font-size: 16px;
  }
  .summary .conclusion p em {
    font-size: 32px;
  }
}

.merit {
  background: url(/img/back01.webp);
  margin-bottom: 160px;
  padding-top: 160px;
  position: relative;
}

.merit:after {
  background: url(/img/next-yellow.webp) no-repeat center bottom;
}

.merit > .title {
  margin: 0 auto 60px;
  max-width: 1000px;
  position: relative;
  text-align: center;
  width: 100%;
  z-index: 10;
}

.merit .title span:nth-child(1) {
  color: #fff;
  line-height: 1.4;
  position: relative;
  text-align: center;
  z-index: 1;
}

.merit .title span:nth-child(2) {
  position: absolute;
  right: 0;
  top: -80px;
}

.merit > ol {
  display: flex;
  flex-wrap: wrap;
  font-size: 24px;
  font-weight: bold;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1000px;
  text-align: center;
}

.merit > ol li {
  background: #fff;
  border: solid 3px #000;
  border-radius: 10px;
  box-sizing: border-box;
  margin-bottom: 40px;
  padding: 60px 20px;
  position: relative;
  width: calc((100% - 80px) / 3);
}

.merit > ol li .nunber {
  background: #a8c508;
  border: solid 3px #000;
  border-radius: 50%;
  box-sizing: border-box;
  font-size: 34px;
  height: 70px;
  left: 50%;
  line-height: 65px;
  margin-left: -35px;
  position: absolute;
  text-align: center;
  top: -35px;
  width: 70px;
}

.merit > ol li p {
  font-size: 22px;
}

.merit > ol li .title {
  color: #ce0057;
  font-size: 40px;
  margin-bottom: 10px;
}

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

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

.merit > ol li:last-of-type.free p:after {
  display: none;
}

.merit .flow {
  margin: 60px auto 0;
  max-width: 1000px;
  position: relative;
  width: 100%;
}

.merit .flow p {
  font-size: 60px;
  font-weight: bold;
}

.merit .flow li {
  margin-bottom: 10px;
}

.merit .flow li img:nth-child(2) {
  display: none;
}

.merit .comment {
  position: absolute;
  right: 260px;
  top: -30px;
  z-index: 3;
}

.merit .flow .concierge {
  position: absolute;
  right: 0;
  top: -80px;
}

.merit .flow .star {
  animation: shine2 1.5s linear infinite;
  position: absolute;
  right: 40px;
  top: -5px;
}

.merit .result {
  background: url(/img/arrow01.webp) no-repeat center bottom;
  color: #fff;
  float: left;
  font-size: 30px;
  font-weight: bold;
  line-height: 1.4;
  margin-top: 20px;
  padding: 0 40px 60px;
  position: relative;
  text-align: center;
  text-shadow: #000 2px 0, #000 -2px 0, #000 0 -2px, #000 0 2px, #000 2px 2px, #000 -2px 2px, #000 2px -2px, #000 -2px -2px, #000 1px 2px, #000 -1px 2px, #000 1px -2px, #000 -1px -2px, #000 2px 1px, #000 -2px 1px, #000 2px -1px, #000 -2px -1px, #000 5px 5px;
  width: 100%;
  z-index: 2;
}

.merit .result em {
  font-size: 60px;
}

@media screen and (max-width: 1080px) {
  .merit > .title {
    padding: 0 20px;
  }
  .merit > .title span:nth-child(1) {
    box-sizing: border-box;
    display: block;
  }
  .merit > .title span:nth-child(1) img {
    width: 50%;
  }
  .merit > .title span:nth-child(2) {
    bottom: 20px;
    display: block;
    right: 0;
    top: auto;
    width: 30vw;
  }
  .merit > .title span:nth-child(2) img {
    width: 100%;
  }
  .merit > ol {
    padding: 0 20px;
  }
  .merit .flow {
    padding: 0 40px;
  }
}

@media screen and (max-width: 768px) {
  .merit {
    padding-top: 120px;
  }
  .merit > .title span:nth-child(1) {
    line-height: 1;
    width: 100%;
  }
  .merit > .title span:nth-child(1) span {
    display: block;
  }
  .merit > ol li {
    padding: 30px 20px 40px;
    width: calc(100% / 2);
  }
  .merit .flow p {
    font-size: 10vw;
  }
  .merit .flow ol {
    margin-top: 20px;
    position: relative;
    width: 55%;
    z-index: 4;
  }
  .merit .flow li {
    float: left;
    width: calc(100% / 3);
  }
  .merit .flow li img:nth-child(1) {
    display: none;
  }
  .merit .flow li img:nth-child(2) {
    display: block;
  }
  .merit .comment {
    display: none;
  }
  .merit .flow .concierge {
    right: 40px;
    top: 100px;
    width: 70%;
  }
  .merit .flow .concierge img {
    width: 100%;
  }
  .merit .flow .star {
    display: none;
  }
  .merit .result {
    font-size: 6vw;
    padding: 0 40px 60px;
  }
  .merit .result br:nth-child(3) {
    display: none;
  }
  .merit .result em {
    font-size: 8vw;
  }
}

@media screen and (max-width: 414px) {
  .merit {
    margin-bottom: 80px;
    padding-top: 80px;
  }
  .merit > .title {
    margin-bottom: 40px;
  }
  .merit > .title span:nth-child(1) {
    text-align: left;
  }
  .merit > .title span:nth-child(1) img:nth-child(1) {
    margin-bottom: 10px;
    width: 60%;
  }
  .merit > .title span:nth-child(1) img:nth-child(2) {
    width: 75%;
  }
  .merit > ol li {
    margin: 0;
    padding: 30px 10px !important;
  }
  .merit > ol li p {
    font-size: 18px !important;
    line-height: 1.3;
  }
  .merit > ol li p br {
    display: none;
  }
  .merit > ol li .nunber {
    font-size: 18px;
    height: 40px;
    line-height: 35px;
    margin-left: -20px;
    top: -20px;
    width: 40px;
  }
  .merit > ol li .title {
    font-size: 18px;
  }
  .merit > ol li:last-of-type p:after {
    bottom: -70px;
    right: -13px;
    width: calc((100% + 26px) * 2);
    z-index: 10;
  }
  .merit .flow {
    margin-top: 20px;
    padding: 0 20px;
  }
  .merit .flow ol {
    margin-top: 0;
  }
  .merit .flow .concierge {
    right: 20px;
    top: 60px;
  }
  .merit .result {
    padding: 0 20px 40px;
  }
}

.jyumyou {
  background: url(/img/back02.webp);
  margin-bottom: 160px;
  margin-top: -160px;
  padding-top: 160px;
  position: relative;
}

.jyumyou:after {
  background: url(/img/next-blue.webp) no-repeat center bottom;
}

.jyumyou > .title {
  margin: 0 auto 60px;
  max-width: 1000px;
  position: relative;
  text-align: center;
  width: 100%;
  z-index: 10;
}

.jyumyou .title span {
  color: #fff;
  font-size: 60px;
  line-height: 1.4;
  position: relative;
  text-align: center;
  z-index: 1;
}

.jyumyou .title span .sizechange {
  font-size: 36px;
  margin-bottom: 0;
}

.jyumyou .title span b {
  color: #fedb3c;
}

.jyumyou > ol {
  background-color: #fff;
  border: solid 3px #000;
  border-radius: 10px;
  display: flex;
  flex-wrap: wrap;
  font-size: 24px;
  font-weight: bold;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1000px;
  text-align: center;
}

.jyumyou > ol .boimainTitle {
  margin-top: 30px;
  text-align: center;
  width: 100%;
}

.jyumyou > ol .boimainTitle span {
  border-bottom: 2px dotted #000;
  font-size: 40px;
}

.jyumyou > ol li {
  border-right: 2px solid #000;
  margin: 20px 0;
  padding: 30px 20px;
  position: relative;
  width: calc(100% / 3);
}

.jyumyou > ol li p {
  color: #ce0057;
  font-size: 40px;
  font-weight: bold;
}

.jyumyou > ol li:nth-child(4) {
  border: none;
}

.jyumyou > ol li .nunber {
  background: #a8c508;
  border: solid 3px #000;
  border-radius: 50%;
  box-sizing: border-box;
  font-size: 34px;
  height: 70px;
  left: 50%;
  line-height: 65px;
  margin-left: -35px;
  position: absolute;
  text-align: center;
  top: -35px;
  width: 70px;
}

.jyumyou > ol li .title {
  color: #000;
  font-size: 36px;
  margin-bottom: 10px;
}

.jyumyou .nth4 {
  background-color: #fff;
  border: solid 3px #000;
  border-radius: 10px;
  font-weight: bold;
  margin: 40px auto;
  max-width: 1000px;
  padding: 40px 40px;
  text-align: left;
  width: 100%;
}

.jyumyou .nth4 br {
  display: none;
}

.jyumyou .nth4 .jyumyoukosyou:nth-child(1) {
  margin-bottom: 20px;
  text-align: center;
}

.jyumyou .nth4 .jyumyoukosyou span {
  background: linear-gradient(transparent 60%, #fedb3c 0%);
  border: none;
  color: #000;
  font-size: 36px;
  margin-bottom: 10px;
}

.jyumyou .nth4 p:nth-child(2) {
  margin-bottom: 30px;
}

.jyumyou .nth4 ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  text-align: left;
  width: 100%;
}

.jyumyou .nth4 ul li {
  text-align: left;
  width: calc(50% - 20px);
}

.jyumyou .nth4 ul li h3 {
  font-size: 24px;
}

.jyumyou .nth4 ul li h3 span {
  color: #ce0057;
  font-weight: bold;
}

.jyumyou .nth4 ul li p span {
  color: #ce0057;
  font-weight: bold;
}

.jyumyou .flow {
  margin: 60px auto 0;
  max-width: 1000px;
  position: relative;
  width: 100%;
}

.jyumyou .flow p {
  font-size: 60px;
  font-weight: bold;
}

.jyumyou .flow li {
  margin-bottom: 10px;
}

.jyumyou .flow li img:nth-child(2) {
  display: none;
}

.jyumyou .comment {
  position: absolute;
  right: 260px;
  top: -30px;
  z-index: 3;
}

.jyumyou .flow .concierge {
  position: absolute;
  right: 0;
  top: -80px;
}

.jyumyou .flow .star {
  animation: shine2 1.5s linear infinite;
  position: absolute;
  right: 40px;
  top: -5px;
}

.jyumyou .result {
  background: url(/img/arrow01.webp) no-repeat center bottom;
  color: #fff;
  float: left;
  font-size: 30px;
  font-weight: bold;
  line-height: 1.4;
  margin-top: 20px;
  padding: 0 40px 60px;
  position: relative;
  text-align: center;
  text-shadow: #000 2px 0, #000 -2px 0, #000 0 -2px, #000 0 2px, #000 2px 2px, #000 -2px 2px, #000 2px -2px, #000 -2px -2px, #000 1px 2px, #000 -1px 2px, #000 1px -2px, #000 -1px -2px, #000 2px 1px, #000 -2px 1px, #000 2px -1px, #000 -2px -1px, #000 5px 5px;
  width: 100%;
  z-index: 2;
}

.jyumyou .result em {
  font-size: 60px;
}

@media screen and (max-width: 1080px) {
  .jyumyou > .title {
    padding: 0 20px;
  }
  .jyumyou > .title span:nth-child(1) {
    box-sizing: border-box;
    display: block;
  }
  .jyumyou > .title span:nth-child(1) img {
    width: 50%;
  }
  .jyumyou > .title span:nth-child(2) {
    bottom: 20px;
    display: block;
    right: 0;
    top: auto;
    width: 30vw;
  }
  .jyumyou > .title span:nth-child(2) img {
    width: 100%;
  }
  .jyumyou > ol {
    padding: 0 20px;
  }
  .jyumyou .flow {
    padding: 0 40px;
  }
}

@media screen and (max-width: 768px) {
  .jyumyou {
    padding: 0 20px;
    padding-top: 120px;
  }
  .jyumyou > .title span:nth-child(1) {
    line-height: 1;
    width: 100%;
  }
  .jyumyou > .title span:nth-child(1) span {
    display: block;
  }
  .jyumyou > ol li {
    padding: 30px 20px 40px;
    width: calc(100% / 2);
  }
  .jyumyou h3 .boimainTitle span {
    font-size: 24px;
  }
  .jyumyou ol {
    font-size: 18px;
  }
  .jyumyou ol li {
    border-bottom: 2px solid #000;
    border-right: none;
    margin: 0;
    padding: 30px 10px !important;
    width: 100%;
  }
  .jyumyou ol li p br {
    display: none;
  }
  .jyumyou ol li .title {
    font-size: 24px;
  }
  .jyumyou .nth4 {
    padding: 40px 20px;
    width: 100%;
  }
  .jyumyou .nth4 br {
    display: inline;
  }
  .jyumyou .nth4 ul li {
    width: 100%;
  }
  .jyumyou .flow p {
    font-size: 10vw;
  }
  .jyumyou .flow ol {
    margin-top: 20px;
    position: relative;
    width: 55%;
    z-index: 4;
  }
  .jyumyou .flow li {
    float: left;
    width: calc(100% / 3);
  }
  .jyumyou .flow li img:nth-child(1) {
    display: none;
  }
  .jyumyou .flow li img:nth-child(2) {
    display: block;
  }
  .jyumyou .comment {
    display: none;
  }
  .jyumyou .flow .concierge {
    right: 40px;
    top: 100px;
    width: 70%;
  }
  .jyumyou .flow .concierge img {
    width: 100%;
  }
  .jyumyou .flow .star {
    display: none;
  }
  .jyumyou .result {
    font-size: 6vw;
    padding: 0 40px 60px;
  }
  .jyumyou .result br:nth-child(3) {
    display: none;
  }
  .jyumyou .result em {
    font-size: 8vw;
  }
}

@media screen and (max-width: 414px) {
  .jyumyou {
    margin-bottom: 80px;
    margin-top: -80px;
    padding-top: 80px;
  }
  .jyumyou > .title {
    margin-bottom: 40px;
  }
  .jyumyou > .title span {
    font-size: 36px;
    text-align: left;
  }
  .jyumyou > .flow {
    margin-top: 20px;
    padding: 0 20px;
  }
  .jyumyou > .flow ol {
    margin-top: 0;
  }
  .jyumyou > .flow .concierge {
    right: 20px;
    top: 60px;
  }
  .jyumyou > .result {
    padding: 0 20px 40px;
  }
}

.fireInsurance {
  background: url(/img/back02.webp);
  margin-bottom: 160px;
  margin-top: -160px;
  padding-top: 160px;
  position: relative;
}

.fireInsurance:after {
  background: url(/img/next-blue.webp) no-repeat center bottom;
}

.fireInsurance > .title {
  margin: 0 auto;
  max-width: 1000px;
  position: relative;
  text-align: center;
  width: 100%;
  z-index: 10;
}

.fireInsurance .title span {
  color: #fff;
  line-height: 1.4;
  position: relative;
  text-align: center;
  z-index: 1;
}

.fireInsurance .title span .sizechange {
  font-size: 36px;
  margin-bottom: 0;
}

.fireInsurance .title span b {
  color: #fedb3c;
}

.fireInsurance > ol {
  display: flex;
  flex-wrap: wrap;
  font-size: 24px;
  font-weight: bold;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1000px;
  text-align: center;
}

.fireInsurance > ol .boimainTitle {
  margin-top: 30px;
  text-align: center;
  width: 100%;
}

.fireInsurance > ol .boimainTitle span {
  border-bottom: 2px dotted #000;
  font-size: 40px;
}

.fireInsurance > ol li {
  background-color: #fff;
  border: solid 3px #000;
  border-radius: 10px;
  filter: drop-shadow(5px 5px 0px #6ab6ce);
  margin: 20px 0;
  padding: 30px 20px;
  position: relative;
  width: calc((100% / 3 ) - 20px);
}

.fireInsurance > ol li .jireiNunber {
  background-color: #a8c508;
  border: 3px solid #000;
  border-radius: 100px;
  filter: drop-shadow(2px 2px 0 #000);
  font-size: .8em;
  height: 75px;
  left: -15px;
  line-height: 70px;
  position: absolute;
  text-align: center;
  top: -15px;
  vertical-align: middle;
  width: 75px;
}

.fireInsurance > ol li .jireiNunber::before {
  border-color: transparent transparent transparent #a8c508;
  border-style: solid;
  border-width: 10px 0 10px 20px;
  bottom: 0;
  content: "";
  height: 0;
  position: absolute;
  right: 0;
  transform: rotate(45deg);
  width: 0;
}

.fireInsurance > ol li h3 {
  color: #ce0057;
  font-size: 34px;
}

.fireInsurance > ol li .jireiImg img {
  border: 3px solid #000;
  height: auto;
  margin-bottom: 10px;
  width: 100%;
}

.fireInsurance > ol li:nth-child(4) {
  padding: 0;
  width: 100%;
}

.fireInsurance > ol li:nth-child(4) h3 {
  background-color: #6ab6ce;
  border-radius: 9px 9px 0 0;
  color: #fff;
  font-size: 30px;
  margin: 0;
  padding: 10px 0;
  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: 100%;
}

.fireInsurance > ol li:nth-child(4) h3 strong {
  color: #fedb3c;
}

.fireInsurance > ol li:nth-child(4) p {
  font-size: 24px;
  padding: 20px;
  text-align: left;
}

.fireInsurance > ol li:nth-child(4) p span {
  color: #ce0057;
  font-weight: bold;
}

@media screen and (max-width: 1080px) {
  .fireInsurance .title {
    text-align: center;
    width: 100%;
  }
  .fireInsurance .title span {
    font-size: 60px;
  }
}

@media screen and (max-width: 768px) {
  .fireInsurance {
    padding: 20px;
  }
  .fireInsurance .title {
    margin-bottom: 20px;
  }
  .fireInsurance .title span {
    font-size: 36px;
  }
  .fireInsurance ol {
    width: 100%;
  }
  .fireInsurance ol li {
    padding: 10px;
    width: calc((100% / 3) - 10px);
  }
  .fireInsurance ol li h3 {
    font-size: 30px;
  }
}

@media screen and (max-width: 414px) {
  .fireInsurance {
    margin-top: -80px;
    padding: 20px;
    padding-top: 80px;
  }
  .fireInsurance .title {
    margin-bottom: 20px;
  }
  .fireInsurance .title span {
    font-size: 28px;
  }
  .fireInsurance ol {
    width: 100%;
  }
  .fireInsurance ol li {
    margin-bottom: 10px;
    padding: 10px;
    width: 100%;
  }
  .fireInsurance ol li h3 {
    font-size: 30px;
  }
}

.reason .title {
  margin-bottom: 40px;
  text-align: center;
}

.reason .title strong {
  display: block;
}

.reason > .title {
  color: #fff;
  font-size: 40px;
}

.reason > .title strong {
  color: #fedb3c;
  font-size: 60px;
}

.reason .content, .reason .area .inner, .area .reason .inner {
  margin: 0 auto 60px;
  max-width: 1040px;
  padding: 0 20px;
}

.reason .content:last-child, .reason .area .inner:last-child, .area .reason .inner:last-child {
  margin-bottom: 0;
}

.reason .main {
  background: #fff;
  border: solid 3px;
  border-radius: 10px;
  box-sizing: border-box;
  margin-bottom: 40px;
  padding: 37px;
}

.reason .main .title {
  margin-bottom: 40px;
}

.reason .main .title span {
  background: linear-gradient(transparent 60%, #fedb3c 60%);
  font-size: 24px;
  padding: 0 10px;
}

.reason .main .title em {
  font-size: 32px;
}

.reason .main .title strong {
  font-size: 40px;
}

.reason .main .title strong em {
  color: #ce0057;
  font-size: 50px;
}

.reason .main .point {
  background: #ce0057;
  border-radius: 10px;
  color: #fff;
  font-size: 32px;
  font-weight: bold;
  padding: 20px;
  text-align: center;
}

.reason .main .point em {
  font-size: 40px;
}

.reason .main .point br {
  display: none;
}

.reason .main .image img {
  width: 100%;
}

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

.reason .desc .comment {
  background: #fff3c8;
  border-radius: 10px;
  padding: 40px;
  position: relative;
  width: 800px;
}

.reason .desc .comment:after {
  border-color: transparent transparent transparent #fff3c8;
  border-style: solid;
  border-width: 15px 0 15px 20px;
  content: "";
  display: block;
  position: absolute;
  right: -20px;
  top: 70px;
}

.reason .desc .title {
  font-size: 24px;
  margin-bottom: 20px;
  text-align: left;
}

.reason .desc .image {
  margin-top: -60px;
  position: relative;
  width: 160px;
}

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

.reason .desc p {
  margin-bottom: 40px;
}

.reason .desc p:last-child {
  margin: 0;
}

.reason .desc strong {
  color: #ce0057;
}

@media screen and (min-width: 768px) {
  .reason {
    margin-bottom: 60px;
  }
  .reason .title br {
    display: none;
  }
}

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

@media screen and (max-width: 414px) {
  .reason {
    margin-bottom: 40px;
  }
  .reason > .title {
    margin-bottom: 20px;
  }
  .reason > .title strong {
    font-size: 10vw;
  }
  .reason > .title strong br {
    display: none;
  }
  .reason .content, .reason .area .inner, .area .reason .inner {
    margin-bottom: 40px;
  }
  .reason .main {
    margin-bottom: 20px;
  }
  .reason .main .title strong em {
    display: block;
  }
  .reason .main .point {
    line-height: 1.3;
    padding: 10px 20px;
  }
  .reason .desc {
    display: block;
  }
  .reason .desc .comment {
    width: 100%;
  }
  .reason .desc .comment:after {
    display: none;
  }
  .reason .desc .title {
    margin-bottom: 10px;
  }
  .reason .desc .image {
    position: absolute;
    right: 20px;
    top: -20px;
  }
  .reason .desc p {
    line-height: 1.3;
  }
}

.flow {
  margin: 0 auto;
  max-width: 1080px;
  position: relative;
}

.flow p {
  bottom: 50px;
  font-size: 30px;
  font-weight: bold;
  left: 0;
  left: 0;
  position: absolute;
  text-align: center;
  width: 100%;
}

.flow p span {
  animation: wave 1.1s infinite;
  color: #ce0057;
  display: inline-block;
  font-size: 60px;
}

.flow p span.note {
  animation: unset;
  color: #000;
  display: block;
  font-size: 14px;
  font-weight: normal;
  line-height: 1.2;
  margin: 0 50px 20px;
  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;
}

.flow p span:nth-child(3) {
  animation-delay: .1s;
}

.flow p span:nth-child(4) {
  animation-delay: .2s;
}

.flow p span:nth-child(5) {
  animation-delay: .3s;
}

.flow p span:nth-child(6) {
  animation-delay: .4s;
}

.flow p span:nth-child(7) {
  animation-delay: .5s;
}

.flow p span:nth-child(8) {
  animation-delay: .6s;
}

.flow p span:nth-child(9) {
  animation-delay: .7s;
}

.flow p span:nth-child(10) {
  animation-delay: .8s;
}

.flow p span:nth-child(11) {
  animation-delay: .9s;
}

.flow p span:nth-child(11) {
  animation-delay: 1s;
}

@media screen and (max-width: 1080px) {
  .flow p {
    bottom: 20px;
    left: 0;
  }
}

@media screen and (max-width: 768px) {
  .flow {
    padding: 0 2.5vw;
  }
  .flow p {
    bottom: 0;
    font-size: 4vw;
  }
  .flow p span {
    font-size: 5vw;
  }
  .flow p span.note {
    margin: 0 30px 0;
    margin-bottom: 0;
  }
}

@media screen and (max-width: 414px) {
  .flow {
    margin-bottom: 10px;
  }
  .flow p {
    font-size: 16px;
    line-height: 1.2;
  }
  .flow p span {
    font-size: 20px;
  }
  .flow p span.note {
    font-size: 12px;
    margin: 0 20px 0;
    padding: 3px;
    text-align: justify;
  }
}

.voice {
  background: url(/img/back02.webp);
}

.voice .inner {
  margin: 0 auto;
  max-width: 1000px;
}

.voice .title {
  color: #fff;
  line-height: 1.4;
  text-align: center;
}

.voice .title span {
  color: #fedb3c;
}

.voice li {
  background: #fff;
  border: solid 3px #000;
  border-radius: 10px;
  display: flex;
  justify-content: space-between;
  padding: 20px;
}

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

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

.voice .score span {
  color: #b3d4fc;
  font-size: 22px;
}

.voice .score b {
  color: #fc9c3d;
}

.voice p {
  margin: 10px 0;
}

.voice .customer {
  color: #6ab6ce;
  font-size: 14px;
}

@media screen and (min-width: 769px) {
  .voice {
    padding: 60px 0;
  }
  .voice .title {
    font-size: 40px;
    margin-bottom: 40px;
  }
  .voice .title span {
    font-size: 60px;
  }
  .voice li {
    margin-bottom: 40px;
  }
  .voice .image {
    width: 50px;
  }
  .voice .comment {
    width: calc(100% - 70px);
  }
}

@media screen and (max-width: 768px) {
  .voice {
    padding: 20px 0;
  }
  .voice .title {
    font-size: 22px;
    margin-bottom: 20px;
  }
  .voice li {
    margin-bottom: 20px;
  }
  .voice .image {
    position: absolute;
    width: 35px;
  }
  .voice .score {
    margin-bottom: 10px;
    padding-left: 50px;
  }
  .voice h3,
  .voice p {
    line-height: 1.3;
  }
  .voice .comment {
    width: 100%;
  }
}

.area {
  background: url(/img/back01.webp);
  font-size: 20px;
  font-weight: bold;
}

.area .title {
  color: #fff;
  margin-bottom: 20px;
  position: relative;
  text-align: center;
  z-index: 1;
}

.area input {
  display: none;
}

.area .inner {
  border: 3px solid #000;
  padding: 15px 20px;
  position: relative;
  margin-top: 20px;
  background: #fff;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

main#articleList.article .section.area {
  padding: 0;
}

main#articleList.article .section.area .title {
  border: none;
  margin-bottom: 0;
}

main#articleList.article .section.area ul.clearfix {
  background: #fff9db;
  padding: 40px 20px;
}

main#articleList.article .section.area div {
  background: #fff9db;
  padding: 40px 30px;
}

aside#toContactForm {
  margin-bottom: 50px;
  text-align: center;
}

aside#toContactForm .title {
  cursor: pointer;
  display: inline-block;
  width: 350px;
}

aside#toContactForm a {
  display: block;
}

@media screen and (min-width: 769px) {
  .area {
    padding: 60px 0 100px;
  }
  .area .inner {
    padding: 40px;
  }
}

@media screen and (max-width: 768px) {
  .area {
    padding: 20px 0;
  }
  .area li {
    width: calc(100% / 5);
  }
  .area .inner {
    padding: 20px 20px 10px;
  }
}

@media screen and (max-width: 414px) {
  .area li {
    font-size: 16px;
    line-height: 1.2;
    text-align: center;
    width: calc(100% / 3);
  }
}

.flow {
  margin: 0 auto;
  max-width: 1080px;
  position: relative;
}

.flow p {
  bottom: 50px;
  font-size: 30px;
  font-weight: bold;
  left: 0;
  left: 0;
  position: absolute;
  text-align: center;
  width: 100%;
}

.flow p span {
  animation: wave 1.1s infinite;
  color: #ce0057;
  display: inline-block;
  font-size: 60px;
}

.flow p span.note {
  animation: unset;
  color: #000;
  display: block;
  font-size: 14px;
  font-weight: normal;
  line-height: 1.2;
  margin: 0 50px 20px;
  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;
}

.flow p span:nth-child(3) {
  animation-delay: .1s;
}

.flow p span:nth-child(4) {
  animation-delay: .2s;
}

.flow p span:nth-child(5) {
  animation-delay: .3s;
}

.flow p span:nth-child(6) {
  animation-delay: .4s;
}

.flow p span:nth-child(7) {
  animation-delay: .5s;
}

.flow p span:nth-child(8) {
  animation-delay: .6s;
}

.flow p span:nth-child(9) {
  animation-delay: .7s;
}

.flow p span:nth-child(10) {
  animation-delay: .8s;
}

.flow p span:nth-child(11) {
  animation-delay: .9s;
}

.flow p span:nth-child(11) {
  animation-delay: 1s;
}

@media screen and (max-width: 1080px) {
  .flow p {
    bottom: 20px;
    left: 0;
  }
}

@media screen and (max-width: 768px) {
  .flow {
    padding: 0 2.5vw;
  }
  .flow p {
    bottom: 0;
    font-size: 4vw;
  }
  .flow p span {
    font-size: 5vw;
  }
  .flow p span.note {
    margin: 0 30px 0;
    margin-bottom: 0;
  }
}

@media screen and (max-width: 414px) {
  .flow {
    margin-bottom: 10px;
  }
  .flow p {
    font-size: 16px;
    line-height: 1.2;
  }
  .flow p span {
    font-size: 20px;
  }
  .flow p span.note {
    font-size: 12px;
    margin: 0 20px 0;
    padding: 3px;
    text-align: justify;
  }
}

.review {
  background: url(/img/back04.webp);
  font-size: 18px;
  padding: 50px 0 150px;
  position: relative;
  z-index: 1;
}

.review img {
  width: 100%;
}

.review .title {
  color: #fff;
  margin-bottom: 30px;
  text-align: center;
  width: 100%;
}

.review .title strong {
  color: #fedb3c;
}

.review .vendor {
  background: #fff;
  border: solid 3px;
  border-radius: 10px;
  box-sizing: border-box;
  display: flex;
  padding: 20px;
}

.review .profile {
  display: flex;
  justify-content: space-between;
  justify-items: flex-start;
  width: 100%;
}

.review .profile .image {
  border-radius: 25px;
  width: 50px;
}

.review .profile .image img {
  border-radius: 25px;
}

.review .profile .content, .review .profile .area .inner, .area .review .profile .inner {
  width: calc(100% - 60px);
}

.review .profile .name {
  font-size: 16px;
}

.review .score {
  font-size: 16px;
  font-weight: bold;
}

.review .score i {
  font-style: normal;
}

.review .score span {
  color: #d7e7f0;
  font-size: 14px;
  letter-spacing: 5px;
}

.review .score.veryGood {
  color: #ce0057;
}

.review .score.veryGood i {
  color: #ce0057;
}

.review .score.good {
  color: #fc9c3d;
}

.review .score.good i {
  color: #fc9c3d;
}

.review .score.usually {
  color: #fedb3c;
}

.review .score.usually i {
  color: #fedb3c;
}

.review .score i {
  color: #fedb3c;
}

.review p {
  font-size: 16px;
}

.review details {
  margin-top: 10px;
  width: 100%;
}

.review details p {
  margin-top: 20px;
}

.review summary {
  color: #6ab6ce;
  cursor: pointer;
  font-weight: bold;
  text-align: center;
  transition: .3s ease;
}

.review.list {
  padding: 50px 0;
  position: absolute;
}

.review.list ul {
  margin: 0 auto;
  max-width: 1040px;
  padding: 0 20px;
}

.review.list li {
  background: #fff;
  border: solid 3px;
  border-radius: 5px;
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px;
  padding: 20px;
}

.review.list li:last-child {
  margin: 0;
}

.review .slick-list {
  margin: 0 auto;
  max-width: 1000px;
}

.review .slick-track {
  width: 100%;
}

.review .slick-dots {
  display: flex;
  justify-content: center;
  margin-top: 10px;
  width: 100%;
}

.review .slick-dots li {
  margin: 0 5px;
}

.review .slick-dots button {
  background: #000;
  border-radius: 10px;
  font-size: 1px;
  font-weight: bold;
  height: 20px;
  width: 20px;
}

.review .slick-dots .slick-active button {
  background: #2db7e2;
  color: #2db7e2;
}

.review .list {
  background: #fff;
  border: solid 3px;
  border-radius: 10px;
  height: 600px;
  margin: 0 auto;
  max-width: 1000px;
  padding: 30px;
  position: relative;
  width: calc(100% - 40px);
}

.review .list:before {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 75%, white 90%, white 100%);
  border-radius: 10px;
  content: "";
  height: 100%;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
}

.review .list .next {
  animation: key1 .9s ease infinite alternate;
  bottom: 40px;
  color: #ce0057;
  font-size: 14px;
  font-weight: bold;
  left: 50%;
  margin-left: -75px;
  position: absolute;
  width: 150px;
}

.review .list .next:after {
  border: solid 4px #ce0057;
  border-bottom: none;
  border-left: none;
  content: "";
  display: block;
  height: 14px;
  left: 50%;
  margin-left: -7px;
  position: absolute;
  position: absolute;
  transform: rotate(135deg);
  width: 14px;
}

.review .list .content, .review .list .area .inner, .area .review .list .inner {
  height: 100%;
  overflow-y: scroll;
}

.review .comment {
  display: flex;
  flex-wrap: wrap;
  font-style: 14px;
  margin-bottom: 30px;
  width: 100%;
}

.review .comment:last-child {
  padding-bottom: 50px;
}

.review .comment > h3,
.review .comment > p {
  width: 100%;
}

.review .comment .profile {
  border-bottom: solid 1px #6ab6ce;
  margin-bottom: 20px;
  padding-bottom: 20px;
}

.review .comment .profile ul {
  width: calc(100% - 70px);
}

.review .comment .profile time {
  font: 12px;
}

.review .comment h3 {
  color: #0a2e70;
  font-size: 18px;
  margin-bottom: 10px;
}

.review .comment .service {
  background: #fff3c8;
  padding: 20px;
}

.review .comment .service div {
  display: flex;
  justify-content: space-between;
}

.review .comment .service div img {
  height: 50px;
  width: 50px;
}

.review .comment .service div p {
  width: calc(100% - 70px);
}

@media screen and (min-width: 769px) {
  .review .vendor {
    margin: 0 10px;
  }
}

@media screen and (max-width: 768px) {
  .review {
    padding: 50px 10px 0;
    padding-bottom: 100px;
  }
  .review .vendor {
    margin: 0 10px;
  }
}

@media screen and (max-width: 414px) {
  .review {
    padding: 20px 10px 60px;
  }
  .review .title {
    margin-bottom: 10px;
  }
  .review .list {
    height: 80vh;
    padding: 20px;
  }
  .review .jump, .review .form .add details summary, .form .add details .review summary {
    padding: 0 10px;
  }
  .reviewList {
    padding: 20px 0;
  }
  .reviewList .title {
    margin-bottom: 10px;
  }
}

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

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

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

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

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

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

.desc .image {
  margin-top: -60px;
  position: relative;
  width: 160px;
}

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

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

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

.content #campaignImg img, .area .inner #campaignImg img {
  width: calc(100% - 20px);
}

.content #campaignImg .spcamp, .area .inner #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: 20%;
  }
  .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 .content, .campaign .area .inner, .area .campaign .inner {
    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:after {
    display: none;
  }
  .campaign .desc .comment ul {
    margin-top: 30px;
  }
  .campaign .desc .image {
    position: absolute;
    right: 20px;
    top: 0;
  }
}

body {
  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-size: 18px;
  height: 100%;
  margin: 0;
  overflow: hidden;
  padding: 0;
  text-align: justify;
  width: 100%;
}

a {
  color: #000;
  font-weight: bold;
  text-decoration: none;
}

a:hover,
b {
  color: #ce0057;
}

a,
a:hover,
a img,
a:hover img {
  transition: .25s linear;
}

em {
  font-style: normal;
}

img {
  line-height: 1;
  vertical-align: middle;
}

ul,
ol {
  list-style: none;
}

select {
  cursor: pointer;
}

table {
  border-collapse: collapse;
}

label {
  cursor: pointer;
}

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

summary::-webkit-details-marker {
  display: none;
}

.inner {
  height: 100%;
  margin: 0 auto;
  max-width: 1000px;
  position: relative;
  width: 100%;
}

.note {
  color: #ce0057;
  font-weight: bold;
}

.navTitle {
  color: transparent;
  height: 0;
  left: 0;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  text-indent: 100%;
  top: 0;
  white-space: nowrap;
  width: 0;
  z-index: -1;
}

.button {
  align-items: center;
  background: linear-gradient(to bottom, #ff4493, #ce0057);
  border: solid 3px #000;
  border-radius: 10px;
  box-shadow: 0 -1px 0 #ff4493 inset, 1px 1px 0 #fff inset, 0 5px 0 #000;
  color: #fff;
  display: block;
  display: flex;
  flex-wrap: wrap;
  font-size: 24px;
  font-weight: bold;
  line-height: 1;
  overflow: hidden;
  padding: 10px 20px;
  position: relative;
  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;
  transition: none;
  width: 100%;
}

.button:hover {
  box-shadow: 0 -1px 0 #ff5fa3 inset, 1px 1px 0 #fff inset;
  color: #fff;
  top: 5px;
  transition: none;
}

.button:hover img {
  bottom: 0;
  transition: none;
}

.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 b {
  color: #fedb3c;
  font-size: 32px;
}

.button #finger img {
  bottom: 0;
  position: absolute;
  right: 0;
  transition: none;
}

.button #text {
  margin: 0 auto;
  padding: 10px 0;
  text-align: center;
  width: calc(70% - 10px);
}

.button #counttimer {
  text-align: center;
  width: 100%;
}

.button #counttimer .count-down {
  /*キャンペーンじゃない*/
  display: none;
}

.button #counttimer .count-down span {
  border-bottom: 2px solid #fedb3c;
}

.button #canppic {
  /*キャンペーンじゃない*/
  display: none;
  width: calc(30% -10px);
}

.button #canppic img {
  width: 100%;
}

.entryButton {
  margin: 100px auto 0;
  max-width: 600px;
  position: relative;
  z-index: 6;
}

.entryButton .button #text {
  text-align: center;
  width: calc(70% - 10px);
}

.entryButton .button #counttimer {
  text-align: center;
  width: 100%;
}

.entryButtonFixed {
  bottom: 0;
  left: 0;
  position: fixed;
  width: 100%;
  z-index: 999;
}

.entryButtonFixed .count-down {
  color: #fff;
  font-size: 18px;
  letter-spacing: -.06rem;
  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: 100%;
  z-index: 9999;
}

.entryButtonFixed .pc {
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1040px;
  padding: 0 20px;
  position: relative;
}

.entryButtonFixed .pc .button {
  border-radius: 10px 10px 0 0;
  box-sizing: border-box;
  max-width: 560px;
  width: calc(100% - 360px);
}

.entryButtonFixed .pc .contact {
  min-width: 260px;
  position: relative;
}

.entryButtonFixed .pc .contact a {
  align-items: center;
  background: #fff;
  border: solid 3px;
  border-bottom: none;
  border-radius: 5px 5px 0 0;
  box-sizing: border-box;
  display: flex;
  height: 100%;
  padding: 10px;
}

.entryButtonFixed .pc .contact a p:nth-child(1) {
  background: #a8c508;
  font-weight: bold;
  line-height: 1.2;
  margin-right: 10px;
  padding: 10px;
  text-align: center;
}

.entryButtonFixed .pc .contact .text {
  align-items: center;
  animation: key1 .9s ease infinite alternate;
  background: #a8c508;
  border: solid 3px;
  border-radius: 5px;
  display: flex;
  font-size: 16px;
  font-weight: bold;
  height: 50px;
  justify-content: center;
  position: absolute;
  right: 0;
  text-align: center;
  top: -60px;
  width: 100%;
  z-index: 3;
}

.entryButtonFixed .pc .contact .text:before {
  border-color: #000 transparent transparent transparent;
  border-style: solid;
  border-width: 24px 12px 0 12px;
  bottom: -24px;
  content: "";
  left: 50%;
  margin-left: -12px;
  position: absolute;
  z-index: -2;
}

.entryButtonFixed .pc .contact .text:after {
  border-color: #a8c508 transparent transparent transparent;
  border-style: solid;
  border-width: 18px 9px 0 9px;
  bottom: -17px;
  content: "";
  left: 50%;
  margin-left: -9px;
  position: absolute;
  z-index: -1;
}

.entryButtonFixed .pc .terms {
  background: #fff;
  border: 3px solid black;
  border-bottom: 0;
  border-radius: 5px 5px 0 0;
  font-size: 14px;
  letter-spacing: 1px;
  line-height: 1.1;
  max-width: 3rem;
  padding: 10px;
  text-align: center;
}

.entryButtonFixed .pc .shop {
  width: 80px;
}

.entryButtonFixed .pc .shop a {
  align-items: center;
  background: #a8c508;
  border: solid 3px;
  border-bottom: none;
  border-radius: 5px 5px 0 0;
  display: flex;
  height: 100%;
  justify-content: center;
  line-height: 1;
}

.entryButtonFixed .sp {
  padding: 0 10px 5px;
  transition: .5s;
}

.entryButtonFixed .sp.hide {
  transform: translateY(100%);
}

.entryButtonFixed .sp .button {
  border-radius: 10px 10px 0 0;
}

.denki_main_box #denkiMain li {
  align-items: center;
  font-size: 14px;
  width: calc((100% - 70px) / 4) !important;
}

.denki_main_box #denkiMain li input[type="radio"]:checked + label {
  font-size: 14px;
}

.boiler-symptoms .boiler-symptoms__list {
  justify-content: space-between;
}

.boiler-symptoms .boiler-symptoms__list .checks {
  width: calc((100% / 3) - 10px) !important;
}

.boiler-symptoms .boiler-symptoms__list .checks label {
  width: 100%;
}

.userInfo li:nth-child(7) dt, .userInfo li:nth-child(8) dt {
  width: 100%;
}

.userInfo li:nth-child(7) dd, .userInfo li:nth-child(8) dd {
  width: 100%;
}

@media screen and (max-width: 1080px) {
  body {
    font-size: 16px;
  }
  .inner {
    width: calc(100% - 40px);
  }
  .entryButtonFixed .count-down {
    font-size: 14px;
    letter-spacing: -.06rem;
    width: 100%;
    z-index: 9999;
  }
}

@media screen and (min-width: 769px) {
  .entryButtonFixed .pc {
    display: flex;
  }
  .entryButtonFixed .sp {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .button {
    font-size: 17px;
  }
  .button b {
    font-size: 36px;
  }
  .form .lack .cover {
    font-size: 24px;
    padding: 15px 15% !important;
  }
  .form .submit #submitbtn p#demo {
    font-size: 16px;
    left: -10%;
    top: 2px !important;
  }
  .entryButtonFixed .pc {
    display: none;
  }
  .entryButtonFixed .sp {
    display: flex;
  }
}

@media screen and (max-width: 600px) and (min-width: 501px) {
  .form .submit #submitbtn {
    padding: 10px 10% !important;
  }
  .form .submit #submitbtn > b:nth-of-type(1):before {
    background-size: contain;
    height: 9vw;
    left: 5vw !important;
    width: 20vw;
  }
  .form .submit .lack .cover:before {
    background-size: contain !important;
    height: 9vw !important;
    left: 2vw;
    width: 22vw !important;
  }
  .form .submit .lack p#demo {
    left: -5vw !important;
  }
}

@media screen and (max-width: 500px) {
  .form .submit #submitbtn {
    padding: 10px 10% !important;
  }
  .form .submit #submitbtn b {
    font-size: 30px;
  }
  .form .submit #submitbtn > b:nth-of-type(1):before {
    background-size: contain !important;
    height: 9vw !important;
    left: 3vw !important;
    width: 22vw !important;
  }
  .form .lack .cover {
    padding: 10px 2vw !important;
    text-align: center !important;
  }
  .form .lack .cover:before {
    background-size: contain !important;
    bottom: 5px;
    height: 9vw !important;
    left: 2vw !important;
    width: 22vw !important;
  }
  .form .lack p#demo {
    left: 0;
  }
  .back_top {
    bottom: 90px;
    display: none !important;
    position: fixed;
    right: 0;
    transition: .5s;
    z-index: 999;
  }
  .back_top.hide {
    display: none !important;
  }
}

@media screen and (max-width: 413px) {
  .button span {
    font-size: 18px;
    padding-left: 20px;
    text-align: left;
  }
  .button span strong {
    font-size: 22px;
  }
  .button img {
    width: 15vw;
  }
  .form .submit #submitbtn {
    padding: 10px 5% !important;
  }
  .form .submit #submitbtn p#agreement {
    font-size: 10px !important;
  }
}

@media screen and (max-width: 380px) {
  .form .submit #submitbtn {
    padding: 10px 10% !important;
  }
  .form .submit #submitbtn b {
    font-size: 18px;
  }
  .form .submit #submitbtn > b:nth-of-type(1):before {
    background-size: contain !important;
    height: 9vw !important;
    left: 3vw !important;
    width: 22vw !important;
  }
  .form .submit #submitbtn p#demo {
    letter-spacing: -.1em !important;
  }
  .form .submit #submitbtn p#demo span {
    padding-left: 0 !important;
  }
  .form #submitbtn.lack .cover {
    font-size: 5vw;
    line-height: 3;
    /*キャンペーンじゃない　text-align: right !important;*/
  }
  .form #submitbtn.lack .cover:before {
    background-size: contain !important;
    height: 9vw !important;
    left: 2vw !important;
    top: 10px;
    width: 22vw !important;
  }
  .form #submitbtn.lack p#demo {
    top: 10px !important;
  }
}

@media screen and (max-width: 280px) {
  .form .submit #submitbtn {
    padding: 10px 2vw !important;
  }
  .form .submit #submitbtn p#demo {
    left: -22px !important;
    top: 17px !important;
    width: 200px;
  }
  .form .lack .cover {
    line-height: 4.5 !important;
  }
}

.header {
  background: url(/img/back01.webp);
}

.normal .header {
  font-size: 16px;
}

.normal .header a,
.normal .header span {
  box-sizing: border-box;
  display: block;
}

.normal .header span {
  font-weight: bold;
  transition: .25s linear;
}

.normal .header .nav {
  display: table;
  width: 100%;
}

.normal .header .logo {
  display: table-cell;
  vertical-align: middle;
  width: 200px;
}

.normal .header .logo a {
  display: block;
  height: 100%;
  padding: 0 20px;
  width: 100%;
}

.normal .header .nav > ul {
  display: table-cell;
  float: right;
}

.normal .header .nav > ul > li {
  display: table-cell;
}

.normal .header .nav > ul > li > a,
.normal .header .nav > ul > li > span {
  line-height: 80px;
  padding: 0 10px;
}

.normal .header .nav > ul > li a:hover,
.normal .header .nav > ul > li span:hover {
  background: #ce0057;
  color: #fff;
}

.normal .header .downMenu {
  position: relative;
}

.normal .header .downMenu ul {
  background: #fff;
  border: solid 2px #000;
  opacity: 0;
  position: absolute;
  top: 50px;
  transition: all .2s ease;
  visibility: hidden;
  width: 250px;
  z-index: 2;
}

.normal .header .downMenu:hover ul {
  opacity: 1;
  top: 80px;
  visibility: visible;
}

.normal .header .downMenu ul li {
  border-bottom: solid 2px #000;
}

.normal .header .downMenu ul li:last-child {
  border: none;
}

.normal .header .downMenu ul a {
  padding: 10px 20px;
  position: relative;
}

.normal .header .downMenu ul a:after {
  border-right: solid 3px #000;
  border-top: solid 3px #000;
  content: "";
  height: 10px;
  margin-top: -4px;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: rotate(45deg);
  width: 10px;
}

.normal .header .downMenu ul a:hover:after {
  border-color: #fff;
}

[current="fuyohin"] .fuyohin > a,
[current="faq"] .pc > a,
[current="gaichu"] .gaichu > a,
[current="house-cleaning"] > .faq a,
[current="company"] .company a {
  background: #ce0057;
  color: #fff;
}

@media screen and (max-width: 1080px) {
  .normal {
    padding-top: 90px;
  }
  .normal .header {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 100;
  }
  .normal .header .logo a {
    height: 90px;
    padding-top: 20px;
  }
  .normal .header .nav > ul {
    padding-top: 90px;
  }
  .normal .header .nav > ul > li {
    border-top: solid 3px #000;
    display: block;
  }
  .normal .header .nav > ul > li a {
    line-height: 1;
    padding: 20px;
  }
  .normal.open .header .menu {
    transform: translate3d(-320px, 0, 0);
  }
  .normal .header .menu {
    background: #fff;
    height: 100%;
    overflow: scroll;
    overflow-style: none;
    position: fixed;
    right: -320px;
    transition: .35s ease-in-out;
    width: 320px;
    z-index: 1;
  }
  .normal .header .downMenu ul {
    background: #d7e7f0;
    border: none;
    border-top: solid 3px #000;
    left: auto;
    opacity: 1;
    position: relative;
    top: auto;
    visibility: inherit;
    width: 100%;
  }
  .normal .header .downMenu:hover ul {
    top: 0;
  }
  .normal .header .downMenu ul li {
    float: left;
    width: 50%;
  }
}

.entry {
  background: url(/img/arrow02.webp) no-repeat top center, url(/img/back02.webp);
  font-weight: bold;
  padding: 240px 0 60px;
  position: relative;
}

.entry > .title {
  font-size: 60px;
  margin-bottom: 40px;
  text-align: center;
}

.entry > p {
  animation: floating 2s ease infinite;
  background: #a8c508;
  border: solid 3px #000;
  border-radius: 5px;
  box-sizing: border-box;
  font-size: 24px;
  left: 50%;
  margin-left: -300px;
  padding: 10px 20px;
  position: absolute;
  text-align: center;
  top: 120px;
  width: 600px;
  z-index: 2;
}

.entry > p:before {
  border-color: #000 transparent transparent transparent;
  border-style: solid;
  border-width: 28px 14px 0 14px;
  bottom: -28px;
  content: "";
  left: 50%;
  margin-left: -9px;
  position: absolute;
}

.entry > p:after {
  border-color: #a8c508 transparent transparent transparent;
  border-style: solid;
  border-width: 22px 10px 0 10px;
  bottom: -22px;
  content: "";
  left: 50%;
  margin-left: -5px;
  position: absolute;
}

.entry > p em {
  font-size: 30px;
}

.form {
  background: #fff;
  border: solid 3px #000;
  box-sizing: border-box;
  font-weight: bold;
  margin: 0 auto 40px;
  max-width: 1000px;
  padding: 60px 60px 75px;
  position: relative;
  width: 100%;
}

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

.form > .comment {
  animation: explosion 3s infinite ease-out;
  animation-play-state: running;
  position: absolute;
  right: -120px;
  top: -120px;
  transform-origin: 50% 50%;
}

.form > ol > li {
  margin-bottom: 60px;
}

.form > ol > li:last-child {
  margin: 0;
}

.form .head {
  margin-bottom: 20px;
  position: relative;
}

.form .head .nunber {
  background: #a8c508;
  border: solid 3px #000;
  border-radius: 50%;
  box-sizing: border-box;
  font-size: 40px;
  height: 80px;
  left: -103.5px;
  line-height: 75px;
  position: absolute;
  text-align: center;
  top: -15px;
  width: 80px;
}

.form .head .title {
  font-size: 30px;
}

.form ul li {
  position: relative;
  width: 100%;
}

.form ul li.address {
  border-radius: 5px;
  color: #0a2e70;
  display: flex;
  font-weight: bold;
  justify-content: flex-start;
  margin-top: 20px;
  padding-left: 10px;
}

.form ul li.address div:nth-child(1) {
  width: 80px;
}

.form ul li .note {
  margin: 20px 0 10px;
}

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

.form ul .name {
  left: 10px;
  margin-top: -14.5px;
  position: absolute;
  top: 50%;
  z-index: 10;
}

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

.form .input input {
  border: 1px solid #ccc;
  border-radius: 3px;
  font-size: 16px;
  height: 44px;
  order: 2;
  padding: 0 15px;
  width: 100%;
}

.form .input input::placeholder {
  color: #d7e7f0;
}

.form .input input:focus::-webkit-input-placeholder, .form .input input:focus::-moz-placeholder {
  color: #fff;
  opacity: 0;
  transition: color .3s ease;
}

.form .input input:focus + label {
  display: block;
  font-size: 14px;
  height: auto;
  margin-bottom: 5px;
  opacity: 1;
  order: 1;
  padding-left: 0;
  position: relative;
  width: 100%;
}

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

.form .input label span:nth-child(1) {
  width: 80px;
}

.form .input label span:nth-child(2) {
  color: #6ab6ce;
}

.form .input label span:nth-child(2) a {
  color: #6ab6ce;
}

.form .files {
  background: #d7e7f0;
  border: solid 2px #6ab6ce;
  border-radius: 5px;
  box-sizing: border-box;
  padding: 5px 15px;
  width: 100%;
}

.form .files .files-layout {
  margin-bottom: 5px;
}

.form .files .files-layout .kaitai-photo-attention {
  color: #ce0057;
  font-size: 14px;
  padding-left: 15px;
}

.form .files-area {
  padding: 4px 0 4px 15px;
}

.form .files-area .file-input {
  display: block;
  font-size: 14px;
  margin-bottom: 4px;
}

.form .empty:not(#termCheck) label {
  display: block;
  font-size: 14px;
  height: auto;
  margin-bottom: 5px;
  opacity: 1;
  order: 1;
  padding-left: 0;
  position: relative;
  width: 100%;
}

.form input[type="text"], .form input[type="date"] {
  background: #d7e7f0;
  border: solid 2px #6ab6ce;
  border-radius: 5px;
  box-sizing: border-box;
  height: 50px;
  width: 100%;
}

.form select {
  background: #d7e7f0;
  border: solid 2px #6ab6ce;
  border-radius: 5px;
  box-sizing: border-box;
  height: 50px;
  padding-left: 90px;
  width: 100%;
}

.form select.yane, .form select.kaitai {
  padding-left: 15px;
}

.form textarea {
  background: #d7e7f0;
  border: solid 2px #6ab6ce;
  border-radius: 5px;
  box-sizing: border-box;
  font-size: 16px;
  height: 133px;
  padding: 10px;
  width: 100%;
}

.form .kodawari-input,
.form .kaitai-input {
  padding-left: 15px;
}

.form .select .note {
  font-size: 14px;
}

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

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

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

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

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

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

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

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

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

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

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

.form .service.jokin li {
  width: calc((100% - 40px) / 3);
}

.form .service.yane li, .form .service.kaitai li {
  font-size: 14px;
  width: calc((100% - 40px) / 4);
}

.form .service.boiler li {
  font-size: 16px;
  width: calc((100% - 40px) / 2) !important;
}

.form .service.house-cleaning li label {
  padding: 10px 24px;
}

.form .service .addMin ul {
  float: none !important;
  width: 100% !important;
}

.form .service .addMin input {
  padding-right: 10px;
}

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

.form .service .addMin summary {
  background: #0a2e70;
  border-radius: 20px;
  font-weight: bold;
  height: 40px;
  line-height: 40px;
  margin: 0 auto;
  max-width: 260px;
  position: relative;
  text-align: center;
  width: 100%;
}

.form .service .addMin summary:before {
  background: #fff;
  content: "";
  height: 4px;
  left: 13px;
  margin-top: -2px;
  position: absolute;
  top: 50%;
  width: 18px;
}

.form .service .addMin summary:after {
  background: #fff;
  content: "";
  height: 18px;
  left: 20px;
  margin-top: -9px;
  position: absolute;
  top: 50%;
  width: 4px;
}

.form .service .addMin summary span {
  color: #fff;
}

.form .service .second[open] > summary,
.form .service .third[open] > summary {
  display: none;
}

.form .service input:focus,
.form .service textarea:focus {
  background: #fff !important;
}

.form .service .required input:valid {
  background: #fff;
  border: solid 2px #a8c508;
}

.form .service .current input {
  box-shadow: 0 0 20px #ce0057;
}

.form .add {
  /*ハウスクリーニング*/
}

.form .add label {
  background: #d7e7f0;
  border-radius: 5px;
  color: #6ab6ce;
  display: block;
  padding: 5px 10px 5px 35px;
  text-align: left;
}

.form .add label:before {
  background: #fff;
  border-radius: 5px;
  content: "";
  height: 18px;
  left: 10px;
  margin-top: -9px;
  position: absolute;
  top: 50%;
  width: 18px;
}

.form .add input:checked + label {
  background: #ce0057;
  color: #fff;
}

.form .add input[type="checkbox"]:checked + label:after {
  border: solid 3px #ce0057;
  border-left: 0;
  border-top: 0;
  content: "";
  height: 14px;
  left: 14px;
  margin-top: -9px;
  position: absolute;
  top: 50%;
  transform: rotate(45deg);
  width: 10px;
}

.form .add input[type="radio"]:checked + label:after {
  background: #ce0057;
  border-radius: 50%;
  content: "";
  height: 10px;
  left: 14px;
  margin-top: -5px;
  position: absolute;
  top: 50%;
  width: 10px;
}

.form .add details {
  border-radius: 5px;
  margin-top: 20px;
}

.form .add details[open] summary span {
  bottom: -5px;
  box-shadow: none;
}

.form .add details[open] summary span:after {
  content: none;
}

.form .add details summary {
  max-width: 100%;
  width: 100%;
}

.form .add details summary span {
  box-sizing: border-box;
  padding-left: 60px;
  position: relative;
  width: 100%;
}

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

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

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

.form .add .house-other li {
  width: 100%;
}

.form .add .house-other__textarea {
  color: #000;
  height: 50px;
}

.form .add dl {
  margin-top: 40px;
  width: 100%;
}

.form .add dl dt {
  color: #0a2e70;
  margin-bottom: 10px;
}

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

.form .add dl dd:last-child {
  margin: 0;
}

.form .add dl li {
  display: inline-block;
  float: left;
  margin: 0 5px 5px 0;
  width: auto;
}

.form .add dl li:last-child {
  margin: 0;
}

.form .add dl li input {
  opacity: 0;
  position: absolute;
}

.form .add dl .other {
  width: 100%;
}

.form .add dl .other textarea {
  color: #000;
  height: 50px;
  margin-top: 5px;
}

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

.form .terms summary {
  font-size: 18px;
  font-weight: bold;
}

.form .terms summary span {
  color: #0a2e70;
}

.form .notes {
  color: #ce0057;
  text-align: center;
}

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

.form .submit .count-down {
  color: #fff;
  font-size: 14px;
  letter-spacing: .25em;
  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;
  z-index: 9999;
}

.form .submit .cover {
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
}

.form .submit #submitbtn {
  display: flex;
  flex-direction: column;
  height: 85px;
  justify-content: space-evenly;
  position: relative;
  /*キャンペーンじゃない　text-align: right; */
  text-align: center;
}

.form .submit #submitbtn p#agreement {
  font-size: 14px;
}

.form .submit #submitbtn p#request {
  line-height: 1.2 !important;
}

.form .submit #submitbtn p#demo {
  /*キャンペーンじゃない　display: block; */
  display: none;
  letter-spacing: -.01em;
  position: relative;
  top: -12px;
}

.form .submit #submitbtn > b:nth-of-type(1):before {
  background: url(../img/campaign.webp) no-repeat;
  content: "";
  display: none;
  /*キャンペーンじゃない　display: inline-block; */
  height: 2em;
  left: 50px;
  position: absolute;
  width: 5em;
}

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

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

.form .submit #submitbtn:disabled b {
  color: #fff;
}

.form .lack {
  border-color: #aaa;
  box-shadow: none;
  pointer-events: none;
  text-shadow: none;
}

.form .lack:after {
  display: none;
}

.form .lack .cover {
  background: #aaa;
  height: 100%;
  opacity: 1;
  /*キャンペーンじゃないから　padding: 15px 20%;
            text-align: right;*/
  padding: 20px 20%;
  text-align: center;
  width: 100%;
}

.form .lack .cover:before {
  background: url(../img/campaign_bw.webp) no-repeat;
  content: "";
  display: none;
  /*display: inline-block;*/
  height: 3em;
  left: 50px;
  position: absolute;
  width: 7em;
}

.form .lack p#demo {
  top: -12px;
}

.form .boiler-box {
  margin-bottom: 20px;
}

.form .boiler-box--rows {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}

.form .boiler-box--cols {
  width: 48%;
}

.form .boiler-support-contents {
  display: flex;
  flex-flow: row wrap;
}

.form .boiler-support-contents .attention {
  color: #ce0057;
  width: 100%;
}

.form .boiler-supports {
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 30px;
  width: 100%;
}

.form .boiler-supports .item {
  border-radius: 4px;
  display: block;
  margin: 0;
  width: 49%;
}

.form .boiler-supports .support-title {
  background: #6ab6ce;
  border-radius: 4px 4px 0 0;
  color: #fff;
  font-size: 18px;
  padding: 6px 10px;
}

.form .boiler-supports .support-title .emphasis {
  color: #fedb3c;
}

.form .boiler-supports .support-detail {
  border: 4px solid #6ab6ce;
  border-radius: 0 0 4px 4px;
  display: flex;
  font-size: 16px;
  justify-content: space-between;
  padding: 10px;
}

.form .boiler-supports .support-detail .text {
  width: 56%;
}

.form .boiler-supports .support-detail .img {
  width: 40%;
}

.form .boiler-supports .support-detail .img img {
  max-width: 100%;
}

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

.form .IE_note .IE_note_tel {
  text-decoration: underline;
}

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

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

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

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

@media screen and (max-width: 1080px) {
  .form > .comment {
    right: 0;
    top: -120px;
  }
  .form > .comment img {
    width: 250px;
  }
  .form .add .comment {
    right: -100px;
    top: -45px;
  }
  .form .add .comment img {
    width: 200px;
  }
  .form .submit .count-down {
    font-size: 2vw;
    left: 10px;
    letter-spacing: .25em;
    z-index: 9999;
  }
  .form .submit #submitbtn p#demo {
    left: 3%;
    top: -16px;
  }
}

@media screen and (max-width: 768px) {
  .denki_main_box #denkiMain li {
    width: calc((100% - 20px) / 3) !important;
  }
  .boiler-symptoms .boiler-symptoms__list .checks {
    width: calc((100% / 2) - 10px) !important;
  }
  .boiler-symptoms .boiler-symptoms__list .checks label {
    width: 100%;
  }
  .entry > .title {
    height: auto;
    line-height: 1;
    padding: 40px 0;
  }
  .form .head .nunber {
    display: none;
  }
  .form .service li:nth-last-child(-n + 2) {
    padding-bottom: 0 !important;
  }
  .form .service label span {
    display: none;
  }
  .form .submit {
    margin: 20px auto;
  }
  .form .boiler-box--cols {
    width: 100%;
  }
  .form .IE_note {
    display: none;
  }
  .form .service.jokin li {
    width: calc((100% - 20px) / 3);
  }
  .form .service.house-cleaning label {
    padding: 10px 24px;
  }
  .form .boiler-supports .item {
    margin-bottom: 20px;
    width: 100%;
  }
  .form .boiler-supports .support-title {
    font-size: 16px;
  }
  .form .boiler-supports .support-detail {
    font-size: 14px;
  }
}

@media screen and (max-width: 414px) {
  .denki_main_box #denkiMain li {
    height: 40px;
    width: calc((100% - 20px) / 2) !important;
  }
  .denki_main_box #denkiMain li label {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
  }
  .boiler-symptoms .boiler-symptoms__list .checks {
    width: 100% !important;
  }
  .boiler-symptoms .boiler-symptoms__list .checks label {
    width: 100%;
  }
  .entry {
    background: url(/img/arrow02.webp) no-repeat top -60px center, url(/img/back02.webp);
    padding: 120px 0 40px;
  }
  .entry > .title {
    font-size: 8vw;
    padding: 20px 0;
  }
  .entry > .title span {
    display: block;
  }
  .entry > p {
    font-size: 18px;
    left: 20px;
    margin: 0 auto;
    top: 0;
    width: calc(100% - 40px);
  }
  .entry > p em {
    font-size: 24px;
  }
  .entry > p span {
    display: block;
  }
  .form > ol > li {
    margin-bottom: 100px;
  }
  .form dt .form_bikounone {
    display: none;
  }
  .form .head .nunber {
    font-size: 30px;
    height: 60px;
    left: auto;
    line-height: 50px;
    margin: -40px auto 0;
    position: static;
    top: auto;
    width: 60px;
  }
  .form .head .title {
    font-size: 24px;
    text-align: center;
  }
  .form .head .note {
    font-size: 16px;
  }
  .form .head .note br {
    display: none;
  }
  .form ul .required:before {
    bottom: 15px;
    font-size: 12px;
    height: 20px;
    padding: 0;
    text-align: center;
    width: 30px;
  }
  .form .addMin .required input {
    padding-right: 10px;
  }
  .form .service.yane li, .form .service.kaitai li {
    font-size: 12px;
    line-height: 1.2;
  }
  .form .service li {
    width: 100%;
  }
  .form .add details .inner {
    padding: 20px;
  }
  .form .button span {
    font-size: 15px;
  }
  .form .button span strong {
    font-size: 20px;
  }
  .entry .button {
    font-size: 22px;
    margin: 0;
    width: 100%;
  }
}

.entryMin {
  background: url(/img/back02.webp);
  padding-bottom: 60px;
  position: relative;
  z-index: 5;
}

.entryMin .thanks {
  display: none;
}

.entryMin ul,
.entryMin ol {
  padding: 0;
}

.entryMin > .title {
  animation: floating 5s ease infinite;
  margin: 0 auto -60px;
  max-width: 400px;
  position: relative;
  top: -40px;
  z-index: 1;
}

.entryMin > .title img {
  width: 100%;
}

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

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

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

.entryMin .form .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 {
  text-decoration: underline;
}

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

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

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

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

.entryMin .form .opacity1 {
  animation: opacity1 600ms linear 0s;
  display: block;
}

.entryMin .boiler-symptoms {
  margin-top: 20px;
}

.entryMin .boiler-symptoms dt {
  color: #0a2e70;
  margin-bottom: 10px;
}

.entryMin .boiler-symptoms .boiler-symptoms__list {
  display: flex;
  flex-flow: row wrap;
}

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

.entryMin .boiler-symptoms .boiler-symptoms__list input[type="checkbox"]:checked + label::after {
  border: solid 3px #ce0057;
  border-left: 0;
  border-top: 0;
  content: "";
  height: 14px;
  left: 14px;
  margin-top: -9px;
  position: absolute;
  top: 50%;
  transform: rotate(45deg);
  width: 10px;
}

.entryMin .boiler-symptoms .boiler-symptoms__list input:checked + label {
  background: #ce0057;
  color: #fff;
}

.entryMin .boiler-symptoms .boiler-symptoms__list .checks {
  margin: 0 5px 5px 0;
  width: fit-content;
}

.entryMin .boiler-symptoms .boiler-symptoms__list .other {
  width: 100%;
}

.entryMin .boiler-symptoms .boiler-symptoms__list .other label {
  width: 100%;
}

.entryMin .boiler-symptoms .boiler-symptoms__list .other textarea {
  color: #222;
  height: 50px;
}

.entryMin .boiler-symptoms .boiler-symptoms__list label {
  background: #d7e7f0;
  border-radius: 5px;
  color: #6ab6ce;
  display: block;
  padding: 5px 10px 5px 35px;
  text-align: left;
}

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

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

.entryMin .terms summary {
  font-size: 18px;
}

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

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

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

.entryMin .notes {
  color: #ce0057;
  text-align: center;
}

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

@media screen and (max-width: 1080px) {
  .entryMin {
    box-sizing: border-box;
    max-width: 100%;
    padding: 20px;
    width: 100%;
  }
  .entryMin .form {
    box-sizing: border-box;
    margin: 0;
    max-width: 100%;
    padding: 20px;
  }
  .entryMin .form .service label:before {
    content: none;
  }
}

@media screen and (max-width: 767px) {
  .entryMin .service {
    flex-wrap: wrap;
  }
  .entryMin .service li {
    margin-bottom: 10px;
    width: calc((100% - 20px) / 3);
  }
  .entryMin .userInfo {
    display: block;
  }
  .entryMin .userInfo li {
    display: block;
    margin-top: 10px;
    width: 100%;
  }
  .entryMin .form .add details {
    border: none;
  }
  .entryMin .form .add .inner {
    border: none;
    page-break-after: 0;
  }
  .entryMin .form .add .inner dt {
    margin-bottom: 10px;
  }
  .entryMin .form .add tr {
    border: solid 2px #a8c508;
  }
  .entryMin .form .add th {
    display: block;
    margin-bottom: 10px;
    padding: 10px 0;
    width: 100%;
  }
  .entryMin .form .add td {
    box-sizing: border-box;
    display: block;
    padding: 10px;
    width: 100%;
  }
  .entryMin .form .IE_note {
    display: none;
  }
}

@media screen and (max-width: 414px) {
  .entryMin > .title {
    margin: 0 auto;
    top: auto;
  }
  .entryMin .form {
    padding: 20px 10px;
  }
  .entryMin .form .required input {
    padding: 0 40px 0 5px;
  }
  .entryMin .form .input label {
    font-size: 16px;
  }
  .entryMin .form .input label span:nth-child(1) {
    width: 70px;
  }
  .entryMin .form .add dl {
    margin-top: 23px;
  }
  .entryMin .service {
    margin-bottom: 10px;
  }
  .entryMin .service li {
    line-height: 1;
    width: calc((100% - 10px) / 2);
  }
  .entryMin .service li label:before {
    content: none;
  }
  .articleEntry {
    padding: 0;
  }
}

.guide {
  background: url(/img/back02.webp);
}

.wrapper {
  margin: 0 auto 60px;
  max-width: 1000px;
}

.wrapper .main {
  float: left;
  width: calc(100% / 3 * 2 - 20px);
}

.wrapper .main > .title {
  font-size: 30px;
  margin-bottom: 40px;
}

.wrapper .sub {
  float: right;
  margin: 0;
  width: calc(100% / 3 - 20px);
}

.wrapper .sub .section > .title {
  font-size: 24px;
  margin-bottom: 20px;
}

/*breadcrumbs*/
.breadcrumbs {
  font-size: 14px;
  font-weight: bold;
  margin: 40px 0;
}

.breadcrumbs li {
  display: inline-block;
}

.breadcrumbs li:after {
  border-right: solid 2px #000;
  border-top: solid 2px #000;
  content: "";
  display: block;
  float: right;
  height: 8px;
  margin: 8px 10px 0;
  transform: rotate(45deg);
  width: 8px;
}

.breadcrumbs li:last-child:after {
  content: none;
}

/*postNumber*/
.postNumber {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 20px;
  text-align: right;
}

/*pagination*/
.pagination ul {
  text-align: center;
}

.pagination li {
  display: inline;
}

.pagination li a {
  border: solid 2px #000;
  display: inline-block;
  padding: 5px 10px;
}

.pagination li a:hover,
.pagination .current a {
  background: #ce0057;
  border-color: #ce0057;
  color: #fff;
}

.pagination li a span {
  position: absolute;
  visibility: hidden;
}

.pagination .prev a:before,
.pagination .first a:after,
.pagination .next a:after,
.pagination .last a:before {
  border-right: solid 3px #000;
  border-top: solid 3px #000;
  content: "";
  display: inline-block;
  height: 10px;
  transition: .25s linear;
  width: 10px;
}

.pagination .prev a:before {
  transform: rotate(-135deg);
}

.pagination .next a:after {
  transform: rotate(45deg);
}

.pagination .prev a:hover:before,
.pagination .first a:hover:after,
.pagination .next a:hover:after,
.pagination .last a:hover:before {
  border-color: #fff;
  transition: .25s linear;
}

.pagination .first a:after {
  transform: rotate(-135deg);
}

.pagination .last a:before {
  transform: rotate(45deg);
}

.updated {
  color: #6ab6ce;
  font-size: 14px;
}

.image figcaption {
  color: #6ab6ce;
  font-size: 14px;
  line-height: 1.2;
  margin-top: 7px;
  text-align: center;
}

/*keyword*/
.keyword li {
  display: inline-block;
}

.keyword a {
  border: solid 2px #a8c508;
  border-radius: 5px;
  color: #a8c508;
  display: block;
  font-size: 14px;
  font-weight: bold;
  padding: 0 5px;
}

.keyword a:hover {
  background: #a8c508;
  color: #fff;
}

/*sns*/
.sns {
  display: flex;
  margin-bottom: 40px;
}

.sns li {
  margin: 0 0 0 10px;
}

.sns li:first-child {
  margin: 0;
}

.sns li .fb_iframe_widget > span {
  vertical-align: baseline !important;
}

/*articleFooter*/
.articleFooter .title {
  margin-bottom: 20px;
}

.articleFooter .button {
  margin: 0 0 50px 0;
}

.articleFooter .button a {
  background: #ce0057;
  border-radius: 8px;
  box-shadow: 0 -1px 0 #ff5fa3 inset, 0 10px 0 #93002a;
  color: #fff;
  cursor: pointer;
  display: block;
  padding: 20px;
  text-align: center;
}

.articleFooter .button a span {
  font-size: 16px;
  font-weight: normal;
}

/*contentList*/
.contentList {
  background: #d7e7f0;
  margin-bottom: 60px;
}

.contentList summary {
  background: #d7e7f0;
  font-weight: bold;
  padding: 10px;
  text-align: center;
}

.contentList summary span {
  color: #6ab6ce;
}

.contentList summary span:after {
  content: "を開く";
}

.contentList[open] summary span:after {
  content: "を閉じる";
}

.contentList ol {
  border-top: solid 2px #6ab6ce;
}

.contentList li a {
  border-bottom: solid 2px #6ab6ce;
  display: block;
  padding: 20px 40px;
}

.contentList li:last-child a {
  border: none;
}

.contentList li a:hover {
  background: #ce0057;
  color: #fff;
  padding-left: 55px;
}

.contentList .cs {
  padding-left: 40px;
}

.contentList .cs a {
  font-size: 16px;
  padding: 10px 0;
}

.contentList .cs a:hover {
  padding-left: 15px;
}

/*sub*/
.sub {
  margin: 60px auto;
  max-width: 1000px;
  width: 100%;
}

.sub > .title {
  font-size: 40px;
  margin-bottom: 40px;
  text-align: center;
}

.sub > .inner {
  background: #fff;
  border: solid 3px;
  padding: 40px;
}

.sub .section {
  margin-bottom: 60px;
}

.sub .section:last-child {
  margin: 0;
}

.sub .section > .title {
  font-size: 18px;
}

/*list*/
.list .inner {
  margin-left: -20px;
  width: calc(100% + 40px);
}

.list .article > a {
  display: block;
  font-weight: normal;
}

.list .article > a:hover {
  color: #000;
}

.list .article > a .image .content, .list .article > a .image .area .inner, .area .list .article > a .image .inner {
  background: #ce0057;
  border: solid 2px #000;
  box-shadow: inset 4px 4px 0 #fff, inset -4px -4px 0 #fff;
  box-sizing: border-box;
  height: calc(100% / 4 * 3);
  overflow: hidden;
  padding: 4px;
  width: 100%;
}

.list .article > a img {
  box-sizing: border-box;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.list .article > a:hover img {
  opacity: .2;
  transform: scale(1.2);
}

.list .article.s {
  border-bottom: solid 2px #000;
  margin-bottom: 20px;
  padding-bottom: 20px;
}

.list .article.s .image {
  float: left;
  width: calc(100% / 3 - 20px);
}

.list .article.s .title {
  float: right;
  font-size: 18px;
  width: calc(100% / 3 * 2 - 20px);
}

.list .article.m {
  box-sizing: border-box;
  padding: 0 20px;
  width: calc(100% / 3);
  max-width: 250px;
}

.list .article.m .image {
  margin-bottom: 10px;
}

.list .article.m .title {
  margin-bottom: 20px;
}

.list .article.m p {
  font-size: 16px;
}

.list .article.l {
  border-bottom: solid 2px #000;
  margin-bottom: 40px;
  padding-bottom: 40px;
}

.list .article.l .image {
  float: left;
  width: calc(100% / 3 - 20px);
}

.list .article.l .data {
  float: right;
  width: calc(100% / 3 * 2 - 20px);
}

.list .article.l .title {
  font-size: 24px;
}

.list .article.l .excerpt {
  margin-top: 20px;
}

.list .article.l .keyword {
  float: right;
  margin: -20px 0 0;
  width: calc(100% / 3 * 2 - 20px);
}

.top .list .article.m .title {
  text-align: center;
}

/*top*/
.top .header {
  background: none;
}

.top > .mainVisual {
  background: url(/img/concierge03.webp) no-repeat center bottom, url(/img/saturated-line.svg) center top -1140px, url(/img/back01.webp);
  height: 700px;
  margin-bottom: 60px;
}

.top > .mainVisual .content .title, .top > .mainVisual .area .inner .title, .area .top > .mainVisual .inner .title {
  position: relative;
  text-align: center;
  top: 100px;
}

.top .section {
  margin-bottom: 60px;
}

.top .section > .title {
  font-size: 30px;
  margin-bottom: 40px;
  text-align: center;
}

.top .section > .title span {
  color: #ce0057;
  font-size: 40px;
}

.serviceList {
  max-width: 1040px;
}

.top > .list .inner {
  max-width: 1040px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.top .wrapper .list .article.m .title {
  font-size: 18px;
  margin: 0;
  text-align: left;
}

/*article*/
.main.article > .title {
  margin-bottom: 0 !important;
}

.main.article .updated {
  font-size: 16px;
}

.main.article .keyword {
  margin: 10px 0 20px;
}

.main.article .image {
  margin-bottom: 40px;
  width: 100%;
}

.main.article .image img {
  height: auto;
  width: 100%;
}

.main.article p {
  margin-bottom: 40px;
}

.main.article p a,
.main.article td a {
  color: #ce0057;
  text-decoration: underline;
}

.main.article .image:last-child,
.main.article p:last-child {
  margin: 0;
}

.main.article table {
  margin: 0 0 40px 0;
  width: 100%;
}

.main.article table th,
.main.article table td {
  border: 2px solid #0a2e70;
  padding: 10px;
}

.main.article table th {
  background: #0a2e70;
  color: #fff;
  font-weight: bold;
}

.main.article table td span {
  font-weight: bold;
}

.main.article table td img {
  max-width: 120px;
}

.main.article .section {
  margin-bottom: 40px;
}

.main.article .section .section .title {
  margin-bottom: 20px;
  position: relative;
}

.main.article .section .section .title .number {
  background: #a8c508;
  border: solid 2px #000;
  border-radius: 50%;
  box-sizing: border-box;
  display: inline-block;
  font-size: 24px;
  height: 50px;
  line-height: 45px;
  margin: -25px 20px 0 0;
  text-align: center;
  width: 50px;
}

.main.article > .section {
  margin-bottom: 60px;
}

.main.article > .section:last-child {
  margin-bottom: 100px;
}

.main.article > .section > .title {
  border: solid 2px #000;
  border-left: none;
  border-right: none;
  font-size: 24px;
  margin-bottom: 40px;
  padding: 20px 0;
}

.main.article .pagination li {
  box-sizing: border-box;
  display: block;
  float: left;
  width: 50%;
}

.main.article .pagination li:nth-child(1) {
  padding-right: 10px;
}

.main.article .pagination li:nth-child(2) {
  padding-left: 10px;
}

.main.article .pagination li a {
  width: 100%;
}

.main.article .list {
  margin-top: 60px;
}

.main.article .list > .title {
  margin-bottom: 40px;
}

.main.article .list .inner {
  margin-left: 0;
  width: 100%;
}

.main.article ul,
.main.article ol {
  margin-bottom: 40px;
}

.main.article strong {
  background: #fedb3c;
}

/*faq*/
.faq .nav {
  margin-bottom: 40px;
}

.faq .nav ul {
  margin-top: 20px;
}

.faq .nav li {
  float: left;
  margin-bottom: 20px;
  width: 50%;
}

.faq .nav li a {
  background: none;
  color: #000;
  display: block;
  position: relative;
  text-decoration: underline;
}

.faq .nav li a:after {
  border-right: solid 3px #000;
  border-top: solid 3px #000;
  content: "";
  height: 10px;
  margin-top: -4px;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: rotate(135deg);
  width: 10px;
}

.faq summary {
  font-size: 24px;
  font-weight: bold;
  padding: 20px 0 20px 60px;
  position: relative;
}

.faq summary:before {
  align-items: center;
  background: #a8c508;
  border: solid 3px #000;
  border-radius: 50%;
  color: #000;
  content: "Q";
  display: flex;
  font-size: 18px;
  height: 40px;
  justify-content: center;
  left: 0;
  margin-top: -20px;
  position: absolute;
  top: 50%;
  width: 40px;
}

.faq summary span {
  color: #000;
}

.faq .content, .faq .area .inner, .area .faq .inner {
  padding: 40px 0 40px 60px;
  position: relative;
}

.faq .content:before, .faq .area .inner:before, .area .faq .inner:before {
  align-items: center;
  background: #ce0057;
  border: solid 3px #000;
  border-radius: 50%;
  color: #fff;
  content: "A";
  display: flex;
  font-size: 18px;
  font-weight: bold;
  height: 40px;
  justify-content: center;
  left: 0;
  margin-top: 0;
  position: absolute;
  top: 40px;
  width: 40px;
}

.faq .content .note, .faq .area .inner .note, .area .faq .inner .note {
  display: block;
  text-align: inherit;
}

/*company*/
.company {
  border-radius: 5px;
  border-top: none;
  display: flex;
  flex-wrap: wrap;
}

.company dt {
  box-sizing: border-box;
  font-weight: bold;
  padding: 40px;
  width: 30%;
}

.company dd {
  box-sizing: border-box;
  margin: 0;
  padding: 40px;
  width: 70%;
}

.company dt:nth-last-child(2),
.company dd:last-child {
  border: none;
}

#company2 {
  margin: 60px auto;
  max-width: 1000px;
  width: 100%;
}

#company2 h2 {
  font-size: 36px;
  font-weight: bold;
  text-align: center;
}

#company2 .container {
  background: #fff;
  border: 3px solid #000;
  padding: 50px;
}

#company2 table {
  width: 100%;
}

#company2 table tr {
  margin-bottom: 10px;
}

#company2 table tr th {
  padding: 40px;
  vertical-align: top;
  width: 30%;
}

#company2 table tr td {
  padding: 40px;
  width: 70%;
}

#company2 table tr td .client {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

#company2 table tr td .client li {
  width: 50%;
}

/*privacy*/
.privacy {
  font-size: 14px;
}

.privacy .signature {
  margin-top: 20px;
}

.privacy .article {
  margin-top: 20px;
}

.privacy .article > .title {
  font-size: 16px;
}

.privacy .article ul,
.privacy .article ol {
  margin-top: 20px;
}

/*terms*/
.terms {
  font-size: 14px;
}

.terms summary {
  color: #0d418e;
  text-align: center;
  text-decoration: underline;
}

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

.terms li {
  margin: 0 !important;
}

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

.terms .chapter > .title {
  font-size: 18px !important;
}

.terms .article {
  margin-bottom: 10px;
}

.terms .article .title {
  font-size: 14px !important;
}

.terms.sub .contact {
  background: linear-gradient(to bottom, #ff4493, #ce0057);
  border-radius: 10px;
  box-shadow: 0 8px 0 #7a0808;
  display: flex;
  font-size: 1.3rem;
  justify-content: center;
  margin: 20px auto;
  max-width: 400px;
  padding: 10px;
  text-decoration: none;
  text-shadow: 2px 2px 0 #7a0808;
  width: 80%;
}

.terms.sub .contact a {
  color: #fff;
}

.terms.sub .page_back {
  font-size: 18px;
  margin: 40px auto;
  max-width: 400px;
  text-align: center;
}

.terms.sub .page_back:before {
  background: url(../img/left.webp) no-repeat;
  background-size: cover;
  content: "";
  display: inline-block;
  height: 15px;
  position: relative;
  top: 1px;
  width: 15px;
}

.notice {
  font-size: 14px;
}

.notice h4 {
  font-size: 14px;
  margin-top: 20px;
}

.notice table.list {
  width: 100%;
}

.notice .scroll_bar th:first-child {
  width: 1%;
}

.notice .scroll_bar th:nth-child(2) {
  width: 20%;
}

.notice .scroll_bar th:nth-child(3) {
  width: 60%;
}

.notice td,
.notice th {
  border-bottom: 1px solid #ddd;
  padding: 10px;
}

.notice th {
  background: #f0f0f0;
  width: 30%;
}

.notice th:nth-child(4) {
  text-align: center;
  width: 10% !important;
}

.notice td:nth-child(4) {
  text-align: center !important;
}

.notice ol li {
  list-style: decimal;
  list-style: none;
  margin-left: 20px;
  padding: 5px 0;
  padding-left: 1em;
  text-indent: -1em;
}

@media screen and (max-width: 414px) {
  table {
    display: block;
    font-size: 12px;
    line-height: 1.3;
  }
  .scroll_bar {
    overflow-x: scroll;
    width: 100%;
  }
  .scroll_bar table {
    display: block;
    width: 700px;
  }
  .scroll_bar table td,
  .scroll_bar table th {
    padding: 5px;
    text-align: left;
  }
  .scroll_bar table th:first-of-type {
    width: 1%;
  }
  .scroll_bar table th:last-of-type {
    width: 5% !important;
  }
  .scroll_bar table ::-webkit-scrollbar {
    height: 12px;
    width: 10px;
  }
  .scroll_bar table ::-webkit-scrollbar-track {
    background-color: #e1e8ef;
  }
  .scroll_bar table ::-webkit-scrollbar-thumb {
    background-color: #81a9d7;
    border-radius: 6px;
  }
}

/*sitemap*/
.sitemap .section .title {
  border-bottom: solid 3px #000;
  font-size: 24px;
  margin-bottom: 20px;
  padding-bottom: 20px;
}

.sitemap .section .title:last-child {
  margin-bottom: 0;
}

.sitemap .section .title a {
  color: #a8c508;
}

.sitemap .section li {
  float: left;
  margin-bottom: 20px;
  width: 25%;
}

.sitemap .section li:last-child {
  margin: 0;
}

@media screen and (max-width: 1080px) {
  .wrapper {
    margin: 0 40px 60px;
  }
  .top .header {
    background: url(/img/back01.webp);
  }
  .top > .mainVisual {
    background: url(/img/concierge03.webp) no-repeat center top 75px, url(/img/saturated-line.svg) no-repeat center center, url(/img/back01.webp);
    background-size: contain;
    height: auto;
    padding: 60px 0 0 0;
  }
  .top > .mainVisual .content .title, .top > .mainVisual .area .inner .title, .area .top > .mainVisual .inner .title {
    padding: 100px 40px;
    top: auto;
  }
  .top > .mainVisual .content .title img, .top > .mainVisual .area .inner .title img, .area .top > .mainVisual .inner .title img {
    width: 100%;
  }
  .main.article .section .section .title .number {
    height: 45px;
    line-height: 40px;
    margin-top: -22.5px;
    width: 45px;
  }
}

@media screen and (max-width: 767px) {
  .wrapper .main {
    margin-bottom: 60px;
  }
  .wrapper .main,
  .wrapper .sub {
    float: none;
    width: 100%;
  }
  .breadcrumbs ul {
    overflow: auto;
    padding-bottom: 15px;
    white-space: nowrap;
  }
  .list .article.s {
    margin-bottom: 20px;
    padding-bottom: 20px;
  }
  .list .article.s .image {
    display: none;
  }
  .list .article.s .title {
    float: none;
    width: 100%;
  }
  .list .article.l .keyword {
    margin: 0;
  }
  .conpany {
    font-size: 14px;
  }
  .conpany dt,
  .conpany dd {
    padding: 20px;
  }
  .conpany dd {
    padding-left: 0;
  }
  .sitemap .section li {
    width: 50%;
  }
}

@media screen and (max-width: 414px) {
  .wrapper {
    margin: 0 20px 40px;
  }
  .wrapper .main > .title {
    font-size: 24px;
    margin-bottom: 20px;
  }
  .breadcrumbs {
    margin: 20px 0;
  }
  .list .article .image img {
    max-height: 160px;
  }
  .list .article.m {
    float: none;
    padding: 0;
    width: 100%;
    max-width: unset;
  }
  .list .article.m:last-child {
    margin: 0;
  }
  .list .article.m .title {
    margin-bottom: 20px !important;
  }
  .list .article.l .image,
  .list .article.l .data {
    float: none;
    width: 100%;
  }
  .list .article.l .title {
    font-size: 18px;
  }
  .list .article.l .keyword {
    float: none;
    margin-top: 20px;
  }
  .top > .list .inner {
    margin: 0;
    width: 100%;
  }
  .sub {
    margin: 20px 0;
  }
  .sub > .title {
    font-size: 30px;
    margin-bottom: 20px;
  }
  .sub > .inner {
    padding: 20px;
    width: calc(100% - 40px);
  }
  .sub .section {
    margin-bottom: 40px;
  }
  .sub .section > .title {
    font-size: 18px;
  }
  .top .section {
    margin-bottom: 40px;
  }
  .top > .mainVisual .content .title, .top > .mainVisual .area .inner .title, .area .top > .mainVisual .inner .title {
    padding: 100px 20px;
  }
  .top .section > .title {
    font-size: 24px;
    margin-bottom: 20px;
  }
  .faq .nav li {
    float: left;
    width: 100%;
  }
  .faq .nav li a:after {
    right: 0;
  }
  .faq summary {
    font-size: 18px;
  }
  .faq .content, .faq .area .inner, .area .faq .inner {
    padding: 0 0 0 60px;
  }
  .faq .content:before, .faq .area .inner:before, .area .faq .inner:before {
    top: 0;
  }
  .sitemap .section li {
    width: 100%;
  }
  .contact {
    font-size: 18px;
  }
  .contact strong {
    font-size: 24px;
  }
  .contact br {
    display: block;
  }
  #company2 {
    padding: 10px;
  }
  #company2 .container {
    padding: 0;
  }
  #company2 table tr th {
    padding: 15px 10px;
    width: 5em;
  }
  #company2 table tr td {
    padding: 15px 10px;
  }
  #company2 table tr td .client li {
    width: 100%;
  }
}

/*sodaigomi*/
.sodaigomi {
  margin-bottom: 120px;
}

.sodaigomi table span {
  color: #ce0057;
}

.sodaigomi a {
  color: #6ab6ce;
  text-decoration: underline;
}

.sodaigomi > .title {
  font-size: 30px;
}

.sodaigomi > p {
  margin-top: 40px;
}

.sodaigomi > nav {
  margin: 40px 0;
}

.sodaigomi > nav ul {
  display: flex;
  justify-content: space-between;
}

.sodaigomi > nav li {
  width: calc(100% / 3 - 10px);
}

.sodaigomi > nav li a {
  background: #d7e7f0;
  border-radius: 5px;
  color: #6ab6ce;
  padding: 15px 15px 30px;
  text-align: center;
}

.sodaigomi .jump, .sodaigomi .form .add details summary, .form .add details .sodaigomi summary {
  display: block;
  position: relative;
}

.sodaigomi .jump:after, .sodaigomi .form .add details summary:after, .form .add details .sodaigomi summary:after {
  border-right: solid 3px #6ab6ce;
  border-top: solid 3px #6ab6ce;
  content: "";
  display: block;
  height: 15px;
  left: 50%;
  margin-left: -7.5px;
  position: absolute;
  transform: rotate(135deg);
  width: 15px;
}

.sodaigomi .contactButton {
  margin: 0 auto 70px;
  max-width: 646px;
  width: 100%;
}

.sodaigomi .contactButton a {
  color: #fff;
  font-size: 24px;
  font-weight: bold;
  text-decoration: none;
}

.sodaigomi .area li {
  float: left;
  margin-bottom: 10px;
  width: calc(100% / 8);
}

.sodaigomi .number {
  background: #a8c508;
  border: solid 2px #000;
  border-radius: 50%;
  box-sizing: border-box;
  display: inline-block;
  font-size: 24px;
  height: 50px;
  line-height: 45px;
  margin: -25px 20px 0 0;
  text-align: center;
  width: 50px;
}

.sodaigomi th {
  padding: 30px 0 !important;
  position: relative;
}

.sodaigomi th .number {
  color: #000;
  font-size: 18px;
  height: 40px;
  left: 50%;
  line-height: 35px;
  margin: -20px 0 0 -20px;
  position: absolute;
  top: 0;
  width: 40px;
}

.sodaigomi td {
  padding-bottom: 20px;
  text-align: center;
}

.sodaigomi td div {
  margin-bottom: 10px;
}

.sodaigomi td div:nth-child(1) {
  font-size: 40px;
}

.sodaigomi td div a {
  padding-bottom: 20px;
  width: 100%;
}

.sodaigomi .section > .title {
  font-size: 22px;
}

.sodaigomi .section > section {
  margin-bottom: 40px;
}

.sodaigomi .section > section:last-child {
  margin: 0;
}

.sodaigomi .section > section > .title {
  font-size: 18px;
}

.sodaigomi .item .nitial {
  background: #d7e7f0;
  font-size: 14px;
}

.sodaigomi .item,
.sodaigomi .item tr,
.sodaigomi .item .nitial {
  border: 2px solid #0a2e70 !important;
}

.sodaigomi .item td {
  border: solid 1px #0a2e70 !important;
  font-size: 16px;
}

.sodaigomi .item td:last-child,
.sodaigomi .item td:nth-last-child(5) {
  text-align: left;
}

.sodaigomi .item td:last-child {
  width: 310px;
}

.sodaigomi .method td {
  width: calc(100% / 3);
}

.sodaigomi .table {
  border: 2px solid #0a2e70;
  margin-bottom: 50px;
}

.sodaigomi .table table {
  margin: 0;
}

.sodaigomi .table dt {
  background: #0a2e70;
  color: #fff;
  font-weight: bold;
  padding: 20px !important;
  text-align: center;
}

.sodaigomi .table dd > p {
  padding: 10px;
}

.sodaigomi .table th {
  background: none !important;
  border-left: none !important;
  border-right: none !important;
  color: #000 !important;
  font-weight: bold;
  padding: 20px !important;
  width: 30%;
}

.sodaigomi .table td {
  border-left: none !important;
  border-right: none !important;
  padding: 10px;
  text-align: left;
  width: 70%;
}

.sodaigomi details summary {
  padding: 0 10px 10px 10px;
  text-decoration: underline;
}

.sodaigomi details table {
  margin: 0 !important;
}

.sodaigomi details td:last-child {
  width: 310px;
}

.sodaigomi .sort {
  font-size: 16px;
}

.sodaigomi .sort td {
  text-align: left;
}

@media screen and (min-width: 415px) {
  .sodaigomi .item tr:nth-child(even) td:nth-last-child(1),
  .sodaigomi .item tr:nth-child(even) td:nth-last-child(2),
  .sodaigomi .item tr:nth-child(even) td:nth-last-child(3) {
    background: #fff6ce;
  }
  .sodaigomi .sort tr:nth-child(odd) td {
    background: #fff6ce;
  }
}

@media screen and (min-width: 769px) {
  .sodaigomi .area li {
    width: calc(100% / 5);
  }
}

@media screen and (max-width: 414px) {
  .sodaigomi .area .title {
    padding: 20px !important;
  }
  .sodaigomi .area li {
    float: left;
    margin-bottom: 10px;
    width: calc(100% / 3);
  }
  .sodaigomi .item thead {
    display: none;
  }
  .sodaigomi .item td:nth-last-child(1):before {
    content: "備考\A";
    white-space: pre;
  }
  .sodaigomi .item td:nth-last-child(2):before {
    content: "ボックス回収\A";
    white-space: pre;
  }
  .sodaigomi .item td:nth-last-child(3):before {
    content: "持込回収\A";
    white-space: pre;
  }
  .sodaigomi .item td:nth-last-child(4):before {
    content: "自宅回収\A";
    white-space: pre;
  }
  .sodaigomi .item td:nth-last-child(5) {
    background: #d7e7f0;
    font-weight: bold;
    text-align: center;
  }
  .sodaigomi .item td:nth-last-child(1),
  .sodaigomi .item td:nth-last-child(2),
  .sodaigomi .item td:nth-last-child(3),
  .sodaigomi .item td:nth-last-child(4),
  .sodaigomi .item td:nth-last-child(5) {
    display: block;
  }
  .sodaigomi .item td:last-child {
    width: 100%;
  }
  .sodaigomi .item .nitial {
    background: #0a2e70;
    color: #fff;
    font-weight: bold;
    vertical-align: top;
  }
  .sodaigomi .sort thead {
    display: none;
  }
  .sodaigomi .sort td {
    border-top: none !important;
    display: block;
    float: left;
    width: 100%;
  }
  .sodaigomi .sort td:nth-child(1) {
    background: #0a2e70;
    color: #fff;
    font-weight: bold;
    text-align: center;
  }
  .sodaigomi .sort td:before {
    white-space: pre;
  }
  .sodaigomi .sort td:nth-child(2):before {
    content: "大きさ：";
  }
  .sodaigomi .sort td:nth-child(3):before {
    content: "処分方法：";
  }
  .sodaigomi .sort td:nth-child(4):before {
    content: "料金：";
  }
  .sodaigomi .sort td:nth-child(5):before {
    content: "収集日：";
  }
  .sodaigomi .sort td:nth-child(6):before {
    content: "品目例：";
  }
}

.footer {
  background: url(/img/back01.webp);
}

.footer .nav {
  margin: 0 auto;
  margin-bottom: 20px;
  max-width: 1040px;
  width: 100%;
}

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

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

@media screen and (min-width: 768px) {
  .footer {
    padding: 60px 0;
  }
  .footer .nav {
    padding: 0 20px;
  }
  .footer .copyright {
    margin-top: 20px;
    text-align: center;
  }
}

@media screen and (max-width: 767px) {
  .footer {
    padding: 20px;
  }
  .footer li {
    width: calc(100% / 2);
  }
}

@media screen and (max-width: 414px) {
  .footer {
    padding: 20px;
  }
  .footer li {
    width: calc(100% / 2 - 10px);
  }
}

@keyframes dark {
  0% {
    filter: brightness(0);
  }
  70% {
    filter: brightness(0);
  }
  100% {
    filter: brightness(1);
  }
}

@keyframes explosion {
  0% {
    transform: scale(0.8, 0.8);
  }
  5% {
    transform: scale(1.2, 1.2);
  }
  10%,
  100% {
    transform: scale(1, 1);
  }
  15% {
    transform: scale(1.1, 1.1);
  }
  20% {
    transform: scale(1, 1);
  }
}

@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 jump {
  0% {
    opacity: 1;
    transform: scale(0.8, 1.1) translate(0, 100px);
  }
  100% {
    opacity: 1;
    transform: scale(1) translate(0, 0);
  }
}

@keyframes popping {
  0% {
    opacity: 0;
    transform: scale(0);
  }
  50% {
    opacity: 1;
    transform: scale(1.3);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes popping2 {
  0%,
  70% {
    fill: #a8c508;
    opacity: 1;
    transform: scale(0.5);
  }
  50% {
    fill: #a8c508;
    opacity: 1;
    transform: scale(0.05);
  }
  100% {
    fill: #fff;
    opacity: 0;
    transform: scale(1);
  }
}

@keyframes scaling {
  0%,
  100% {
    transform: scale(1);
  }
  50% {
    transform: scale(0.8);
  }
}

@keyframes shake {
  0% {
    transform: rotate(0);
  }
  25% {
    transform: rotate(-2deg);
  }
  50% {
    transform: rotate(0);
  }
  75% {
    transform: rotate(10deg);
  }
  100% {
    transform: translateY(0);
  }
}

@-webkit-keyframes shine {
  0% {
    fill: #a8c508;
    transform: rotate(0deg) scale(0.5);
  }
  25% {
    fill: #59c6e9;
    transform: rotate(72deg) scale(1);
  }
  50% {
    fill: #ce0057;
    transform: rotate(216deg) scale(1);
  }
  75% {
    fill: #fff;
    transform: rotate(288deg) scale(1);
  }
  100% {
    fill: #a8c508;
    transform: rotate(360deg) scale(0.5);
  }
}

@-webkit-keyframes shineMin {
  0%,
  100% {
    fill: #a8c508;
  }
  25% {
    fill: #59c6e9;
  }
  50% {
    fill: #ce0057;
  }
  75% {
    fill: #fff;
  }
}

@keyframes shine2 {
  0% {
    fill: #a8c508;
    opacity: 0;
    transform: scale(0.5);
  }
  25% {
    fill: #a8c508;
    opacity: 0;
    transform: scale(0.05);
  }
  50% {
    fill: #ce0057;
    opacity: 1;
    transform: scale(0.5);
  }
  75% {
    fill: #59c6e9;
    opacity: 1;
    transform: scale(1, 1.5);
  }
  100% {
    fill: #fff;
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes slideLeft {
  0% {
    transform: translate(-1000px, 0);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}

@keyframes strike {
  0% {
    opacity: 0;
    transform: scale(2);
  }
  20% {
    opacity: 1;
    transform: scale(1.8);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes vibration {
  0%,
  100% {
    transform: rotate(0);
  }
  25% {
    transform: rotate(-2deg);
  }
  50% {
    transform: rotate(0);
  }
  75% {
    transform: rotate(2deg);
  }
}

@keyframes wave {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(5px);
  }
}

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

.contactFix {
  background: #fff;
  bottom: 0;
  left: 0;
  padding: 20px;
  position: fixed;
  width: 100%;
  z-index: 10;
}

.contactFix.hide {
  display: none;
}

.contactFix a {
  text-decoration: none;
}

.contactFix .pc {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1040px;
  padding: 0 20px;
  position: relative;
}

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

.contactFix .pc #text {
  width: auto;
}

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

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

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

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

.contactFix .pc .terms {
  align-items: center;
  border: 2px solid #ce0057;
  border-radius: 10px;
  bottom: -7px;
  display: flex;
  font-size: 16px;
  height: 50%;
  justify-content: center;
  position: absolute;
  right: 20px;
  width: 120px;
}

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

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

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

.contactFix .sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .contactFix .pc {
    display: none;
  }
  .contactFix .sp {
    display: block;
    padding: 10px 20px 18px;
  }
  .contactFix .sp a {
    padding: 20px 0;
  }
  .contactFix .sp b {
    font-size: 26px;
    padding-bottom: 7px;
  }
}

@media screen and (max-width: 415px) {
  .contactFix .sp {
    padding: 0;
  }
}

.navterms {
  background: #3fb5d8;
  border: 3px solid #0a5065;
  display: none;
  height: 50px;
  position: fixed;
  right: 50px;
  top: 0;
  width: 50px;
}

.navterms p {
  color: #fff;
  width: 2em;
}

.navToggle {
  background: #ce0057;
  cursor: pointer;
  display: none;
  height: 50px;
  position: fixed;
  right: 20px;
  top: 20px;
  width: 50px;
}

.navToggle span {
  background: #fff;
  display: block;
  height: 3px;
  left: 10px;
  position: absolute;
  transition: .35s ease-in-out;
  width: 30px;
}

.navToggle span:nth-child(1) {
  top: 10px;
}

.navToggle span:nth-child(2) {
  top: 17px;
}

.navToggle span:nth-child(3) {
  top: 24px;
}

.navToggle div {
  bottom: 5px;
  color: #fff;
  font-size: 11px;
  font-weight: bold;
  line-height: 1;
  position: absolute;
  text-align: center;
  width: 100%;
}

.open .navToggle {
  display: block;
  z-index: 1;
}

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

@media screen and (max-width: 1023px) {
  .navToggle,
  .navterms {
    display: block;
  }
  .overlay {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    display: none;
    height: 100%;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    width: 100%;
  }
  .open .overlay {
    display: block !important;
  }
}

.clearfix:after {
  clear: both;
  content: ".";
  display: block;
  font-size: 0;
  height: 0;
  visibility: hidden;
}

.codeHide {
  bottom: 0;
  position: absolute;
}

.back_top {
  display: none;
}
