@charset "utf-8";
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
html {
  font-family: Arial, Hiragino Kaku Gothic ProN, ヒラギノ角ゴ ProN W3, Meiryo,
    Helvetica, メイリオ, sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
abbr,
address,
article,
aside,
audio,
b,
blockquote,
body,
canvas,
caption,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
p,
pre,
q,
samp,
section,
small,
span,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
ul,
var,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}
audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}
audio:not([controls]) {
  display: none;
  height: 0;
}
[hidden],
template {
  display: none;
}
a {
  color: #000;
  background-color: transparent;
  text-decoration: none;
}
a:active,
a:hover {
  outline: 0;
}
abbr[title] {
  border-bottom: 1px dotted;
}
b,
strong {
  font-weight: 700;
}
dfn {
  font-style: italic;
}
mark {
  background: #ff0;
  color: #000;
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
img {
  border: 0;
  -ms-interpolation-mode: bicubic;
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}
svg:not(:root) {
  overflow: hidden;
}
figure {
  margin: 0;
}
hr {
  box-sizing: content-box;
  height: 0;
}
pre {
  overflow: auto;
}
code,
kbd,
pre,
samp {
  font-family: monospace;
  font-size: 1em;
}
li {
  list-style: none;
}
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}
button {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}
button[disabled],
html input[disabled] {
  cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
input {
  line-height: normal;
}
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
input[type="search"] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
fieldset {
  border: 1px solid silver;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
legend {
  border: 0;
  padding: 0;
}
textarea {
  overflow: auto;
}
optgroup {
  font-weight: 700;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}
img {
  backface-visibility: hidden;
}

/*--------------------------------------
template
--------------------------------------*/
body {
  /*overflow-x: hidden;*/
  -webkit-text-size-adjust: 100%;
  image-rendering: -webkit-optimize-contrast;
  margin: auto;
  padding: 0;
  color: #444;
  font-size: 14px;
  font-family: "Yu Mincho", Yumincho, serif;
  font-display: swap;
  font-weight: 500;
  font-feature-settings: "palt";
  letter-spacing: 0;
  line-height: 1;
}
body.ie11 {
  font-family: "MS PMincho", serif;
}
body.android.loaded {
  font-family: YakuHanMP_Noto, "Noto Serif JP", serif;
}
h1,
h2,
h3,
h4,
h5,
h6,
th {
  font-weight: normal;
}
a {
  color: inherit;
}
img {
  width: 100%;
}
#wrap {
  position: relative;
}
.sp-bl,
.sp-il,
.tablet-bl {
  display: none !important;
}
.tablet .tablet-bl {
  display: block !important;
}
.opa {
  transition: 0.3s ease-in-out;
}
.opa:hover {
  opacity: 0.7 !important;
}
.opa1 {
  opacity: 1 !important;
}
.w100 {
  width: 100% !important;
}
.h100 {
  height: 100% !important;
}
.none {
  display: none !important;
}
.tc {
  text-align: center !important;
}
.tl {
  text-align: left !important;
}
.tr {
  text-align: right !important;
}
.tj {
  text-align: justify !important;
}
.cf:before,
.cf:after {
  content: "";
  display: table;
}
.cf:after {
  clear: both;
}
.cf {
  zoom: 1;
}
.fl {
  float: left;
}
.fr {
  float: right;
}
.outer {
  max-width: 1500px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
.inner {
  width: 95%;
  max-width: 1100px;
  margin-right: auto;
  margin-left: auto;
  position: relative;
}
.gothic {
  font-family: "Yu Gothic", Yugothic, sans-serif;
}
.ie11 .gothic {
  font-family: "Meiryo", sans-serif;
}
.pinyon {
  font-family: "Pinyon Script", cursive;
}
.white {
  color: #fff;
}
.pink {
  color: #b4aa91;
}
.gold {
  color: #b4aa91;
}
.brown {
  color: #6e5a50;
}
.ls50 {
  letter-spacing: 0.05em;
}
.ls100 {
  letter-spacing: 0.1em;
}
.ls150 {
  letter-spacing: 0.15em;
}
.ls200 {
  letter-spacing: 0.2em;
}
.flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
.flex.nowrap {
  flex-wrap: nowrap;
}
.flex.reverse {
  flex-direction: row-reverse;
}
.flex.reverse > * {
  min-height: 0;
}
.flex.jc-c {
  justify-content: center;
}
.flex.jc-s {
  justify-content: flex-start;
}
.flex.jc-e {
  justify-content: flex-end;
}
.flex.ai-c {
  align-items: center;
}
.flex.ai-e {
  align-items: flex-end;
}
.flex.ai-st {
  align-items: stretch;
}

sup,
sub {
  /* position: static; */
}
@media screen and (min-width: 769px) {
  #wrap {
    min-width: 1200px;
  }
}
@media screen and (max-width: 768px) {
  .pc {
    display: none !important;
  }
  .sp-bl {
    display: block !important;
  }
  .sp-il {
    display: inline !important;
  }
  .pc-br {
    display: none !important;
  }
  .inner {
    width: 87.5%;
    max-width: 560px;
  }
  .opa:hover {
    opacity: 1;
  }
}

em.normal {
  font-style: inherit;
}

/*--------------------------------------
header
--------------------------------------*/
body {
  padding-top: 120px;
}
@media screen and (max-width: 1200px) {
  body {
    padding-top: 50px;
  }
}

#pcHeader {
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  width: 100%;
  height: 120px;
  background: #fff;
}
#pcHeader .logo {
  position: absolute;
  top: 28px;
  left: 40px;
  width: 300px;
  text-align: center;
}
#pcHeader .logo .subLogo {
  display: inline-block;
  font-size: 12px;
  letter-spacing: 0.05em;
  margin-bottom: 9px;
}
/* 下層ページロゴ */
#pcHeader .logo.underLogo {
  top: 34px;
}
#pcHeader .tel {
  position: absolute;
  top: 20px;
  right: calc(100px + 18px);
  width: 300px;
}
#pcHeader .menu {
  position: absolute;
  top: 80px;
  right: 100px;
  width: calc(100% - 440px);
  box-sizing: border-box;
}
#pcHeader .menu > li {
  position: relative;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: 0.18em;
  transition: color 0.3s ease-in-out;
}
#pcHeader .menu > li + li {
  border-left: 1px solid #b4aa91;
}
#pcHeader .menu > li.mouseon {
  cursor: pointer;
  box-sizing: border-box;
  padding: 0 18px 0 20px;
}
#pcHeader .menu > li > a {
  box-sizing: border-box;
  padding: 0 18px 0 20px;
  transition: color 0.3s ease-in-out;
}
#pcHeader .menu > li.mouseon:hover,
#pcHeader .menu > li > a:hover {
  color: #9ea562;
}
#pcHeader .menu .submenu {
  position: absolute;
  z-index: 1;
  top: calc(100% + 14px);
  color: #fff;
  background: #9ea562;
  border-radius: 10px;
  cursor: default;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
  opacity: 0;
  visibility: hidden;
}
#pcHeader .menu .submenu.active {
  opacity: 1;
  visibility: visible;
}
#pcHeader .menu .submenu:before {
  content: "";
  position: absolute;
  z-index: 1;
  top: -14px;
  left: 0;
  width: 100%;
  height: 14px;
}
#pcHeader .menu .submenu a {
  transition: color 0.3s ease-in-out;
}
#pcHeader .menu .submenu a:hover {
	opacity: 0.6;
}

#pcHeader .menu .submenu1 {
  left: 50%;
  transform: translateX(-50%);
  min-width: 260px;
  box-sizing: border-box;
  padding: 40px;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.5;
}
#pcHeader .menu .submenu1 li + li {
  margin-top: 12px;
}

#pcHeader .menu .submenu2 {
  right: -130px;
  min-width: 870px;
  max-height: calc(100vh - 120px);
  box-sizing: border-box;
  padding: 45px 70px 42px;
  font-size: 12px;
  font-weight: bold;
  line-height: 1.5;
  overflow-y: scroll;
}
#pcHeader .menu .submenu2 small {
  font-size: 10px;
  letter-spacing: 0.1em;
}

#pcHeader .menu .submenu2 .ttl1 {
  font-size: 14px;
  padding-bottom: 7px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  margin-bottom: 22px;
}
#pcHeader .menu .submenu2 .ttl1 .icon {
  margin-right: 5px;
}
#pcHeader .menu .submenu2 .ttl1 .icon img {
  width: auto;
  vertical-align: baseline;
}

#pcHeader .menu .submenu2 .ttl2 {
  margin-bottom: 5px;
}

