@charset "UTF-8";
body {
  width: 100%;
  min-width: 1260px;
  text-align: justify;
  text-justify: inter-character;
  word-break: break-all;
  scroll-behavior: smooth;
  background: #f8f4e6;
  color: #584c46;
  font-weight: 500;
  letter-spacing: 0.1em;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
}
@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: 17.3333333333px;
  }
}

.col-wht {
  color: #fff !important;
}
.col-blk {
  color: #584c46 !important;
}
.col-main {
  color: #719b5b !important;
}
.col-sub1 {
  color: #b5c652 !important;
}
.col-sub2 {
  color: #c5cf88 !important;
}
.col-accent1 {
  color: #d8a034 !important;
}
.col-accent2 {
  color: #d8b84a !important;
}
.col-bdr {
  color: #b5c652 !important;
}
.col-bg1 {
  color: #f8f4e6 !important;
}
.col-bg2 {
  color: #f0f6dd !important;
}

.bg-wht {
  background-color: #fff !important;
}
.bg-blk {
  background-color: #584c46 !important;
}
.bg-main {
  background-color: #719b5b !important;
}
.bg-sub1 {
  background-color: #b5c652 !important;
}
.bg-sub2 {
  background-color: #c5cf88 !important;
}
.bg-accent1 {
  background-color: #d8a034 !important;
}
.bg-accent2 {
  background-color: #d8b84a !important;
}
.bg-bdr {
  background-color: #b5c652 !important;
}
.bg-bg1 {
  background-color: #f8f4e6 !important;
}
.bg-bg2 {
  background-color: #f0f6dd !important;
}
.bg-bg3 {
  background-color: #fcfaf1 !important;
}

.btn-01__link {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  border-radius: 50rem;
  line-height: 1;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 600;
  color: #fff;
}
.btn-01__link:hover {
  color: rgba(255, 255, 255, 0.8);
}

.arw-wht, .arw-anchor {
  position: relative;
}
.arw-wht::after, .arw-anchor::after {
  content: "";
  display: block;
  width: 7px;
  aspect-ratio: 7/8;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  background: #fff;
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translate(0, -50%);
  transition: 0.3s;
}
.arw-wht:hover::after, .arw-anchor:hover::after {
  transform: translate(-2px, -50%);
}
.arw-circle::after {
  content: "";
  display: block;
  width: 40px;
  aspect-ratio: 1/1;
  background-image: url("/img/common/arrow-circle.png");
  background-size: 100%;
  transition: 0.3s;
}
.arw-circle:hover::after {
  transform: translate(-2px, 0);
}
.arw-anchor::after {
  transform: translate(0, -50%) rotate(90deg);
}
.arw-anchor:hover::after {
  transform: translate(0, calc(-50% + 1px)) rotate(90deg);
}

.side-point1 {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  text-align: center;
  -moz-column-gap: 5px;
       column-gap: 5px;
}
.side-point1::before, .side-point1::after {
  content: "";
  display: block;
  width: 1px;
  height: 10px;
  background: #d8a034;
  transform: rotate(-30deg);
}
.side-point1::after {
  transform: rotate(30deg);
}

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

.deco-line {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  -moz-column-gap: 20px;
       column-gap: 20px;
}
.deco-line::before, .deco-line::after {
  content: "";
  display: block;
  width: 14px;
  aspect-ratio: 14/13;
  background-image: url("/img/common/deco-line.png");
  background-size: 100%;
}
.deco-line::after {
  transform: scaleX(-1);
}
.deco-line span {
  max-width: calc(100% - 48px);
}
.deco-dot::after {
  content: "";
  display: block;
  width: 43px;
  aspect-ratio: 43/3;
  background-image: url("/img/common/deco-dot.png");
  background-size: 100%;
  margin: 10px auto 0 auto;
}

.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-01 {
  background: #fff;
}
.tbl-01 th, .tbl-01 td {
  padding: 15px 0;
  vertical-align: middle;
  white-space: pre-wrap;
  font-weight: 500;
}
.tbl-01 th {
  width: 50%;
}
.tbl-01 td {
  text-align: right;
}
.tbl-01 tr:not(:first-child) th, .tbl-01 tr:not(:first-child) td {
  border-top: solid 1px #b5c652;
}
.tbl-01 tr:first-child th, .tbl-01 tr:first-child td {
  padding-top: 0;
}
.tbl-01 tr:last-child th, .tbl-01 tr:last-child td {
  padding-bottom: 0;
}
.tbl-02 {
  background: #fff;
  border-top: solid 1px #584c46;
  border-bottom: solid 1px #584c46;
}
.tbl-02 th, .tbl-02 td {
  padding: 15px 4%;
  vertical-align: middle;
}
.tbl-02 th {
  width: 30%;
  background: #719b5b;
  color: #fff;
  text-align: center;
}
.tbl-02 tr:not(:first-child) th, .tbl-02 tr:not(:first-child) td {
  border-top: solid 1px #fff;
}
.tbl-02 tr:not(:first-child) td {
  border-top-color: #584c46;
}

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

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

