@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 Sans JP", sans-serif;
  word-wrap: break-all;
  word-wrap: break-word;
  width: 100%;
  min-width: 1120px;
  color: #37393c;
  scroll-behavior: smooth;
}
@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: #37393c !important;
}
.col-gry1 {
  color: #f5f5f5 !important;
}
.col-gry2 {
  color: #eaeaea !important;
}
.col-gld {
  color: #cea136 !important;
}

.bg-wht {
  background-color: #fff !important;
}
.bg-blk {
  background-color: #37393c !important;
}
.bg-gry1 {
  background-color: #f5f5f5 !important;
}
.bg-gry2 {
  background-color: #eaeaea !important;
}
.bg-gld {
  background-color: #cea136 !important;
}
.bg-gra-pnk {
  background: linear-gradient(90deg, rgb(143, 51, 86) 0%, rgb(202, 72, 122) 100%);
}
.bg-gra-grn {
  background: linear-gradient(90deg, rgb(5, 135, 58) 0%, rgb(6, 199, 85) 100%);
}
.bg-gra-gld1 {
  background: linear-gradient(90deg, rgb(113, 100, 72) 0%, rgb(162, 143, 104) 100%);
}
.bg-gra-gld2 {
  background: linear-gradient(90deg, rgb(126, 111, 81) 0%, rgb(190, 168, 121) 100%);
}
.bg-gra-gld3 {
  background: linear-gradient(-90deg, rgb(248, 232, 197) 0%, rgb(168, 149, 107) 30%, rgb(251, 236, 205) 60%);
}
.bg-ptn-blk {
  background: url("/img/common/ptn-blk.jpg") center center;
}

.btn-ptn2 .btn-link {
  font-family: "Shippori Mincho B1", serif;
  font-weight: bold;
  padding: 15px 0;
}
.btn-ptn2 .btn-link:hover {
  color: rgba(255, 255, 255, 0.8) !important;
}
.btn-ptn3 .btn-link {
  font-family: "Shippori Mincho B1", serif;
  font-weight: medium;
  display: flex;
  justify-content: center;
  align-items: center;
  border-top: solid 1px #cea136;
  border-bottom: solid 1px #cea136;
  color: #cea136;
}

.gold-bar-top, .gold-bar-btm {
  position: relative;
}
.gold-bar-top::before, .gold-bar-btm::after {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 1920/10;
  background-image: url("/img/common/line-gld.png");
  background-size: cover;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}
.gold-bar-btm::after {
  top: inherit;
  bottom: 0;
  transform: translateX(-50%) scaleX(-1);
}

.ic-tel, .ic-mail {
  display: flex;
  align-items: center;
}
.ic-tel::before, .ic-mail::before {
  content: "";
  display: block;
  width: 23px;
  aspect-ratio: 1/1;
  background-image: url("/img/common/ic-tel.png");
  background-size: cover;
  margin-right: 5px;
}
.ic-mail::before {
  width: 15px;
  aspect-ratio: 15/10;
  background-image: url("/img/common/ic-mail.png");
  background-size: cover;
  margin-right: 10px;
}
.ic-outlink {
  position: relative;
}
.ic-outlink:after {
  content: "";
  display: block;
  width: 15px;
  aspect-ratio: 1/1;
  background-image: url("/img/common/ic-outlink.png");
  background-size: cover;
  position: absolute;
  right: 20px;
  bottom: 20px;
  transition: 0.4s;
}
.ic-outlink:hover::after {
  transform: translate(2px, -3px);
}
.ic-circle::before, .ic-double-circle::before, .ic-triangle::before {
  content: "";
  display: inline-block;
  width: 35px;
  aspect-ratio: 35/34;
  background-image: url("/img/electric/ic-circle.png");
  background-size: cover;
  vertical-align: middle;
  margin-right: 10px;
}
.ic-double-circle::before {
  width: 36px;
  aspect-ratio: 1/1;
  background-image: url("/img/electric/ic-doubleCircle.png");
  background-size: cover;
}
.ic-triangle::before {
  width: 33px;
  aspect-ratio: 33/29;
  background-image: url("/img/electric/ic-triangle.png");
  background-size: cover;
}

.arw-wht, .arw-gld {
  position: relative;
}
.arw-wht::after, .arw-gld::after {
  content: "";
  display: inline-block;
  width: 16px;
  aspect-ratio: 16/5;
  background-image: url("/img/common/arw-wht.png");
  background-size: cover;
  vertical-align: middle;
  margin-left: 20px;
  transition: 0.4s;
}
.arw-wht:hover::after, .arw-gld:hover::after {
  transform: translateX(4px);
}
.arw-gld::after {
  background-image: url("/img/common/arw-gld.png");
  background-size: cover;
}