#pcHeader .menu .submenu2 .list2 {
  margin-top: 10px;
  margin-bottom: 28px;
}
#pcHeader .menu .submenu2 .list2 li + li {
  margin-top: 10px;
}

#pcHeader .menu .submenu2 .list3 {
  margin-bottom: 18px;
}
#pcHeader .menu .submenu2 .list3 li + li {
  margin-top: 10px;
}
#pcHeader .menu .submenu2 .list3 li a {
  display: block;
  box-sizing: border-box;
  border: 1px solid #eec5cc;
  padding: 5px 12px;
  transition: 0.3s ease-in-out;
  text-align: center;
}
#pcHeader .menu .submenu2 .list3 li a:hover {
  color: #9ea562;
  background: #fff;
  border-color: #fff;
}

#pcHeader .menu > li.mouseon:after {
  content: "";
  position: absolute;
  z-index: 1;
  bottom: -12px;
  left: 50%;
  transform: translateX(-50%);
  width: 8px;
  height: 3px;
  background: url(../../img/common/pc/icon_pcHeader_mouseon.svg) no-repeat
    center/100% auto;
}
#pcHeader .menu > li.mouseon:hover:after {
  background: url(../../img/common/pc/icon_pcHeader_mouseon_active.svg)
    no-repeat center/100% auto;
}

#pcHeader .corona {
  position: absolute;
  top: 21px;
  right: 100px;
  width: 245px;
}
#pcHeader .corona a {
  display: block;
  color: #fff;
  background: #8b7b73;
  font-size: 15px;
  font-weight: bold;
  letter-spacing: 0.12em;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  padding: 10px 0;
}
#pcHeader .corona a:after {
  content: "";
  display: inline-block;
  margin-left: 6px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 7px;
  border-color: transparent transparent transparent #fff;
}
@media screen and (max-width: 1500px) {
  #pcHeader .logo {
    left: 2.5%;
    width: 20%;
  }
  #pcHeader .tel {
 /*   right: calc(2.5% + 265px);*/
    right: calc(2.5% + 16px);
  }
  #pcHeader .menu {
    right: 2.5%;
    width: calc(75% - 10px);
  }
  #pcHeader .menu > li {
    font-size: 16px;
  }
  #pcHeader .menu > li.mouseon {
    padding: 0 16px;
  }
  #pcHeader .menu > li > a {
    padding: 0 16px;
  }
  #pcHeader .corona {
    right: 2.5%;
  }
}
@media screen and (max-width: 1300px) {
  #pcHeader .menu > li {
    font-size: 15px;
  }
}
@media screen and (max-width: 1200px) {
  #pcHeader {
    display: none;
  }
}

#spHeader {
}
#spHeader .bar {
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  width: 100%;
  height: 50px;
  background: #fff;
  overflow: hidden;
}
#spHeader .bar .btns {
  width: calc(100% - 50px);
  height: 100%;
  box-sizing: border-box;
  padding-left: 10px;
  padding-right: 5px;
}
#spHeader .bar .btns .btn1 {
  width: 100%;
  height: 100%;
  transition: transform 0.4s ease-in-out;
}
#spHeader .bar .btns.active .btn1 {
  transform: translateY(-100%);
}
#spHeader .bar .btns .btn1 .logo {
  width: 172px;
  line-height: 0;
  text-align: center;
}
#spHeader .bar .btns .btn1 .logo .subLogo {
  display: inline-block;
  font-size: 10px;
  transform: scale(0.77);
  margin-bottom: 8px;
  white-space: nowrap;
}

#spHeader .bar .btns .btn2 {
  width: 100%;
  height: 100%;
  transition: transform 0.4s ease-in-out;
}
#spHeader .bar .btns.active .btn2 {
  transform: translateY(-100%);
}
#spHeader .bar .btns .btn2 .logo {
  width: 25px;
}
#spHeader .bar .btns .btn2 ul {
  flex: 1;
}
#spHeader .bar .btns .btn2 li {
  width: 35px;
  margin-left: 3px;
  filter: brightness(0) saturate(100%) invert(66%) sepia(13%) saturate(548%) hue-rotate(41deg);
}

#spHeader .bar .open {
  width: 50px;
  height: 50px;
  cursor: pointer;
  position: relative;
}
#spHeader .bar .open:before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 21px;
  height: 19px;
  background: linear-gradient(
    to bottom,
    #9ea562 2px,
    #ffffff 2px,
    #ffffff 8px,
    #9ea562 8px,
    #9ea562 10px,
    #ffffff 10px,
    #ffffff 17px,
    #9ea562 17px,
    #9ea562 19px
  );
}

#spHeader .menu {
  position: fixed;
  z-index: 1001;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #9ea562;
  overflow: scroll;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s, visibility 0.2s;
}
#spHeader .menu.active {
  opacity: 1;
  visibility: visible;
}
body.customize-support #spHeader .menu {
  top: 46px;
  height: calc(100% - 46px);
}
#spHeader .menu .close {
  width: 50px;
  height: 50px;
  margin-left: auto;
  cursor: pointer;
  position: relative;
}
#spHeader .menu .close:before,
#spHeader .menu .close:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  height: 16px;
  background: #fff;
}
#spHeader .menu .close:before {
  transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}
#spHeader .menu .close:after {
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
}

#spHeader .menu .inner {
  width: 84.375%;
  max-width: 560px;
}
#spHeader .menu .ttl1 {
  font-size: 16px;
  margin-bottom: 19px;
}

#spHeader .menu .list1 {
  margin-top: 5px;
}
#spHeader .menu .list1 li {
  width: 46.2963%;
}
#spHeader .menu .list1 li:nth-child(1),
#spHeader .menu .list1 li:nth-child(2) {
  border-top: 1px solid #fff;
}
#spHeader .menu .list1 li a {
  position: relative;
  display: block;
  font-size: 13px;
  padding: 18px 0.5em;
  border-bottom: 1px solid #fff;
}
#spHeader .menu .list1 li a:after {
  content: "";
  position: absolute;
  top: 48%;
  right: 5px;
  transform: rotate(45deg) translateY(-50%);
  width: 5px;
  height: 5px;
  border-top: 1px solid #f8e8eb;
  border-right: 1px solid #f8e8eb;
}

#spHeader .menu .list2 {
  margin-top: 40px;
}
#spHeader .menu .list2 .tab {
  border-bottom: 1px solid #fff;
}
#spHeader .menu .list2 .tab li {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: center;
  width: 28.88889%;
  height: 50px;
  box-sizing: border-box;
  padding-bottom: 3px;
  color: #fff;
  background: #de8c9a;
  font-size: 13px;
  text-align: center;
  transition: 0.3s;
  cursor: pointer;
  position: relative;
}
#spHeader .menu .list2 .tab li:nth-child(1) {
  font-size: 15px;
}
#spHeader .menu .list2 .tab li + li {
  margin-left: 1%;
}
#spHeader .menu .list2 .tab li.active {
  color: #6e5a50;
  background: #fff;
  cursor: auto;
}
#spHeader .menu .list2 .tab li small {
  font-size: 10px;
}
#spHeader .menu .list2 .tab li:after {
  content: "";
  position: absolute;
  bottom: 7px;
  left: 50%;
  width: 4px;
  height: 4px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(135deg) translateX(50%);
}
#spHeader .menu .list2 .tab li.active:after {
  border-color: #d26478;
}

#spHeader .menu .list2 .tabcontent #popular {
  padding-top: 30px;
}
#spHeader .menu .list2 .tabcontent #popular h4 {
  font-size: 12px;
  margin-bottom: 7px;
}
#spHeader .menu .list2 .tabcontent #popular * + h4 {
  margin-top: 12px;
}
#spHeader .menu .list2 .tabcontent #popular h4 span {
  font-size: 8px;
  vertical-align: 2px;
}

#spHeader .menu .list2 .tabcontent #popular li {
  width: 48.1482%;
  /* height: 50px; */
  height: 60px;
}
#spHeader .menu .list2 .tabcontent #popular li:nth-child(n + 3) {
  margin-top: 3.703704%;
}
#spHeader .menu .list2 .tabcontent #popular li a {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: center;
  box-sizing: border-box;
  border: 2px solid #d3cdca;
  background: #fff;
  width: 100%;
  height: 100%;
  line-height: 1.2;
  padding: 6px;
  text-align: center;
}
#spHeader .menu .list2 .tabcontent #popular li a .name {
  width: 100%;
  color: #6e5a50;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.05em;
}
#spHeader .menu .list2 .tabcontent #popular li a .name small {
  letter-spacing: 0.01em;
}
#spHeader .menu .list2 .tabcontent #popular li a .price {
  width: 100%;
  font-size: 10px;
  font-weight: 500;
  margin-top: 2px;
}
#spHeader .menu .list2 .tabcontent #popular li a .price small {
  font-size: 8px;
  letter-spacing: 0.01em;
}

