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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sub {
  bottom: -.25em;
}

sup {
  top: -.5em;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

html {
  font-size: 62.5%;
}

body {
  background: #f2f4e9;
  color: #07263d;
  font-family: "Noto Serif JP", serif;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1;
}

.container p, .contact p, .contactFix .pc p, .section p, .trouble p, .trb_trashh2 p, .merit p, .reason p, .voice p, .flow p, .area p, .entry p, .cando p, .footer p, .header .service p {
  font-family: "小塚ゴシック Pro","Kozuka Gothic Pro",sans-serif;
}

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

h1 b,
h2 b,
h3 b,
h4 b,
h5 b,
h6 b {
  color: #8e1b88;
}

h2 {
  margin-bottom: 30px;
}

ul,
ol {
  list-style: none;
}

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

a:hover {
  text-decoration: none;
}

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

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

p {
  line-height: 2;
}

p strong {
  padding: 5px 0;
}

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

@media screen and (min-width: 769px) {
  h2 {
    font-size: 50px;
    font-size: 5rem;
  }
  h2 b {
    font-size: 80px;
    font-size: 8rem;
  }
  h2 span {
    font-size: 32px;
    font-size: 3.2rem;
  }
  h3 {
    font-size: 32px;
    font-size: 3.2rem;
    margin-bottom: 20px;
  }
  .SP_only {
    display: none;
  }
  .PC_only {
    display: block;
  }
}

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

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

.button, .contact .form a {
  align-items: center;
  background: linear-gradient(to bottom, #ff4493, #ce0057);
  border-radius: 10px;
  box-shadow: 0 8px 0 #7a0808;
  color: #fff;
  display: flex;
  justify-content: center;
  text-decoration: none;
  text-shadow: 2px 2px 0 #7a0808;
}

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

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

.contact:before, .contact:after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
}

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

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

.contact h2 b {
  display: block;
}

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

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

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

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

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

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

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

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

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

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

.contactFix a {
  text-decoration: none;
}

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

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

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

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

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

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

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

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

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

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

@media screen and (min-width: 769px) {
  .button, .contact .form a {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .button b, .contact .form a b {
    font-size: 32px;
    font-size: 3.2rem;
  }
  .contact {
    padding-top: 40px !important;
  }
  .contact:before {
    height: 150px;
    right: 220px;
    top: 20px;
    width: 150px;
  }
  .contact:after {
    height: 323px;
    right: 20px;
    top: 0;
    width: 224px;
  }
  .contact h2 {
    font-size: 32px;
    font-size: 3.2rem;
  }
  .contact h2 b {
    font-size: 50px;
    font-size: 5rem;
    margin-top: 20px;
  }
  .contact .content, .contact .header .service li, .header .service .contact li, .contact .trouble ul li, .trouble ul .contact li, .contact .merit li, .merit .contact li, .contact .voice li, .voice .contact li, .contact .flow ol, .flow .contact ol, .contact .area ul, .area .contact ul, .contact .entry .form, .entry .contact .form, .contact .cando ul, .cando .contact ul {
    display: flex;
    justify-content: space-between;
    padding: 30px;
    position: relative;
  }
  .contact .content:after, .contact .header .service li:after, .header .service .contact li:after, .contact .trouble ul li:after, .trouble ul .contact li:after, .contact .merit li:after, .merit .contact li:after, .contact .voice li:after, .voice .contact li:after, .contact .flow ol:after, .flow .contact ol:after, .contact .area ul:after, .area .contact ul:after, .contact .entry .form:after, .entry .contact .form:after, .contact .cando ul:after, .cando .contact ul:after {
    background: #8e1b88;
    content: "";
    display: block;
    height: calc(100% - 60px);
    left: 50%;
    margin-left: -1px;
    position: absolute;
    top: 30px;
    width: 2px;
  }
  .contact .form,
  .contact .tel {
    width: calc(50% - 30px);
  }
  .contact .form a {
    height: 80px;
  }
  .contact .tel a {
    color: #8e1b88;
    font-size: 50px;
    font-size: 5rem;
  }
  .contact .tel p {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1;
    margin-top: 10px;
  }
  .contactFix {
    padding: 20px;
  }
  .contactFix .sp {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .contact {
    padding-top: 20px !important;
  }
  .contact:before {
    height: 15vw;
    right: 20vw;
    width: 15vw;
  }
  .contact:after {
    height: 20vw;
    right: 20px;
    top: 3vh;
    width: 20vw;
  }
  .contact h2 {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .contact h2 b {
    font-size: 5vw;
    margin-top: 10px;
  }
  .contact .content, .contact .header .service li, .header .service .contact li, .contact .trouble ul li, .trouble ul .contact li, .contact .merit li, .merit .contact li, .contact .voice li, .voice .contact li, .contact .flow ol, .flow .contact ol, .contact .area ul, .area .contact ul, .contact .entry .form, .entry .contact .form, .contact .cando ul, .cando .contact ul {
    padding: 20px;
  }
  .contact .form {
    border-bottom: solid 1px #8e1b88;
    margin-bottom: 30px;
    padding-bottom: 38px;
  }
  .contact .form a {
    padding: 20px 0;
  }
  .contact .form a b {
    font-size: 26px;
    font-size: 2.6rem;
  }
  .contact .tel a {
    background: #8e1b88;
    border-radius: 10px;
    color: #fff;
    display: block;
    font-size: 26px;
    font-size: 2.6rem;
    margin: 0 auto;
    max-width: 440px;
    padding: 10px 0;
  }
  .contact .terms a {
    background: none;
    color: #000;
    font-size: 16px;
    padding: 0;
    text-decoration: underline;
  }
  .contactFix .pc {
    display: none;
  }
  .contactFix .sp {
    padding: 10px 20px 18px;
  }
  .contactFix .sp a {
    padding: 20px 0;
  }
  .contactFix .sp b {
    font-size: 26px;
    font-size: 2.6rem;
    padding-bottom: 7px;
  }
  .button b, .contact .form a b {
    font-size: 18px;
    font-size: 1.8rem;
    padding-bottom: 4px;
  }
}

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

@media screen and (min-width: 769px) {
  .section, .trouble, .trb_trashh2, .merit, .reason, .voice, .flow, .area, .entry, .cando, .footer {
    margin-top: 100px !important;
  }
  .header {
    box-sizing: border-box;
  }
  .header .inner {
    height: 726px;
    padding-top: 123px;
  }
  .header .inner .points_FV_tablet {
    display: none;
  }
  .header .inner .container:after, .header .inner .contact:after, .header .inner .contactFix .pc:after, .contactFix .header .inner .pc:after, .header .inner .section:after, .header .inner .trouble:after, .header .inner .trb_trashh2:after, .header .inner .merit:after, .header .inner .reason:after, .header .inner .voice:after, .header .inner .flow:after, .header .inner .area:after, .header .inner .entry:after, .header .inner .cando:after, .header .inner .footer:after, .header .inner .service:after {
    background-position: center bottom;
    background-size: contain;
    bottom: 0;
    height: 544px;
    right: 16%;
    width: 33%;
  }
  .header .catch-copy {
    font-size: 32px;
    font-size: 3.2rem;
    margin: auto auto 30px;
    margin-bottom: 30px;
    max-width: 820px;
    text-align: center;
  }
  .header .catch-copy b {
    font-size: 50px;
    font-size: 5rem;
  }
  .header .catch-copy span.title2 img {
    left: 0;
    margin: 5px 0 10px 0;
    position: relative;
    z-index: 2;
  }
  .header .points_FV {
    left: -28px;
    margin: 20px auto;
    position: relative;
    width: 57%;
    z-index: 2;
  }
  .header .point-inner {
    display: flex;
    justify-content: center;
    position: absolute;
    top: 620px;
    width: 100%;
  }
  .header p {
    font-weight: bold;
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.8;
  }
  .header p strong {
    font-weight: unset;
  }
  .header .note {
    font-size: 15px;
    font-weight: normal;
    line-height: 1.2;
    margin: 7px auto -7px auto;
    position: relative;
    text-shadow: #fff 1px 0 0, #fff 0 1px 0, #fff -1px 0 0, #fff 0 -1px 0;
    z-index: 3;
  }
  .header .point {
    margin-top: 30px !important;
  }
  .header .service {
    margin-top: 120px !important;
  }
  .header .service li {
    width: calc((100% - 60px) / 4);
  }
  .header .concierge {
    right: -40px;
  }
  .pageNav {
    top: 40px;
  }
  .pageNav .content, .pageNav .header .service li, .header .service .pageNav li, .pageNav .trouble ul li, .trouble ul .pageNav li, .pageNav .merit li, .merit .pageNav li, .pageNav .voice li, .voice .pageNav li, .pageNav .flow ol, .flow .pageNav ol, .pageNav .area ul, .area .pageNav ul, .pageNav .entry .form, .entry .pageNav .form, .pageNav .cando ul, .cando .pageNav ul {
    border-radius: 35px;
    height: 70px;
    padding: 0 20px;
    width: 1000px;
  }
  .pageNav .logo img {
    height: 40px;
    margin-top: -10px;
    width: auto;
  }
  .pageNav ul {
    display: flex;
  }
  .pageNav li a {
    padding: 0 10px;
  }
  .pageNav .sp,
  .pageNav .call,
  .pageNav .navToggle {
    display: none;
  }
  .trouble h2:before {
    height: 89px;
    left: 80px;
    top: 3px;
    width: 125px;
  }
  .trouble h2:after {
    height: 50px;
    right: 71px;
    width: 99px;
  }
  .trouble li {
    width: calc((100% - 20px) / 2);
  }
  .merit li {
    padding: 60px 30px;
    width: calc((100% - 40px) / 3);
  }
  .reason .content, .reason .header .service li, .header .service .reason li, .reason .trouble ul li, .trouble ul .reason li, .reason .merit li, .merit .reason li, .reason .voice li, .voice .reason li, .reason .flow ol, .flow .reason ol, .reason .area ul, .area .reason ul, .reason .entry .form, .entry .reason .form, .reason .cando ul, .cando .reason ul {
    padding: 60px 30px;
  }
  .reason .content h3, .reason .header .service li h3, .header .service .reason li h3, .reason .trouble ul li h3, .trouble ul .reason li h3, .reason .merit li h3, .merit .reason li h3, .reason .voice li h3, .voice .reason li h3, .reason .flow ol h3, .flow .reason ol h3, .reason .area ul h3, .area .reason ul h3, .reason .entry .form h3, .entry .reason .form h3, .reason .cando ul h3, .cando .reason ul h3 {
    font-size: 32px;
    font-size: 3.2rem;
  }
  .reason .content h3 span, .reason .header .service li h3 span, .header .service .reason li h3 span, .reason .trouble ul li h3 span, .trouble ul .reason li h3 span, .reason .merit li h3 span, .merit .reason li h3 span, .reason .voice li h3 span, .voice .reason li h3 span, .reason .flow ol h3 span, .flow .reason ol h3 span, .reason .area ul h3 span, .area .reason ul h3 span, .reason .entry .form h3 span, .entry .reason .form h3 span, .reason .cando ul h3 span, .cando .reason ul h3 span {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .reason .content h3 span b, .reason .header .service li h3 span b, .header .service .reason li h3 span b, .reason .trouble ul li h3 span b, .trouble ul .reason li h3 span b, .reason .merit li h3 span b, .merit .reason li h3 span b, .reason .voice li h3 span b, .voice .reason li h3 span b, .reason .flow ol h3 span b, .flow .reason ol h3 span b, .reason .area ul h3 span b, .area .reason ul h3 span b, .reason .entry .form h3 span b, .entry .reason .form h3 span b, .reason .cando ul h3 span b, .cando .reason ul h3 span b {
    font-size: 32px;
    font-size: 3.2rem;
  }
  .reason .content h3 > b, .reason .header .service li h3 > b, .header .service .reason li h3 > b, .reason .trouble ul li h3 > b, .trouble ul .reason li h3 > b, .reason .merit li h3 > b, .merit .reason li h3 > b, .reason .voice li h3 > b, .voice .reason li h3 > b, .reason .flow ol h3 > b, .flow .reason ol h3 > b, .reason .area ul h3 > b, .area .reason ul h3 > b, .reason .entry .form h3 > b, .entry .reason .form h3 > b, .reason .cando ul h3 > b, .cando .reason ul h3 > b {
    font-size: 50px;
    font-size: 5rem;
  }
  .reason .content p, .reason .header .service li p, .header .service .reason li p, .reason .trouble ul li p, .trouble ul .reason li p, .reason .merit li p, .merit .reason li p, .reason .voice li p, .voice .reason li p, .reason .flow ol p, .flow .reason ol p, .reason .area ul p, .area .reason ul p, .reason .entry .form p, .entry .reason .form p, .reason .cando ul p, .cando .reason ul p {
    font-size: 32px;
    font-size: 3.2rem;
  }
  .reason .content p span, .reason .header .service li p span, .header .service .reason li p span, .reason .trouble ul li p span, .trouble ul .reason li p span, .reason .merit li p span, .merit .reason li p span, .reason .voice li p span, .voice .reason li p span, .reason .flow ol p span, .flow .reason ol p span, .reason .area ul p span, .area .reason ul p span, .reason .entry .form p span, .entry .reason .form p span, .reason .cando ul p span, .cando .reason ul p span {
    font-size: 50px;
    font-size: 5rem;
  }
  .reason .content p br, .reason .header .service li p br, .header .service .reason li p br, .reason .trouble ul li p br, .trouble ul .reason li p br, .reason .merit li p br, .merit .reason li p br, .reason .voice li p br, .voice .reason li p br, .reason .flow ol p br, .flow .reason ol p br, .reason .area ul p br, .area .reason ul p br, .reason .entry .form p br, .entry .reason .form p br, .reason .cando ul p br, .cando .reason ul p br {
    display: none;
  }
  .reason .content:nth-child(2):before, .reason .header .service li:nth-child(2):before, .header .service .reason li:nth-child(2):before, .reason .trouble ul li:nth-child(2):before, .trouble ul .reason li:nth-child(2):before, .reason .merit li:nth-child(2):before, .merit .reason li:nth-child(2):before, .reason .voice li:nth-child(2):before, .voice .reason li:nth-child(2):before, .reason .flow ol:nth-child(2):before, .flow .reason ol:nth-child(2):before, .reason .area ul:nth-child(2):before, .area .reason ul:nth-child(2):before, .reason .entry .form:nth-child(2):before, .entry .reason .form:nth-child(2):before, .reason .cando ul:nth-child(2):before, .cando .reason ul:nth-child(2):before {
    height: 265px;
    right: 7.5vw;
    top: -230px;
    width: 248px;
  }
  .reason .content:nth-child(2) .tanka, .reason .header .service li:nth-child(2) .tanka, .header .service .reason li:nth-child(2) .tanka, .reason .trouble ul li:nth-child(2) .tanka, .trouble ul .reason li:nth-child(2) .tanka, .reason .merit li:nth-child(2) .tanka, .merit .reason li:nth-child(2) .tanka, .reason .voice li:nth-child(2) .tanka, .voice .reason li:nth-child(2) .tanka, .reason .flow ol:nth-child(2) .tanka, .flow .reason ol:nth-child(2) .tanka, .reason .area ul:nth-child(2) .tanka, .area .reason ul:nth-child(2) .tanka, .reason .entry .form:nth-child(2) .tanka, .entry .reason .form:nth-child(2) .tanka, .reason .cando ul:nth-child(2) .tanka, .cando .reason ul:nth-child(2) .tanka {
    display: block;
    margin-top: 15px;
    text-align: right;
  }
  .reason .comment {
    margin-bottom: 60px;
  }
  .reason .comment:after {
    height: 224px;
    width: 194px;
  }
  .reason .comment .inner {
    padding: 27px;
    width: calc(100% - 224px);
  }
  .reason .comment h4 {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .reason .comment h4 b {
    font-size: 32px;
    font-size: 3.2rem;
  }
  .voice h2 span:nth-child(1) {
    font-size: 50px;
    font-size: 5rem;
    margin-bottom: 20px;
  }
  .voice h2 span:nth-child(1) b {
    font-size: 50px;
    font-size: 5rem;
  }
  .voice h2 span:nth-child(2) {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .voice li {
    margin-bottom: 30px;
    padding: 30px;
  }
  .voice h3 {
    font-size: 32px;
    font-size: 3.2rem;
    margin: -30px -30px 30px;
    padding: 20px 30px;
    width: calc(100% + 60px);
  }
  .voice h3 span:nth-child(1) {
    border-radius: 23px;
    height: 46px;
    font-size: 22px;
    font-size: 2.2rem;
    margin-right: 30px;
    width: 140px;
  }
  .voice .comment {
    width: calc(100% - 170px);
  }
  .voice .score {
    bottom: 0;
    left: 0;
    position: absolute;
  }
  .flow h2 {
    text-align: center;
  }
  .flow h2 span {
    border-radius: 23px;
    height: 46px;
    margin: 0 auto;
    width: 232px;
  }
  .flow ol {
    padding: 60px 30px;
  }
  .flow ol:before {
    background: url(/img/fuyohin/ihin2/concierge5.webp) no-repeat top right;
    height: 313px;
    right: 7.5vw;
    top: -230px;
    width: 228px;
    z-index: 1;
  }
  .flow li {
    padding-left: 80px;
  }
  .flow li:before {
    height: 50px;
    font-size: 32px;
    font-size: 3.2rem;
    padding-bottom: 3px;
    width: 50px;
  }
  .flow div {
    width: calc((100% - 30px) / 3 * 2);
  }
  .flow h3 {
    padding-top: 10px;
  }
  .flow h3 span {
    font-size: 22px;
    font-size: 2.2rem;
    margin-bottom: 10px;
  }
  .flow figure {
    width: calc((100% - 30px) / 3);
  }
  .area .clearfix {
    background: #fff;
    border-radius: 10px;
    display: flex;
    padding: 30px;
    position: relative;
  }
  .area .clearfix ul {
    display: block;
    padding: 10px;
    width: calc(100% / 6);
  }
  .area .clearfix ul li {
    margin-bottom: 10px;
    text-align: center;
    width: 100%;
  }
  .area .clearfix ul li.category {
    color: #a468a9;
    margin-bottom: 20px;
  }
  .area .clearfix ul li.category br {
    display: none;
  }
  .area .clearfix ul li.note {
    bottom: 10px;
    font-size: 15px;
    left: 30px;
    position: absolute;
    text-align: left;
  }
  .entry h2 {
    max-width: 10em;
  }
  .entry .form {
    padding: 60px 30px;
  }
  .entry .form:before {
    background: url(/img/fuyohin/ihin2/concierge6.webp) no-repeat top right;
    height: 345px;
    right: 7.5vw;
    top: -230px;
    width: 234px;
  }
  .entry .note {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .entry ul > li {
    margin-bottom: 20px;
  }
  .entry .service li {
    width: calc((100% - 50px) / 3);
  }
  .entry .service label {
    font-size: 22px;
    font-size: 2.2rem;
    padding: 20px 0;
  }
  .entry .service label span {
    margin-top: 10px;
  }
  .cando li {
    display: flex;
    justify-content: space-between;
    width: 100%;
  }
  .cando li:first-of-type div.picture {
    border-top-left-radius: 10px;
  }
  .cando li:last-of-type div.picture {
    border-bottom-left-radius: 10px;
  }
  .cando li div.article {
    padding: 16px 20px;
  }
  .cando li div.article h3 {
    text-align: left;
  }
  .cando li div.picture {
    min-width: 38%;
    padding: 20px;
    width: 38%;
  }
  .footer .nav {
    margin-bottom: 60px;
  }
  .footer ul {
    justify-content: center;
  }
  .footer li {
    margin: 5px 20px;
  }
  .button, .contact .form a {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    padding: 10px 10px 5px 10px;
  }
  .button #canppic, .contact .form a #canppic {
    /*キャンペーンじゃない*/
    display: none;
    width: calc(25% - 10px);
  }
  .button #canppic img, .contact .form a #canppic img {
    width: 100%;
  }
  .button #text, .contact .form a #text {
    /*キャンペーンじゃないfont-size: .7em;*/
    margin: 0 auto;
    width: calc(70% -10px);
  }
  .button #text b, .contact .form a #text b {
    font-size: 3.0rem;
  }
  .button #counttimer, .contact .form a #counttimer {
    /*キャンペーンじゃない*/
    display: none;
    font-size: .9em;
    text-align: center;
    width: 100%;
  }
  .form .button, .contact .form a {
    padding: 5px 10px;
  }
}

@media screen and (max-width: 1024px) and (min-width: 769px) {
  .header .points_FV,
  .header .concierge {
    display: none;
  }
  .header .points_FV_tablet {
    bottom: -5px;
    display: block !important;
    position: absolute;
    right: 0;
    width: 95%;
  }
  .header .point-inner .point {
    max-width: auto !important;
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .section, .trouble, .trb_trashh2, .merit, .reason, .voice, .flow, .area, .entry, .cando, .footer {
    margin-top: 50px !important;
  }
  h1 {
    font-size: 8px !important;
    margin-top: 50px;
  }
  .header .catch-copy {
    margin: auto;
    margin-bottom: 40px;
  }
  .header .catch-copy img {
    left: 0 !important;
  }
  .header .inner {
    border-bottom: none;
    padding-top: 40px;
  }
  .header .inner .container:after, .header .inner .contact:after, .header .inner .contactFix .pc:after, .contactFix .header .inner .pc:after, .header .inner .section:after, .header .inner .trouble:after, .header .inner .trb_trashh2:after, .header .inner .merit:after, .header .inner .reason:after, .header .inner .voice:after, .header .inner .flow:after, .header .inner .area:after, .header .inner .entry:after, .header .inner .cando:after, .header .inner .footer:after, .header .inner .service:after {
    background-position: left top;
    bottom: 0;
    height: 80%;
    right: 0;
    width: calc(100% / 3);
  }
  .header .point {
    margin-top: 3vh !important;
  }
  .header .service {
    margin-top: 3vh !important;
  }
  .header .service li {
    margin-bottom: 10px;
    width: calc((100% - 30px) / 4);
  }
  .header .service li figcaption {
    font-size: 15px !important;
  }
  .header p:not(.note) {
    max-width: 75%;
    text-align: left;
  }
  .header p.note {
    font-size: 12px;
    line-height: 1.2;
    margin-top: 3vh;
    position: relative;
    text-align: left;
    text-shadow: #fff 1px 0 0, #fff 0 1px 0, #fff -1px 0 0, #fff 0 -1px 0;
    width: 100%;
    z-index: 3;
  }
  .pageNav {
    top: 0;
  }
  .pageNav .content, .pageNav .header .service li, .header .service .pageNav li, .pageNav .trouble ul li, .trouble ul .pageNav li, .pageNav .merit li, .merit .pageNav li, .pageNav .voice li, .voice .pageNav li, .pageNav .flow ol, .flow .pageNav ol, .pageNav .area ul, .area .pageNav ul, .pageNav .entry .form, .entry .pageNav .form, .pageNav .cando ul, .cando .pageNav ul {
    border-radius: 0;
    height: 50px;
    padding: 0 10px;
    width: 100%;
  }
  .pageNav .content > .call, .pageNav .header .service li > .call, .header .service .pageNav li > .call, .pageNav .trouble ul li > .call, .trouble ul .pageNav li > .call, .pageNav .merit li > .call, .merit .pageNav li > .call, .pageNav .voice li > .call, .voice .pageNav li > .call, .pageNav .flow ol > .call, .flow .pageNav ol > .call, .pageNav .area ul > .call, .area .pageNav ul > .call, .pageNav .entry .form > .call, .entry .pageNav .form > .call, .pageNav .cando ul > .call, .cando .pageNav ul > .call {
    align-items: center;
    display: flex;
    height: 50px;
    position: fixed;
    right: 100px;
    top: 0;
  }
  .pageNav .content > .call a, .pageNav .header .service li > .call a, .header .service .pageNav li > .call a, .pageNav .trouble ul li > .call a, .trouble ul .pageNav li > .call a, .pageNav .merit li > .call a, .merit .pageNav li > .call a, .pageNav .voice li > .call a, .voice .pageNav li > .call a, .pageNav .flow ol > .call a, .flow .pageNav ol > .call a, .pageNav .area ul > .call a, .area .pageNav ul > .call a, .pageNav .entry .form > .call a, .entry .pageNav .form > .call a, .pageNav .cando ul > .call a, .cando .pageNav ul > .call a {
    width: 50px;
  }
  .pageNav .content > .call p, .pageNav .header .service li > .call p, .header .service .pageNav li > .call p, .pageNav .trouble ul li > .call p, .trouble ul .pageNav li > .call p, .pageNav .merit li > .call p, .merit .pageNav li > .call p, .pageNav .voice li > .call p, .voice .pageNav li > .call p, .pageNav .flow ol > .call p, .flow .pageNav ol > .call p, .pageNav .area ul > .call p, .area .pageNav ul > .call p, .pageNav .entry .form > .call p, .entry .pageNav .form > .call p, .pageNav .cando ul > .call p, .cando .pageNav ul > .call p {
    background: #f6eff6;
    border-radius: 5px;
    font-size: 12px;
    font-weight: bold;
    font-weight: bold;
    line-height: 1;
    margin-right: 5px;
    padding: 5px 15px 5px 5px;
    position: relative;
  }
  .pageNav .content > .call p:after, .pageNav .header .service li > .call p:after, .header .service .pageNav li > .call p:after, .pageNav .trouble ul li > .call p:after, .trouble ul .pageNav li > .call p:after, .pageNav .merit li > .call p:after, .merit .pageNav li > .call p:after, .pageNav .voice li > .call p:after, .voice .pageNav li > .call p:after, .pageNav .flow ol > .call p:after, .flow .pageNav ol > .call p:after, .pageNav .area ul > .call p:after, .area .pageNav ul > .call p:after, .pageNav .entry .form > .call p:after, .entry .pageNav .form > .call p:after, .pageNav .cando ul > .call p:after, .cando .pageNav ul > .call p:after {
    background: url(../../img/right.webp) no-repeat;
    background-size: cover;
    content: "";
    display: inline-block;
    height: 10px;
    position: absolute;
    right: 3px;
    top: 11px;
    width: 8px;
  }
  .pageNav .content > .call b, .pageNav .header .service li > .call b, .header .service .pageNav li > .call b, .pageNav .trouble ul li > .call b, .trouble ul .pageNav li > .call b, .pageNav .merit li > .call b, .merit .pageNav li > .call b, .pageNav .voice li > .call b, .voice .pageNav li > .call b, .pageNav .flow ol > .call b, .flow .pageNav ol > .call b, .pageNav .area ul > .call b, .area .pageNav ul > .call b, .pageNav .entry .form > .call b, .entry .pageNav .form > .call b, .pageNav .cando ul > .call b, .cando .pageNav ul > .call b {
    color: #8e1b88;
  }
  .pageNav .logo img {
    height: 25px;
  }
  .pageNav ul {
    display: none;
  }
  .pageNav .call a {
    align-items: center;
    background: #8e1b88;
    display: flex;
    height: 100%;
    width: 100%;
  }
  .pageNav .call img {
    height: 30px;
    width: 30px;
  }
  .pageNav .navterms {
    background: #fedb3c;
    height: 50px;
    position: fixed;
    right: 50px;
    top: 0;
    width: 50px;
  }
  .pageNav .navterms p {
    color: #000;
    font-size: 15px;
    line-height: 1;
    width: 3rem;
  }
  .pageNav .navToggle {
    background: #ce0057;
    cursor: pointer;
    display: block;
    height: 50px;
    position: fixed;
    right: 0;
    top: 0;
    width: 50px;
    z-index: 1;
  }
  .pageNav .navToggle span {
    background: #fff;
    display: block;
    height: 3px;
    left: 10px;
    position: absolute;
    transition: .35s ease-in-out;
    width: 30px;
  }
  .pageNav .navToggle span:nth-child(1) {
    top: 10px;
  }
  .pageNav .navToggle span:nth-child(2) {
    top: 17px;
  }
  .pageNav .navToggle span:nth-child(3) {
    top: 24px;
  }
  .pageNav .navToggle div {
    bottom: 5px;
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    line-height: 1;
    position: absolute;
    text-align: center;
    width: 100%;
  }
  .open .pageNav a {
    border-radius: 10px;
    display: block;
    padding: 10px 0;
  }
  .open .pageNav .button b, .open .pageNav .contact .form a b, .contact .form .open .pageNav a b {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .open .pageNav ul {
    background: #fff;
    display: block;
    height: 100vh;
    left: 0;
    padding: 30px 20px 20px;
    position: fixed;
    text-align: center;
    top: 0;
    width: 100vw;
    z-index: 1;
  }
  .open .pageNav ul li.menuL.menuList1 {
    display: inline-block;
    width: 49%;
  }
  .open .pageNav ul .menuList2.sp,
  .open .pageNav ul .menuList3.sp,
  .open .pageNav ul .menuList4.sp {
    display: inline-block;
    padding: 0;
    position: unset !important;
    width: 49%;
  }
  .open .pageNav ul .menuList2.sp.fir:before,
  .open .pageNav ul .menuList3.sp.fir:before,
  .open .pageNav ul .menuList4.sp.fir:before {
    border-top: 1px dotted #ccc;
    content: "";
    display: inline-block;
    margin-top: 0 !important;
    position: relative;
    top: -5px;
    width: 200%;
  }
  .open .pageNav ul .menuList2.sp a,
  .open .pageNav ul .menuList3.sp a,
  .open .pageNav ul .menuList4.sp a {
    color: #000;
  }
  .open .content > .call, .open .header .service li > .call, .header .service .open li > .call, .open .trouble ul li > .call, .trouble ul .open li > .call, .open .merit li > .call, .merit .open li > .call, .open .voice li > .call, .voice .open li > .call, .open .flow ol > .call, .flow .open ol > .call, .open .area ul > .call, .area .open ul > .call, .open .entry .form > .call, .entry .open .form > .call, .open .cando ul > .call, .cando .open ul > .call {
    display: none;
  }
  .open .sp {
    bottom: 0;
    box-sizing: border-box;
    display: block;
    left: 0;
    padding: 0 20px 20px;
    position: fixed;
    width: 100%;
  }
  .open .sp a {
    color: #fff;
  }
  .open .sp .call {
    margin: 20px 0;
  }
  .open .sp img {
    display: none;
  }
  .open .sp .terms p {
    color: #000;
    margin-top: 20px;
    text-decoration: underline;
  }
  .open .navToggle span:nth-child(1) {
    top: 20px;
    transform: rotate(315deg);
  }
  .open .navToggle span:nth-child(2) {
    left: 50%;
    width: 0;
  }
  .open .navToggle span:nth-child(3) {
    top: 20px;
    transform: rotate(-315deg);
  }
  .trouble h2:before {
    height: 10vh;
    left: 0;
    top: -26px;
    width: 17vw;
  }
  .trouble h2:after {
    height: 27px;
    right: 0;
    width: 15vw;
  }
  .trouble li {
    width: calc((100% - 10px) / 2);
  }
  .merit h2 {
    background-size: contain !important;
    margin: 0 20px 30px;
  }
  .merit li {
    padding: 30px 20px;
    width: calc((100% - 20px) / 2);
  }
  .reason .content, .reason .header .service li, .header .service .reason li, .reason .trouble ul li, .trouble ul .reason li, .reason .merit li, .merit .reason li, .reason .voice li, .voice .reason li, .reason .flow ol, .flow .reason ol, .reason .area ul, .area .reason ul, .reason .entry .form, .entry .reason .form, .reason .cando ul, .cando .reason ul {
    padding: 30px 20px;
  }
  .reason .content h3 span, .reason .header .service li h3 span, .header .service .reason li h3 span, .reason .trouble ul li h3 span, .trouble ul .reason li h3 span, .reason .merit li h3 span, .merit .reason li h3 span, .reason .voice li h3 span, .voice .reason li h3 span, .reason .flow ol h3 span, .flow .reason ol h3 span, .reason .area ul h3 span, .area .reason ul h3 span, .reason .entry .form h3 span, .entry .reason .form h3 span, .reason .cando ul h3 span, .cando .reason ul h3 span {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .reason .content p, .reason .header .service li p, .header .service .reason li p, .reason .trouble ul li p, .trouble ul .reason li p, .reason .merit li p, .merit .reason li p, .reason .voice li p, .voice .reason li p, .reason .flow ol p, .flow .reason ol p, .reason .area ul p, .area .reason ul p, .reason .entry .form p, .entry .reason .form p, .reason .cando ul p, .cando .reason ul p {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .reason .content p span, .reason .header .service li p span, .header .service .reason li p span, .reason .trouble ul li p span, .trouble ul .reason li p span, .reason .merit li p span, .merit .reason li p span, .reason .voice li p span, .voice .reason li p span, .reason .flow ol p span, .flow .reason ol p span, .reason .area ul p span, .area .reason ul p span, .reason .entry .form p span, .entry .reason .form p span, .reason .cando ul p span, .cando .reason ul p span {
    font-size: 32px;
    font-size: 3.2rem;
  }
  .reason .comment {
    margin-bottom: 30px;
  }
  .reason .comment:after {
    background-repeat: no-repeat !important;
    background-size: contain !important;
    width: 25vw;
  }
  .reason .comment .inner {
    padding: 17px;
    width: 75vw;
  }
  .reason .comment .inner:before {
    right: -20px;
    top: 50px;
  }
  .reason .comment .inner:after {
    right: -14.5px;
    top: 50px;
  }
  .reason .comment h4 b {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .voice h2 span:nth-child(1) {
    font-size: 6.5vw;
    margin-bottom: 10px;
  }
  .voice h2 span:nth-child(1) b {
    font-size: 6.5vw;
  }
  .voice h2 span:nth-child(2) {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .voice li {
    margin-bottom: 20px;
    padding: 20px;
  }
  .voice h3 {
    margin: -20px -20px 20px;
    padding: 20px;
    width: calc(100% + 40px);
  }
  .voice h3 span:nth-child(1) {
    border-radius: 13px;
    height: 26px;
    font-size: 18px;
    font-size: 1.8rem;
    margin-right: 20px;
    width: 140px;
  }
  .voice .comment {
    width: calc(100% - 160px);
  }
  .flow h2 span {
    border-radius: 20px;
    height: 40px;
    font-size: 22px;
    font-size: 2.2rem;
    max-width: 180px;
  }
  .flow ol {
    padding: 30px 20px;
  }
  .flow ol:before {
    background: url(/img/fuyohin/ihin2/concierge5-sp.webp) no-repeat top right;
    height: 30vh;
    right: 0;
    top: -20vh;
    width: calc(100% / 3);
    z-index: -1;
  }
  .flow li {
    padding-left: 40px;
  }
  .flow li:before {
    height: 30px;
    font-size: 22px;
    font-size: 2.2rem;
    padding-bottom: 3px;
    width: 30px;
  }
  .area .clearfix {
    background: #fff;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    padding: 20px;
    position: relative;
  }
  .area .clearfix ul {
    display: block;
    margin-bottom: 10px;
    padding-left: 4em;
    position: relative;
  }
  .area .clearfix ul li {
    display: inline-block;
    margin-bottom: 5px;
    padding-left: 5px;
    width: 5em;
  }
  .area .clearfix ul li.category {
    color: #a468a9;
    left: 0;
    margin-bottom: 20px;
    padding-left: 0;
    position: absolute;
    text-align: left;
    width: 4em;
  }
  .area .clearfix ul li.category span {
    display: none;
  }
  .area .clearfix ul li.note {
    bottom: -23px;
    font-size: 13px;
    left: 0;
    padding-left: 0;
    position: absolute;
    text-align: left;
    width: auto;
  }
  .entry > h2 {
    max-width: 70%;
  }
  .entry .form {
    padding: 30px 20px;
  }
  .entry .form:before {
    background: url(/img/fuyohin/ihin2/concierge6-sp.webp) no-repeat top right;
    height: 30vh;
    right: 0;
    top: -20vh;
    width: calc(100% / 3);
    z-index: -1;
  }
  .entry .form .IE_note {
    display: none;
  }
  .entry ul > li {
    margin-bottom: 10px;
  }
  .entry .service li {
    width: calc((100% - 20px) / 3);
  }
  .entry .service label {
    padding: 10px 0;
  }
  .cando h2 {
    background-size: contain !important;
    margin: 0 20px 30px;
  }
  .cando li {
    display: flex;
    justify-content: space-between;
    width: 100%;
  }
  .cando li:first-of-type div.picture {
    border-top-left-radius: 10px;
  }
  .cando li:last-of-type div.picture {
    border-bottom-left-radius: 10px;
  }
  .cando li div.article {
    padding: 16px 20px;
  }
  .cando li div.article h3 {
    text-align: left;
  }
  .cando li div.picture {
    min-width: 38%;
    padding: 20px;
    width: 38%;
  }
  .footer .nav {
    margin-bottom: 60px;
  }
  .footer li {
    margin-bottom: 20px;
    width: calc(100% / 3);
  }
  #canppic {
    display: none;
  }
  #demo {
    display: none;
  }
}

@media screen and (max-width: 540px) and (min-width: 415px) {
  .header .inner {
    height: 125vw !important;
  }
}

@media screen and (max-width: 320px) {
  .header .inner {
    height: 135vw !important;
  }
  .header p:not(.note) {
    max-width: 87%;
  }
  .header .note {
    font-size: 12px;
  }
}

@media screen and (max-width: 414px) {
  .header p {
    line-height: 1.8;
    position: relative;
    text-shadow: #fff 1px 0 0, #fff 0 1px 0, #fff -1px 0 0, #fff 0 -1px 0;
    width: 90%;
    z-index: 4;
  }
  .header p strong {
    font-style: normal;
  }
  .header .catch-copy {
    margin-bottom: 3vh;
  }
  .header .inner {
    padding-top: 0;
  }
  .header .inner .container:after, .header .inner .contact:after, .header .inner .contactFix .pc:after, .contactFix .header .inner .pc:after, .header .inner .section:after, .header .inner .trouble:after, .header .inner .trb_trashh2:after, .header .inner .merit:after, .header .inner .reason:after, .header .inner .voice:after, .header .inner .flow:after, .header .inner .area:after, .header .inner .entry:after, .header .inner .cando:after, .header .inner .footer:after, .header .inner .service:after {
    height: 80%;
    width: 45%;
  }
  .header .service li {
    width: calc((100% - 10px) / 2);
  }
  .header p.note {
    font-size: 1.2rem;
  }
  .trouble h2 b {
    font-size: 7vw;
    margin-bottom: 5px !important;
    margin-top: 5px;
    top: 0 !important;
  }
  .trouble li {
    width: 100%;
  }
  .merit li {
    padding: 20px;
    width: 100%;
  }
  .reason .content p, .reason .header .service li p, .header .service .reason li p, .reason .trouble ul li p, .trouble ul .reason li p, .reason .merit li p, .merit .reason li p, .reason .voice li p, .voice .reason li p, .reason .flow ol p, .flow .reason ol p, .reason .area ul p, .area .reason ul p, .reason .entry .form p, .entry .reason .form p, .reason .cando ul p, .cando .reason ul p {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.2;
    padding: 10px 0;
  }
  .reason .content p span, .reason .header .service li p span, .header .service .reason li p span, .reason .trouble ul li p span, .trouble ul .reason li p span, .reason .merit li p span, .merit .reason li p span, .reason .voice li p span, .voice .reason li p span, .reason .flow ol p span, .flow .reason ol p span, .reason .area ul p span, .area .reason ul p span, .reason .entry .form p span, .entry .reason .form p span, .reason .cando ul p span, .cando .reason ul p span {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .voice h3 span:nth-child(1) {
    font-size: 15px;
    font-size: 1.5rem;
    width: 100px;
  }
  .voice h3 span:nth-child(2) {
    width: calc(100% - 110px);
  }
  .voice .customer {
    margin: 0 auto 20px;
  }
  .voice .customer br {
    display: none;
  }
  .voice .comment {
    width: 100%;
  }
  .flow h2 span {
    height: 32px;
    font-size: 15px;
    font-size: 1.5rem;
    max-width: 120px;
  }
  .flow li {
    flex-wrap: wrap;
  }
  .flow img {
    margin-top: 10px;
    width: 100%;
  }
  .entry .form textarea,
  .entry .form input[type="text"] {
    width: 100%;
  }
  .entry .form .service li {
    width: calc((100% - 10px) / 2);
  }
  .button#submitbtn p#agreement, .contact .form a#submitbtn p#agreement {
    font-size: 11px !important;
  }
  .cando li {
    flex-direction: column;
    justify-content: unset;
  }
  .cando li:first-of-type div.picture {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
  }
  .cando li div.picture,
  .cando li div.article {
    padding: 10px;
    width: 100%;
  }
  .cando li div.picture h3,
  .cando li div.article h3 {
    text-align: center;
  }
  .cando li p span {
    display: block;
    text-align: center;
  }
  .cando li p span + br {
    display: none;
  }
  .footer li {
    padding-right: 20px;
    width: calc(100% / 2);
  }
  .button, .contact .form a {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    padding: 10px 10px 5px 10px;
  }
  .button #canppic, .contact .form a #canppic {
    display: none;
    width: calc(30% - 10px);
  }
  .button #canppic img, .contact .form a #canppic img {
    width: 100%;
  }
  .button #text, .contact .form a #text {
    font-size: 1em;
    width: calc(60% -10px);
  }
  .button #text b, .contact .form a #text b {
    font-size: 2.5rem;
  }
  .button #counttimer, .contact .form a #counttimer {
    display: none;
    font-size: .9em;
    padding: 10px 0;
    text-align: center;
    width: 100%;
  }
  .form .button, .contact .form a {
    padding: 15px 10px;
  }
  .form .button #text, .contact .form a #text {
    margin: 0 auto;
    text-align: center;
  }
  .form .button #text b, .contact .form a #text b {
    font-size: 2.0rem;
  }
  .sp #text {
    /*キャンペーンじゃない font-size: .6em;*/
    font-size: 1em;
    margin: 0 auto;
  }
  .sp #counttimer {
    display: none;
    font-size: 14px;
    text-align: center;
    width: 100%;
  }
  .contactFix {
    transition: .5s;
  }
  .contactFix.hide {
    transform: translateY(100%);
  }
}

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

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

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

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

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

