@charset "UTF-8";
body {
  font-family: "Kiwi Maru", serif;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0;
  text-align: justify;
  text-justify: inter-ideograph;
  word-wrap: break-all;
  word-wrap: break-word;
  width: 100%;
  min-width: 1260px;
  scroll-behavior: smooth;
  color: #624542;
  background: #f6fcf5;
}
@media screen and (max-width: 768px) {
  body {
    font-size: 26px;
    font-size: 3.3854166667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  body {
    font-size: 15.2941176471px;
  }
}

.col-wht {
  color: #fff !important;
}
.col-blk {
  color: #624542 !important;
}
.col-brw {
  color: #624542 !important;
}
.col-pnk1 {
  color: #f2a6d3 !important;
}
.col-pnk2 {
  color: #fae9eb !important;
}
.col-grn1 {
  color: #4a780a !important;
}
.col-grn2 {
  color: #5d9015 !important;
}
.col-grn3 {
  color: #98b027 !important;
}
.col-grn4 {
  color: #e8f2e1 !important;
}
.col-grn5 {
  color: #f6fcf5 !important;
}
.col-red {
  color: #963059 !important;
}

.bg-wht {
  background-color: #fff !important;
}
.bg-blk {
  background-color: #624542 !important;
}
.bg-brw {
  background-color: #624542 !important;
}
.bg-pnk1 {
  background-color: #f2a6d3 !important;
}
.bg-pnk2 {
  background-color: #fae9eb !important;
}
.bg-grn1 {
  background-color: #4a780a !important;
}
.bg-grn2 {
  background-color: #5d9015 !important;
}
.bg-grn3 {
  background-color: #98b027 !important;
}
.bg-grn4 {
  background-color: #e8f2e1 !important;
}
.bg-grn5 {
  background-color: #f6fcf5 !important;
}
.bg-red {
  background-color: #963059 !important;
}

.ptn-grn1 {
  background: url("/img/common/bg-grn-marble1.png") center top;
}
.ptn-grn2 {
  background: url("/img/common/bg-grn-marble2.png") center top;
}

.btn-ptn1 .btn-link, .btn-ptn2 .btn-link, .btn-ptn3 .btn-link {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: #4a780a;
  color: #fff;
  border-radius: 50rem;
  line-height: 1;
}
.btn-ptn1 .btn-link:hover, .btn-ptn2 .btn-link:hover, .btn-ptn3 .btn-link:hover {
  color: rgba(255, 255, 255, 0.8);
}
.btn-ptn2 .btn-link {
  background: #000;
}
.btn-ptn3 .btn-link {
  background: #fff;
  border: solid 2px #cdd0cf;
  border-radius: 50rem;
}
.btn-ptn3 .col-red:hover {
  color: rgba(150, 48, 89, 0.8) !important;
}
.btn-ptn3 .col-grn1:hover {
  color: rgba(74, 120, 10, 0.8) !important;
}

#side-bar {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 77;
}

.ic-tel {
  display: flex;
  align-items: center;
}
.ic-tel::before {
  content: "";
  display: block;
  width: 50px;
  aspect-ratio: 1/1;
  background-image: url("/img/common/ic-tel.png");
  background-size: 100%;
}
.ic-line {
  display: flex;
  align-items: center;
  -moz-column-gap: 15px;
       column-gap: 15px;
}
.ic-line::before {
  content: "";
  display: block;
  width: 37px;
  aspect-ratio: 1/1;
  background-image: url("/img/common/ic-line.png");
  background-size: 100%;
}

.arw-wht, .arw-grn {
  position: relative;
}
.arw-wht::after, .arw-grn::after {
  content: "";
  display: block;
  width: 6px;
  aspect-ratio: 6/10;
  background-image: url("/img/common/arw-wht.png");
  background-size: 100%;
  position: absolute;
  top: 50%;
  right: 17px;
  transform: translate(0, -50%);
  transition: 0.3s;
}
.arw-wht:hover::after, .arw-grn:hover::after {
  transform: translate(-2px, -50%);
}
.arw-grn::after {
  background-image: url("/img/common/arw-grn.png");
  background-size: 100%;
}
.arw-pnk {
  display: flex;
  align-items: center;
  -moz-column-gap: 5px;
       column-gap: 5px;
}
.arw-pnk::before {
  content: "";
  display: block;
  width: 4px;
  aspect-ratio: 4/7;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  background: #f2a6d3;
}
.arw-circle-beg {
  position: relative;
}
.arw-circle-beg::before {
  content: "";
  display: block;
  width: 24px;
  aspect-ratio: 1/1;
  background-image: url("/img/common/arw-circle-beg.png");
  background-size: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  transition: 0.3s;
}
.arw-circle-beg:hover::before {
  transform: translate(-50%, calc(-50% + 2px));
}
.arw-circle-wht {
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 15px;
       column-gap: 15px;
}
.arw-circle-wht::before {
  content: "";
  display: block;
  width: 24px;
  aspect-ratio: 1/1;
  background-image: url("/img/common/arw-circle-wht.png");
  background-size: 100%;
  transition: 0.3s;
}