#spHeader .menu .list2 .tabcontent #popular li a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 9px;
  width: 4px;
  height: 4px;
  border-top: 1px solid #de8c9a;
  border-right: 1px solid #de8c9a;
  transform: rotate(45deg) translateY(-50%);
}

#spHeader .menu .list2 .tabcontent #onayami,
#spHeader .menu .list2 .tabcontent #treat {
  padding-top: 14px;
}
#spHeader .menu .list2 .tabcontent #onayami h4,
#spHeader .menu .list2 .tabcontent #treat h4 {
  font-size: 17px;
  margin-top: 22px;
  margin-bottom: 5px;
}
#spHeader .menu .list2 .tabcontent #onayami h4 span,
#spHeader .menu .list2 .tabcontent #treat h4 span {
  vertical-align: 2px;
  font-size: 8px;
  letter-spacing: 0;
}

#spHeader .menu .list2 .tabcontent #onayami li,
#spHeader .menu .list2 .tabcontent #treat li {
  width: 100%;
  border-bottom: 1px solid #e8b1bb;
}
#spHeader .menu .list2 .tabcontent #onayami li a,
#spHeader .menu .list2 .tabcontent #treat li a {
  display: block;
  font-size: 13px;
  padding: 18px 0.5em;
  position: relative;
}
#spHeader .menu .list2 .tabcontent #onayami li a:after,
#spHeader .menu .list2 .tabcontent #treat li a:after {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
  right: 10px;
  width: 4px;
  height: 4px;
  border-top: 1px solid #f8e8eb;
  border-right: 1px solid #f8e8eb;
  transform: rotate(45deg) translateY(-50%);
}

#spHeader .menu .list3 {
  max-width: 400px;
  margin-top: 50px;
}
#spHeader .menu .list3 .ttl1 {
  margin-bottom: 14px;
}
#spHeader .menu .list3 .tel {
  width: 100%;
}
#spHeader .menu .list3 ul {
  margin-top: 15px;
}
#spHeader .menu .list3 li {
  flex-grow: 1;
  width: 48.1482%;
  height: 55px;
}
#spHeader .menu .list3 li.input {
  width: 100%;
  margin-top: 15px;
}
#spHeader .menu .list3 li a {
  width: 100%;
  height: 100%;
  border: 1px solid #fff;
  box-sizing: border-box;
  padding-left: 10px;
  font-size: 12px;
  line-height: 1.33;
  position: relative;
}
/* かよくりご相談メールがない場合 */
#spHeader .menu .list3 li:first-child a {
  font-size: 16px;
}
#spHeader .menu .list3 li a span {
  position: relative;
}
#spHeader .menu .list3 li a span:before {
  content: "";
  position: absolute;
  width: 14px;
  height: 14px;
  top: 50%;
  left: -20px;
  transform: translateY(-50%);
}
#spHeader .menu .list3 li.reserve a span:before {
  background: url(../../img/common/pc/icon_reserve.svg) no-repeat center/100%
    auto;
}
#spHeader .menu .list3 li.inquiry a span:before {
  background: url(../../img/common/pc/icon_inquiry.svg) no-repeat center/100%
    auto;
}
#spHeader .menu .list3 li.input a span:before {
  width: 15px;
  height: 16px;
  background: url(../../img/common/pc/icon_input.svg) no-repeat center/100% auto;
}

#spHeader .menu .list3 li a em {
  font-size: 16px;
  font-style: normal;
}
#spHeader .menu .list3 li a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 4px;
  height: 4px;
  border-top: 1px solid #f8e8eb;
  border-right: 1px solid #f8e8eb;
  transform: rotate(45deg) translateY(-50%);
}

#spHeader .menu .list4 {
  max-width: 400px;
  margin-top: 35px;
}
#spHeader .menu .list4 li {
  margin-bottom: 11px;
}
#spHeader .menu .list4 li:nth-child(odd) {
  width: 29%;
}
#spHeader .menu .list4 li:nth-child(even) {
  width: 68%;
}
#spHeader .menu .list4 li a {
  display: block;
  font-size: 13px;
}
#spHeader .menu .list4 li a span {
  font-size: 8px;
  vertical-align: 2px;
}

#spHeader .menu .close2 {
  height: 50px;
  background: #b4aa91;
  font-size: 11px;
  cursor: pointer;
  width: 90vw;
  margin: 0 auto;
  position: absolute;
  bottom: 5vw;
  left: 5vw;
}
#spHeader .menu .close2 span {
  display: inline-block;
  width: 16px;
  height: 16px;
  transform: rotate(45deg);
  margin-right: 5px;
  position: relative;
}
#spHeader .menu .close2 span:before,
#spHeader .menu .close2 span:after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 2px;
  height: 100%;
  background: #fff;
}
#spHeader .menu .close2 span:before {
  transform: translateX(-50%);
}
#spHeader .menu .close2 span:after {
  transform: translateX(-50%) rotate(90deg);
}
@media screen and (min-width: 1201px) {
  #spHeader {
    display: none;
  }
}

#sideNavi {
  position: fixed;
  z-index: 999;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 60px;
}
#sideNavi .sideNavi + .sideNavi {
  margin-top: 2px;
}

/*--------------------------------------
main
--------------------------------------*/
#main {
  overflow: hidden;
}

/* h1{
	display: none;
} */

#sideNavi {
  display: none;
}
.btn {
  margin: auto;
}
.btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  width: 100%;
  height: 50px;
  color: #333;
  background-color: #ccc;
  font-size: 16px;
  letter-spacing: 0.2em;
  line-height: 1.4;
  text-align: center;
  overflow: hidden;
  transition: opacity 0.3s ease-in-out;
}
.btn a:hover {
  opacity: 0.7;
}

.tab li {
  cursor: pointer;
}
.tabcontent > li {
  display: none;
  position: relative;
}
.tabcontent > li.active {
  display: block;
  animation: tabFadeIn 0.5s;
}
@keyframes tabFadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.modal {
  position: fixed;
  z-index: 10000;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background: rgba(0, 0, 0, 0.7);
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: 0.5s;
}
.modal.active {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
.modalWrap {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  box-sizing: border-box;
  padding: 0 2.5%;
  font-size: 0;
  letter-spacing: 0;
}
.modalWrap:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  height: 100%;
}
.modalContainer {
  position: relative;
  z-index: 1;
  display: inline-block;
  vertical-align: middle;
  width: 100%;
  text-align: left;
}
.modalContent {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  background: #fff;
  font-size: 14px;
}
.modalClose {
  position: absolute;
  z-index: 1;
  top: -60px;
  right: 0;
  width: 60px;
  height: 60px;
  background: transparent;
  cursor: pointer;
}
.modalClose::before,
.modalClose::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  width: 1px;
  height: 100%;
  background: #fff;
}
.modalClose::before {
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
}
.modalClose::after {
  transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}

.scroll {
  position: relative;
  overflow: auto;
  -ms-overflow-style: none;
}
.scroll::-webkit-scrollbar {
  display: none;
}
.scroll .scrollInner {
  position: relative;
}
.scroll .scrollInner:after {
  content: "";
  position: absolute;
  top: 0;
  left: 100%;
  height: 1px;
}
.scroll .scrollInner img {
  vertical-align: top;
}

/*.scroll .scrollCaution{
		position: absolute;
		z-index: 1;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: url(../img/common/pc/icon_scrollCaution.svg) no-repeat center/202px auto rgba(51,51,51,.7);
		pointer-events: none;
	}*/

.secTtl1 {
  font-size: 30px;
  letter-spacing: 0.1em;
}
.secTtl2 {
  font-size: 24px;
  letter-spacing: 0.1em;
}

/* listStyle｜リストポイントスタイル */
.listStyle > li {
  position: relative;
  padding-left: 1em;
}
.listStyle > li::before {
  content: "●";
  position: absolute;
  top: 6px;
  left: 0;
  font-size: 12px;
  color: #d26478;
}

.tri_r-b,
.arrow_r,
.arrow_u {
  position: relative;
}
/* triangle right-bottom｜右下三角形 */
.tri_r-b::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  border-top: 36px solid transparent;
  border-right: 36px solid #e8aeb8;
}
/* 矢印 下 */
.arrow_u::after {
  content: "";
  position: absolute;
  display: inline-block;
  bottom: 4%;
  right: 5%;
  width: 4px;
  height: 4px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg) translateY(-50%);
}
/* 矢印 右 */
.arrow_r::after {
  content: "";
  position: absolute;
  display: inline-block;
  bottom: 8%;
  right: 3.5%;
  width: 4px;
  height: 4px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg) translateY(-50%);
}

