@charset "UTF-8";
body {
  font-size: 18px;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  text-align: justify;
  text-justify: inter-ideograph;
  font-family: "Noto Sans JP", sans-serif;
  word-wrap: break-all;
  word-wrap: break-word;
  width: 100%;
  min-width: 1260px;
  color: #151515;
  scroll-behavior: smooth;
}
@media screen and (max-width: 768px) {
  body {
    font-size: 28px;
    font-size: 3.6458333333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  body {
    font-size: 16.4705882353px;
  }
}

.col-wht {
  color: #fff !important;
}
.col-blk {
  color: #151515 !important;
}
.col-ppl1 {
  color: #a15dba !important;
}
.col-ppl2 {
  color: #ac88b9 !important;
}
.col-gry {
  color: #f2f2f2 !important;
}
.col-ylw {
  color: #fed478 !important;
}

.bg-wht {
  background-color: #fff !important;
}
.bg-blk {
  background-color: #151515 !important;
}
.bg-ppl1 {
  background-color: #a15dba !important;
}
.bg-ppl2 {
  background-color: #ac88b9 !important;
}
.bg-gry {
  background-color: #f2f2f2 !important;
}
.bg-ylw {
  background-color: #fed478 !important;
}
.bg-wht-gra-side {
  background: #fbfbfa;
  background: linear-gradient(90deg, rgba(251, 251, 250, 0) 0%, rgba(251, 251, 250, 0.9) 5%, rgba(251, 251, 250, 0.9) 95%, rgba(251, 251, 250, 0) 100%);
}
.bg-wht-gra-updwn {
  background: #fff;
  background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 5%, rgba(255, 255, 255, 0.9) 95%, rgba(255, 255, 255, 0) 100%);
}

.ptn-wht {
  background: url("/img/common/ptn-washi-wht.png");
}
.ptn-ppl {
  background: url("/img/common/ptn-washi-ppl.png");
}

.btn-ptn1 .btn-link, .btn-ptn2 .btn-link {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: #ac88b9;
  color: #fff;
  border-radius: 8px;
}
.btn-ptn1 .btn-link:hover, .btn-ptn2 .btn-link:hover {
  color: rgba(255, 255, 255, 0.8);
}
.btn-ptn2 .btn-link {
  background: #fff;
  border: solid 1px #ac88b9;
  color: #151515;
  font-weight: 500;
}
.btn-ptn2 .btn-link:hover {
  color: rgba(21, 21, 21, 0.8);
}

.ic-tel {
  display: flex;
  align-items: center;
}
.ic-tel::before {
  content: "";
  display: block;
  width: 39px;
  aspect-ratio: 39/25;
  background-image: url("/img/common/ic-tel.png");
  background-size: 100%;
  margin-right: 12px;
}
.ic-mail-top::before {
  content: "";
  display: block;
  width: 31px;
  aspect-ratio: 31/24;
  background-image: url("/img/common/ic-mail.png");
  background-size: 100%;
  margin: 0 auto 15px auto;
}
.ic-mail {
  display: flex;
  align-items: center;
}
.ic-mail::before {
  content: "";
  display: block;
  width: 31px;
  aspect-ratio: 31/24;
  background-image: url("/img/common/ic-mail.png");
  background-size: 100%;
  margin-right: 12px;
}
.ic-check {
  display: flex;
  align-items: flex-start;
}
.ic-check::before {
  content: "✓";
  display: block;
  line-height: 1;
  transform: translateY(5px);
}
.ic-dot {
  display: flex;
  align-items: flex-start;
}
.ic-dot::before {
  content: "・";
  display: block;
}

