@charset "UTF-8";
body {
  font-size: 17px;
  font-size: 1.7rem;
  letter-spacing: 0.05em;
  text-align: justify;
  text-justify: inter-ideograph;
  font-family: "Noto Serif JP", serif;
  word-wrap: break-all;
  word-wrap: break-word;
  width: 100%;
  min-width: 1260px;
  color: #2e2718;
  scroll-behavior: smooth;
  background: url("/img/common/ptn-wht.jpg");
}
@media screen and (max-width: 768px) {
  body {
    font-size: 27px;
    font-size: 3.515625vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  body {
    font-size: 15.8823529412px;
  }
}

.col-wht {
  color: #fff !important;
}
.col-blk {
  color: #2e2718 !important;
}
.col-beg {
  color: #ebe8e2 !important;
}
.col-olv {
  color: #a28b55 !important;
}
.col-grn {
  color: #69866b !important;
}
.col-mos {
  color: #86ab89 !important;
}

.bg-wht {
  background-color: #fff !important;
}
.bg-blk {
  background-color: #2e2718 !important;
}
.bg-beg {
  background-color: #ebe8e2 !important;
}
.bg-olv {
  background-color: #a28b55 !important;
}
.bg-grn {
  background-color: #69866b !important;
}
.bg-mos {
  background-color: #86ab89 !important;
}

.ptn-wht {
  background: url("/img/common/ptn-wht.jpg");
}
.ptn-beg {
  background: url("/img/common/ptn-beg.jpg");
}
.ptn-olv {
  background: url("/img/common/ptn-olv.jpg");
}
.ptn-grn {
  background: url("/img/common/ptn-grn.jpg");
}

.com-btn-ig .btn-link::before {
  content: "";
  display: block;
  width: 30px;
  aspect-ratio: 1/1;
  background-image: url("/img/common/ic-ig-wht.png");
  background-size: cover;
  margin: 0 auto 14px auto;
}

#side-bar {
  position: fixed;
  right: 30px;
  bottom: 30px;
  z-index: 88;
}