/* cellBox｜表 */
.cellBox {
  width: 100%;
  border-top: 1px solid #d8d8d8;
  border-bottom: 1px solid #d8d8d8;
}
.cellBox dl + dl {
  border-top: 1px solid #d8d8d8;
}
.cellBox dl dt {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 22.22222223%;
  font-size: 16px;
  letter-spacing: 0.1em;
  background: #f9f9f2;
  box-sizing: border-box;
  text-align: center;
}
.cellBox dl dd {
  width: 77.77777777%;
  font-size: 16px;
  line-height: 1.625;
  letter-spacing: 0.1em;
  padding: 25px 30px 25px 40px;
  text-align: justify;
  text-justify: inter-ideograph;
  box-sizing: border-box;
}

/* tableStyle｜表（テーブル） */
.tableStyle {
  width: 100%;
  border-bottom: 1px solid #d8d8d8;
  text-align: center;
}
.tableStyle thead td {
  border-top: 1px solid #d8d8d8;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.1em;
  padding: 15px 0;
  vertical-align: middle;
}
.tableStyle thead td + td {
  border-left: 1px solid #d8d8d8;
}
.tableStyle tbody th,
.tableStyle tbody td {
  font-size: 16px;
  letter-spacing: 0.1em;
  padding: 22px 0;
  border-top: 1px solid #d8d8d8;
  vertical-align: middle;
}
.tableStyle tbody th {
  width: 200px;
}
.tableStyle tbody td {
  width: 232px;
  border-left: 1px solid #d8d8d8;
}

/* menuComment｜ピンクの吹き出し */
.menuComment {
  margin-top: 30px;
  border-radius: 20px;
  background-color: #e5a3ae;
  background-image: url("../../img/common/pc/bg_menuComment.svg"),
    url("../../img/common/pc/bg_menuComment.svg");
  background-position: left 30px center, right 30px center;
  background-size: 8px auto, 8px auto;
  background-repeat: no-repeat, no-repeat;
  color: #fff;
  text-align: center;
  position: relative;
  padding: 40px 70px;
  font-size: 18px;
  line-height: 2.1;
}
.menuComment::before {
  content: "";
  display: block;
  width: 56px;
  height: 56px;
  position: absolute;
  top: 0;
  left: 50%;
  z-index: -1;
  transform: rotate(45deg) translateX(-50%);
  background-color: #e5a3ae;
}

/* campaignArea｜キャンペーンバナー */
.campaignArea {
  max-width: 900px;
  margin-top: 90px;
  margin-bottom: 60px;
}

@media screen and (max-width: 768px) {
  .secTtl1,
  .secTtl2 {
    font-size: 16px;
    line-height: 1.5625;
    letter-spacing: 0.05em;
  }

  .listStyle > li::before {
    top: 6px;
    font-size: 10px;
  }

  .arrow_u::after {
    bottom: 4px;
    right: 6px;
    width: 3px;
    height: 3px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
  }
  .arrow_r::after {
    bottom: 3px;
    right: 5px;
    width: 3px;
    height: 3px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
  }

  /* cellBox｜表 */
  .cellBox {
  }
  .cellBox dl dt {
    width: 26.785715%;
    font-size: 12px;
    line-height: 1.3;
    letter-spacing: 0.05em;
  }
  .cellBox dl dd {
    width: 73.214286%;
    font-size: 12px;
    letter-spacing: 0.05em;
    line-height: 1.8;
    padding: 9px 10px;
  }

  /* tableStyle｜表（テーブル） */
  .tableStyle thead td {
    font-size: 12px;
    letter-spacing: 0.05em;
    padding: 10px 0;
  }
  .tableStyle tbody th,
  .tableStyle tbody td {
    font-size: 12px;
    padding: 12px 0;
  }
  .tableStyle tbody th {
    width: 80px;
  }
  .tableStyle tbody td {
    width: 115px;
  }

  /* tableScroll｜テーブルスクロール */
  .tableScrollWrap {
    position: relative;
  }
  .tableScrollWrap::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 10px;
    height: 100%;
    background: linear-gradient(
      90deg,
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 1) 100%
    );
  }
  .tableScroll {
    display: block;
    overflow-x: scroll;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }
  .tableScroll::-webkit-scrollbar {
    display: none;
  }
  .tableStyle {
    width: 160%;
  }

  /* menuComment｜ピンクの吹き出し */
  .menuComment {
    border-radius: 10px;
    background-position: left 4vw center, right 4vw center;
    background-size: 6px auto, 6px auto;
    padding: 7vw 10vw;
    line-height: 1.8333;
    font-size: 12px;
  }
  .menuComment::before {
    width: 36px;
    height: 36px;
  }

  /* campaignArea｜キャンペーンバナー */
  .campaignArea {
    margin-top: 40px;
    margin-bottom: 40px;
  }
}

/*--------------------------------------
u_kv｜下層ページkv（固定ページ）
--------------------------------------*/
.u_kv {
}
.u_kvWrap {
  position: relative;
  width: 100%;
  height: calc(100vw / 5);
  background: #f9f5f3;
}
.u_kvTxt {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 35px;
  line-height: 1.3;
  text-align: center;
}
.u_kvTxt .en {
  display: block;
  font-size: 30px;
  letter-spacing: 0;
  margin-top: 10px;
}

@media screen and (max-width: 768px) {
  .u_kvWrap {
    height: calc(100vw / 32 * 15);
  }
  .u_kvTxt {
    top: 33.333333334%;
/*    left: 25%;*/
    transform: translate(0);
    font-size: 20px;
	left: 0;
	width: 100%;
  }
  .u_kvTxt .en {
    font-size: 16px;
    margin-top: 10px;
  }
}

/* point
---------------------------------------------- */
.point {
  margin-top: 120px;
}
.point .des {
  font-size: 16px;
  line-height: 2.125;
  margin-top: 30px;
  margin-bottom: 30px;
  text-align: justify;
  text-justify: inter-ideograph;
}
.pointWrap {
}
.point .secTtl1 + .pointWrap {
  margin-top: 60px;
}
.pointList {
  width: 66.66666667%;
  padding-left: 30px;
  box-sizing: border-box;
}
.pointList li {
  position: relative;
}
.pointList li::before {
  content: "";
  position: absolute;
  top: -12px;
  left: 0;
  width: 80px;
  height: 52px;
}
.pointList li + li {
  margin-top: 32px;
}
.pointList li h3 {
  font-size: 18px;
  line-height: 1.67;
  letter-spacing: 0.1em;
  padding-left: 100px;
  text-align: justify;
  text-justify: inter-ideograph;
}
.pointImg {
  width: 33.33334%;
}

.point .achievement {
  max-width: 800px;
  margin: 30px auto 0;
}

.pointList li:nth-child(1)::before {
  background: url("../../img/common/pc/num_point01.svg") center/contain
    no-repeat;
}
.pointList li:nth-child(2)::before {
  background: url("../../img/common/pc/num_point02.svg") center/contain
    no-repeat;
}
.pointList li:nth-child(3)::before {
  background: url("../../img/common/pc/num_point03.svg") center/contain
    no-repeat;
}
.pointList li:nth-child(4)::before {
  background: url("../../img/common/pc/num_point04.svg") center/contain
    no-repeat;
}
.pointList li:nth-child(5)::before {
  background: url("../../img/common/pc/num_point05.svg") center/contain
    no-repeat;
}
.pointList li:nth-child(6)::before {
  background: url("../../img/common/pc/num_point06.svg") center/contain
    no-repeat;
}
.pointList li:nth-child(7)::before {
  background: url("../../img/common/pc/num_point07.svg") center/contain
    no-repeat;
}

@media screen and (max-width: 768px) {
  .point {
    margin-top: 80px;
  }
  .point .secTtl1 + .pointWrap {
    margin-top: 30px;
  }
  .point .des {
    font-size: 12px;
    line-height: 1.8;
    margin-top: 18px;
    margin-bottom: 20px;
  }
  .pointWrap {
    position: relative;
  }
  .pointList {
    width: 100%;
    padding-left: 0;
  }
  .pointList li::before {
    top: 0;
    width: 60px;
    height: 38px;
  }
  .pointList li + li {
    margin-top: 12px;
  }
  .pointList li:nth-child(n + 4) {
    width: 49%;
  }
  .pointList li h3 {
    font-size: 12px;
    line-height: 1.58;
    letter-spacing: 0.05em;
    padding-left: 70px;
  }
  .pointImg {
    position: absolute;
    bottom: -7%;
    right: -16%;
    width: 128px;
  }

  .point .achievement {
    margin: 18px auto 0;
  }
}