.arw-wht, .arw-ppl, .arw-wht-flx, .arw-ppl-flx {
  position: relative;
}
.arw-wht::after, .arw-ppl::after, .arw-wht-flx::after, .arw-ppl-flx::after {
  content: "";
  display: block;
  width: 16px;
  aspect-ratio: 1/1;
  background-image: url("/img/common/arw-wht.png");
  background-size: 100%;
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translate(0, -50%);
  transition: 0.3s;
}
.arw-wht:hover::after, .arw-ppl:hover::after, .arw-wht-flx:hover::after, .arw-ppl-flx:hover::after {
  transform: translate(1px, -50%);
}
.arw-ppl::after, .arw-ppl-flx::after {
  background-image: url("/img/common/arw-ppl.png");
  background-size: 100%;
}
.arw-wht-flx, .arw-ppl-flx {
  display: flex;
  align-items: center;
}
.arw-wht-flx::after, .arw-ppl-flx::after {
  position: static;
  transform: none;
  margin-left: 30px;
}
.arw-wht-flx:hover::after, .arw-ppl-flx:hover::after {
  transform: translate(1px, 0);
}

.wave-top {
  position: relative;
  z-index: 1;
}
.wave-top::before {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 1920/170;
  background-image: url("/img/common/wave-02.png");
  background-size: 100%;
  position: absolute;
  left: 0;
  top: 0;
  transform: translateY(-1px);
  z-index: -1;
}
.wave-btm {
  position: relative;
  z-index: 1;
}
.wave-btm::after {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 1920/170;
  background-image: url("/img/common/wave-01.png");
  background-size: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  transform: translateY(1px);
  z-index: -1;
}

.dot-ppl {
  display: flex;
  align-items: center;
}
.dot-ppl::before {
  content: "";
  display: block;
  width: 8px;
  aspect-ratio: 1/1;
  border-radius: 50rem;
  background: #ac88b9;
  margin-right: 8px;
}