.dot-top {
  position: relative;
}
.dot-top::before {
  content: "・";
  display: block;
  font-size: 32px;
  font-size: 3.2rem;
  position: absolute;
  left: 50%;
  bottom: 65%;
  transform: translate(-50%, 0);
}
@media screen and (max-width: 768px) {
  .dot-top::before {
    font-size: 42px;
    font-size: 5.46875vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .dot-top::before {
    font-size: 24.7058823529px;
  }
}

.frame-wave-btm-wht, .frame-wave-btm-grn, .frame-tunnel-btm, .frame-moon-btm {
  position: relative;
}
.frame-wave-btm-wht::after, .frame-wave-btm-grn::after, .frame-tunnel-btm::after, .frame-moon-btm::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 1px);
  z-index: 1;
}
.frame-wave-top-wht, .frame-wave-top-grn, .frame-tunnel-top, .frame-moon-top {
  position: relative;
}
.frame-wave-top-wht::before, .frame-wave-top-grn::before, .frame-tunnel-top::before, .frame-moon-top::before {
  content: "";
  display: block;
  width: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -1px);
  z-index: 1;
}
.frame-wave-btm-wht::after, .frame-wave-top-wht::before {
  aspect-ratio: 1920/50;
  background-image: url("/img/common/frame-wave-wht.png");
  background-size: 100%;
}
.frame-wave-btm-grn::after, .frame-wave-top-grn::before {
  aspect-ratio: 1920/50;
  background-image: url("/img/common/frame-wave-grn.png");
  background-size: 100%;
}
.frame-wave-top-wht::before, .frame-wave-top-grn::before {
  transform: translate(-50%, -1px) scaleY(-1);
}
.frame-moon-btm::after, .frame-moon-top::before {
  aspect-ratio: 1920/138;
  background-image: url("/img/common/frame-moon-wht.png");
  background-size: 100%;
}
.frame-moon-top::before {
  transform: translateX(-50%) scaleY(-1);
}
.frame-tunnel-top::before, .frame-tunnel-btm::after {
  aspect-ratio: 1920/138;
  background-image: url("/img/common/frame-tunnel-wht.png");
  background-size: 100%;
}
.frame-tunnel-btm::after {
  transform: translate(-50%, 1px) scaleY(-1);
}

.bg-ptn-grn1, .bg-ptn-grn2 {
  position: relative;
  z-index: 1;
}
.bg-ptn-grn1::after, .bg-ptn-grn2::after {
  content: "";
  display: block;
  width: 100%;
  height: 200px;
  background-image: url("/img/common/bg-grn-marble1.png");
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
}
.bg-ptn-grn2::after {
  background-image: url("/img/common/bg-grn-marble2.png");
}

.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);
}