/* faq
---------------------------------------------- */
.faq {
  margin-top: 100px;
}
.faqList {
  margin-top: 50px;
}
.faqList li {
}
.faqList li + li {
  margin-top: 35px;
}
.faqList li .faqTtl {
  position: relative;
  width: 100%;
  /* height: 60px; */
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
  padding-top: 16px;
  padding-right: 0.5em;
  padding-bottom: 14px;
  padding-left: 90px;
  background: #f5f5f5;
  box-sizing: border-box;
}
.faqList li .faqTtl span {
  position: absolute;
  top: 0;
  left: 0;
  width: 85px;
  border-top: 60px solid #de8c9a;
  border-left: 0 solid transparent;
  border-right: 35px solid transparent;
  box-sizing: border-box;
}
.faqList li .faqTtl::before {
  content: "Q.";
  position: absolute;
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
  color: #fff;
  font-size: 24px;
  z-index: 1;
}
.faqList li .faqTxt {
  position: relative;
  width: 100%;
  padding-top: 20px;
  padding-right: 30px;
  padding-left: 90px;
  box-sizing: border-box;
}
.faqList li .faqTxt::before {
  content: "A.";
  position: absolute;
  top: 1em;
  left: 6%;
  font-size: 24px;
  color: #d26478;
}
.faqList li .faqTxt p {
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 2.125;
  text-align: justify;
  text-justify: inter-ideograph;
}
.faqList li .faqTxt img {
  width: auto;
  max-width: none;
}

@media screen and (max-width: 768px) {
  .faq {
    margin-top: 80px;
  }
  .faqList {
    margin-top: 30px;
  }
  .faqList li {
  }
  .faqList li + li {
    margin-top: 18px;
  }
  .faqList li .faqTtl {
    /* height: auto; */
    font-size: 13px;
    /* line-height: 1.5; */
    letter-spacing: 0.05em;
    padding: 13px 0.5em 13px 50px;
  }
  .faqList li .faqTtl span {
    width: 44px;
    border-top: 60px solid #de8c9a; /* 高さ */
    border-right: 14px solid transparent; /* 右側上辺の伸び */
  }
  .faqList li .faqTtl::before {
    left: 12px;
    font-size: 16px;
  }
  .faqList li .faqTxt {
    padding-top: 15px;
    padding-right: 0;
    padding-left: 50px;
  }
  .faqList li .faqTxt::before {
    top: 1.2em;
    left: 12px;
    font-size: 16px;
  }
  .faqList li .faqTxt p {
    font-size: 12px;
    letter-spacing: 0.05em;
    line-height: 1.8;
  }
}

/*--------------------------------------
price
--------------------------------------*/
.pricceSec {
}
.pricceSec + .pricceSec {
  margin-top: 50px;
}
.pricceSec .priceTtl {
  display: flex;
  align-items: center;
  height: 80px;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.1em;
  padding-left: 1em;
  color: #857d69;
  background: #f9f9f2;
  font-family: "Yu Gothic", Yugothic, sans-serif;
}
.pricceSec .priceBox {
  padding: 20px;
  border-bottom: 1px solid #d8d8d8;
}
.pricceSec .priceSubTtl {
  display: inline-block;
  height: 40px;
  font-size: 18px;
  font-weight: 600;
  line-height: 2.2;
  letter-spacing: 0.1em;
  color: #fff;
  background: #9ea562;
  margin-top: 30px;
  padding: 0 28px;
  border-radius: 20px;
  text-align: center;
  font-family: "Yu Gothic", Yugothic, sans-serif;
}
.pricceSec .priceList {
}
.pricceSec dl + dl {
  margin-top: 20px;
}
.pricceSec .priceList dt {
  position: relative;
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: 0.1em;
  text-align: left;
  font-family: "Yu Gothic", Yugothic, sans-serif;
}
.pricceSec .priceBox .title {
	font-size: 18px;
	line-height: 1.8;
	letter-spacing: 0.1em;
	text-align: left;
	font-family: "Yu Gothic", Yugothic, sans-serif;
	font-weight: 600;
  }
.pricceSec .priceList .priceNum {
  position: relative;
  width: 160px;
  font-size: 22px;
  line-height: 1.4;
  letter-spacing: 0.1em;
  margin-left: auto;
  text-align: right;
  white-space: nowrap;
}
.pricceSec .priceList .priceNum small {
  font-size: 14px;
}
.pricceSec .priceList .priceNum .annotation {
  position: absolute;
  bottom: -1.5em;
  right: 0;
  font-size: 12px;
  color: #444;
}
.pricceSec .priceList .priceNum .week {
  font-size: 16px;
}

/* priceList2 */
.pricceSec .priceList .priceList2 {
  margin-left: auto;
}
.pricceSec .priceList .priceList2 dl {
}
.pricceSec .priceList .priceList2 dl dt {
/*   width: 160px; */
/*   margin-right: 70px; */
  width: 230px;
  margin-right: 40px;
}
/* .pricceSec .priceList .priceList2 .trial{
								width: auto;
								margin-right: 1em;
							} */
.pricceSec .priceList dd .small {
  font-size: 14px;
  color: #444;
  letter-spacing: 0.1em;
  vertical-align: 0.5em;
}

.pricceSec .trial {
  font-weight: 600;
  color: #d26478;
}
.pricceSec .bl_trial {
  position: absolute;
  /* left: -100%; */
  left: -80%;
  white-space: nowrap;
}
.pricceSec .capacity .bl_trial {
  left: -8em;
}
.pricceSec .ml1 {
  margin-left: 1em;
}
.pricceSec .priceList .priceList2 dl dt.capacity {
  width: 80px;
}
.pricceSec .priceList .priceList2 dl .wAuto {
  width: auto;
}
.pricceSec .priceOff {
  width: 358px;
  margin-top: 20px;
  margin-right: 20px;
  margin-left: auto;
}
.pricceSec .priceOff2 {
  width: 310px;
}
.pricceSec .note {
  font-size: 12px;
  line-height: 1.3;
  margin-top: 10px;
  padding-right: 20px;
  text-align: right;
}
.pricceSec .priceBox + .note {
  margin-bottom: -25px;
}
.pricceSec .priceBox + .note + .priceOff {
  margin-top: 40px;
}
.pricceSec .note + .priceBox {
  margin-top: 25px;
}

.priceArea .more {
  font-family: "Yu Gothic", Yugothic, sans-serif;
  font-size: 16px;
  letter-spacing: 0.1em;
  margin-top: 20px;
  padding-left: 40px;
}

#p_epi .pricceSec .priceList .priceNum {
  width: 230px;
}
#p_co2 .sp_style .bl_trial {
  left: -200%;
}

@media screen and (max-width: 768px) {
  .pricceSec {
  }
  .pricceSec + .pricceSec {
    margin-top: 30px;
  }
  .pricceSec .priceTtl {
    height: 35px;
    font-size: 12px;
    letter-spacing: 0.05em;
  }
  .pricceSec .priceBox {
    padding: 10px;
  }
  .pricceSec .priceSubTtl {
    height: 20px;
    font-size: 12px;
    line-height: 1.67;
    letter-spacing: 0.05em;
    margin-top: 15px;
    padding: 0 20px;
  }
  .pricceSec .priceList {
  }
  .pricceSec dl + dl {
    margin-top: 5px;
  }
  .pricceSec .priceList dt {
    font-size: 11px;
    line-height: 2;
    letter-spacing: 0.05em;
  }
  .pricceSec .priceList .priceNum {
    width: 100px;
    font-size: 13px;
    line-height: 1.8;
    letter-spacing: 0.05em;
  }
  .pricceSec .priceList .priceNum small {
    font-size: 9px;
  }
  .pricceSec .priceList .priceNum .week {
    font-size: 11px;
  }
  .pricceSec .priceList .priceNum .annotation {
    font-size: 10px;
  }

  /* priceList2 */
  .pricceSec .priceList .priceList2 dl dt {
    width: 86px;
    margin-right: 0;
  }
  .pricceSec .priceList .priceList2 dl.month dt {
    width: 100%;
  }
  .pricceSec .priceList .priceList2 dl.month .bl_trial {
    display: inline;
    margin-right: 1em;
  }

  .pricceSec .priceList dd .small {
    font-size: 10px;
    letter-spacing: 0.05em;
  }

  .pricceSec .trial {
  }
  .pricceSec .bl_trial {
    position: static;
    display: block;
  }
  .pricceSec .ml1 {
    margin-left: 0.5em;
  }
  .pricceSec .priceList .priceList2 dl dt.capacity {
    width: 30px;
  }
  .pricceSec .priceList .priceList2 dl dt.wAuto {
    width: auto;
  }
  .pricceSec .priceOff {
    width: 215px;
    margin-top: 10px;
    margin-right: 10px;
  }
  .pricceSec .priceOff2 {
    width: 185px;
  }
  .pricceSec .note {
    font-size: 9px;
    line-height: 1.6;
    letter-spacing: 0.02em;
    margin-top: 5px;
    padding-right: 10px;
  }
  .pricceSec .priceBox + .note {
    margin-bottom: -15px;
  }
  .pricceSec .priceBox + .note + .priceOff {
    margin-top: 20px;
  }

  .priceArea .more {
    font-size: 12px;
    margin-top: 15px;
    padding-left: 20px;
  }

  #p_epi .pricceSec .priceList .priceNum {
    width: 140px;
  }
  #p_epi .priceList2 {
    width: 100%;
  }
  #p_co2 .sp_style {
    margin-top: 1.5em;
    margin-bottom: 1.5em;
  }
  #p_co2 .sp_style .bl_trial {
    position: absolute;
    top: -2em;
    left: 0;
  }
}