.obj-quotation::before, .obj-quotation::after {
  content: "";
  display: block;
  width: 37px;
  aspect-ratio: 37/28;
  background-image: url("/img/common/obj-quotation.png");
  background-size: cover;
  position: absolute;
  top: 25px;
  left: 25px;
  z-index: 1;
}
.obj-quotation::after {
  top: inherit;
  left: inherit;
  right: 25px;
  bottom: 25px;
  transform: scale(-1, -1);
}
.obj-circle {
  position: relative;
  z-index: 1;
}
.obj-circle::before {
  content: "";
  display: block;
  width: 270px;
  aspect-ratio: 1/1;
  background-image: url("/img/common/obj-circle.png");
  background-size: cover;
  position: absolute;
  z-index: -1;
}
.obj-shine {
  position: relative;
  z-index: 1;
}
.obj-shine::before {
  content: "";
  display: block;
  width: 40px;
  aspect-ratio: 40/36;
  background-image: url("/img/common/obj-shine.png");
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-100%, -30%);
  z-index: -1;
}

.hov-opa a:hover {
  opacity: 0.8;
}
.hov-img a:hover img {
  opacity: 0.8;
}
.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-ptn1 th, .tbl-ptn1 td {
  padding: 15px 3%;
}
.tbl-ptn1 th {
  width: 25.93%;
  border-bottom: solid 1px #37393c;
}
.tbl-ptn1 td {
  white-space: pre-wrap;
  border-bottom: solid 1px rgba(55, 57, 60, 0.3);
}
.tbl-comparison {
  width: 1080px;
}
.tbl-comparison th, .tbl-comparison td {
  vertical-align: middle;
  white-space: pre-wrap;
}
.tbl-comparison th {
  font-family: "Shippori Mincho B1", serif;
  font-weight: bold;
  text-align: center;
  line-height: 1;
  padding: 18px 0;
}
.tbl-comparison td {
  background: #fff;
  padding: 18px 2%;
}
.tbl-comparison td:not(:last-child) {
  border-right: solid 1px #eaeaea;
}
.tbl-comparison thead th:first-child,
.tbl-comparison tbody th {
  width: 18%;
}
.tbl-comparison thead th:not(:first-child),
.tbl-comparison tbody td {
  width: 27.3333333333%;
}
.tbl-comparison thead th {
  font-size: 24px;
  font-size: 2.4rem;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .tbl-comparison thead th {
    font-size: 34px;
    font-size: 4.4270833333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .tbl-comparison thead th {
    font-size: 20px;
  }
}
.tbl-comparison thead th:not(:last-child) {
  border-right: solid 1px #eaeaea;
}
.tbl-comparison tbody th {
  background: rgba(55, 57, 60, 0.1);
}
.tbl-comparison tbody tr:not(:first-child) th {
  border-top: solid 1px #fff;
}
.tbl-comparison tbody tr:not(:first-child) td {
  border-top: solid 1px rgba(55, 57, 60, 0.3);
}
.tbl-clm2 dt, .tbl-clm2 dd, .tbl-clm3 dt, .tbl-clm3 dd {
  width: 470px;
  max-width: 100%;
  white-space: pre-wrap;
}
.tbl-clm2 dt, .tbl-clm3 dt {
  font-family: "Shippori Mincho B1", serif;
  font-weight: bold;
  background: #f5f5f5;
  padding: 10px 20px;
}
.tbl-clm2 dd, .tbl-clm3 dd {
  padding: 7px 20px;
}
.tbl-clm2 dl, .tbl-clm3 dl {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.tbl-clm2 dl:not(:first-child) dd, .tbl-clm3 dl:not(:first-child) dd {
  border-bottom: solid 1px rgba(55, 57, 60, 0.3);
}
.tbl-clm3 dt, .tbl-clm3 dd {
  width: 306px;
  max-width: 100%;
}

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

.list-clm3 {
  display: flex;
  flex-wrap: wrap;
}
.list-clm3 .list-item {
  width: 340px;
  max-width: 100%;
}
.list-clm3 .list-item:not(:nth-child(3n-2)) {
  margin-left: 30px;
}
.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-news .list-item:not(:first-child) {
  margin-top: 10px;
}
.list-news .list-link {
  background: #37393c;
  color: #fff;
  display: flex;
  padding: 20px 70px 20px 30px;
  position: relative;
}
.list-news .list-link:hover {
  color: rgba(255, 255, 255, 0.8);
}
.list-news .list-link:hover.arw-gld::after {
  transform: translate(3px, -50%);
}
.list-news time {
  font-family: "Cardo", serif;
  display: block;
  font-size: 20px;
  font-size: 2rem;
  margin-right: 30px;
}
@media screen and (max-width: 768px) {
  .list-news time {
    font-size: 30px;
    font-size: 3.90625vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-news time {
    font-size: 17.6470588235px;
  }
}
.list-news .arw-gld::after {
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
  z-index: 1;
}
.list-feature .obj-circle::before, .list-flow .obj-circle::before, .list-merit .obj-circle::before {
  top: 0;
  right: 0;
  z-index: 1;
}
.list-feature .list-item, .list-flow .list-item, .list-merit .list-item {
  border: solid 10px #37393c;
  padding: 2px;
}
.list-feature .list-frame, .list-flow .list-frame, .list-merit .list-frame {
  padding: 50px 80px;
}
.list-feature .layout-item, .list-flow .layout-item, .list-merit .layout-item {
  position: relative;
  z-index: 2;
}
.list-feature .list-item::after, .list-merit .list-item::after {
  font-family: "Cardo", serif;
  font-size: 200px;
  font-size: 20rem;
  line-height: 1;
  color: #343538;
  position: absolute;
  top: 0;
  right: 80px;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .list-feature .list-item::after, .list-merit .list-item::after {
    font-size: 210px;
    font-size: 27.34375vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-feature .list-item::after, .list-merit .list-item::after {
    font-size: 123.5294117647px;
  }
}
.list-feature .list-item:nth-child(1)::after, .list-merit .list-item:nth-child(1)::after {
  content: "01";
}
.list-feature .list-item:nth-child(2)::after, .list-merit .list-item:nth-child(2)::after {
  content: "02";
}
.list-feature .list-item:nth-child(3)::after, .list-merit .list-item:nth-child(3)::after {
  content: "03";
}
.list-feature .list-item:not(:first-child), .list-merit .list-item:not(:first-child) {
  margin-top: 30px;
}
.list-feature .list-item:nth-child(even) .list-frame {
  flex-direction: row-reverse;
}
.list-feature .list-item:nth-child(even)::after {
  right: 680px;
}
.list-feature .list-item:nth-child(even).obj-circle::before {
  right: 580px;
}
.list-flow .list-frame {
  padding: 25px;
}
.list-flow .list-item:not(:first-child) {
  margin-top: 10px;
}
.list-dot .list-item::before {
  content: "・";
}
.list-attention .list-item {
  width: 310px;
  max-width: 100%;
  background: #eaeaea;
  padding: 0 25px 30px 25px;
  position: relative;
  z-index: 1;
}
.list-attention .list-item:not(:nth-child(3n-2)) {
  margin-left: 15px;
}
.list-attention .list-item:nth-child(n+4) {
  margin-top: 15px;
}
.list-attention .list-item::before {
  content: "";
  display: block;
  width: 100%;
  height: 40px;
  background: #fff;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.list-attention .ic {
  margin-bottom: 15px;
  text-align: center;
}
.list-attention h4 {
  font-family: "Shippori Mincho B1", serif;
  font-size: 20px;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  border-bottom: solid 1px rgba(55, 57, 60, 0.3);
  padding-bottom: 5px;
  margin-bottom: 12px;
}
@media screen and (max-width: 768px) {
  .list-attention h4 {
    font-size: 30px;
    font-size: 3.90625vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-attention h4 {
    font-size: 17.6470588235px;
  }
}
.list-faq .list-item {
  background: #eaeaea;
  padding: 40px 0;
}
.list-faq .list-item:not(:first-child) {
  margin-top: 30px;
}
.list-faq .list-inner {
  width: calc(100% - 65px);
}
.list-faq dt, .list-faq dd {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  padding: 0 40px;
}
.list-faq dt::before, .list-faq dd::before {
  content: "Q";
  display: block;
  font-family: "Shippori Mincho B1", serif;
  width: 50px;
  min-width: 50px;
  aspect-ratio: 1/1;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding-bottom: 5px;
  background: #37393c;
  color: #fff;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1;
  margin-right: 15px;
}
@media screen and (max-width: 768px) {
  .list-faq dt::before, .list-faq dd::before {
    font-size: 34px;
    font-size: 4.4270833333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-faq dt::before, .list-faq dd::before {
    font-size: 20px;
  }
}
.list-faq dt {
  font-family: "Shippori Mincho B1", serif;
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: bold;
  border-bottom: solid 1px rgba(55, 57, 60, 0.6);
  padding-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .list-faq dt {
    font-size: 34px;
    font-size: 4.4270833333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-faq dt {
    font-size: 20px;
  }
}
.list-faq dd {
  white-space: pre-wrap;
  padding-top: 20px;
}
.list-faq dd::before {
  font-family: "Noto Sans JP", sans-serif;
  content: "A";
  width: 30px;
  min-width: 30px;
  padding-bottom: 0;
  font-size: 17px;
  font-size: 1.7rem;
  background: linear-gradient(90deg, rgb(113, 100, 72) 0%, rgb(162, 143, 104) 100%);
}
@media screen and (max-width: 768px) {
  .list-faq dd::before {
    font-size: 27px;
    font-size: 3.515625vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-faq dd::before {
    font-size: 15.8823529412px;
  }
}
.list-case .list-inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.list-case .comment {
  width: 900px;
  padding: 30px 40px;
  background: #37393c;
  color: #fff;
  box-shadow: 4px 4px rgba(206, 161, 54, 0.4);
  position: relative;
  z-index: 1;
}
.list-case .comment::before {
  content: "";
  display: block;
  width: 19px;
  aspect-ratio: 19/17;
  background-image: url("/img/case/comment-arw.png");
  background-size: cover;
  position: absolute;
  top: 40px;
  left: 0;
  transform: translateX(calc(-100% + 1px));
  z-index: -1;
}
.list-case .h3-inner {
  display: block;
  width: 100%;
  padding: 0 60px;
}
.list-case .obj-quotation::before {
  top: 0;
  left: 15px;
}
.list-case .obj-quotation::after {
  bottom: 20px;
  right: 15px;
}
.list-card .list-item {
  width: 400px;
  max-width: 100%;
  background: #37393c;
  color: #fff;
  padding: 30px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.list-card .list-item:nth-child(n+3) {
  margin-top: 40px;
}
.list-card .ttl-point {
  padding: 5px 20px;
}
.list-card .ttl-bar {
  width: 375px;
  max-width: 100%;
  margin: 0 auto;
}
.list-card .wrp-price {
  width: 340px;
  max-width: 100%;
  margin: 0 auto;
  font-family: "Shippori Mincho B1", serif;
  font-weight: bold;
  text-align: center;
}
.list-card dl:not(:first-child)::before {
  content: "";
  display: block;
  width: 18px;
  aspect-ratio: 2/1;
  -webkit-clip-path: polygon(0 0, 100% 0, 53% 100%);
          clip-path: polygon(0 0, 100% 0, 53% 100%);
  background: rgba(245, 245, 245, 0.6);
  margin: 15px auto;
}
.list-card dt, .list-card dd {
  width: 100%;
}
.list-card dt {
  background: rgba(245, 245, 245, 0.2);
  padding: 10px;
}
.list-card dd {
  font-size: 24px;
  font-size: 2.4rem;
  margin-top: 5px;
}
@media screen and (max-width: 768px) {
  .list-card dd {
    font-size: 34px;
    font-size: 4.4270833333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-card dd {
    font-size: 20px;
  }
}
.list-anchor .btn:nth-child(n+3) {
  margin-top: 40px;
}
.list-anchor .btn-link {
  position: relative;
}
.list-anchor .btn-link:hover {
  color: rgba(206, 161, 54, 0.8);
}
.list-anchor .btn-link:hover::after {
  transform: translateY(calc(50% + 1px)) rotate(90deg);
}
.list-anchor .arw-gld::after {
  position: absolute;
  top: 50%;
  right: 25px;
  transform: translateY(-50%) rotate(90deg);
}

.layout-half {
  display: flex;
  justify-content: center;
}
.layout-half .half-item {
  min-width: calc(50% - 20px);
}
.layout-half .half-item:nth-child(even) {
  margin-left: 40px;
}

.com-tag-main {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.com-tag-main .tag-item {
  margin: 5px;
}
.com-tag-main .tag-link {
  display: block;
  background: #37393c;
  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 {
  display: flex;
  flex-wrap: wrap;
}
.com-tag-sub .tag-item {
  font-size: 14px;
  font-size: 1.4rem;
  border: solid 1px rgba(255, 255, 255, 0.3);
  line-height: 1em;
  padding: 4px 10px 6px 10px;
  margin: 0 5px 5px 0;
}
@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-tel .tel {
  font-family: "Cardo", serif !important;
  line-height: 1;
  letter-spacing: 0;
}
.com-bnr .bnr {
  width: 50%;
  aspect-ratio: 960/480;
  display: flex;
  justify-content: center;
  align-items: center;
  outline: solid 1px rgba(255, 255, 255, 0.4);
  outline-offset: -5px;
  position: relative;
  z-index: 1;
}
.com-bnr .bnr-ttl ruby, .com-bnr .bnr-ttl em {
  display: block;
  text-align: center;
  color: #fff;
}
.com-bnr .bnr-ttl ruby {
  font-family: "Shippori Mincho B1", serif;
  font-size: 24px;
  font-size: 2.4rem;
  margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
  .com-bnr .bnr-ttl ruby {
    font-size: 34px;
    font-size: 4.4270833333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .com-bnr .bnr-ttl ruby {
    font-size: 20px;
  }
}
.com-bnr .bnr-ttl em {
  font-family: "Cardo", serif;
  font-size: 60px;
  font-size: 6rem;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .com-bnr .bnr-ttl em {
    font-size: 70px;
    font-size: 9.1145833333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .com-bnr .bnr-ttl em {
    font-size: 41.1764705882px;
  }
}
.com-bnr .bnr-ttl::before {
  content: "";
  display: block;
  margin: 0 auto 20px auto;
}
.com-bnr .bnr-menu {
  background: url("/img/common/bnr-img-menu.png") center center no-repeat;
  background-size: cover;
}
.com-bnr .bnr-menu .bnr-ttl::before {
  width: 50px;
  aspect-ratio: 50/54;
  background-image: url("/img/common/bnr-ic-menu.png");
  background-size: cover;
}
.com-bnr .bnr-faq {
  background: url("/img/common/bnr-img-faq.png") center center no-repeat;
  background-size: cover;
}
.com-bnr .bnr-faq .bnr-ttl::before {
  width: 44px;
  aspect-ratio: 44/50;
  background-image: url("/img/common/bnr-ic-faq.png");
  background-size: cover;
}
.com-bnr .bnr::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transition: 0.4s;
}
.com-bnr .bnr:hover::before {
  background: rgba(0, 0, 0, 0.2);
}
.com-info {
  padding: 40px 0;
}
.com-info .btn {
  font-family: "Shippori Mincho B1", serif;
  color: #fff;
  font-weight: bold;
  display: flex;
}
.com-info .btn-logo {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.com-info .btn-txt {
  display: flex;
  justify-content: center;
  align-items: center;
}
.com-info .btn-hotpepper .btn-logo {
  min-width: 31.08%;
}
.com-info .btn-line .btn-logo {
  min-width: 22.22%;
}
.com-info .btn:hover {
  color: rgba(255, 255, 255, 0.8);
}
.com-info .btn:hover img {
  opacity: 0.8;
}

.ttl-main {
  margin-bottom: 45px;
}
.ttl-main .eng, .ttl-main .ruby {
  display: block;
}
.ttl-main .eng {
  font-family: "Cardo", serif;
  font-size: 26px;
  font-size: 2.6rem;
  line-height: 1;
  letter-spacing: 0;
  margin-bottom: 25px;
}
@media screen and (max-width: 768px) {
  .ttl-main .eng {
    font-size: 36px;
    font-size: 4.6875vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-main .eng {
    font-size: 21.1764705882px;
  }
}
.ttl-main .ruby {
  font-family: "Shippori Mincho B1", serif;
  font-weight: bold;
  letter-spacing: 0;
}
.ttl-sub {
  font-family: "Shippori Mincho B1", serif;
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: bold;
  border-left: solid #37393c 6px;
  border-bottom: solid 1px rgba(55, 57, 60, 0.1);
  background: #fff;
  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-sideT {
  font-family: "Shippori Mincho B1", serif;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
.ttl-sideT-inner {
  border-left: solid 1px #cea136;
  border-right: solid 1px #cea136;
  padding: 5px 20px;
}
.ttl-sideT::before, .ttl-sideT::after {
  content: "";
  display: block;
  width: 100px;
  height: 1px;
  background: #cea136;
}
.ttl-bdr {
  font-family: "Shippori Mincho B1", serif;
  font-size: 30px;
  font-size: 3rem;
  font-weight: bold;
  border-left: solid 1px #fff;
  padding-left: 20px;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .ttl-bdr {
    font-size: 40px;
    font-size: 5.2083333333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-bdr {
    font-size: 23.5294117647px;
  }
}
.ttl-under {
  font-family: "Shippori Mincho B1", serif;
  color: #fff;
  font-weight: bold;
  border-bottom: solid 1px #fff;
  padding-bottom: 10px;
  margin-bottom: 20px;
}
.ttl-bar {
  font-family: "Shippori Mincho B1", serif;
  font-size: 30px;
  font-size: 3rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .ttl-bar {
    font-size: 40px;
    font-size: 5.2083333333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-bar {
    font-size: 23.5294117647px;
  }
}
.ttl-bar::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: linear-gradient(-90deg, rgb(248, 232, 197) 0%, rgb(168, 149, 107) 30%, rgb(251, 236, 205) 60%);
  margin: 10px 0 0;
}

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

.gld-frame {
  box-shadow: 5px 5px rgba(206, 161, 54, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  border: solid 5px #37393c;
}
.gld-frame-inner {
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 4vw;
}

#ctn-top, #ctn-lower {
  background: #f5f5f5;
}

.hdbar {
  padding: 0 40px;
  position: sticky;
  top: 0;
  left: 0;
  z-index: 88;
}

.hdbar-btn-ttl {
  border-top: solid 1px rgba(206, 161, 54, 0.3);
  border-bottom: solid 1px rgba(206, 161, 54, 0.3);
  padding: 8px;
}

#hd-nav .nav-item {
  line-height: 1;
}
#hd-nav .nav-item:not(:first-child) {
  margin-left: 20px;
}

#hd-nav .nav-link, #ft-nav .nav-link {
  color: #fff;
  position: relative;
}
#hd-nav .nav-link::before, #ft-nav .nav-link::before {
  content: "";
  display: block;
  width: 4px;
  aspect-ratio: 1/1;
  background: rgba(255, 255, 255, 0);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -100%);
  transition: 0.4s;
}
#hd-nav .nav-link:hover, #ft-nav .nav-link:hover {
  color: #cea136;
}
#hd-nav .nav-link:hover::before, #ft-nav .nav-link:hover::before {
  background: white;
  transform: translate(-50%, -150%);
}

.mv-cc {
  width: 620px;
  max-width: 32.2916666667%;
  position: absolute;
  left: 16.67vw;
  top: 50%;
  transform: translateY(calc(-50% - 10px));
  z-index: 1;
}

.sv {
  aspect-ratio: 1920/320;
}
.sv h2 {
  font-size: 50px;
  font-size: 2.6041666667vw;
  position: absolute;
  left: 21.88vw;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}
@media screen and (max-width: 1120px) {
  .sv h2 {
    font-size: 29.4117647059px;
  }
}
@media screen and (min-width: 1920px) {
  .sv h2 {
    font-size: 50px;
  }
}
.sv h2::after {
  content: "";
  display: block;
  width: 60px;
  max-width: 100%;
  height: 1px;
  background: #fff;
  margin: 1.5vw 0 0;
}
.sv-about {
  background: url("/img/about/sv.png") center center no-repeat;
  background-size: cover;
}
.sv-first {
  background: url("/img/first/sv.png") center center no-repeat;
  background-size: cover;
}
.sv-electric {
  background: url("/img/electric/sv.png") center center no-repeat;
  background-size: cover;
}
.sv-case {
  background: url("/img/case/sv.png") center center no-repeat;
  background-size: cover;
}
.sv-menu {
  background: url("/img/menu/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-blog {
  background: url("/img/blog/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;
}

#sidebar {
  position: fixed;
  right: 15px;
  bottom: 15px;
  z-index: 88;
}
#sidebar:hover img {
  transform: translateY(-4px);
}

.outbase-gry2, .outbase-blk {
  padding: 50px 0;
  position: relative;
  z-index: 1;
}
.outbase-gry2::after, .outbase-blk::after {
  content: "";
  display: block;
  width: 1280px;
  height: 100%;
  background: #eaeaea;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}
.outbase-blk::after {
  background: #37393c;
}

.top-about {
  padding: 100px 0;
}
.top-about .img {
  transform: translateX(-35px);
}
.top-about .logo-shop {
  position: absolute;
  top: -80px;
  right: -220px;
  z-index: -1;
}
.top-about .wrp-btn {
  margin-top: 35px;
}

.top-electric {
  padding-top: 140px;
}
.top-electric::before {
  content: "";
  display: block;
  width: 1337px;
  max-width: 69.6354166667%;
  height: 100%;
  aspect-ratio: 1337/830;
  background-image: url("/img/top/electric-bg.png");
  background-size: cover;
  background-position: right;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.top-electric .ttl-small-inner {
  padding: 8px;
}
.top-electric .ttl-small-inner:not(:first-child) {
  margin-left: 10px;
}
.top-electric .img {
  margin-right: -420px;
}
.top-electric .btn {
  margin-top: 40px;
}

.top-ba {
  padding: 100px 0;
}
.top-ba .cts-1080::after {
  content: "";
  display: block;
  width: 1500px;
  height: 660px;
  background: #37393c;
  position: absolute;
  left: 50%;
  bottom: -100px;
  transform: translateX(-50%);
  z-index: -1;
}
.top-ba .txt {
  margin-top: 45px;
}

.bnr-ig {
  background: url("/img/top/ig-bnr-base.png") center center no-repeat;
  background-size: cover;
  transition: 0.4s;
}
.bnr-ig:hover .bnr-ig-link {
  opacity: 0.8;
}

.top-slider {
  padding: 100px 0;
}
.top-slider h2 {
  margin-bottom: 35px;
}

.swiper-wrapper {
  padding-bottom: 21px;
}
.swiper-slide {
  position: relative;
}
.swiper-slide::before {
  content: "";
  display: block;
  width: 16px;
  aspect-ratio: 16/5;
  background-image: url("/img/common/arw-wht.png");
  background-size: cover;
  position: absolute;
  left: 50%;
  bottom: 15px;
  transform: translateX(-50%);
  z-index: 1;
  transition: 0.4s;
}
.swiper-slide::after {
  content: "";
  display: block;
  width: 33px;
  aspect-ratio: 33/21;
  background-image: url("/img/top/slider-base-arw.png");
  background-size: cover;
  position: absolute;
  right: 40px;
  bottom: 0;
  transform: translateY(calc(100% + 5px));
  z-index: 1;
}
.swiper-slide-txt {
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
  line-height: 1.5;
  transition: 0.4s;
}
@media screen and (max-width: 768px) {
  .swiper-slide-txt {
    font-size: 34px;
    font-size: 4.4270833333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .swiper-slide-txt {
    font-size: 20px;
  }
}
.swiper-slide:hover .swiper-slide-txt {
  color: rgba(255, 255, 255, 0.8);
}

.top-reserve {
  padding: 140px 0;
  background: url("/img/top/reserve-bg.png") center center no-repeat;
  background-size: cover;
}
.top-reserve .cts-1080::after {
  content: "Reserve";
  display: block;
  font-family: "Cardo", serif;
  font-size: 200px;
  font-size: 20rem;
  line-height: 143px;
  color: #343538;
  position: absolute;
  top: -110px;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .top-reserve .cts-1080::after {
    font-size: 210px;
    font-size: 27.34375vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .top-reserve .cts-1080::after {
    font-size: 123.5294117647px;
  }
}
.top-reserve .obj-circle::before {
  top: -80px;
  left: 170px;
  z-index: -2;
}

.top-info {
  padding: 100px 0 0;
}
.top-info .wrp-info {
  padding: 80px 0;
}
.top-info .wrp-info::before {
  content: "";
  display: block;
  width: 1600px;
  height: 100%;
  background: #eaeaea;
  position: absolute;
  top: 0;
  right: -420px;
  z-index: -1;
}

.top-news {
  padding: 100px 0;
}
.top-news .btn {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-30%);
  z-index: 1;
}
.top-news .list-news {
  min-height: 300px;
}

#ctn-lower article {
  padding: 100px 0;
}
#ctn-lower h3 {
  margin-bottom: 60px;
}
#ctn-lower .ttl-main {
  text-align: center;
}
#ctn-lower .ttl-main .eng {
  margin-bottom: 20px;
}
#ctn-lower .ttl-main .ruby {
  font-size: 36px;
  font-size: 3.6rem;
}
@media screen and (max-width: 768px) {
  #ctn-lower .ttl-main .ruby {
    font-size: 46px;
    font-size: 5.9895833333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  #ctn-lower .ttl-main .ruby {
    font-size: 27.0588235294px;
  }
}

.lower-about_feature .wrp, .lower-about_greeting .wrp, .lower-electric_howto .wrp, .lower-electric_merit .wrp {
  width: 1280px;
  margin-left: 50%;
  transform: translateX(-50%);
}

.lower-about_greeting .wrp-contents {
  padding: 60px 100px;
}
.lower-about_greeting .name {
  padding: 8px 15px;
  position: absolute;
  left: 0;
  bottom: 20px;
  z-index: 1;
  transform: translateX(-15px);
}
.lower-about_greeting .wrp-history {
  padding: 30px 50px;
}

.lower-first_attention .wrp {
  padding: 60px 0;
}

.lower-electric_howto .list-feature .list-item::after {
  content: none;
}
.lower-electric_merit h4 {
  padding: 20px 0 20px 20px;
}
.lower-electric_type .tbl-comment {
  position: absolute;
  left: 140px;
  top: 0;
  transform: translateY(-70%);
}

.lower-menu_first .com-info {
  padding: 0;
}
.lower-menu_first .gld-frame {
  box-shadow: none;
}
.lower-menu_first .gld-frame-inner {
  flex-direction: column;
  justify-content: space-between;
  padding: 39px;
}
.lower-menu_first h5 {
  font-family: "Shippori Mincho B1", serif;
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
  background: rgba(245, 245, 245, 0.1);
  padding: 15px;
}
@media screen and (max-width: 768px) {
  .lower-menu_first h5 {
    font-size: 34px;
    font-size: 4.4270833333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .lower-menu_first h5 {
    font-size: 20px;
  }
}
.lower-menu_first h5 span {
  font-size: 17px;
  font-size: 1.7rem;
}
@media screen and (max-width: 768px) {
  .lower-menu_first h5 span {
    font-size: 27px;
    font-size: 3.515625vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .lower-menu_first h5 span {
    font-size: 15.8823529412px;
  }
}
.lower-menu_first .inner-item {
  width: 100%;
}
.lower-menu_second h4, .lower-menu_second .price {
  font-family: "Shippori Mincho B1", serif;
  font-size: 30px;
  font-size: 3rem;
  font-weight: bold;
  background: #37393c;
  color: #fff;
  text-align: center;
  padding: 20px 4%;
}
@media screen and (max-width: 768px) {
  .lower-menu_second h4, .lower-menu_second .price {
    font-size: 40px;
    font-size: 5.2083333333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .lower-menu_second h4, .lower-menu_second .price {
    font-size: 23.5294117647px;
  }
}
.lower-menu_second .wrp-second {
  padding: 40px 60px;
}
.lower-menu_second .price {
  font-size: 24px;
  font-size: 2.4rem;
  padding: 14px 4%;
  position: absolute;
  left: 0;
  bottom: 1px;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .lower-menu_second .price {
    font-size: 34px;
    font-size: 4.4270833333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .lower-menu_second .price {
    font-size: 20px;
  }
}
.lower-menu_second .price span {
  padding-left: 200px;
}
.lower-menu_second .member-price-01 h5 {
  margin-left: 260px;
}
.lower-menu_second .member-price-02 h5 {
  font-size: 24px;
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .lower-menu_second .member-price-02 h5 {
    font-size: 34px;
    font-size: 4.4270833333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .lower-menu_second .member-price-02 h5 {
    font-size: 20px;
  }
}
.lower-menu_second .list-card {
  padding: 40px 60px;
}
.lower-menu_price h4 {
  font-family: "Shippori Mincho B1", serif;
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: bold;
  background: #37393c;
  color: #cea136;
  padding: 20px 40px;
}
@media screen and (max-width: 768px) {
  .lower-menu_price h4 {
    font-size: 34px;
    font-size: 4.4270833333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .lower-menu_price h4 {
    font-size: 20px;
  }
}
.lower-menu_price .wrp-menu {
  padding: 30px 60px;
}
.lower-menu_price .sec:not(:first-child) .sec-inner {
  padding-top: 30px;
}

footer#footer {
  padding: 100px 0;
}
footer#footer address {
  margin-top: 50px;
}
footer#footer .btn {
  margin-left: 20px;
}
footer#footer .obj-circle::before {
  width: 250px;
  top: -100px;
  left: -115px;
}

#ft-nav {
  margin-top: 60px;
}
#ft-nav .nav-item {
  line-height: 1;
}
#ft-nav .nav-item:not(:first-child) {
  margin-top: 20px;
}
#ft-nav .nav-link {
  color: #fff;
}
#ft-nav .nav-link::before {
  top: 50%;
  left: 0;
  transform: translate(-150%, -50%);
}
#ft-nav .nav-link:hover::before {
  transform: translate(-200%, -50%);
}
#ft-nav .list-nav:not(:first-child) {
  margin-left: 50px;
}

.ft-sns {
  margin-left: 40px;
}
.ft-sns .btn-sns:not(:first-child) {
  margin-left: 15px;
}
.ft-copy {
  position: absolute;
  left: 0;
  bottom: 0;
}