.btn-ptn1 .btn-link {
  display: block;
  width: 300px;
  max-width: 100%;
  height: 60px;
  margin: 0 auto;
  line-height: 1;
  font-weight: 600;
}
.btn-ptn1 .btn-link:hover {
  color: #69866b;
}
.btn-ptn1 .btn-inner {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.btn-ptn2 .btn-link {
  width: 520px;
  max-width: 100%;
  height: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: url("/img/common/ptn-grn.jpg");
  color: #fff;
}
.btn-ptn2 .btn-link:hover {
  color: rgba(255, 255, 255, 0.8);
}

.line-top, .line-btm, .line-lft, .line-rt {
  position: relative;
  z-index: 1;
}
.line-top::before, .line-btm::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-image: url("/img/common/line-side.png");
  background-repeat: repeat-x;
  background-position: top;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.line-btm::after {
  background-position: bottom;
  top: inherit;
  bottom: 0;
}
.line-lft::before, .line-rt::after {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  background-image: url("/img/common/line-vertical.png");
  background-repeat: repeat-y;
  background-position: left bottom;
  position: absolute;
  left: 0;
  top: 0;
}
.line-rt::after {
  background-position: right bottom;
  left: inherit;
  right: 0;
}
.line-grn::after {
  content: "";
  display: block;
  width: 525px;
  aspect-ratio: 525/1;
  background-image: url("/img/common/line-grn.png");
  background-size: cover;
  margin: 10px auto 0 auto;
}
.line-comment {
  position: relative;
  z-index: 1;
}
.line-comment::after {
  content: "";
  display: block;
  width: 730px;
  max-width: 100%;
  aspect-ratio: 730/9;
  background-image: url("/img/common/line-comment.png");
  background-size: cover;
  margin: 10px auto 0 auto;
}

.ic-tel {
  display: flex;
  align-items: center;
}
.ic-tel::before {
  content: "";
  display: block;
  width: 15px;
  aspect-ratio: 15/21;
  background-image: url("/img/common/ic-tel.png");
  background-size: cover;
  margin-right: 5px;
}
.ic-ig::before {
  content: "";
  display: block;
  width: 30px;
  aspect-ratio: 1/1;
  background-image: url("/img/common/ic-ig-wht.png");
  background-size: cover;
  margin-right: 15px;
}

.arw-blk, .arw-wht {
  position: relative;
}
.arw-blk::after, .arw-wht::after {
  content: "";
  display: block;
  width: 7px;
  aspect-ratio: 7/12;
  background-image: url("/img/common/arw-blk.png");
  background-size: cover;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  transition: 0.3s;
}
.arw-blk:hover::after, .arw-wht:hover::after {
  transform: translate(-3px, -50%);
}
.arw-wht::after {
  background-image: url("/img/common/arw-wht.png");
  background-size: cover;
}

.obj-line {
  display: flex;
  align-items: center;
}
.obj-line::before {
  content: "";
  display: block;
  min-width: 10px;
  height: 1px;
  background: url("/img/common/line-side.png");
  background-repeat: repeat-x;
  margin-right: 10px;
  transform: translateY(3px);
}
.obj-line-dot::after {
  content: "";
  display: block;
  width: 58px;
  max-width: 100%;
  height: 2px;
  border-bottom: dotted 2px #fff;
  margin: 10px auto 0 auto;
}

.frame-arch {
  position: relative;
}
.frame-arch::before {
  content: "";
  display: block;
  width: 100%;
  min-width: 1920px;
  aspect-ratio: 1920/40;
  background-image: url("/img/common/arch-frame-wht.png");
  background-size: cover;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}

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

.tbl {
  width: 100%;
}
.tbl td {
  overflow-wrap: anywhere; /* 収まらない場合に折り返す */
  word-break: normal; /* 単語の分割はデフォルトに依存 */
  line-break: strict; /* 禁則処理を厳格に適用 */
}
.tbl-ptn1 {
  background: #ebe8e2;
}
.tbl-ptn1 th, .tbl-ptn1 td {
  padding: 16px 2%;
}
.tbl-ptn1 th {
  width: 16%;
  background: url("/img/common/ptn-grn.jpg");
  color: #fff;
}
.tbl-ptn1 td {
  white-space: pre-wrap;
}
.tbl-ptn1 tr:not(:first-child) th {
  border-top: solid 1px #ebe8e2;
}
.tbl-ptn1 tr:not(:first-child) td {
  border-top: solid 1px rgba(134, 171, 137, 0.5);
}

.cts-1080 {
  width: 1080px;
  margin: 0 auto;
}

.list-clm-2 {
  display: flex;
  flex-wrap: wrap;
}
.list-clm-2 .list-item {
  width: 525px;
  max-width: 100%;
}
.list-clm-2 .list-item:nth-child(even) {
  margin-left: 30px;
}
.list-clm-3 {
  display: flex;
  flex-wrap: wrap;
}
.list-clm-3 .list-item {
  width: 350px;
  max-width: 100%;
}
.list-clm-3 .list-item:not(:nth-child(3n-2)) {
  margin-left: 15px;
}
.list-thumb .thumb-item {
  width: calc(16.6666666667% - 0.8333333333px);
  aspect-ratio: 1/1;
}
.list-thumb .thumb-item img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.list-thumb .thumb-item:not(:nth-child(6n-5)) {
  margin-left: 1px;
}
.list-thumb .thumb-item:nth-child(n+7) {
  margin-top: 1px;
}
.list-nav .nav-item {
  line-height: 1;
}
.list-nav .nav-link:hover {
  color: #69866b;
}
.list-sns .list-item:not(:first-child) {
  margin-left: 15px;
}
.list-num .list-item {
  display: flex;
  align-items: center;
}
.list-num .list-item::before {
  font-family: "Prata", serif;
  content: "01";
  display: block;
  font-size: 17px;
  font-size: 1.7rem;
  line-height: 1;
  letter-spacing: 0.1em;
  width: 40px;
  aspect-ratio: 1/1;
  background: #86ab89;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin-right: 15px;
}
@media screen and (max-width: 768px) {
  .list-num .list-item::before {
    font-size: 27px;
    font-size: 3.515625vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-num .list-item::before {
    font-size: 15.8823529412px;
  }
}
.list-num .list-item:nth-child(2)::before {
  content: "02";
}
.list-num .list-item:nth-child(even) {
  margin-left: 40px;
}
.list-gallery .list-item, .list-gallery-lower .list-item {
  background: #fff;
  padding: 20px;
}
.list-gallery .list-item:nth-child(n+4), .list-gallery-lower .list-item:nth-child(n+4) {
  margin-top: 30px;
}
.list-gallery .list-img, .list-gallery-lower .list-img {
  width: 100%;
  aspect-ratio: 1/1;
}
.list-gallery .list-ttl, .list-gallery-lower .list-ttl {
  margin-top: 15px;
}
.list-gallery-lower .list-item:nth-child(n+3) {
  margin-top: 30px;
}
.list-check-blk .list-item, .list-check-grn .list-item {
  display: flex;
  align-items: flex-start;
}
.list-check-blk .list-item::before, .list-check-grn .list-item::before {
  content: "";
  display: block;
  width: 15px;
  aspect-ratio: 15/11;
  background-image: url("/img/common/ic-check.png");
  background-size: cover;
  margin-right: 10px;
  transform: translateY(100%);
}
.list-check-blk .list-item:not(:first-child), .list-check-grn .list-item:not(:first-child) {
  margin-top: 10px;
}
.list-check-blk .list-inner, .list-check-grn .list-inner {
  max-width: calc(100% - 25px);
}
.list-check-grn .list-item::before {
  width: 26px;
  aspect-ratio: 1/1;
  background-image: url("/img/common/ic-check-grn.png");
  background-size: cover;
  transform: none;
}
.list-check-grn .list-item:not(:first-child) {
  margin: 0;
}
.list-check-grn .list-item:nth-child(even) {
  margin-left: 40px;
}
.list-news .list-item {
  width: 100%;
  border-bottom: solid 1px rgba(46, 39, 24, 0.1);
  padding-bottom: 15px;
}
.list-news .list-item:not(:first-child) {
  margin-top: 15px;
}
.list-news .list-inner {
  display: flex;
  align-items: center;
}
.list-news .list-ttl {
  margin-top: 5px;
}
.list-news time {
  font-family: "Prata", serif;
  display: block;
  opacity: 0.5;
  margin-right: 10px;
}

.com-tag-main .list-tag {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.com-tag-main .tag-item {
  margin: 5px;
}
.com-tag-main .tag-link {
  display: block;
  background: #a28b55;
  color: #fff;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 500;
  padding: 10px 20px;
}
@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 {
  display: flex;
  flex-wrap: wrap;
}
.com-tag-sub .tag-item {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1;
  padding: 5px;
  color: #a28b55;
}
@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-detail .wrp-ba .ba-ttl {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: medium;
  line-height: 1;
  background: #2e2718;
  color: #fff;
  text-align: center;
  padding: 10px;
}
@media screen and (max-width: 768px) {
  .com-detail .wrp-ba .ba-ttl {
    font-size: 28px;
    font-size: 3.6458333333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .com-detail .wrp-ba .ba-ttl {
    font-size: 16.4705882353px;
  }
}
.com-detail .layout-item:not(:first-child) {
  margin-left: 40px;
}
.com-tel .tel {
  line-height: 1;
  letter-spacing: 0.1em;
}
.com-box-cts {
  padding: 35px;
}
.com-contact {
  background: url("/img/common/contact-bg.png") center center no-repeat;
  background-size: cover;
  padding: 80px 0;
}
.com-contact .ttl-main {
  margin-bottom: 30px;
}
.com-contact .com-tel {
  padding: 24px 0;
  margin: 20px auto 15px auto;
}
.com-daytime dl {
  display: flex;
}
.com-daytime dl:not(:first-child) {
  margin-left: 20px;
}
.com-daytime dd {
  margin-left: 10px;
}

.ttl-main .ruby, .ttl-main .eng {
  display: block;
}
.ttl-main .ruby:not(:first-child), .ttl-main .eng:not(:first-child) {
  margin-top: 10px;
}
.ttl-main .ruby {
  font-family: "Shippori Mincho", serif;
  font-size: 30px;
  font-size: 3rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .ttl-main .ruby {
    font-size: 40px;
    font-size: 5.2083333333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-main .ruby {
    font-size: 23.5294117647px;
  }
}
.ttl-main .eng {
  font-family: "Prata", serif;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1;
  color: #69866b;
}
@media screen and (max-width: 768px) {
  .ttl-main .eng {
    font-size: 24px;
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-main .eng {
    font-size: 14.1176470588px;
  }
}
.ttl-sub {
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: 600;
  border-left: solid #86ab89 6px;
  border-bottom: solid 1px rgba(162, 139, 85, 0.5);
  background: #ebe8e2;
  padding: 10px 0 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-bar {
  letter-spacing: 0.2em;
  padding: 20px;
}
.ttl-side {
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: center;
}
.ttl-side::before, .ttl-side::after {
  content: "";
  display: block;
  width: 440px;
  width: 440px;
  max-width: 22.9166666667vw;
  aspect-ratio: 440/7;
  background-image: url("/img/common/line-double.png");
  background-size: cover;
}
.ttl-side::after {
  transform: scaleX(-1);
}
.ttl-side-inner {
  background: url("/img/common/ptn-wht.jpg");
  max-width: 80%;
  padding: 0 40px;
}

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

.num-sq {
  width: 40px;
  aspect-ratio: 1/1;
  font-family: "Prata", serif;
  line-height: 1;
  letter-spacing: 0.1em;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: #86ab89;
  color: #fff;
  margin: 0 auto;
  padding: 4px 0 0 2px;
}

.hd-bar {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 88;
}
.hd-bar .cts-area {
  padding-left: 40px;
}
.hd-bar.line-btm::after {
  position: static;
}

#hd-nav .nav-item:not(:first-child) {
  margin-left: 40px;
}

.mv, .sv {
  position: relative;
  z-index: 1;
}
.mv::after, .sv::after {
  content: "";
  display: block;
  width: 100%;
  min-width: 1920px;
  aspect-ratio: 1920/40;
  background-image: url("/img/common/arch-wht.png");
  background-size: cover;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  z-index: -1;
}

.mv {
  background: url("/img/top/mv-img.png") center center no-repeat;
  background-size: cover;
  aspect-ratio: 1920/804;
}
.mv-cc {
  transform: translateY(-7.8vw);
}

.sv {
  aspect-ratio: 1920/500;
}
.sv-concept {
  background: url("/img/concept/sv.png") center center no-repeat;
  background-size: cover;
}
.sv-gallery {
  background: url("/img/gallery/sv.png") center center no-repeat;
  background-size: cover;
}
.sv-health {
  background: url("/img/health/sv.png") center center no-repeat;
  background-size: cover;
}
.sv-beauty {
  background: url("/img/beauty/sv.png") center center no-repeat;
  background-size: cover;
}
.sv-shop {
  background: url("/img/shop/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;
}

.top-about {
  padding: 80px 0;
}
.top-about .ttl-main {
  margin-bottom: 50px;
}
.top-about .com-box {
  margin-top: 50px;
}
.top-about .btn {
  margin-top: 30px;
}

.top-menu,
.top-recommend {
  padding: 0 0 80px 0;
}
.top-menu .cts-1080,
.top-recommend .cts-1080 {
  padding-top: 80px;
}
.top-menu .ttl-main,
.top-recommend .ttl-main {
  margin-bottom: 50px;
}

.top-menu .btn,
.top-menu .list-gallery {
  margin-top: 40px;
}
.top-menu .wrp-gallery {
  margin-top: 60px;
}

.top-recommend .ttl-main {
  margin-bottom: 80px;
}
.top-recommend .box {
  width: 464px;
  max-width: 100%;
  height: 294px;
  background: url("/img/common/line-frame.png") center center no-repeat;
  background-size: cover;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
}
.top-recommend .box-ttl {
  font-size: 22px;
  font-size: 2.2rem;
  color: #fff;
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  padding: 15px 20px;
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(40px, -40px);
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .top-recommend .box-ttl {
    font-size: 32px;
    font-size: 4.1666666667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .top-recommend .box-ttl {
    font-size: 18.8235294118px;
  }
}
.top-recommend .box-inner {
  height: calc(100% - 60px);
  padding-left: 150px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.top-recommend .box:nth-child(even) {
  margin-left: 50px;
}
.top-recommend .btn-link {
  width: 100%;
}
.top-recommend .arw-blk::after {
  right: 30px;
}

.top-gmap {
  padding: 0 10.94vw;
}

.top-news {
  padding: 80px 0;
}
.top-news .layout-item,
.top-news .list-news {
  padding: 60px;
}
.top-news .line-top::before, .top-news .line-btm::after {
  z-index: 1;
}
.top-news .ttl-main .eng {
  font-size: 30px;
  font-size: 3rem;
}
@media screen and (max-width: 768px) {
  .top-news .ttl-main .eng {
    font-size: 40px;
    font-size: 5.2083333333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .top-news .ttl-main .eng {
    font-size: 23.5294117647px;
  }
}
.top-news .ttl-main .ruby {
  font-size: 20px;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .top-news .ttl-main .ruby {
    font-size: 30px;
    font-size: 3.90625vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .top-news .ttl-main .ruby {
    font-size: 17.6470588235px;
  }
}
.top-news .list-news {
  min-height: 280px;
}
.top-news .btn {
  position: absolute;
  top: 180px;
  left: 60px;
}
.top-news .btn-link {
  width: 125px;
  max-width: 100%;
  height: auto;
  margin: 0;
  padding-bottom: 10px;
  justify-content: flex-start;
  text-align: left;
}
.top-news .arw-blk::after {
  position: static;
  transform: none;
  margin: 0 0 0 10px;
}

#ctn-lower article {
  padding: 80px 0;
}
#ctn-lower .ttl-main {
  text-align: center;
  margin-bottom: 60px;
}

footer#footer .list-sns {
  margin-left: 30px;
}
footer#footer address {
  margin-top: 40px;
}

.ft-item-01 {
  padding: 60px 0;
}
.ft-item-02 {
  padding: 22px 0 220px 0;
}

#ft-nav {
  padding-left: 30px;
  margin-left: 30px;
}
#ft-nav .nav-item:not(:first-child) {
  margin-top: 20px;
}
#ft-nav-sub .nav-item:not(:first-child) {
  margin-left: 15px;
}