/*--------------------------------------
footer
--------------------------------------*/
#footer {
  padding-top: 55px;
}
#footerSns {
}
#footerSns .ttl1 {
  width: 210px;
  font-size: 30px;
  font-weight: 600;
  letter-spacing: 0.03em;
}
#footerSns .ttl1 .en {
  font-size: 32px;
}
#footerSns .ttl1 .subTtl {
  display: block;
  font-size: 15px;
  margin-top: 12px;
}

#footerSns .list1 {
  width: calc(100% - 260px);
  border-left: 1px solid #d8d8d8;
  box-sizing: border-box;
}
#footerSns .list1 li {
/*   width: 26.202248%; */
  width: 33%;
  box-sizing: border-box;
}
#footerSns .list1 li + li {
  margin-left: 40px;
}

#footerSns .list1 li a {
  display: block;
}

#footerInfo {
  position: relative;
  margin-top: 125px;
  padding-bottom: 90px;
}
#footerInfo::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 60%;
  height: 94.75%;
  background: #faf9f7;
  z-index: -1;
}
#footerInfo .inner {
  position: static;
}

/* access */
#footerInfo .access {
  width: 45.454546%;
  max-width: 500px;
  margin-top: 40px;
}
#footerInfo .access .ttl1 {
  font-size: 60px;
/*  font-weight: 600;*/
  margin-bottom: 85px;
  font-family: "Yu Mincho", Yumincho, serif;
  line-height: 1;
}
#footerInfo .access .ttl1.gold {
	color: #857d69;
}
#footerInfo .access .ttl1 .subTtl {
  display: block;
  font-size: 20px;
  margin-top: 15px;
}
#footerInfo .access .accessBox {
}
#footerInfo .access .accessBox .txt {
  width: calc(100% - 34% - 11%);
}
#footerInfo .access .accessBox .txt .txt1 {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.625;
  margin-bottom: 5px;
}
#footerInfo .access .accessBox .txt .txt2 {
  font-size: 12px;
  line-height: 1.5;
  margin-bottom: 8px;
}
#footerInfo .access .accessBox .txt .tel {
  font-size: 22px;
  margin-bottom: 25px;
}
#footerInfo .access .accessBox .txt .tel small {
  font-size: 16px;
}
#footerInfo .access .accessBox .txt .tel span {
  display: inline-block;
  font-size: 10px;
  font-weight: 600;
  margin-left: 4px;
  padding: 3px;
  vertical-align: 4px;
  border: 1px solid #b4aa91;
}
#footerInfo .access .accessBox .txt .credit {
}
#footerInfo .access .accessBox .txt .credit .icon {
  display: block;
  width: 125px;
  margin-bottom: 10px;
}
#footerInfo .access .accessBox .txt .credit .txt3 {
  font-size: 12px;
}

#footerInfo .access .accessBox .photo {
  width: 40%;
  margin-left: 5%;
}

/* map */
#footerInfo .map {
  position: relative;
  /* width: 45.454546%; */
/*   width: 46.6666667%; */
	  width: 45.6666667%;
  height: 100%;
  margin-top: -450px;
  /* padding-bottom: 80%; */
}
#footerInfo .map .frame {
  position: absolute;
  top: 0;
  right: 0;
  /* width: 46.6666667%; */
  width: 100%;
  max-width: 700px;
  height: 0;
  /* margin-bottom: 30px; */
  padding-bottom: 125.71429%;
  /* padding-bottom: 58.6666667%; */
  overflow: hidden;
}
#footerInfo .map .frame iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#footerInfo .map .btn {
  max-width: 240px;
  /* margin-top: 182%; */
  margin-top: calc(125.71429% + 30px);
  margin-left: 0;
}
#footerInfo .map .btn a {
  position: relative;
  height: 60px;
  font-size: 15px;
  letter-spacing: 0.1em;
  color: #fff;
  background: #9ea562;
}
#footerInfo .map .btn a::before {
  content: "";
  position: absolute;
  top: 30%;
  left: 18%;
  width: 13px;
  height: 20px;
  background: url("../../img/common/pc/icon_map.svg") center/contain no-repeat;
}
#footerInfo .map .btn a::after {
  content: "";
  position: absolute;
  display: inline-block;
  top: 48%;
  right: 17%;
  width: 5px;
  height: 5px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: rotate(45deg) translateY(-50%);
}

/* hours */
#footerInfo .hours {
  width: 45.454546%;
  max-width: 500px;
  margin-top: 90px;
}
#footerInfo .hours .ttl1 {
  font-size: 32px;
  letter-spacing: 0.03em;
  margin-bottom: 40px;
}
#footerInfo .hours .ttl1 .subTtl {
  display: block;
  font-size: 15px;
  margin-top: 9px;
}

#footerInfo .hours .times {
  margin-bottom: 20px;
}
#footerInfo .hours .times .time {
}
#footerInfo .hours .times .time h4 {
  width: 64px;
  font-size: 14px;
  line-height: 2;
  padding-top: 3px;
  padding-bottom: 5px;
  text-align-last: justify;
}
#footerInfo .hours .times .time .flex,
#footerInfo .hours .times .time2 p {
  margin-left: 25px;
  padding-top: 3px;
  padding-left: 25px;
  border-left: 1px solid #d8d8d8;
}
#footerInfo .hours .times .time p {
  font-size: 14px;
  line-height: 2;
}
#footerInfo .hours .times .time p:first-of-type {
  margin-right: 1em;
}

/* business-calendar */
#footerInfo .hours .calender {
}
#footerInfo .hours .calender .business-calendar-box {
  display: flex;
  justify-content: space-between;
  font-family: "Yu Gothic", Yugothic, sans-serif;
  font-weight: normal;
}
#footerInfo .hours .calender .business-calendar-box > div {
  width: 48%;
}
#footerInfo .hours .calender .business-calendar {
  width: 100%;
  background: transparent;
  border-top: none !important;
  border-left: none !important;
  border-collapse: separate;
  color: #444;
  text-align: center;
}
#footerInfo .hours .calender .business-calendar caption {
  position: relative;
  border: none;
  font-size: 22px;
  font-weight: 600;
  color: #6e5a50;
}
#footerInfo .hours .calender .business-calendar caption .year {
  position: absolute;
  left: 9px;
  top: 8px;
  font-size: 16px;
  font-weight: 400;
  color: #444;
}
#footerInfo .hours .calender .business-calendar caption .ja {
  font-size: 14px;
}
#footerInfo .hours .calender .business-calendar caption em {
  font-size: 16px;
  font-style: normal;
  margin-left: 1px;
}
#footerInfo .hours .calender .business-calendar th {
  background: transparent;
  border-right: none;
  border-bottom: none;
  font-size: 14px;
  padding-top: 10px;
  padding-bottom: 10px;
}
#footerInfo .hours .calender .business-calendar td {
  background: #e8e5de;
  border-right: 1px solid #faf9f7;
  border-bottom: 1px solid #faf9f7;
  font-size: 18px;
  padding-top: 7px;
  padding-bottom: 7px;
}
#footerInfo .hours .calender .business-calendar td:nth-child(7n) {
  border-right: none;
}
#footerInfo .hours .calender .business-calendar td:nth-child(7n) {
  border-right: none;
}
/* 今日 */
#footerInfo .hours .calender .business-calendar .today {
  color: #d26478;
  border: 1px solid #d26478;
}
/* 日曜日 */
#footerInfo .hours .calender .business-calendar th:first-child {
  color: #d26478;
  border-left: none;
}
/* #footerInfo .hours .calender .business-calendar .sunday {
  background: #f5dce1;
} */
/* 休診日 */
#footerInfo .hours .calender .business-calendar .attr0 {
  color: #fff;
  background: #c5bdb9;
}