.campaign .comment br {
  display: none;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.header .inner {
  background: url(/img/jokin/back.webp) no-repeat center;
  background-size: cover;
  border-bottom: 6px solid #e4e2ee;
  position: relative;
  text-align: center;
}

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

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

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

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

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

.header .service li {
  padding: 10px 10px 20px;
}

.header .service li figcaption {
  color: #8e1b88;
  font-size: 22px;
  font-size: 2.2rem;
  margin-top: 15px;
}

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

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

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

.pageNav .content, .pageNav .header .service li, .header .service .pageNav li, .pageNav .trouble ul li, .trouble ul .pageNav li, .pageNav .merit li, .merit .pageNav li, .pageNav .voice li, .voice .pageNav li, .pageNav .flow ol, .flow .pageNav ol, .pageNav .area ul, .area .pageNav ul, .pageNav .entry .form, .entry .pageNav .form, .pageNav .cando ul, .cando .pageNav ul {
  align-content: center;
  background: #fff;
  box-shadow: 0 0 20px 3px rgba(0, 0, 0, 0.1);
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
}

.trouble {
  text-align: center;
}

.trouble h2 {
  position: relative;
}

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

.trouble h2:after {
  background: url(/img/jokin/trouble/saikin.webp) no-repeat center;
  background-size: contain;
  content: "";
  position: absolute;
  transform: rotate3d(0, 0, 1, 180deg);
  z-index: -1;
}

.trouble h2 b {
  display: inline-block;
  margin-bottom: 10px;
  position: relative;
  top: 10px;
}

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

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

.trouble ul li:first-of-type:after {
  background: rgba(255, 255, 255, 0.6);
  bottom: 16px;
  content: "※ごく一部、当日対応が難しいエリアや日時がありますので詳細はお問い合わせください。";
  font-size: 14px;
  left: 3%;
  position: absolute;
  text-align: left;
  text-shadow: 1px 1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, -1px -1px 0 #fff, 1px 0 0 #fff, 0 1px 0 #fff, -1px 0 0 #fff, 0 -1px 0 #fff;
  width: 94%;
}

.trb_trashh2 {
  text-align: center;
}

.trb_trashh2 h2 {
  position: relative;
}

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

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

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

.merit h3 {
  color: #8e1b88;
}

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

.merit li {
  margin-bottom: 20px;
}

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

.reason h2 span {
  display: block;
  margin-bottom: 10px;
}

.reason .content h3, .reason .header .service li h3, .header .service .reason li h3, .reason .trouble ul li h3, .trouble ul .reason li h3, .reason .merit li h3, .merit .reason li h3, .reason .voice li h3, .voice .reason li h3, .reason .flow ol h3, .flow .reason ol h3, .reason .area ul h3, .area .reason ul h3, .reason .entry .form h3, .entry .reason .form h3, .reason .cando ul h3, .cando .reason ul h3 {
  text-align: center;
}

.reason .content h3 span, .reason .header .service li h3 span, .header .service .reason li h3 span, .reason .trouble ul li h3 span, .trouble ul .reason li h3 span, .reason .merit li h3 span, .merit .reason li h3 span, .reason .voice li h3 span, .voice .reason li h3 span, .reason .flow ol h3 span, .flow .reason ol h3 span, .reason .area ul h3 span, .area .reason ul h3 span, .reason .entry .form h3 span, .entry .reason .form h3 span, .reason .cando ul h3 span, .cando .reason ul h3 span {
  display: block;
  margin-bottom: 10px;
}

.reason .content p, .reason .header .service li p, .header .service .reason li p, .reason .trouble ul li p, .trouble ul .reason li p, .reason .merit li p, .merit .reason li p, .reason .voice li p, .voice .reason li p, .reason .flow ol p, .flow .reason ol p, .reason .area ul p, .area .reason ul p, .reason .entry .form p, .entry .reason .form p, .reason .cando ul p, .cando .reason ul p {
  background: #a468aa;
  border-radius: 10px;
  color: #fff;
  font-weight: bold;
  text-align: center;
}

.reason .content p b, .reason .header .service li p b, .header .service .reason li p b, .reason .trouble ul li p b, .trouble ul .reason li p b, .reason .merit li p b, .merit .reason li p b, .reason .voice li p b, .voice .reason li p b, .reason .flow ol p b, .flow .reason ol p b, .reason .area ul p b, .area .reason ul p b, .reason .entry .form p b, .entry .reason .form p b, .reason .cando ul p b, .cando .reason ul p b {
  color: #fedb3c;
}

.reason .content:nth-child(2), .reason .header .service li:nth-child(2), .header .service .reason li:nth-child(2), .reason .trouble ul li:nth-child(2), .trouble ul .reason li:nth-child(2), .reason .merit li:nth-child(2), .merit .reason li:nth-child(2), .reason .voice li:nth-child(2), .voice .reason li:nth-child(2), .reason .flow ol:nth-child(2), .flow .reason ol:nth-child(2), .reason .area ul:nth-child(2), .area .reason ul:nth-child(2), .reason .entry .form:nth-child(2), .entry .reason .form:nth-child(2), .reason .cando ul:nth-child(2), .cando .reason ul:nth-child(2) {
  position: relative;
}

.reason .content:nth-child(2):before, .reason .header .service li:nth-child(2):before, .header .service .reason li:nth-child(2):before, .reason .trouble ul li:nth-child(2):before, .trouble ul .reason li:nth-child(2):before, .reason .merit li:nth-child(2):before, .merit .reason li:nth-child(2):before, .reason .voice li:nth-child(2):before, .voice .reason li:nth-child(2):before, .reason .flow ol:nth-child(2):before, .flow .reason ol:nth-child(2):before, .reason .area ul:nth-child(2):before, .area .reason ul:nth-child(2):before, .reason .entry .form:nth-child(2):before, .entry .reason .form:nth-child(2):before, .reason .cando ul:nth-child(2):before, .cando .reason ul:nth-child(2):before {
  background-image: url(/img/fuyohin/ihin2/concierge3.webp);
  content: "";
  display: block;
  position: absolute;
}

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

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

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

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

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

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

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

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

.voice h2 {
  text-align: center;
}

.voice h2 span {
  display: block;
}

.voice h2 span:nth-child(1) {
  background: url(/img/fuyohin/ihin2/deco4.svg) no-repeat center bottom;
}

.voice li {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.voice h3 {
  align-items: center;
  background: #a468aa;
  border-radius: 10px 10px 0 0;
  color: #fff;
  display: flex;
}

.voice h3 span:nth-child(1) {
  align-items: center;
  background: #fff;
  color: #8e1b88;
  display: flex;
  justify-content: center;
}

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

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

.voice .comment {
  position: relative;
}

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

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

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

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

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

.flow h3 span {
  color: #8e1b88;
  display: block;
}

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

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

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

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

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

.flow li:not(:nth-of-type(2)):before {
  align-items: center;
  background: #a468aa;
  border-radius: 50%;
  color: #fff;
  content: counter(step);
  counter-increment: step;
  display: flex;
  justify-content: center;
  left: 0;
  position: absolute;
  top: 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

.entry h2 {
  text-align: center;
}

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

.entry .form {
  position: relative;
}

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

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

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

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

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

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

.entry .tooltip {
  color: #8e1b88;
  display: none;
  margin-bottom: 20px;
}

.entry .opacity1 {
  color: #ce0057;
  display: block;
}

.entry .input {
  position: relative;
}

.entry .input input {
  background: #f6eff6;
  border: solid 1px #8e1b88;
  border-radius: 10px;
  padding: 15px;
  width: 100%;
}

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

.entry .input textarea {
  align-items: center;
  background: #f6eff6;
  border: solid 1px #8e1b88;
  border-radius: 10px;
  color: #8e1b88;
  display: block;
  padding: 10px;
  width: 100%;
}

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

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

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

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

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

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

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

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

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

.entry .service li {
  position: relative;
}

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

.entry .service label {
  align-items: center;
  background: #f6eff6;
  border: solid 1px #8e1b88;
  border-radius: 10px;
  color: #8e1b88;
  cursor: pointer;
  display: block;
  text-align: center;
}

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

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

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

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

.entry .add summary span {
  color: #fff;
}

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

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

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

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

.entry .add dt {
  border-bottom: solid 1px #8e1b88;
  color: #8e1b88;
  margin-bottom: 20px;
  padding-bottom: 20px;
}

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

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

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

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

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

.entry .add label {
  cursor: pointer;
}

.entry .add label textarea {
  border: none;
  margin-top: 10px;
  padding: 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.entry .thanks {
  display: none;
}

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

.cando h2 {
  background: url(/img/jokin/deco6.svg) no-repeat center;
}

.cando h2 b {
  letter-spacing: -7px;
}

.cando h3 {
  color: #8e1b88;
}

.cando ul {
  border: 2px solid #8e1b88;
  display: flex;
  display: flex;
  flex-direction: column;
}

.cando li:first-of-type {
  border-bottom: 2px dotted #8e1b88;
}

.cando li div.picture {
  background-color: #f6eff6;
}

.cando li div.article h3 {
  border-bottom: 1px solid #8e1b88;
  margin-bottom: 3px;
  padding-bottom: 10px;
}

.cando li div.article p {
  line-height: 1.8;
}

.cando li div.article p span {
  color: #ce0057;
  font-weight: bolder;
}

.footer {
  max-width: none;
  padding-bottom: 30px;
}

.footer h2 {
  display: none;
}

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

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

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

.back_top {
  display: none;
}

.back_top.pop {
  display: none;
}