.layout-clm-2 {
  display: flex;
  flex-wrap: wrap;
  gap: 60px;
}
.layout-clm-2 .list-item,
.layout-clm-2 .layout-item {
  width: calc((100% - 60px) / 2);
}
.layout-clm-2-c {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 60px;
}
.layout-clm-2-c .list-item,
.layout-clm-2-c .layout-item {
  width: calc((100% - 60px) / 2);
}
.layout-clm-3 {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
.layout-clm-3 .list-item,
.layout-clm-3 .layout-item {
  width: calc((100% - 80px) / 3);
}
.layout-clm-3-c {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
}
.layout-clm-3-c .list-item,
.layout-clm-3-c .layout-item {
  width: calc((100% - 80px) / 3);
}
.layout-clm-4 {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
.layout-clm-4 .list-item,
.layout-clm-4 .layout-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,
.layout-clm-4-c .layout-item {
  width: calc((100% - 120px) / 4);
}

.list-blog .list-item, .list-privacy .list-item, .list-check .list-item, .list-price .list-item, .list-voice .list-item {
  width: 100%;
}
.list-news time {
  display: block;
  color: #719b5b;
  line-height: 1;
}
.list-news__link {
  display: flex;
  flex-direction: column;
  row-gap: 15px;
}
.list-news__img {
  width: 100%;
  aspect-ratio: 320/220;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 10px;
  overflow: hidden;
}
.list-news__ttl {
  line-height: 1;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  text-align: left;
}
.list-check__item {
  display: flex;
  align-items: flex-start;
  -moz-column-gap: 20px;
       column-gap: 20px;
}
.list-check__item::before {
  content: "";
  display: block;
  width: 32px;
  aspect-ratio: 1/1;
  background-image: url("/img/common/ic-check.png");
  background-size: 100%;
  transform: translateY(3px);
}
.list-check__item span {
  max-width: calc(100% - 52px);
}
.list-concept__item {
  display: flex;
  flex-direction: column;
  row-gap: 15px;
  text-align: center;
}
.list-concept__ttl {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 600;
  color: #719b5b;
  font-size: 28px;
  font-size: 2.8rem;
}
@media screen and (max-width: 768px) {
  .list-concept__ttl {
    font-size: 38px;
    font-size: 4.9479166667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-concept__ttl {
    font-size: 25.3333333333px;
  }
}
.list-policy dl {
  text-align: center;
  display: flex;
  flex-direction: column;
  row-gap: 10px;
}
.list-policy dt {
  color: #719b5b;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 600;
  font-size: 40px;
  font-size: 4rem;
}
@media screen and (max-width: 768px) {
  .list-policy dt {
    font-size: 50px;
    font-size: 6.5104166667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-policy dt {
    font-size: 33.3333333333px;
  }
}
.list-policy dt:first-letter {
  color: #d8a034;
}
.list-policy dd {
  line-height: 1.8;
  white-space: pre-wrap;
  font-size: 20px;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .list-policy dd {
    font-size: 30px;
    font-size: 3.90625vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-policy dd {
    font-size: 20px;
  }
}
.list-point .com-layout {
  justify-content: space-between;
  -moz-column-gap: 40px;
       column-gap: 40px;
}
.list-point__img {
  width: 260px;
  max-width: 100%;
  min-width: 260px;
  aspect-ratio: 260/200;
  border-radius: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}
.list-point .txtbx {
  width: 100%;
  display: flex;
  flex-direction: column;
  row-gap: 10px;
}
.list-point .com-base {
  background: #f0f6dd;
  border-radius: 30px;
  padding: 40px;
}
.list-flow__item {
  background: #fcfaf1;
  border: solid 2px #f8f4e6;
  padding: 30px 40px;
  border-radius: 30px;
  position: relative;
  z-index: 1;
}
.list-flow__item:not(:last-child)::after {
  content: "";
  display: block;
  width: 23px;
  aspect-ratio: 23/20;
  background: #b5c652;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, 80%);
  z-index: -1;
}
.list-flow dl {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 600;
  display: flex;
  align-items: flex-start;
  -moz-column-gap: 15px;
       column-gap: 15px;
  border-bottom: solid 1px #b5c652;
  padding-bottom: 15px;
  margin-bottom: 15px;
}
.list-flow dt {
  max-width: 20%;
  display: flex;
  align-items: flex-end;
  -moz-column-gap: 5px;
       column-gap: 5px;
  background: #719b5b;
  color: #fff;
  padding: 5px 20px 10px 20px;
  border-radius: 50rem;
  line-height: 1;
  font-size: 20px;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .list-flow dt {
    font-size: 30px;
    font-size: 3.90625vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-flow dt {
    font-size: 20px;
  }
}
.list-flow dt em {
  font-size: 24px;
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .list-flow dt em {
    font-size: 34px;
    font-size: 4.4270833333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-flow dt em {
    font-size: 22.6666666667px;
  }
}
.list-flow dd {
  max-width: calc(80% - 15px);
  font-size: 28px;
  font-size: 2.8rem;
}
@media screen and (max-width: 768px) {
  .list-flow dd {
    font-size: 38px;
    font-size: 4.9479166667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-flow dd {
    font-size: 25.3333333333px;
  }
}
.list-menu__item {
  width: 320px;
  max-width: 100%;
}
.list-menu__item, .list-menu__link {
  display: flex;
  flex-direction: column;
}
.list-menu__img {
  text-align: center;
  margin-bottom: -50px;
  position: relative;
  z-index: 2;
}
.list-menu__link {
  display: block;
  height: 100%;
  background: #fff;
  border-radius: 130px 130px 0 20px;
  padding: 70px 19px 40px 19px;
  position: relative;
  z-index: 1;
}
.list-menu__link::after {
  content: "";
  display: block;
  width: 30px;
  aspect-ratio: 1/1;
  background-image: url("/img/common/arrow-round.png");
  background-size: 100%;
  position: absolute;
  right: 3px;
  bottom: 3px;
  z-index: -1;
  transition: 0.3s;
}
.list-menu__link:hover .list-menu__ttl, .list-menu__link:hover .list-menu__txt {
  opacity: 0.8;
}
.list-menu__link:hover::after {
  transform: translate(-2px, -2px);
}
.list-menu__ttl, .list-menu__txt {
  transition: 0.3s;
}
.list-menu__ttl {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 600;
  color: #719b5b;
  text-align: center;
  border-bottom: solid 1px #b5c652;
  padding-bottom: 15px;
  margin-bottom: 10px;
  font-size: 22px;
  font-size: 2.2rem;
}
@media screen and (max-width: 768px) {
  .list-menu__ttl {
    font-size: 32px;
    font-size: 4.1666666667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-menu__ttl {
    font-size: 21.3333333333px;
  }
}
.list-class__link {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}
.list-class__img {
  width: 100%;
  aspect-ratio: 510/300;
  border-radius: 20px;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}
.list-class__ttl {
  text-align: center;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 600;
  font-size: 28px;
  font-size: 2.8rem;
}
@media screen and (max-width: 768px) {
  .list-class__ttl {
    font-size: 38px;
    font-size: 4.9479166667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-class__ttl {
    font-size: 25.3333333333px;
  }
}
.list-label__item {
  background: #b5c652;
  color: #fff;
  padding: 3px 10px;
  border-radius: 5px;
}
.list-price ul {
  display: flex;
  flex-direction: column;
  row-gap: 70px;
}
.list-price dl {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}
.list-price dt {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 600;
  color: #719b5b;
  font-size: 20px;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .list-price dt {
    font-size: 30px;
    font-size: 3.90625vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-price dt {
    font-size: 20px;
  }
}
.list-price .com-base {
  background: #fff;
  border-radius: 8px;
  padding: 40px;
}
.list-price dd {
  white-space: pre-wrap;
  line-height: 1.7647058824;
  font-size: 17px;
  font-size: 1.7rem;
}
@media screen and (max-width: 768px) {
  .list-price dd {
    font-size: 27px;
    font-size: 3.515625vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-price dd {
    font-size: 18px;
  }
}
.list-thumb__item {
  aspect-ratio: 510/350;
  border-radius: 20px;
  overflow: hidden;
}
.list-case__link {
  width: 100%;
  height: 100%;
  background: #fcfaf1;
  border: solid 2px #f8f4e6;
  border-radius: 20px;
  padding: 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  -moz-column-gap: 30px;
       column-gap: 30px;
}
.list-case__link:hover {
  background: #f8f4e6;
}
.list-case__link:hover img {
  transform: scale(99%);
}
.list-case__ttl {
  width: 780px;
  max-width: 100%;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 600;
  font-size: 25px;
  font-size: 2.5rem;
}
@media screen and (max-width: 768px) {
  .list-case__ttl {
    font-size: 35px;
    font-size: 4.5572916667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-case__ttl {
    font-size: 23.3333333333px;
  }
}
.list-voice__item {
  background: #fcfaf1;
  border: solid 2px #f8f4e6;
  border-radius: 20px;
  padding: 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.list-voice__bx {
  width: 830px;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  row-gap: 15px;
}
.list-voice__bx p {
  white-space: pre-wrap;
}
.list-voice h5 {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 600;
  font-size: 25px;
  font-size: 2.5rem;
}
@media screen and (max-width: 768px) {
  .list-voice h5 {
    font-size: 35px;
    font-size: 4.5572916667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-voice h5 {
    font-size: 23.3333333333px;
  }
}
.list-pass {
  display: flex;
  flex-direction: column;
  row-gap: 60px;
}
.list-pass__bx {
  display: flex;
  flex-direction: column;
  row-gap: 60px;
}

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

.tag-main__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 5px;
  font-size: 18px;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .tag-main__list {
    font-size: 28px;
    font-size: 3.6458333333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .tag-main__list {
    font-size: 18.6666666667px;
  }
}
.tag-main__link {
  display: block;
  background: #719b5b;
  color: #fff;
  padding: 10px 20px;
  border-radius: 5px;
}
.tag-main__link:hover {
  opacity: 0.8;
}
.tag-sub__list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.tag-sub__item {
  line-height: 1;
  background: #b5c652;
  color: #fff;
  padding: 5px 10px 7px 10px;
  border-radius: 5px;
}

.ttl-main {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 600;
  display: flex;
  align-items: center;
  text-align: center;
  gap: 10px 20px;
  margin-bottom: 50px;
}
.ttl-main__ruby, .ttl-main__eng {
  letter-spacing: 0.1em;
}
.ttl-main__ruby {
  font-size: 35px;
  font-size: 3.5rem;
}
@media screen and (max-width: 768px) {
  .ttl-main__ruby {
    font-size: 45px;
    font-size: 5.859375vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-main__ruby {
    font-size: 30px;
  }
}
.ttl-main__eng {
  color: #b5c652;
  line-height: 1;
  font-size: 20px;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .ttl-main__eng {
    font-size: 30px;
    font-size: 3.90625vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-main__eng {
    font-size: 20px;
  }
}
.ttl-sub {
  margin-bottom: 40px;
  border-bottom: solid 1px #b5c652;
  padding-bottom: 10px;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 600;
  font-size: 30px;
  font-size: 3rem;
}
@media screen and (max-width: 768px) {
  .ttl-sub {
    font-size: 40px;
    font-size: 5.2083333333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-sub {
    font-size: 26.6666666667px;
  }
}
.ttl-01 {
  margin-bottom: 20px;
  display: flex;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 600;
  line-height: 1.2;
  font-size: 24px;
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .ttl-01 {
    font-size: 34px;
    font-size: 4.4270833333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-01 {
    font-size: 22.6666666667px;
  }
}
.ttl-01::before {
  content: "";
  display: block;
  width: 3px;
  border-radius: 50rem;
  background: #d8a034;
  margin-right: 10px;
}
.ttl-02 {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 600;
  display: flex;
  align-items: flex-start;
  -moz-column-gap: 20px;
       column-gap: 20px;
}
.ttl-02__num {
  width: 40px;
  min-width: 40px;
  aspect-ratio: 1/1;
  border-radius: 10px;
  padding-bottom: 3px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #d8a034;
  color: #fff;
  font-size: 24px;
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .ttl-02__num {
    font-size: 34px;
    font-size: 4.4270833333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-02__num {
    font-size: 22.6666666667px;
  }
}
.ttl-02__txt {
  white-space: pre-wrap;
  font-size: 28px;
  font-size: 2.8rem;
}
@media screen and (max-width: 768px) {
  .ttl-02__txt {
    font-size: 38px;
    font-size: 4.9479166667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-02__txt {
    font-size: 25.3333333333px;
  }
}
.ttl-03 {
  margin-bottom: 30px;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 600;
  font-size: 35px;
  font-size: 3.5rem;
}
@media screen and (max-width: 768px) {
  .ttl-03 {
    font-size: 45px;
    font-size: 5.859375vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-03 {
    font-size: 30px;
  }
}
.ttl-04 {
  margin-bottom: 40px;
  padding: 15px 30px;
  border-radius: 8px;
  background: #d8b84a;
  color: #fff;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 600;
  font-size: 25px;
  font-size: 2.5rem;
}
@media screen and (max-width: 768px) {
  .ttl-04 {
    font-size: 35px;
    font-size: 4.5572916667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-04 {
    font-size: 23.3333333333px;
  }
}
.ttl-05 {
  margin-bottom: 20px;
  border-bottom: solid 1px #b5c652;
  padding-bottom: 15px;
  display: flex;
  align-items: flex-start;
  -moz-column-gap: 10px;
       column-gap: 10px;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 600;
  font-size: 23px;
  font-size: 2.3rem;
}
@media screen and (max-width: 768px) {
  .ttl-05 {
    font-size: 33px;
    font-size: 4.296875vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-05 {
    font-size: 22px;
  }
}
.ttl-05::before {
  content: "";
  display: block;
  width: 20px;
  aspect-ratio: 1/1;
  border-radius: 5px;
  background: #719b5b;
  transform: translateY(8px);
}
.ttl-05 span {
  max-width: calc(100% - 30px);
}
.ttl-06 {
  margin-bottom: 15px;
  background: #b5c652;
  color: #fff;
  padding: 5px 20px;
  border-radius: 5px;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 600;
  font-size: 18px;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .ttl-06 {
    font-size: 28px;
    font-size: 3.6458333333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-06 {
    font-size: 18.6666666667px;
  }
}
.ttl-07 {
  margin-bottom: 25px;
  background: #f0f6dd;
  padding: 5px 20px;
  border-radius: 5px;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 600;
  font-size: 23px;
  font-size: 2.3rem;
}
@media screen and (max-width: 768px) {
  .ttl-07 {
    font-size: 33px;
    font-size: 4.296875vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-07 {
    font-size: 22px;
  }
}

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

.header-nav__item,
.drawer-nav__item,
.footer-nav__item,
.dropdown-menu__item {
  line-height: 1;
}
.header-nav__link:hover,
.drawer-nav__link:hover,
.footer-nav__link:hover,
.dropdown-menu__link:hover {
  opacity: 0.8;
}

.header-nav {
  margin-top: 30px;
  background: #719b5b;
  position: relative;
  z-index: 77;
}
.header-nav__list {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 600;
  display: flex;
}
.header-nav__item {
  width: 20%;
  position: relative;
}
.header-nav__item::before, .header-nav__item:last-child::after {
  content: "";
  display: block;
  width: 1px;
  height: calc(100% - 20px);
  background: #fff;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}
.header-nav__item:last-child::after {
  left: inherit;
  right: 0;
}
.header-nav__link {
  color: #fff;
  width: 100%;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.header-nav .dropdown-menu {
  position: relative;
  cursor: pointer;
}
.header-nav .dropdown-menu::after {
  content: "";
  display: block;
  width: 8px;
  aspect-ratio: 8/7;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  background: #fff;
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translate(0, -50%);
}
.header-nav .dropdown-menu__list {
  font-size: 15px;
  font-size: 1.5rem;
  width: 100%;
  background: #fff;
  border-radius: 0 0 10px 10px;
  position: absolute;
  top: 100%;
  left: 0;
}
@media screen and (max-width: 768px) {
  .header-nav .dropdown-menu__list {
    font-size: 25px;
    font-size: 3.2552083333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .header-nav .dropdown-menu__list {
    font-size: 16.6666666667px;
  }
}
.header-nav .dropdown-menu__item:not(:first-child) {
  border-top: dashed 1px #584c46;
}
.header-nav .dropdown-menu__link {
  display: block;
  width: 100%;
  padding: 12px;
  text-align: center;
  position: relative;
}
.header-nav .dropdown-menu__link::before {
  content: "";
  display: block;
  width: 4px;
  aspect-ratio: 4/5;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  background: #584c46;
  position: absolute;
  top: 50%;
  left: 10px;
  transform: translate(0, -50%);
  transition: 0.3s;
}
.header-nav .dropdown-menu__link:hover {
  color: #719b5b;
}
.header-nav .dropdown-menu__link:hover::before {
  background: #719b5b;
}

.drawer-nav__list {
  flex-direction: column;
}

.footer-nav {
  padding: 40px 0;
}
.footer-nav__list {
  display: grid !important;
  grid-template-columns: repeat(3, 180px);
  grid-template-rows: repeat(4, 1fr);
  gap: 20px 25px;
  font-weight: 600;
  letter-spacing: 0.08em;
  font-size: 15px;
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .footer-nav__list {
    font-size: 25px;
    font-size: 3.2552083333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .footer-nav__list {
    font-size: 16.6666666667px;
  }
}
.footer-nav__item {
  position: relative;
}
.footer-nav__item:nth-child(2) {
  grid-column-start: 1;
  grid-row-start: 2;
}
.footer-nav__item:nth-child(3) {
  grid-column-start: 2;
  grid-row-start: 1;
}
.footer-nav__item:nth-child(4) {
  grid-column-start: 2;
  grid-row-start: 2;
}
.footer-nav__item:nth-child(5) {
  grid-column-start: 2;
  grid-row-start: 3;
}
.footer-nav__item:nth-child(6) {
  grid-column-start: 2;
  grid-row-start: 4;
}
.footer-nav__item:nth-child(7) {
  grid-column-start: 3;
  grid-row-start: 1;
}
.footer-nav__item:nth-child(8) {
  grid-column-start: 3;
  grid-row-start: 2;
}
.footer-nav__item:nth-child(9) {
  grid-column-start: 3;
  grid-row-start: 3;
}
.footer-nav__link {
  display: flex;
  align-items: center;
  -moz-column-gap: 3px;
       column-gap: 3px;
}
.footer-nav__link::before {
  content: "";
  display: block;
  width: 7px;
  aspect-ratio: 7/8;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  background: #b5c652;
}
.footer-nav .dropdown-menu__list {
  width: 100%;
  display: flex !important;
  flex-direction: column;
  position: absolute;
  top: 100%;
  left: 0;
  font-size: 14px;
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .footer-nav .dropdown-menu__list {
    font-size: 24px;
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .footer-nav .dropdown-menu__list {
    font-size: 16px;
  }
}
.footer-nav .dropdown-menu__item {
  margin-top: 15px;
}
.footer-nav .dropdown-menu__link {
  display: flex;
  align-items: center;
}
.footer-nav .dropdown-menu__link::before {
  content: "└";
  display: block;
  font-size: 14px;
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .footer-nav .dropdown-menu__link::before {
    font-size: 24px;
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .footer-nav .dropdown-menu__link::before {
    font-size: 16px;
  }
}

.mv, .sv {
  width: 100%;
  position: relative;
}
.mv img, .sv img {
  display: block;
  width: 100%;
}
.mv-cc, .sv-cc {
  position: absolute;
  top: 50%;
  left: 11.46%;
  transform: translate(0, -50%);
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  row-gap: 10px;
  line-height: 1;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 600;
  font-size: 35px;
  font-size: 1.8229166667vw;
}
@media screen and (max-width: 1120px) {
  .mv-cc, .sv-cc {
    font-size: 23.3333333333px;
  }
}
@media screen and (min-width: 1920px) {
  .mv-cc, .sv-cc {
    font-size: 35px;
  }
}
.mv-cc span, .sv-cc span {
  padding: 10px;
  background: #fff;
  border-radius: 10px;
}
.mv-img, .sv-img {
  width: 1200px;
  max-width: 62.5%;
  border-radius: 50rem 0 0 50rem;
  overflow: hidden;
}

.mv {
  background: url("/img/top/mv-obj-01.png") left bottom 20% no-repeat;
  background-size: 9.01%;
}
.mv.obj::before {
  content: "";
  display: block;
  width: 214px;
  max-width: 11.1458333333%;
  aspect-ratio: 214/195;
  background-image: url("/img/top/mv-obj-02.png");
  background-size: 100%;
  position: absolute;
  top: 0;
  left: 32.08%;
  transform: translateY(10%);
  z-index: -1;
}

.sv {
  background: url("/img/common/sv-obj-01.png") left top 5% no-repeat;
  background-size: 12.55%;
}
.sv.obj::before {
  content: "";
  display: block;
  width: 294px;
  max-width: 15.3125%;
  aspect-ratio: 294/234;
  background-image: url("/img/common/sv-obj-02.png");
  background-size: 100%;
  position: absolute;
  left: 30.99%;
  bottom: 0;
  transform: translateY(-30%);
  z-index: -1;
}

.side-bar {
  position: fixed;
  right: 10px;
  top: 180px;
  z-index: 88;
}
.side-line a {
  width: 100%;
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  display: flex;
  align-items: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
  padding: 20px 0;
  border-radius: 50rem;
  background: #fff;
  color: #719b5b;
  border: solid 1px #719b5b;
}
.side-line a::before {
  content: "";
  display: block;
  width: 24px;
  aspect-ratio: 1/1;
  background-image: url("/img/common/ic-line.png");
  background-size: 100%;
}
.side-line a::after {
  content: "";
  display: block;
  width: 8px;
  aspect-ratio: 8/7;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  background: #719b5b;
}
.side-line a:hover {
  background: #c5cf88;
  color: #fff;
  border-color: #c5cf88;
}
.side-totop {
  position: fixed;
  right: 10px;
  bottom: 15px;
  z-index: 88;
}

.top-news, .top-worry, .top-concept, .top-flow, .top-map {
  padding: 100px 0;
}
.top-point {
  padding: 150px 0 100px 0;
}
.top-worry .ttl-main, .top-concept .ttl-main, .top-point .ttl-main, .top-flow .ttl-main, .top-class .ttl-main {
  flex-direction: column;
}
.top-concept .btn, .top-flow .btn, .top-class .btn {
  margin-top: 50px;
}

.top-news .btn {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}

.top-worry {
  background: url("/img/top/worry-obj.png") right 6.77% bottom no-repeat;
  background-size: 29.79%;
}
.top-worry .illust {
  position: relative;
  z-index: 1;
}
.top-worry .illust::before {
  content: "";
  display: block;
  width: 138px;
  aspect-ratio: 138/123;
  background-image: url("/img/top/worry-illust.png");
  background-size: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(-40%);
  z-index: -1;
}

.top-concept {
  background: url("/img/top/concept-obj-01.png") left top 15% no-repeat;
  background-size: 11.61%;
}
.top-concept .illust-01, .top-concept .illust-02 {
  position: relative;
}
.top-concept .illust-01::before, .top-concept .illust-02::after {
  content: "";
  display: block;
  width: 88px;
  aspect-ratio: 88/110;
  background-image: url("/img/top/concept-illust-01.png");
  background-size: 100%;
  position: absolute;
  left: 0;
  bottom: 100%;
  transform: translate(40px, 10px);
  z-index: 1;
}
.top-concept .illust-02::after {
  width: 79px;
  aspect-ratio: 79/108;
  background-image: url("/img/top/concept-illust-02.png");
  background-size: 100%;
  left: inherit;
  right: 0;
  transform: translate(-40px, 10px);
}
.top-concept.obj {
  position: relative;
  z-index: 1;
}
.top-concept.obj::before {
  content: "";
  display: block;
  width: 580px;
  max-width: 30.2083333333%;
  aspect-ratio: 580/527;
  background-image: url("/img/top/concept-obj-02.png");
  background-size: 100%;
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translate(0, -25%);
  z-index: -1;
}

.top-point {
  background: url("/img/top/point-obj.png") right center no-repeat;
  background-size: 14.58%;
}
.top-point .illust {
  position: relative;
  z-index: 1;
}
.top-point .illust::before {
  content: "";
  display: block;
  width: 191px;
  aspect-ratio: 191/148;
  background-image: url("/img/top/point-illust.png");
  background-size: 100%;
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(-40px, -50px);
  z-index: -1;
}

.top-flow {
  background: url("/img/top/flow-obj.png") left top 10% no-repeat;
  background-size: 26.82%;
}

.top-menu {
  padding: 150px 0 0;
}
.top-menu.obj {
  position: relative;
  z-index: 1;
}
.top-menu.obj::before {
  content: "";
  display: block;
  width: 283px;
  max-width: 14.7395833333%;
  aspect-ratio: 283/517;
  background-image: url("/img/top/menu-obj.png");
  background-size: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  transform: translateY(20%);
  z-index: -1;
}

.top-class {
  padding: 70px 0 0;
}

.top-map .com-gmap {
  width: 1820px;
  max-width: 94.7916666667%;
}

.top-greeting {
  background: url("/img/top/greeting-obj-01.png") right top no-repeat;
  background-size: 19.74%;
  padding: 150px 0;
}
.top-greeting .img {
  min-width: 450px;
}
.top-greeting .img figure {
  aspect-ratio: 1/1;
}
.top-greeting.obj-01 {
  position: relative;
  z-index: 1;
}
.top-greeting.obj-01::before {
  content: "";
  display: block;
  width: 420px;
  max-width: 21.875%;
  aspect-ratio: 420/380;
  background-image: url("/img/top/greeting-obj-02.png");
  background-size: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  transform: translateY(-25%);
  z-index: -1;
}
.top-greeting .obj-02 {
  position: relative;
  z-index: 1;
}
.top-greeting .obj-02::before {
  content: "";
  display: block;
  width: 194px;
  aspect-ratio: 194/192;
  background-image: url("/img/top/greeting-obj-03.png");
  background-size: 100%;
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(5%, -5%);
  z-index: -1;
}

#ctn-lower section {
  padding: 100px 0;
}
#ctn-lower .ttl-main {
  flex-direction: column;
}

.about-desc,
.pass-result {
  background: url("/img/about/about-obj-01.png") left top no-repeat;
  background-size: 14.43%;
}
.about-desc.obj,
.pass-result.obj {
  position: relative;
  z-index: 1;
}
.about-desc.obj::before,
.pass-result.obj::before {
  content: "";
  display: block;
  width: 239px;
  max-width: 12.4479166667%;
  aspect-ratio: 239/438;
  background-image: url("/img/about/about-obj-02.png");
  background-size: 100%;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: -1;
}

.about-desc .com-contents, .about-service .com-contents {
  display: flex;
  flex-direction: column;
  row-gap: 90px;
}
.about-desc .com-layout, .about-service .com-layout {
  justify-content: center;
  align-items: flex-start;
  -moz-column-gap: 60px;
       column-gap: 60px;
}
.about-desc .img, .about-service .img {
  width: 480px;
  min-width: 450px;
  border-radius: 20px;
  overflow: hidden;
}
.about-desc .img img, .about-service .img img {
  display: block;
  width: 100%;
}
.about-desc .txtbx, .about-service .txtbx {
  width: 100%;
}
.about-service .ttl-02__num {
  background: #719b5b;
}
.about-service .com-layout:nth-child(even) {
  flex-direction: row-reverse;
}
.about-service .com-layout:nth-child(even) .ttl-02__num {
  background: #d8a034;
}
.about-price {
  background: url("/img/about/price-obj-01.png") left top 80px no-repeat;
  background-size: 16.25%;
}
.about-price.obj {
  position: relative;
  z-index: 1;
}
.about-price.obj::before {
  content: "";
  display: block;
  width: 199px;
  max-width: 10.3645833333%;
  aspect-ratio: 199/390;
  background-image: url("/img/about/price-obj-02.png");
  background-size: 100%;
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(0, 150%);
  z-index: -1;
}

.case-list {
  background: url("/img/case/case-obj-01.png") left top no-repeat;
  background-size: 19.74%;
}
.case-list.obj {
  position: relative;
  z-index: 1;
}
.case-list.obj::before {
  content: "";
  display: block;
  width: 206px;
  max-width: 100%;
  aspect-ratio: 206/390;
  background-image: url("/img/case/case-obj-02.png");
  background-size: 100%;
  position: absolute;
  top: 0;
  right: 0;
  transform: translateY(30%);
  z-index: -1;
}
.case-detail dl:first-child {
  display: flex;
  align-items: center;
  -moz-column-gap: 30px;
       column-gap: 30px;
}
.case-detail__ic {
  width: 120px;
  min-width: 120px;
}
.case-detail__ttl {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 600;
  font-size: 25px;
  font-size: 2.5rem;
}
@media screen and (max-width: 768px) {
  .case-detail__ttl {
    font-size: 35px;
    font-size: 4.5572916667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .case-detail__ttl {
    font-size: 23.3333333333px;
  }
}
.case-detail dd {
  white-space: pre-wrap;
}

.voice-list {
  background: url("/img/voice/list-obj-01.png") right top no-repeat;
  background-size: 19.32%;
}
.voice-list.obj {
  position: relative;
  z-index: 1;
}
.voice-list.obj::before {
  content: "";
  display: block;
  width: 219px;
  max-width: 11.40625%;
  aspect-ratio: 219/390;
  background-image: url("/img/voice/list-obj-02.png");
  background-size: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(40%);
  z-index: -1;
}/*# sourceMappingURL=style.css.map */