#footerInfo .hours .calender .closed {
  position: relative;
  font-size: 14px;
  margin-top: 5px;
  padding-left: 1.5em;
  text-align: left;
}
#footerInfo .hours .calender .closed::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 15px;
  height: 15px;
  background: #c5bdb9;
}

#footerInfo .hours .caution {
  border: 1px solid #eec5cc;
  margin-top: 25px;
  padding-top: 8px;
  padding-right: 8px;
  padding-bottom: 8px;
  padding-left: 14px;
}
#footerInfo .hours .caution p {
  font-size: 12px;
  line-height: 1.5;
  padding-left: 1.1em;
  text-indent: -1.1em;
}

/* related */
#footerInfo .related {
  /* margin-top: 17%; */
  margin-top: 85px;
  margin-right: 4.5%;
}
#footerInfo .related .ttl1 {
  font-size: 28px;
  letter-spacing: 0.03em;
  margin-bottom: 30px;
}
#footerInfo .related .list1 {
}
#footerInfo .related .list1 li {
}
#footerInfo .related .list1 li + li {
  margin-top: 14px;
}
#footerInfo .related .list1 li a {
  position: relative;
  font-size: 16px;
  font-weight: 600;
  padding-left: 0.8em;
}
#footerInfo .related .list1 li a::before {
  content: "";
  position: absolute;
  top: 5px;
  left: 0;
  width: 6px;
  height: 6px;
  background: #b4aa91;
}

#footerNavi {
  padding-top: 110px;
  padding-bottom: 80px;
  background: #6e5a50;
}
#footerNavi .inner {
  max-width: 900px;
}
#footerNavi .group1 {
}
#footerNavi .group1 .logo {
  width: 335px;
}
#footerNavi .group1 .list1 {
  width: 46.6666667%;
}
#footerNavi .group1 .list1 li {
  flex: 1;
  width: 47.619048%;
  width: 100%;
  max-width: 240px;
  height: 90px;
}
#footerNavi .group1 .list1 li + li {
  margin-left: 20px;
}
#footerNavi .group1 .list1 li a {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 15px 0 25px;
  border: 2px solid #b6aca7;
  box-sizing: border-box;
  transition: 0.3s;
}
#footerNavi .group1 .list1 li a::after {
  content: "";
  position: absolute;
  display: inline-block;
  top: 48%;
  right: 1em;
  width: 5px;
  height: 5px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg) translateY(-50%);
}
#footerNavi .group1 .list1 li a:hover {
  background: #de8c9a;
  border-color: #de8c9a;
}
/* #footerNavi .group1 .list1 li a:hover::after{
							border-color: #b4aa91;
						} */
#footerNavi .group1 .list1 .reserve a .icon {
  width: 18px;
  margin-bottom: 10px;
}
#footerNavi .group1 .list1 .inquiry a .icon {
  width: 20px;
  margin-bottom: 12px;
}
#footerNavi .group1 .list1 li a .name {
  font-size: 16px;
  font-weight: 600;
}

#footerNavi .group2 {
  margin-top: 70px;
}
#footerNavi .group2 .list1 {
}
#footerNavi .group2 .list1 li {
}
#footerNavi .group2 .list1 > li:nth-child(n + 3) {
  margin-top: 65px;
}
#footerNavi .group2 .ttl1 {
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 27px;
  padding-bottom: 13px;
  border-bottom: 1px solid #b6aca7;
}

#footerNavi .group2 .list2 {
}
#footerNavi .group2 .list2 li {
  font-size: 12px;
  line-height: 1.3;
  font-weight: 600;
}
#footerNavi .group2 .list2 li + li {
  margin-top: 10px;
}
#footerNavi .group2 .list2 li a {
  transition: 0.3s;
}
#footerNavi .group2 .list2 li a:hover {
  color: #de8c9a;
}
#footerNavi .group2 .list2 li .children {
  position: relative;
  display: block;
  font-weight: 400;
  margin-top: 11px;
  padding-left: 1.5em;
}
#footerNavi .group2 .list2 li .children::before {
  content: "−";
  position: absolute;
  top: 0;
  left: 0;
  font-size: 12px;
}

#footerNavi .group2 .list3 {
}
#footerNavi .group2 .list3 > li {
}
#footerNavi .group2 .list3 > li + li {
  margin-top: 20px;
}
#footerNavi .group2 .list3 .ttl {
  width: calc(100% - 82.5% - 3.3333333%);
  font-size: 12px;
  font-weight: 600;
  text-align: center;
}
#footerNavi .group2 .list3 .list {
  width: 82.5%;
}
#footerNavi .group2 .list3 .list li {
  width: 31.313132%;
  height: 50px;
}
#footerNavi .group2 .list3 .list li + li {
  margin-left: 15px;
}
#footerNavi .group2 .list3 .list li a {
  display: flex;
  /* align-items: center; */
  justify-content: center;
  flex-direction: column;
  width: 100%;
  height: 100%;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  border: 1px solid #b6aca7;
  box-sizing: border-box;
  padding-left: 1em;
  transition: 0.3s;
}
#footerNavi .group2 .list3 .list li a:hover {
  background: #de8c9a;
  border-color: #de8c9a;
}
#footerNavi .group2 .list3 .list li a small {
  font-size: 10px;
}

#footerNavi .group2 .list3 .list li .small-12px {
  font-size: 12px;
}

#footerNavi .group2 .ttl2 {
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 15px;
}
#footerNavi .group2 .list2 + .ttl2 {
  margin-top: 38px;
}

#footerPagetop {
  height: 50px;
  background: #de8c9a;
  background: #aea39d;
}
#footerPagetop a {
  width: 100%;
  height: 100%;
  font-size: 14px;
  letter-spacing: 0.05em;
  text-indent: 1.5em;
}
#footerPagetop a span {
  position: relative;
}
#footerPagetop a span::before {
  content: "";
  position: absolute;
  display: inline-block;
  top: 50%;
  left: -0.2em;
  width: 8px;
  height: 8px;
  border-top: 1px solid currentColor;
  border-left: 1px solid currentColor;
  transform: rotate(45deg) translateY(-50%);
}

#footerCopy {
  height: 40px;
  background: #7c6a61;
}
#footerCopy p {
  width: 100%;
  height: 100%;
  font-size: 12px;
  letter-spacing: 0;
}

@media screen and (max-width: 768px) {
  #footer {
  }
  #footerSns {
  }
  #footerSns .ttl1 {
    width: 100%;
    font-size: 20px;
    margin-bottom: 17px;
    letter-spacing: 0.1em;
  }
  #footerSns .ttl1 .en {
    font-size: 20px;
  }
  #footerSns .ttl1 .subTtl {
    font-size: 12px;
    margin-top: 8px;
  }

  #footerSns .list1 {
    width: 100%;
    border-left: none;
  }
  #footerSns .list1 li {
    width: 34.33333332%;
/*     width: 50%; */
	padding-top: 1rem;
  }
  #footerSns .list1 li + li {
    margin-left: 0;
    border-left: 1px solid #d8d8d8;
  }
  #footerSns .list1 li a {
    padding: 0 11.5px;