.tbl {
  width: 100%;
}
.tbl td {
  overflow-wrap: anywhere; /* 収まらない場合に折り返す */
  word-break: normal; /* 単語の分割はデフォルトに依存 */
  line-break: strict; /* 禁則処理を厳格に適用 */
}
.tbl-info th {
  width: 22%;
}
.tbl-info td {
  white-space: pre-wrap;
}
.tbl-info tr:not(:first-child) th, .tbl-info tr:not(:first-child) td {
  padding-top: 15px;
}
.tbl-ptn1 dl {
  width: 100%;
  display: flex;
  align-items: flex-start;
}
.tbl-ptn1 dl:not(:last-child) {
  border-bottom: solid 1px #cdd0cf;
}
.tbl-ptn1 dt, .tbl-ptn1 dd {
  padding: 15px 0;
}
.tbl-ptn1 dt {
  width: 20%;
  display: flex;
  align-items: flex-start;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
.tbl-ptn1 dt::before {
  content: "";
  display: block;
  width: 4px;
  min-width: 4px;
  height: 25px;
  background: #98b027;
  border-radius: 50rem;
}
.tbl-ptn1 dd {
  width: 80%;
  padding-left: 4%;
  white-space: pre-wrap;
  line-height: 1.7777777778;
}

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

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

.layout-clm-2 {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
.layout-clm-2 .list-item {
  width: calc((100% - 40px) / 2);
}
.layout-clm-2-c {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
}
.layout-clm-2-c .list-item {
  width: calc((100% - 40px) / 2);
}
.layout-clm-3 {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}
.layout-clm-3 .list-item {
  width: calc((100% - 30px) / 3);
}
.layout-clm-3-c {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 15px;
}
.layout-clm-3-c .list-item {
  width: calc((100% - 30px) / 3);
}
.layout-clm-4 {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
.layout-clm-4 .list-item {
  width: calc((100% - 120px) / 4);
}
.layout-clm-4-c {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
}
.layout-clm-4-c .list-item {
  width: calc((100% - 120px) / 4);
}

.list-nav .nav-item {
  line-height: 1;
}
.list-nav .ac {
  cursor: pointer;
}
.list-news .list-item, .list-voice .list-item, .list-num .list-item, .list-flow2 .list-item {
  width: 100%;
}
.list-news {
  display: flex;
  flex-wrap: wrap;
  gap: 50px;
}
.list-news .list-item {
  width: calc((100% - 100px) / 3);
}
.list-news time, .list-news .news-ttl {
  font-weight: normal;
}
.list-news time {
  display: block;
  line-height: 1;
}
.list-news .news-img {
  width: 100%;
  aspect-ratio: 300/220;
  border-radius: 15px;
  overflow: hidden;
  margin-bottom: 20px;
}
.list-news .news-inner {
  display: flex;
  align-items: center;
  -moz-column-gap: 8px;
       column-gap: 8px;
}
.list-news .news-ttl {
  line-height: 1.875;
  margin-top: 10px;
}
.list-news .com-tag-sub {
  border-left: solid 1px #624542;
  padding-left: 8px;
}
.list-info dl {
  display: flex;
  align-items: flex-start;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
.list-reason .reason-item {
  background: #fff;
  border-radius: 50rem;
  padding: 60px 20px 95px 20px;
  text-align: center;
}
.list-reason .reason-ttl {
  font-size: 24px;
  font-size: 2.4rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 0;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .list-reason .reason-ttl {
    font-size: 34px;
    font-size: 4.4270833333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-reason .reason-ttl {
    font-size: 20px;
  }
}
.list-reason .reason-ttl .eng {
  color: #98b027;
}
.list-reason .reason-ttl .ruby {
  font-size: 24px;
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .list-reason .reason-ttl .ruby {
    font-size: 34px;
    font-size: 4.4270833333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-reason .reason-ttl .ruby {
    font-size: 20px;
  }
}
.list-voice .com-base {
  width: 880px;
  max-width: 100%;
  border-radius: 25px;
  padding: 30px;
  position: relative;
  z-index: 1;
}
.list-voice .com-base::before {
  content: "";
  display: block;
  width: 30px;
  aspect-ratio: 30/28;
  clip-path: polygon(0 0, 100% 100%, 100% 0);
  position: absolute;
  top: 50px;
  right: calc(100% - 1px);
  z-index: -1;
}
.list-voice .voice-item {
  display: grid;
  row-gap: 50px;
}
.list-voice .voice-item:not(:first-child) {
  border-top: dashed 2px #98b027;
  padding-top: 80px;
}
.list-voice .voice-bx {
  width: 100%;
  position: relative;
}
.list-voice .voice-bx.user {
  margin-left: auto;
}
.list-voice .voice-bx.user .com-base {
  margin-left: auto;
}
.list-voice .voice-bx.user .com-base::before {
  background: #e8f2e1;
}
.list-voice .voice-bx.staff .com-base::before {
  clip-path: polygon(0 0, 0 100%, 100% 0);
  background: #fae9eb;
  right: inherit;
  left: calc(100% - 1px);
}
.list-voice .voice-bx.staff .voice-ic {
  left: inherit;
  right: 0;
}
.list-voice .voice-ic {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}
.list-voice .voice-ttl {
  font-size: 28px;
  font-size: 2.8rem;
  color: #5d9015;
  margin-bottom: 25px;
}
@media screen and (max-width: 768px) {
  .list-voice .voice-ttl {
    font-size: 38px;
    font-size: 4.9479166667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-voice .voice-ttl {
    font-size: 22.3529411765px;
  }
}
.list-voice .voice-txt {
  font-size: 17px;
  font-size: 1.7rem;
  font-weight: normal;
  line-height: 1.8823529412;
}
@media screen and (max-width: 768px) {
  .list-voice .voice-txt {
    font-size: 27px;
    font-size: 3.515625vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-voice .voice-txt {
    font-size: 15.8823529412px;
  }
}
.list-anchor2 {
  font-size: 32px;
  font-size: 3.2rem;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .list-anchor2 {
    font-size: 42px;
    font-size: 5.46875vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-anchor2 {
    font-size: 24.7058823529px;
  }
}
.list-anchor2 .anchor-link {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: #fff;
  border-radius: 50rem;
  color: #4a780a;
}
.list-anchor2 .anchor-link:hover {
  color: rgba(74, 120, 10, 0.8);
}
.list-dot .dot-item {
  display: flex;
  align-items: flex-start;
}
.list-dot .dot-item::before {
  content: "・";
}
.list-num .num-item,
.list-num .flow-ttl, .list-flow2 .num-item,
.list-flow2 .flow-ttl, .list-faq .num-item,
.list-faq .flow-ttl, .list-menu .num-item,
.list-menu .flow-ttl, .list-sq .num-item,
.list-sq .flow-ttl {
  display: flex;
  align-items: flex-start;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
.list-num .num-item::before,
.list-num .flow-ttl::before, .list-flow2 .num-item::before,
.list-flow2 .flow-ttl::before, .list-faq .num-item::before,
.list-faq .flow-ttl::before, .list-menu .num-item::before,
.list-menu .flow-ttl::before, .list-sq .num-item::before,
.list-sq .flow-ttl::before {
  content: "01.";
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1;
  color: #5d9015;
  width: 50px;
  min-width: 50px;
  aspect-ratio: 1/1;
  border-radius: 50rem;
  background: #fae9eb;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 0 0 2px 2px;
  transform: translateY(-10px);
}
@media screen and (max-width: 768px) {
  .list-num .num-item::before,
  .list-num .flow-ttl::before, .list-flow2 .num-item::before,
  .list-flow2 .flow-ttl::before, .list-faq .num-item::before,
  .list-faq .flow-ttl::before, .list-menu .num-item::before,
  .list-menu .flow-ttl::before, .list-sq .num-item::before,
  .list-sq .flow-ttl::before {
    font-size: 34px;
    font-size: 4.4270833333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-num .num-item::before,
  .list-num .flow-ttl::before, .list-flow2 .num-item::before,
  .list-flow2 .flow-ttl::before, .list-faq .num-item::before,
  .list-faq .flow-ttl::before, .list-menu .num-item::before,
  .list-menu .flow-ttl::before, .list-sq .num-item::before,
  .list-sq .flow-ttl::before {
    font-size: 20px;
  }
}
.list-num .num-item:nth-child(2)::before, .list-flow2 .num-item:nth-child(2)::before, .list-faq .num-item:nth-child(2)::before, .list-menu .num-item:nth-child(2)::before, .list-sq .num-item:nth-child(2)::before {
  content: "02.";
}
.list-num .num-item:nth-child(3)::before, .list-flow2 .num-item:nth-child(3)::before, .list-faq .num-item:nth-child(3)::before, .list-menu .num-item:nth-child(3)::before, .list-sq .num-item:nth-child(3)::before {
  content: "03.";
}
.list-num .num-item:nth-child(4)::before, .list-flow2 .num-item:nth-child(4)::before, .list-faq .num-item:nth-child(4)::before, .list-menu .num-item:nth-child(4)::before, .list-sq .num-item:nth-child(4)::before {
  content: "04.";
}
.list-num .num-item:nth-child(5)::before, .list-flow2 .num-item:nth-child(5)::before, .list-faq .num-item:nth-child(5)::before, .list-menu .num-item:nth-child(5)::before, .list-sq .num-item:nth-child(5)::before {
  content: "05.";
}
.list-num .flow-item:nth-child(2) .flow-ttl::before, .list-flow2 .flow-item:nth-child(2) .flow-ttl::before, .list-faq .flow-item:nth-child(2) .flow-ttl::before, .list-menu .flow-item:nth-child(2) .flow-ttl::before, .list-sq .flow-item:nth-child(2) .flow-ttl::before {
  content: "02.";
}
.list-num .flow-item:nth-child(3) .flow-ttl::before, .list-flow2 .flow-item:nth-child(3) .flow-ttl::before, .list-faq .flow-item:nth-child(3) .flow-ttl::before, .list-menu .flow-item:nth-child(3) .flow-ttl::before, .list-sq .flow-item:nth-child(3) .flow-ttl::before {
  content: "03.";
}
.list-num .flow-item:nth-child(4) .flow-ttl::before, .list-flow2 .flow-item:nth-child(4) .flow-ttl::before, .list-faq .flow-item:nth-child(4) .flow-ttl::before, .list-menu .flow-item:nth-child(4) .flow-ttl::before, .list-sq .flow-item:nth-child(4) .flow-ttl::before {
  content: "04.";
}
.list-num .flow-item:nth-child(5) .flow-ttl::before, .list-flow2 .flow-item:nth-child(5) .flow-ttl::before, .list-faq .flow-item:nth-child(5) .flow-ttl::before, .list-menu .flow-item:nth-child(5) .flow-ttl::before, .list-sq .flow-item:nth-child(5) .flow-ttl::before {
  content: "05.";
}
.list-flow1 .flow-item {
  width: 500px;
  max-width: 100%;
  background: #fff;
  border-radius: 50rem;
  padding: 20px;
  display: flex;
  align-items: flex-start;
  -moz-column-gap: 10px;
       column-gap: 10px;
  position: relative;
}
.list-flow1 .flow-item::before {
  content: "①";
  color: #98b027;
  background: #fae9eb;
  width: 40px;
  min-width: 40px;
  aspect-ratio: 1/1;
  border-radius: 50rem;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 0 0 3px 1px;
}
.list-flow1 .flow-item:nth-child(2)::before {
  content: "②";
}
.list-flow1 .flow-item:nth-child(3)::before {
  content: "③";
}
.list-flow1 .flow-item:nth-child(3) .flow-item-inner::after {
  content: "";
  display: block;
  width: 30px;
  height: 2px;
  border-top: dotted 2px #5d9015;
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translate(10px, -50%);
}
.list-flow1 .flow-item:nth-child(4)::before {
  content: "④";
}
.list-flow1 .flow-item:nth-child(4) .flow-item-inner::after {
  content: "";
  display: block;
  width: 30px;
  height: 2px;
  border-top: dotted 2px #5d9015;
  position: absolute;
  right: 100%;
  top: 50%;
  transform: translate(-10px, -50%);
}
.list-flow1 .flow-item:nth-child(5)::before {
  content: "⑤";
}
.list-flow1 .flow-item:nth-child(6)::before {
  content: "⑥";
}
.list-flow1 .flow-item:not(:nth-child(3n))::after {
  content: "";
  display: block;
  width: 55px;
  aspect-ratio: 55/20;
  background-image: url("/img/common/arw-solid-grn.png");
  background-size: 100%;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, 30px);
}
.list-flow1::after {
  content: "";
  display: block;
  width: 2px;
  height: calc(100% - 80px);
  border-left: dotted 2px #5d9015;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
.list-flow2 .flow-item {
  background: #fff;
  display: flex;
  justify-content: space-between;
  border-radius: 25px;
  filter: drop-shadow(0px 2px 5px #e2eae1);
  position: relative;
  z-index: 1;
}
.list-flow2 .flow-item:not(:last-child)::after {
  content: "";
  display: block;
  width: 55px;
  aspect-ratio: 55/20;
  background-image: url("/img/common/arw-solid-grn.png");
  background-size: 100%;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, 40px);
  z-index: -1;
}
.list-flow2 .flow-img {
  border-radius: 25px 0 0 25px;
  overflow: hidden;
}
.list-flow2 .flow-bx {
  padding: 30px 40px;
}
.list-flow2 .flow-ttl {
  font-size: 24px;
  font-size: 2.4rem;
  color: #4a780a;
}
@media screen and (max-width: 768px) {
  .list-flow2 .flow-ttl {
    font-size: 34px;
    font-size: 4.4270833333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-flow2 .flow-ttl {
    font-size: 20px;
  }
}
.list-faq dl {
  background: #fff;
  border-radius: 25px;
  filter: drop-shadow(0px 2px 5px #e2eae1);
  overflow: hidden;
}
.list-faq dt, .list-faq dd {
  padding: 20px 20px 20px 95px;
  display: flex;
  align-items: flex-start;
  -moz-column-gap: 15px;
       column-gap: 15px;
  position: relative;
}
.list-faq dt::before, .list-faq dd::before {
  position: absolute;
  left: 20px;
}
.list-faq dt {
  padding: 30px 30px 30px 95px;
  font-size: 28px;
  font-size: 2.8rem;
  background: #4a780a;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .list-faq dt {
    font-size: 38px;
    font-size: 4.9479166667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-faq dt {
    font-size: 22.3529411765px;
  }
}
.list-faq dt::before {
  content: "Q";
  display: block;
  font-size: 32px;
  font-size: 3.2rem;
  line-height: 1;
  color: #4a780a;
  background: #fff;
  width: 60px;
  min-width: 60px;
  aspect-ratio: 1/1;
  border-radius: 50rem;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 0 0 9px 0;
  position: absolute;
  top: 20px;
}
@media screen and (max-width: 768px) {
  .list-faq dt::before {
    font-size: 42px;
    font-size: 5.46875vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-faq dt::before {
    font-size: 24.7058823529px;
  }
}
.list-faq dd {
  font-size: 17px;
  font-size: 1.7rem;
  min-height: 100px;
}
@media screen and (max-width: 768px) {
  .list-faq dd {
    font-size: 27px;
    font-size: 3.515625vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-faq dd {
    font-size: 15.8823529412px;
  }
}
.list-faq dd::before {
  content: "";
  display: block;
  width: 69px;
  min-width: 60px;
  aspect-ratio: 69/84;
  background-image: url("/img/faq/ic-answer-01.png");
  background-size: 100%;
  top: 10px;
}
.list-faq dl:nth-child(3n-1) dd::before {
  width: 72px;
  min-width: 72px;
  aspect-ratio: 73/82;
  background-image: url("/img/faq/ic-answer-02.png");
  background-size: 100%;
}
.list-faq dl:nth-child(3n) dd::before {
  width: 69px;
  min-width: 69px;
  aspect-ratio: 69/83;
  background-image: url("/img/faq/ic-answer-03.png");
  background-size: 100%;
}
.list-menu dt {
  font-size: 28px;
  font-size: 2.8rem;
}
@media screen and (max-width: 768px) {
  .list-menu dt {
    font-size: 38px;
    font-size: 4.9479166667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-menu dt {
    font-size: 22.3529411765px;
  }
}
.list-menu .menu-item:not(:first-child) {
  border-top: solid 1px #cdd0cf;
  padding-top: 40px;
}
.list-menu .menu-txt {
  max-width: 80%;
  color: #4a780a;
}
.list-menu .menu-price {
  max-width: 18%;
  color: #98b027;
  text-align: right;
}
.list-menu dt {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  border-bottom: dashed 2px #5d9015;
  padding-bottom: 10px;
  margin-bottom: 20px;
}
.list-menu dd {
  white-space: pre-wrap;
}
.list-sq .sq-item {
  display: flex;
  -moz-column-gap: 5%;
       column-gap: 5%;
}
.list-sq dt {
  width: 30%;
  display: flex;
  align-items: flex-start;
  -moz-column-gap: 5px;
       column-gap: 5px;
}
.list-sq dt::before {
  content: "■";
  display: block;
  color: #4a780a;
}
.list-sq dd {
  width: 65%;
}

.com-tag-main .list-tag {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 5px;
}
.com-tag-main .tag-link {
  display: block;
  background: #624542;
  color: #fff;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 500;
  padding: 10px 20px;
  border-radius: 5px;
}
@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-weight: normal;
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
}
.com-tag-sub .tag-item {
  line-height: 1;
}
.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 {
  filter: drop-shadow(0px 2px 5px #e2eae1);
}
.com-sdw-img {
  filter: drop-shadow(0px 2px 15px rgba(53, 110, 65, 0.3));
}
.com-service .service-ttl {
  background: #e8f2e1;
  border-radius: 25px;
  padding: 20px;
  text-align: center;
  margin-bottom: 20px;
}
.com-service .service-ttl-sub {
  font-size: 24px;
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .com-service .service-ttl-sub {
    font-size: 34px;
    font-size: 4.4270833333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .com-service .service-ttl-sub {
    font-size: 20px;
  }
}
.com-service .service-ttl-main {
  font-size: 38px;
  font-size: 3.8rem;
  color: #4a780a;
}
@media screen and (max-width: 768px) {
  .com-service .service-ttl-main {
    font-size: 48px;
    font-size: 6.25vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .com-service .service-ttl-main {
    font-size: 28.2352941176px;
  }
}
.com-service .rcm-bx {
  padding: 20px 20px 40px 20px;
}
.com-service .rcm-bx.icon-staff {
  position: relative;
}
.com-service .rcm-bx.icon-staff::before {
  content: "";
  display: block;
  width: 162px;
  aspect-ratio: 162/205;
  background-image: url("/img/common/staff-icon.png");
  background-size: 100%;
  position: absolute;
  bottom: 0;
  right: 0;
  transform: translate(-40px, -8px);
  z-index: 1;
}
.com-service .rcm-inner {
  max-width: calc(100% - 150px);
  padding: 0 0 0 1vw;
}
.com-service .point-bx {
  padding: 45px 45px 35px 45px;
}
.com-service .point-ttl {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
.com-service .case-bx .ttl-bar {
  border-radius: 25px 25px 0 0;
}
.com-service .case-bx .icon-staff {
  position: relative;
}
.com-service .case-bx .icon-staff::after {
  content: "";
  display: block;
  width: 73px;
  aspect-ratio: 73/107;
  background-image: url("/img/whitening/case-icon.png");
  background-size: 100%;
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translateX(-280px);
}
.com-service .counseling-bx .counseling-ttl {
  position: absolute;
  bottom: 100%;
  left: 0;
  transform: translate(130px, -20px) rotate(-10deg);
}
.com-service .counseling-bx .com-base {
  padding: 30px;
}
.com-service .counseling-bx .icon-staff {
  position: relative;
}
.com-service .counseling-bx .icon-staff::before {
  content: "";
  display: block;
  width: 141px;
  aspect-ratio: 141/164;
  background-image: url("/img/whitening/counseling-icon.png");
  background-size: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  transform: translate(20px, -20px);
}

.ttl-main {
  display: flex;
  flex-direction: column;
}
.ttl-main .eng {
  line-height: 1;
  color: #98b027;
}
.ttl-main .ruby {
  position: relative;
}
.ttl-main .ruby-inner, .ttl-main .ruby-inner-min {
  display: block;
}
.ttl-main .ruby-inner-min {
  font-size: 21px;
  font-size: 2.1rem;
  line-height: 1;
  letter-spacing: 0.38em;
  margin-bottom: -12px;
}
@media screen and (max-width: 768px) {
  .ttl-main .ruby-inner-min {
    font-size: 31px;
    font-size: 4.0364583333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-main .ruby-inner-min {
    font-size: 18.2352941176px;
  }
}
.ttl-main.txt-aln-c {
  align-items: center;
}
.ttl-sub {
  font-size: 24px;
  font-size: 2.4rem;
  border-left: solid #4a780a 6px;
  border-bottom: solid 1px #e8f2e1;
  background: #fff;
  border-radius: 5px;
  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-dash {
  font-size: 28px;
  font-size: 2.8rem;
  color: #5d9015;
  border-bottom: dashed 2px #5d9015;
  padding-bottom: 10px;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .ttl-dash {
    font-size: 38px;
    font-size: 4.9479166667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-dash {
    font-size: 22.3529411765px;
  }
}
.ttl-bar {
  font-size: 24px;
  font-size: 2.4rem;
  background: #4a780a;
  color: #fff;
  padding: 13px 20px;
  border-radius: 25px;
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .ttl-bar {
    font-size: 34px;
    font-size: 4.4270833333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-bar {
    font-size: 20px;
  }
}
.ttl-line {
  font-size: 30px;
  font-size: 3rem;
  color: #4a780a;
  display: flex;
  justify-content: center;
  position: relative;
  z-index: 1;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .ttl-line {
    font-size: 40px;
    font-size: 5.2083333333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-line {
    font-size: 23.5294117647px;
  }
}
.ttl-line .inner {
  padding: 0 20px;
}
.ttl-line::after {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background: #4a780a;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  z-index: -1;
}

.txt-plain {
  font-weight: normal;
  line-height: 1.875;
}

#main-contents {
  margin-top: -2px;
}

#header .com-logo {
  border-radius: 0 0 50px 0;
}

.hd-bar {
  padding-right: 20px;
}
.hd-bx {
  margin-top: 15px;
}

#hd-nav .list-nav {
  font-size: 17px;
  font-size: 1.7rem;
  display: flex;
  justify-content: flex-end;
  -moz-column-gap: 60px;
       column-gap: 60px;
}
@media screen and (max-width: 768px) {
  #hd-nav .list-nav {
    font-size: 27px;
    font-size: 3.515625vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  #hd-nav .list-nav {
    font-size: 15.8823529412px;
  }
}
#hd-nav .nav-link:hover,
#hd-nav .ac-link:hover {
  opacity: 0.8;
}
#hd-nav .ac {
  position: relative;
}
#hd-nav .ac-nav {
  padding-top: 20px;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
}
#hd-nav .ac-item {
  padding: 0 15px;
  background: #4a780a;
  white-space: nowrap;
  text-align: center;
}
#hd-nav .ac-item:first-child {
  border-radius: 20px 20px 0 0;
}
#hd-nav .ac-item:last-child {
  border-radius: 0 0 20px 20px;
}
#hd-nav .ac-item:not(:first-child) .ac-link {
  border-top: dashed 2px #fff;
}
#hd-nav .ac-link {
  display: block;
  color: #fff;
  padding: 15px;
}
#hd-nav .ac:hover #hd-nav .ac-nav, #hd-nav .ac-nav:hover {
  display: block;
}

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

.mv {
  margin-top: 60px;
}

.sv {
  padding: 80px 0 120px 0;
  background: url("/img/common/sv-bg.png") center bottom no-repeat;
  background-size: 100%;
}
.sv-img {
  width: 726px;
  max-width: 37.8125%;
}
.sv-ttl {
  width: 400px;
  max-width: 20.8333333333%;
  aspect-ratio: 1/1;
  font-size: 52px;
  font-size: 2.7083333333vw;
  line-height: 1.2307692308;
  margin-left: -2%;
}
@media screen and (max-width: 1120px) {
  .sv-ttl {
    font-size: 30.5882352941px;
  }
}
@media screen and (min-width: 1920px) {
  .sv-ttl {
    font-size: 52px;
  }
}
.sv-ttl::before, .sv-ttl::after {
  content: "";
  display: block;
  width: 51px;
  aspect-ratio: 51/42;
  background-image: url("/img/common/sv-obj-point.png");
  background-size: 100%;
  position: absolute;
}
.sv-ttl::before {
  top: 0;
  left: 0;
  transform: translate(30%, 30%);
}
.sv-ttl::after {
  width: 63px;
  aspect-ratio: 63/58;
  background-image: url("/img/common/sv-obj-smile.png");
  background-size: 100%;
  right: 0;
  bottom: 0;
  transform: translate(-50%, -50%);
  z-index: 1;
}
.sv::before, .sv::after {
  content: "";
  display: block;
  width: 394px;
  max-width: 20.5208333333%;
  aspect-ratio: 394/410;
  background-image: url("/img/common/sv-img-01.png");
  background-size: 100%;
  filter: drop-shadow(0px 2px 15px rgba(53, 110, 65, 0.3));
  position: absolute;
  top: 50%;
  left: 1.56%;
  transform: translate(0, -50%);
  z-index: -1;
}
.sv::after {
  width: 304px;
  max-width: 15.8333333333%;
  aspect-ratio: 304/373;
  background-image: url("/img/common/sv-img-02.png");
  background-size: 100%;
  left: inherit;
  right: 5.21%;
}

.top-solution {
  padding: 75px 0;
}
.top-solution .ttl-main {
  margin-bottom: 60px;
}
.top-solution .layout-item {
  background: #fff;
  border-radius: 50rem;
  text-align: center;
}
.top-solution .layout-link {
  display: block;
  padding: 30px 0 50px 0;
}
.top-solution .solution-ttl {
  font-size: 32px;
  font-size: 3.2rem;
  font-weight: 500;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .top-solution .solution-ttl {
    font-size: 42px;
    font-size: 5.46875vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .top-solution .solution-ttl {
    font-size: 24.7058823529px;
  }
}
.top-solution .illust-skin, .top-solution .illust-teeth {
  position: relative;
  z-index: 1;
}
.top-solution .illust-skin::before, .top-solution .illust-teeth::before {
  content: "";
  display: block;
  width: 188px;
  aspect-ratio: 188/151;
  background-image: url("/img/top/solution-illust-skin.png");
  background-size: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(35px, -65px);
  z-index: -1;
}
.top-solution .illust-teeth::before {
  width: 207px;
  aspect-ratio: 207/54;
  background-image: url("/img/top/solution-illust-teeth.png");
  background-size: 100%;
  left: inherit;
  right: 0;
  transform: translate(-20px, 15px);
}
.top-solution .icon-staff {
  position: relative;
  z-index: 1;
}
.top-solution .icon-staff::before {
  content: "";
  display: block;
  width: 212px;
  aspect-ratio: 212/166;
  background-image: url("/img/top/solution-ic-staff.png");
  background-size: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(0, -70px);
  z-index: -1;
}

.top-about {
  padding: 110px 0 100px 0;
}
.top-about .ttl-main {
  margin-bottom: 50px;
}
.top-about .wrp-img {
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
}
.top-about .about-img-01 {
  transform: translateX(180px);
}
.top-about .about-img-02 {
  transform: translateX(100px);
}
.top-about .illust-leaf {
  display: flex;
  align-items: center;
  -moz-column-gap: 25px;
       column-gap: 25px;
}
.top-about .illust-leaf::after {
  content: "";
  display: block;
  width: 170px;
  aspect-ratio: 170/34;
  background-image: url("/img/top/about-illust-leaf.png");
  background-size: 100%;
  transform: translate(0, 10px);
}

.top-service {
  margin-top: 100px;
  padding: 60px 0 50px 0;
}
.top-service .ttl-main {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}
.top-service .ttl-main span {
  padding: 0 30px;
}
.top-service .layout-item {
  border-radius: 50px;
  text-align: center;
}
.top-service .layout-link {
  display: block;
  padding: 20px 20px 35px 20px;
  color: #fff;
  display: grid;
  row-gap: 15px;
}
.top-service .layout-link:hover .arw-circle-wht::before {
  transform: translateX(2px);
}
.top-service .service-img {
  border-radius: 50px;
  overflow: hidden;
  background: #fff;
}
.top-service .service-ttl {
  font-size: 32px;
  font-size: 3.2rem;
  border-bottom: dashed 2px #fff;
  padding-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .top-service .service-ttl {
    font-size: 42px;
    font-size: 5.46875vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .top-service .service-ttl {
    font-size: 24.7058823529px;
  }
}
.top-service .service-txt {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: lighter;
}
@media screen and (max-width: 768px) {
  .top-service .service-txt {
    font-size: 28px;
    font-size: 3.6458333333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .top-service .service-txt {
    font-size: 16.4705882353px;
  }
}
.top-service::before {
  content: "";
  display: block;
  width: calc(100% + 70px);
  height: 100%;
  border: solid 4px #4a780a;
  border-radius: 50px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}

.top-reason {
  padding: 140px 0 0 0;
}
.top-reason .ttl-main {
  margin-bottom: 50px;
}
.top-reason .list-reason::before, .top-reason .list-reason::after {
  content: "";
  display: block;
  width: 350px;
  aspect-ratio: 1/1;
  border-radius: 50rem;
  background: #e8f4df;
  position: absolute;
  top: 50%;
  right: 100%;
  transform: translate(-15px, -50%);
  z-index: -1;
}
.top-reason .list-reason::after {
  right: inherit;
  left: 100%;
  transform: translate(15px, -50%);
}

.top-bnr {
  padding: 290px 0 230px 0;
}
.top-bnr .bnr-item {
  text-align: center;
  position: relative;
  text-align: center;
}
.top-bnr .bnr-link, .top-bnr .bnr-ttl, .top-bnr .bnr-bx {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.top-bnr .bnr-link:hover .bnr-img img {
  transform: translateY(5px);
}
.top-bnr .bnr-link:hover .bnr-ttl, .top-bnr .bnr-link:hover .bnr-txt {
  color: rgba(255, 255, 255, 0.8);
}
.top-bnr .bnr-bx {
  background: #4a780a;
  color: #fff;
  border-radius: 50rem;
  padding: 125px 70px 35px 70px;
  row-gap: 25px;
}
.top-bnr .bnr-img {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(-200px);
  z-index: 2;
}
.top-bnr .bnr-ttl, .top-bnr .bnr-txt {
  transition: 0.3s;
}
.top-bnr .bnr-ttl {
  border-bottom: dashed 2px #fff;
  padding-bottom: 10px;
}
.top-bnr .bnr-ttl .eng {
  font-size: 21px;
  font-size: 2.1rem;
  line-height: 1;
  font-weight: lighter;
}
@media screen and (max-width: 768px) {
  .top-bnr .bnr-ttl .eng {
    font-size: 31px;
    font-size: 4.0364583333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .top-bnr .bnr-ttl .eng {
    font-size: 18.2352941176px;
  }
}
.top-bnr .bnr-ttl .ruby {
  font-size: 42px;
  font-size: 4.2rem;
}
@media screen and (max-width: 768px) {
  .top-bnr .bnr-ttl .ruby {
    font-size: 52px;
    font-size: 6.7708333333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .top-bnr .bnr-ttl .ruby {
    font-size: 30.5882352941px;
  }
}
.top-bnr .bnr-txt {
  font-size: 17px;
  font-size: 1.7rem;
  font-weight: lighter;
}
@media screen and (max-width: 768px) {
  .top-bnr .bnr-txt {
    font-size: 27px;
    font-size: 3.515625vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .top-bnr .bnr-txt {
    font-size: 15.8823529412px;
  }
}
.top-bnr .icon-staff-faq, .top-bnr .icon-staff-menu {
  position: relative;
}
.top-bnr .icon-staff-faq::before, .top-bnr .icon-staff-menu::before {
  content: "";
  display: block;
  width: 144px;
  aspect-ratio: 144/215;
  background-image: url("/img/top/faq-ic-staff.png");
  background-size: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-40px, -15px);
  z-index: 1;
}
.top-bnr .icon-staff-menu::before {
  width: 159px;
  aspect-ratio: 159/163;
  background-image: url("/img/top/menu-ic-staff.png");
  background-size: 100%;
  left: inherit;
  right: 0;
  transform: translate(45px, 30px);
}

.top-voice .ttl-main {
  margin-bottom: 60px;
}
.top-voice .list-voice {
  padding-top: 60px;
  padding-bottom: 60px;
}
.top-voice .list-voice::after {
  content: "";
  display: block;
  width: calc(100% + 100px);
  height: 100%;
  border-radius: 50px;
  background: #fff;
  filter: drop-shadow(0px 2px 5px #e2eae1);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: -1;
}

.top-news {
  padding: 180px 0 75px 0;
  background: #e8f2e1;
  background: linear-gradient(180deg, #e8f2e1 90%, #f6fcf5 100%);
}
.top-news .ttl-main {
  margin-bottom: 20px;
}
.top-news .list-news {
  padding: 40px;
}
.top-news .btn {
  position: absolute;
  top: 30px;
  right: 0;
}

#ctn-lower article {
  padding: 90px 0;
}
#ctn-lower article .txt-plain {
  font-size: 17px;
  font-size: 1.7rem;
  line-height: 1.8823529412;
}
@media screen and (max-width: 768px) {
  #ctn-lower article .txt-plain {
    font-size: 27px;
    font-size: 3.515625vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  #ctn-lower article .txt-plain {
    font-size: 15.8823529412px;
  }
}
#ctn-lower .ttl-main {
  -webkit-text-stroke: 4px #fff;
  text-stroke: 4px #fff;
  paint-order: stroke;
  gap: 10px;
  margin-bottom: 50px;
}
#ctn-lower .ttl-main .eng {
  font-size: 32px;
  font-size: 3.2rem;
}
@media screen and (max-width: 768px) {
  #ctn-lower .ttl-main .eng {
    font-size: 42px;
    font-size: 5.46875vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  #ctn-lower .ttl-main .eng {
    font-size: 24.7058823529px;
  }
}
#ctn-lower .ttl-main .ruby {
  font-size: 42px;
  font-size: 4.2rem;
  color: #4a780a;
}
@media screen and (max-width: 768px) {
  #ctn-lower .ttl-main .ruby {
    font-size: 52px;
    font-size: 6.7708333333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  #ctn-lower .ttl-main .ruby {
    font-size: 30.5882352941px;
  }
}

.lower-rcm .ttl-main {
  margin-bottom: 140px !important;
}
.lower-rcm .rcm-ttl {
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(150px, -30px);
}
.lower-rcm .rcm-ttl-txt {
  transform: translateX(-15%) rotate(-15deg);
}
.lower-rcm .rcm-ttl::after {
  content: "";
  display: block;
  width: 166px;
  aspect-ratio: 166/173;
  background-image: url("/img/facial/recommend-icon.png");
  background-size: 100%;
}

.lower-menu .menu-bx {
  width: 100%;
  background: #fff;
  padding: 50px 30px;
  border-radius: 25px;
  filter: drop-shadow(0px 2px 5px #e2eae1);
}

.lower-owner .cts-1180 {
  padding-top: 50px;
  padding-bottom: 50px;
}
.lower-owner .com-base {
  padding: 20px 25px;
}

.lower-faq .icon-staff::before {
  content: "";
  display: block;
  width: 158px;
  aspect-ratio: 158/172;
  background-image: url("/img/faq/icon-staff.png");
  background-size: 100%;
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(-180px, -60px);
  z-index: -1;
}

#com-contact {
  padding: 75px 0;
}
#com-contact .cts-1080 {
  padding-top: 40px;
  padding-bottom: 40px;
}
#com-contact .ttl-main {
  margin-bottom: 30px;
}
#com-contact .com-layout {
  margin-top: 30px;
}
#com-contact .layout-item {
  padding: 0 30px;
}
#com-contact .layout-item:not(:first-child) {
  border-left: solid 2px #cdd0cf;
}

#footer address {
  margin-top: 15px;
}

#ft-nav .list-nav {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: normal;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(4, 1fr);
  row-gap: 20px;
}
@media screen and (max-width: 768px) {
  #ft-nav .list-nav {
    font-size: 24px;
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  #ft-nav .list-nav {
    font-size: 14.1176470588px;
  }
}
#ft-nav .nav-item:nth-child(2) {
  grid-column-start: 1;
  grid-row-start: 2;
}
#ft-nav .nav-item:nth-child(3) {
  grid-column-start: 2;
  grid-row-start: 1;
}
#ft-nav .nav-item:nth-child(4) {
  grid-column-start: 3;
  grid-row-start: 1;
}
#ft-nav .nav-item:nth-child(5) {
  grid-column-start: 3;
  grid-row-start: 2;
}
#ft-nav .nav-item:nth-child(6) {
  grid-column-start: 4;
  grid-row-start: 1;
}
#ft-nav .nav-item:nth-child(7) {
  grid-column-start: 4;
  grid-row-start: 2;
}
#ft-nav .nav-item:nth-child(8) {
  grid-column-start: 4;
  grid-row-start: 3;
}
#ft-nav .nav-item:nth-child(9) {
  grid-column-start: 4;
  grid-row-start: 4;
}
#ft-nav .ac {
  position: relative;
}
#ft-nav .ac-nav {
  display: grid;
  row-gap: 12px;
  position: absolute;
  top: 25px;
  left: 0;
}
#ft-nav .ac-link {
  display: flex;
  align-items: center;
  -moz-column-gap: 5px;
       column-gap: 5px;
}
#ft-nav .ac-link::before {
  content: "";
  display: block;
  width: 4px;
  aspect-ratio: 4/7;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  background: #f2a6d3;
}

.ft-copy {
  padding: 20px 0;
  margin-top: 75px;
}/*# sourceMappingURL=style.css.map */