.obj-suisai-01, .obj-suisai-02 {
  display: flex;
  align-items: center;
}
.obj-suisai-01 .inner, .obj-suisai-02 .inner {
  position: relative;
  z-index: 1;
}
.obj-suisai-01 .inner::before, .obj-suisai-02 .inner::after {
  content: "";
  display: block;
  width: 80px;
  aspect-ratio: 80/104;
  background-image: url("/img/common/obj-suisai-01.png");
  background-size: 100%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(-50%, -50%);
  z-index: -1;
}
.obj-suisai-02 .inner::after {
  width: 109px;
  aspect-ratio: 109/88;
  background-image: url("/img/common/obj-suisai-02.png");
  background-size: 100%;
  left: inherit;
  right: 0;
  transform: translate(50%, -50%);
}
.obj-sidebar-ppl {
  display: flex;
  justify-content: center;
  align-items: center;
}
.obj-sidebar-ppl::before, .obj-sidebar-ppl::after {
  content: "";
  display: block;
  width: 50%;
  height: 2px;
  background: #a15dba;
  background: linear-gradient(-90deg, #a15dba 80%, rgba(161, 93, 186, 0) 100%);
}
.obj-sidebar-ppl::after {
  background: #a15dba;
  background: linear-gradient(90deg, #a15dba 80%, rgba(161, 93, 186, 0) 100%);
}
.obj-sidebar-ppl .inner {
  white-space: nowrap;
  padding: 0 15px;
}
.obj-plus-c {
  position: relative;
  z-index: 1;
}
.obj-plus-c::before {
  content: "+";
  display: block;
  font-size: 28px;
  font-size: 2.8rem;
  font-weight: 300;
  color: #a15dba;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .obj-plus-c::before {
    font-size: 38px;
    font-size: 4.9479166667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .obj-plus-c::before {
    font-size: 22.3529411765px;
  }
}

.hov-opa a:hover {
  opacity: 0.8;
}
.hov-img a:hover img {
  opacity: 0.8;
}
.hov-scale a img, .hov-up a img {
  backface-visibility: hidden;
  -webkit-transform: translateZ(0) scale(1, 1);
}
.hov-scale a:hover img, .hov-up a:hover img {
  transform: scale(0.98);
}
.hov-up a:hover img {
  transform: translateY(-3px);
}

a.com-sdw:hover {
  box-shadow: 0px 0px 0px 0.48px rgba(71, 57, 77, 0.2);
  transform: translate(1px, 1px);
}

.tbl {
  width: 100%;
}
.tbl td {
  overflow-wrap: anywhere; /* 収まらない場合に折り返す */
  word-break: normal; /* 単語の分割はデフォルトに依存 */
  line-break: strict; /* 禁則処理を厳格に適用 */
}
.tbl-ptn1 th, .tbl-ptn1 td {
  padding: 20px 4%;
  line-height: 1.8;
}
.tbl-ptn1 th {
  width: 20%;
  color: #a15dba;
  font-weight: 500;
}

[class^=cts-] {
  margin: 0 auto;
}

.cts-1080 {
  width: 100%;
  max-width: 1080px;
}
.cts-1280 {
  width: 100%;
  max-width: 1280px;
}

.list-clm-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}
.list-clm-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}
.list-nav .nav-item {
  line-height: 1;
}
.list-policy .policy-item, .list-policy-lower .policy-item {
  display: grid;
  row-gap: 15px;
}
.list-policy .policy-img, .list-policy-lower .policy-img {
  position: relative;
}
.list-policy .policy-img::before, .list-policy-lower .policy-img::before {
  content: "01";
  display: block;
  font-family: "Noto Serif JP", serif;
  font-size: 44px;
  font-size: 4.4rem;
  line-height: 1;
  color: #a15dba;
  -webkit-text-stroke: 5px #fff;
  text-stroke: 5px #fff;
  paint-order: stroke;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -40%);
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .list-policy .policy-img::before, .list-policy-lower .policy-img::before {
    font-size: 54px;
    font-size: 7.03125vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-policy .policy-img::before, .list-policy-lower .policy-img::before {
    font-size: 31.7647058824px;
  }
}
.list-policy .policy-item:nth-child(2) .policy-img::before, .list-policy-lower .policy-item:nth-child(2) .policy-img::before {
  content: "02";
}
.list-policy .policy-item:nth-child(3) .policy-img::before, .list-policy-lower .policy-item:nth-child(3) .policy-img::before {
  content: "03";
}
.list-policy-lower .policy-item {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0;
}
.list-policy-lower .policy-img {
  width: 480px;
  max-width: 100%;
  text-align: center;
}
.list-policy-lower .policy-inner {
  width: 600px;
  max-width: 100%;
  display: grid;
  row-gap: 15px;
}
.list-policy-lower .ttl-sand {
  margin-top: 0;
}
.list-gallery {
  gap: 0 1.56%;
}
.list-gallery .gal-item {
  width: 33.3333333333%;
  /* 下方向に透明になるマスク */
  -webkit-mask-image: linear-gradient(to bottom, black 85%, transparent 100%);
  mask-image: linear-gradient(to bottom, black 85%, transparent 100%);
  /* Safari対応用 */
  -webkit-mask-composite: destination-in;
  mask-composite: intersect;
}
.list-gallery img {
  display: block;
  width: 100%;
}
.list-bnr .bnr-link {
  width: 100%;
  border: solid 1px #ac88b9;
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  align-items: center;
  padding: 0 30px;
}
.list-bnr .plan .bnr-link {
  background: url("/img/top/plan-bnr-plan.png") right center no-repeat;
  background-size: auto 100%;
  background-color: #fff;
}
.list-bnr .hole .bnr-link {
  background: url("/img/top/plan-bnr-hole.png") right center no-repeat;
  background-size: auto 100%;
  background-color: #fff;
}
.list-news .news-item {
  width: 100%;
}
.list-news .news-link {
  display: block;
  background: #fff;
  padding: 20px;
}
.list-news .news-inner {
  display: grid;
  row-gap: 10px;
  border-left: solid 3px #f2f2f2;
  padding-left: 20px;
}
.list-news time {
  font-family: "Noto Serif JP", serif;
  display: block;
  line-height: 1;
  color: #a15dba;
}
.list-data .list-item, .list-voice .list-item, .list-plan .list-item, .list-flow .list-item, .list-faq .list-item {
  width: 100%;
}
.list-voice .voice-item, .list-voice-sub .voice-item {
  background: #fff;
  padding: 40px 30px;
}
.list-voice .voice-txt, .list-voice-sub .voice-txt {
  padding-left: 23px;
}
.list-voice-sub {
  gap: 30px 40px;
}
.list-voice-sub .voice-item {
  padding: 30px;
}
.list-plan .com-base {
  padding: 40px 50px;
}
.list-ic .ic-item {
  width: 130px;
  max-width: 100%;
  text-align: center;
}
.list-ic .ic-img {
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 8px;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.list-ic .ic-txt {
  font-size: 14px;
  font-size: 1.4rem;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .list-ic .ic-txt {
    font-size: 24px;
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-ic .ic-txt {
    font-size: 14.1176470588px;
  }
}
.list-label .label-item {
  background: url("/img/common/ptn-washi-ppl.png");
  color: #fff;
  text-align: center;
  padding: 15px;
}
.list-flow .flow-item {
  position: relative;
  z-index: 1;
}
.list-flow .flow-item:not(:last-child)::after {
  content: "";
  display: block;
  width: 105px;
  aspect-ratio: 105/33;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
  background: #ac88b9;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 190%);
}
.list-faq .faq-item {
  background: #fff;
  padding: 30px 30px 30px 105px;
  display: grid;
  row-gap: 10px;
}
.list-faq dt {
  font-size: 22px;
  font-size: 2.2rem;
  color: #a15dba;
  position: relative;
}
@media screen and (max-width: 768px) {
  .list-faq dt {
    font-size: 32px;
    font-size: 4.1666666667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-faq dt {
    font-size: 18.8235294118px;
  }
}
.list-faq dt::before {
  content: "";
  display: block;
  width: 60px;
  aspect-ratio: 60/61;
  background-image: url("/img/faq/ic-question.png");
  background-size: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(calc(-100% - 15px), -20%);
}

.com-tag-main .list-tag {
  font-family: "Noto Serif JP", serif;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 5px;
}
.com-tag-main .tag-link {
  display: block;
  background: #a15dba;
  color: #fff;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 500;
  padding: 10px 20px;
  border-radius: 4px;
}
@media screen and (max-width: 768px) {
  .com-tag-main .tag-link {
    font-size: 28px;
    font-size: 3.6458333333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .com-tag-main .tag-link {
    font-size: 16.4705882353px;
  }
}
.com-tag-main .tag-link:hover {
  opacity: 0.8;
}
.com-tag-sub .list-tag {
  font-family: "Noto Serif JP", serif;
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
}
.com-tag-sub .tag-item {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1;
  color: #ac88b9;
}
@media screen and (max-width: 768px) {
  .com-tag-sub .tag-item {
    font-size: 24px;
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .com-tag-sub .tag-item {
    font-size: 14.1176470588px;
  }
}
.com-gmap {
  max-width: 100%;
}
.com-gmap iframe {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
}
.com-layout {
  display: flex;
}
.com-tel .tel {
  line-height: 1;
}
.com-sdw {
  box-shadow: 0px 4px 15.52px 0.48px rgba(71, 57, 77, 0.2);
}
.com-youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.com-youtube iframe {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
.com-base-suisai, .com-base-img {
  position: relative;
  z-index: 1;
}
.com-base-suisai::after, .com-base-img::after {
  content: "";
  display: block;
  width: 1387px;
  aspect-ratio: 1387/574;
  background-image: url("/img/common/base-suisai.png");
  background-size: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
.com-base-img::after {
  width: 606px;
  background-image: url("/img/plan/img-bg.png");
  background-size: 100%;
}

.ttl-main {
  font-family: "Noto Serif JP", serif;
  font-size: 44px;
  font-size: 4.4rem;
  line-height: 1.3636363636;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #a15dba;
  -webkit-text-stroke: #fff 5px;
  text-stroke: #fff 5px;
  paint-order: stroke;
}
@media screen and (max-width: 768px) {
  .ttl-main {
    font-size: 54px;
    font-size: 7.03125vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-main {
    font-size: 31.7647058824px;
  }
}
.ttl-sub {
  font-family: "Noto Serif JP", serif;
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: 500;
  border-left: solid #ac88b9 6px;
  border-bottom: solid 1px #f2f2f2;
  background: url("/img/common/ptn-washi-wht.png");
  padding: 10px 20px 15px 20px;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .ttl-sub {
    font-size: 34px;
    font-size: 4.4270833333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-sub {
    font-size: 20px;
  }
}
.ttl-sand {
  font-family: "Noto Serif JP", serif;
  font-size: 28px;
  font-size: 2.8rem;
  font-weight: 500;
  background: #fbfbfa;
  background: linear-gradient(90deg, rgba(251, 251, 250, 0) 0%, rgba(251, 251, 250, 0.9) 5%, rgba(251, 251, 250, 0.9) 95%, rgba(251, 251, 250, 0) 100%);
  border-top: solid 2px #a15dba;
  border-bottom: solid 2px #a15dba;
  color: #a15dba;
  text-align: center;
  padding: 10px 0;
}
@media screen and (max-width: 768px) {
  .ttl-sand {
    font-size: 38px;
    font-size: 4.9479166667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-sand {
    font-size: 22.3529411765px;
  }
}
.ttl-sand.ft-22 {
  font-size: 22px;
  font-size: 2.2rem;
}
@media screen and (max-width: 768px) {
  .ttl-sand.ft-22 {
    font-size: 32px;
    font-size: 4.1666666667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-sand.ft-22 {
    font-size: 18.8235294118px;
  }
}
.ttl-bar {
  font-family: "Noto Serif JP", serif;
  font-size: 35px;
  font-size: 3.5rem;
  background: url("/img/common/ptn-washi-ppl.png");
  color: #fff;
  text-align: center;
  padding: 20px 40px;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .ttl-bar {
    font-size: 45px;
    font-size: 5.859375vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-bar {
    font-size: 26.4705882353px;
  }
}
.ttl-sq {
  font-size: 22px;
  font-size: 2.2rem;
  display: flex;
  align-items: flex-start;
  color: #a15dba;
  margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
  .ttl-sq {
    font-size: 32px;
    font-size: 4.1666666667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-sq {
    font-size: 18.8235294118px;
  }
}
.ttl-sq::before {
  content: "■";
  display: block;
  color: #a15dba;
}
.ttl-bdr-lft {
  font-size: 22px;
  font-size: 2.2rem;
  color: #a15dba;
  border-left: solid 3px #f2f2f2;
  padding-left: 20px;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .ttl-bdr-lft {
    font-size: 32px;
    font-size: 4.1666666667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-bdr-lft {
    font-size: 18.8235294118px;
  }
}

.frame-gra {
  position: relative;
  /* マスクで上下左右に透明グラデーションをつける */
  -webkit-mask-image: linear-gradient(to top, transparent 0%, #fff 5%), linear-gradient(to bottom, transparent 0%, #fff 5%), linear-gradient(to left, transparent 0%, #fff 2%), linear-gradient(to right, transparent 0%, #fff 2%);
  -webkit-mask-composite: destination-in;
  mask-composite: intersect;
  mask-image: linear-gradient(to top, transparent 0%, #fff 5%), linear-gradient(to bottom, transparent 0%, #fff 5%), linear-gradient(to left, transparent 0%, #fff 2%), linear-gradient(to right, transparent 0%, #fff 2%);
}

.txt-plain {
  line-height: 1.9444444444;
}

#com-service {
  background: url("/img/top/service-bg.png") center bottom no-repeat;
  background-size: cover;
}
#com-service .cts-1080::after {
  content: "";
  display: block;
  width: 388px;
  max-width: 100%;
  aspect-ratio: 388/214;
  background-image: url("/img/top/service-illust.png");
  background-size: 100%;
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translate(-85px, 0);
  z-index: -1;
}
#com-service.lower-service {
  padding: 100px 0 200px 0;
}
#com-service.lower-service .cts-1080::after {
  transform: translate(-85px, 90px);
}

#com-contact {
  padding: 130px 0 80px 0;
  background: url("/img/common/contact-bg.png") center bottom no-repeat;
  background-size: cover;
}
#com-contact .cts-1080 {
  background: url("/img/common/contact-base.png") center center no-repeat;
  background-size: cover;
  padding-top: 50px;
  padding-bottom: 50px;
}
#com-contact .cts-1080::before, #com-contact .cts-1080::after {
  content: "";
  display: block;
  width: 105px;
  max-width: 100%;
  aspect-ratio: 105/359;
  background-image: url("/img/common/contact-illust-01.png");
  background-size: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  transform: translateX(27px);
  z-index: -1;
}
#com-contact .cts-1080::after {
  width: 121px;
  max-width: 100%;
  aspect-ratio: 121/384;
  background-image: url("/img/common/contact-illust-02.png");
  background-size: 100%;
  left: inherit;
  right: 0;
  transform: translateX(-22px);
}
#com-contact .ttl-main {
  margin-bottom: 35px;
}
#com-contact .com-tel {
  margin-top: 25px;
}

#header {
  position: relative;
  z-index: 1;
}
#header .com-tel, #header .btn-contact .btn-link {
  padding: 10px 20px;
  border-radius: 0 0 8px 8px;
}
#header .com-logo {
  margin-top: 30px;
}

.hd-bar {
  padding: 0 30px;
  background: rgba(255, 255, 255, 0.6);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.6) 80%, rgba(255, 255, 255, 0) 100%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}

.mv img, .sv img {
  display: block;
  width: 100%;
}

.mv.wave-btm::after {
  z-index: 1;
}

.sv {
  aspect-ratio: 1920/500;
}
.sv-ttl {
  width: 1080px;
  max-width: 56.25%;
  font-size: 54px;
  font-size: 2.8125vw;
  aspect-ratio: 1080/150;
  background: #fbfbfa;
  background: linear-gradient(90deg, rgba(251, 251, 250, 0) 0%, #fbfbfa 5%, #fbfbfa 95%, rgba(251, 251, 250, 0) 100%);
  transform: translateY(50%);
}
@media screen and (max-width: 1120px) {
  .sv-ttl {
    font-size: 31.7647058824px;
  }
}
@media screen and (min-width: 1920px) {
  .sv-ttl {
    font-size: 54px;
  }
}
.sv-ttl::before {
  content: "";
  display: block;
  width: 20.93%;
  aspect-ratio: 226/186;
  background-image: url("/img/common/illust-woman.png");
  background-size: 100%;
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translate(0, 30%);
  z-index: 1;
}
.sv-about {
  background: url("/img/about/sv.png") center center no-repeat;
  background-size: cover;
}
.sv-plan {
  background: url("/img/plan/sv.png") center center no-repeat;
  background-size: cover;
}
.sv-hole {
  background: url("/img/hole/sv.png") center center no-repeat;
  background-size: cover;
}
.sv-first {
  background: url("/img/first/sv.png") center center no-repeat;
  background-size: cover;
}
.sv-faq {
  background: url("/img/faq/sv.png") center center no-repeat;
  background-size: cover;
}
.sv-company {
  background: url("/img/company/sv.png") center center no-repeat;
  background-size: cover;
}
.sv-blog {
  background: url("/img/blog/sv.png") center center no-repeat;
  background-size: cover;
}
.sv-contact {
  background: url("/img/contact/sv.png") center center no-repeat;
  background-size: cover;
}
.sv-complete {
  background: url("/img/complete/sv.png") center center no-repeat;
  background-size: cover;
}
.sv-privacy {
  background: url("/img/privacy/sv.png") center center no-repeat;
  background-size: cover;
}
.sv-sitemap {
  background: url("/img/sitemap/sv.png") center center no-repeat;
  background-size: cover;
}
.sv-e404 {
  background: url("/img/e404/sv.png") center center no-repeat;
  background-size: cover;
}

.slider-item {
  width: 100%;
  aspect-ratio: 1920/924;
}
.slider-item .mv-cc {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
.slider-01 {
  background: url("/img/top/mv-img-01.png") center center no-repeat;
  background-size: cover;
}
.slider-01 .mv-cc {
  width: 803px;
  max-width: 41.8229166667%;
  transform: translate(-50%, -45%);
}
.slider-02 {
  background: url("/img/top/mv-img-02.png") center center no-repeat;
  background-size: cover;
}
.slider-02 .mv-cc {
  width: 820px;
  max-width: 42.7083333333%;
  transform: translate(-25%, -40%);
}
.slider-03 {
  background: url("/img/top/mv-img-03.png") center center no-repeat;
  background-size: cover;
}
.slider-03 .mv-cc {
  width: 898px;
  max-width: 46.7708333333%;
  transform: translate(-50%, -45%);
}
.slider-04 {
  background: url("/img/top/mv-img-04.png") center center no-repeat;
  background-size: cover;
  justify-content: flex-start;
}
.slider-04 .mv-cc {
  width: 823px;
  max-width: 42.8645833333%;
  left: 16.15%;
  transform: translate(0, -53%);
}

.top-concept {
  padding: 80px 0 100px 0;
  background: url("/img/top/concept-bg.png") right center no-repeat;
  background-size: auto 100%;
}
.top-concept .ttl-main {
  margin-bottom: 20px;
}
.top-concept h3 {
  line-height: 1.4285714286;
  padding: 30px 20px;
  margin-bottom: 50px;
}

.top-policy {
  padding: 30px 0 100px 0;
}
.top-policy .ttl-main {
  margin-bottom: 50px;
}
.top-policy .btn {
  margin-top: 30px;
}

.top-plan {
  padding: 75px 0 0;
}
.top-plan .list-gallery {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.top-plan .wrp {
  background: url("/img/top/plan-illust.png") left bottom no-repeat;
  background-size: auto;
}
.top-plan .txt {
  position: absolute;
  left: 0;
  bottom: 0;
  padding-bottom: 30px;
}
.top-plan .txt::before {
  content: "";
  display: block;
  width: 100%;
}
.top-plan .list-bnr {
  margin-top: 50px;
}

.top-service {
  padding: 270px 0 200px 0;
  margin-top: -45px;
}
.top-service .ttl-main {
  margin-bottom: 30px;
}
.top-service .btn {
  margin-top: 70px;
}

.top-bnr {
  padding: 50px 0;
}

.top-news {
  padding: 100px 0;
}
.top-news .list-news {
  min-height: 260px;
}
.top-news .btn {
  position: absolute;
  left: 0;
  bottom: 0;
}
.top-news .cts-1080::after {
  content: "";
  display: block;
  width: 214px;
  max-width: 100%;
  aspect-ratio: 214/138;
  background-image: url("/img/top/news-illust.png");
  background-size: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  transform: translate(17px, -60px);
  z-index: -1;
}

#ctn-lower article {
  padding: 100px 0;
}
#ctn-lower .ttl-main {
  margin-bottom: 40px;
}
#ctn-lower #com-contact .cts-1080::before {
  width: 81px;
  max-width: 100%;
  transform: translateX(90px);
}
#ctn-lower #com-contact .cts-1080::after {
  width: 94px;
  max-width: 100%;
  transform: translateX(-80px);
}

.lower-promise {
  background: url("/img/about/promise-bg.png") right center no-repeat;
  background-size: auto 100%;
}

.lower-hole .com-base,
.lower-service-cont .com-base,
.lower-flow .com-base {
  padding: 40px 50px;
}

#footer {
  padding: 80px 0 0;
}
#footer .com-logo {
  margin-bottom: 30px;
}

.ft-sec-02 {
  margin-top: 80px;
  padding: 15px 0;
}
.ft-sec-02 .nav-item:not(:first-child) {
  border-left: solid 1px #fff;
  padding-left: 10px;
}
.ft-sec-02 .nav-link {
  color: #fff;
}