/*     padding: 0 25px; */
  }

  #footerInfo {
    margin-top: 60px;
    padding-bottom: 45px;
  }
  #footerInfo::before {
    content: none;
  }
  #footerInfo .inner {
  }

  /* access */
  #footerInfo .access {
    float: none;
    width: 100%;
    max-width: 560px;
    margin-top: 0;
  }
  #footerInfo .access .ttl1 {
    font-size: 20px;
    letter-spacing: 0.1em;
    margin-bottom: 18px;
  }
  #footerInfo .access .ttl1 .subTtl {
    font-size: 12px;
    margin-top: 8px;
  }
  #footerInfo .access .accessBox {
  }
  #footerInfo .access .accessBox .txt {
    width: calc(100% - 32.142858% - 5%);
  }
  #footerInfo .access .accessBox .txt .txt1 {
    font-size: 14px;
    line-height: 1.36;
  }
  #footerInfo .access .accessBox .txt .txt2 {
    font-family: "Yu Mincho", Yumincho, serif;
  }

  /* spのみ表示 */
  #footerInfo .access .tel {
    font-size: 18px;
    margin-top: 10px;
    margin-bottom: 10px;
  }
  #footerInfo .access .tel small {
    font-size: 12px;
  }
  #footerInfo .access .tel span {
    display: inline-block;
    font-size: 10px;
    font-weight: 600;
    margin-left: 12px;
    padding: 3px;
    vertical-align: 3px;
    border: 1px solid #b4aa91;
  }
  #footerInfo .access .credit {
  }
  #footerInfo .access .credit .icon {
    display: block;
    width: 94px;
    margin-bottom: 3px;
  }
  #footerInfo .access .credit .txt3 {
    font-size: 10px;
    font-family: "Yu Mincho", Yumincho, serif;
  }

  #footerInfo .access .accessBox .photo {
    width: 32.142858%;
    margin-left: 5%;
  }

  /* map */
  #footerInfo .map {
    float: none;
    width: 100%;
    height: auto;
    margin-top: 20px;
    padding-bottom: 0;
  }
  #footerInfo .map .frame {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 53.125%;
  }
  #footerInfo .map .frame iframe {
  }

  #footerInfo .map .btn {
    max-width: 200px;
    margin-top: 15px;
    margin-left: auto;
  }
  #footerInfo .map .btn a {
    font-size: 12px;
    height: 50px;
  }
  #footerInfo .map .btn a::before {
    top: 32%;
    left: 20%;
    width: 10px;
    height: 16px;
  }
  #footerInfo .map .btn a::after {
    right: 17%;
  }

  /* hours */
  #footerInfo .hours {
    float: none;
    width: 100%;
    margin-top: 50px;
  }
  #footerInfo .hours .ttl1 {
    font-size: 20px;
    letter-spacing: 0.1em;
    margin-bottom: 20px;
  }
  #footerInfo .hours .ttl1 .subTtl {
    font-size: 12px;
    margin-top: 8px;
  }

  #footerInfo .hours .times {
    margin-bottom: 30px;
  }
  #footerInfo .hours .times .time {
  }
  #footerInfo .hours .times .time h4 {
    width: 50px;
    font-size: 11px;
    line-height: 1.6;
    padding-top: 0;
    padding-bottom: 0;
  }
  #footerInfo .hours .times .time .flex,
  #footerInfo .hours .times .time2 p {
    margin-left: 11px;
    padding-top: 0;
    padding-left: 13px;
  }
  #footerInfo .hours .times .time p {
    font-size: 11px;
    line-height: 1.6;
  }
  #footerInfo .hours .times .time p:first-of-type {
  }

  /* business-calendar */
  #footerInfo .hours .calender {
  }
  #footerInfo .hours .calender .business-calendar-box {
  }
  #footerInfo .hours .calender .business-calendar-box > div {
    width: 48%;
  }
  #footerInfo .hours .calender .business-calendar {
  }
  #footerInfo .hours .calender .business-calendar caption {
    font-size: 13px;
  }
  #footerInfo .hours .calender .business-calendar caption .year {
    left: 4px;
    top: 4px;
    font-size: 9px;
  }
  #footerInfo .hours .calender .business-calendar caption .ja {
    font-size: 8px;
  }
  #footerInfo .hours .calender .business-calendar caption em {
    font-size: 9px;
  }
  #footerInfo .hours .calender .business-calendar th {
    font-size: 8px;
    padding-top: 5px;
    padding-bottom: 5px;
  }
  #footerInfo .hours .calender .business-calendar td {
    font-size: 10px;
    padding-top: 4px;
    padding-bottom: 4px;
  }

  #footerInfo .hours .calender .closed {
    font-size: 10px;
    margin-top: 6px;
    padding-left: 1.5em;
  }
  #footerInfo .hours .calender .closed::before {
    width: 11px;
    height: 11px;
  }

  #footerInfo .hours .caution {
    margin-top: 12px;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 12px;
  }
  #footerInfo .hours .caution p {
    font-size: 10px;
    padding-left: 0;
    text-indent: 0;
  }

  /* related */
  #footerInfo .related {
    float: none;
    margin-top: 50px;
  }
  #footerInfo .related .ttl1 {
    font-size: 20px;
    letter-spacing: 0.1em;
    margin-bottom: 18px;
  }
  #footerInfo .related .list1 {
  }
  #footerInfo .related .list1 li {
  }
  #footerInfo .related .list1 li + li {
    margin-top: 8px;
  }
  #footerInfo .related .list1 li a {
    font-size: 12px;
    padding-left: 1em;
  }
  #footerInfo .related .list1 li a::before {
    top: 4px;
    width: 5px;
    height: 5px;
  }

  #footerPagetop {
    height: 40px;
  }
  #footerPagetop a {
    font-size: 12px;
    text-indent: 1.5em;
  }
  #footerPagetop a span {
  }
  #footerPagetop a span::before {
    top: 60%;
    left: -0.2em;
  }

  #footerCopy {
    height: 24px;
  }
  #footerCopy p {
    font-size: 8px;
  }
}

/*--------------------------------------
fade animation
--------------------------------------*/
.animated {
  animation-duration: 0.5s;
  animation-fill-mode: both;
}
/* fade in */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fadeIn {
  animation-name: fadeIn;
  animation-fill-mode: both;
  animation-duration: 1s;
  visibility: visible !important;
  opacity: 0;
}

/* fade in up */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.fadeInUp {
  animation-name: fadeInUp;
  animation-fill-mode: both;
  animation-duration: 1.5s;
  visibility: visible !important;
  opacity: 0;
}

/* fade in down */
@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.fadeInDown {
  animation-name: fadeInDown;
  animation-fill-mode: both;
  animation-duration: 1.5s;
  visibility: visible !important;
  opacity: 0;
}

/* fade in right */
@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translate(30px, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.fadeInRight {
  animation-name: fadeInRight;
  animation-fill-mode: both;
  animation-duration: 1.5s;
  visibility: visible !important;
  opacity: 0;
}

/* fade in left */
@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate(-30px, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.fadeInLeft {
  animation-name: fadeInLeft;
  animation-fill-mode: both;
  animation-duration: 1.5s;
  visibility: visible !important;
  opacity: 0;
}

/* fade out */
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.fadeOut {
  animation-name: fadeOut;
}
.price-title {
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: 0.1em;
  text-align: left;
  font-family: "Yu Gothic", Yugothic, sans-serif;
}
/* =========================
   こんなお悩みありませんか
========================= */

.worries {
  padding: 80px 0;
}

.worries .inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
}

/* タイトル下余白 */
.worries .secTtl {
  text-align: center;
  margin-bottom: 50px;
}

/* 悩みリスト */

.worriesList {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 0;
}

/* 各項目 */

.worriesList li {
  position: relative;
  background: #ffffff;
  border-radius: 10px;
  padding: 18px 20px 18px 48px;
  font-size: 16px;
  line-height: 1.7;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

/* チェックマーク */

.worriesList li::before {
  content: "✔";
  position: absolute;
  left: 18px;
  top: 18px;
  color: #e85b7a;
  font-size: 16px;
  font-weight: bold;
}





/* =========================
   SP対応（重要）
========================= */

@media screen and (max-width: 768px) {

  .worries {
    padding: 60px 0;
  }


  /* 1列表示 */

  .worriesList {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .worriesList li {
    font-size: 15px;
    padding: 16px 16px 16px 44px;
  }

}
/* message
---------------------------------------------- */
.message{
	margin-top: 120px;
	margin-bottom: 70px;
}
	.messageWrap + .messageWrap{
		margin-top: 40px;
	}
		.messageWrap._wrap1 .messageImgBox{
			width: calc(321 / 900 * 100%);
			margin-top: 3%;
			margin-left: 30px;
		}

		/* .messageWrap._wrap2 .messageTxtBox{
			width: calc(426 / 920 * 100%);
		}
		.messageWrap._wrap2 .messageImgBox{
			width: calc(420 / 920 * 100%);
			margin-right: calc(74 / 920 * 100%);
		} */

			.messageTtl{
				font-size: 30px;
				margin-bottom: 40px;
			}
			.messageTxt{
				font-size: 16px;
				line-height: 2.2223;
				letter-spacing: .1em;
				text-align: justify;
			}

@media screen and (max-width: 768px){
	.message{
		margin-top: 40px;
		margin-bottom: 30px;
	}
		.messageWrap{
			position: relative;
		}
		.messageWrap + .messageWrap{
			margin-top: 20px;
		}
			.messageWrap._wrap1 .messageImgBox{
				width: calc(140 / 280 * 100%);
				margin-top: 26%;
				margin-left: 15px;
			}
			/* .messageWrap._wrap2 .messageImgBox{
				width: calc(165 / 280 * 100%);
				margin-right: 15px;
			} */

				.messageTtl{
					position: absolute;
					top: 15px;
					font-size: 16px;
					line-height: 1.6785;
					margin-bottom: 0;
				}
				.messageTxt{
					font-size: 12px;
					line-height: 1.8;
					letter-spacing: .05em;
				}
				.messageWrap._wrap1 .messageTxt{
					margin-top: 80px;
				}
}