@charset "utf-8";
/* DLIGHT */
.dm {
}

html {
  height: 100%;
  font-size: calc(100vw / 7.5);
}
@media only screen and (max-width: 319px) {
  html {
    font-size: 62.5%;
  }
}
@media only screen and (min-width: 751px) {
  html {
    font-size: 62.5%;
  }
}
body {
  height: 100%;
  margin: auto;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  font-size: 0.16rem;
  background-color: #ffffff;
  line-height: 2;
  text-align: center;
}
@media only screen and (max-width: 319px) {
  body {
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 751px) {
  body {
    font-size: 3.2rem;
  }
}

p {
  margin: 0;
}
img {
  vertical-align: top;
  width: 100%;
  height: auto;
}
iframe {
  border: none;
}


/*テキストスタイル*/
.ffGo {
  font-family: Verdana, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, sans-serif;
}
b.ffGo,
strong.ffGo,
.ffGo.bold {
  font-family: Verdana, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, sans-serif;
}
.ffMin {
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
}

@media only screen and (max-width: 750px) {
}
@media only screen and (min-width: 751px) {
}


/* Layout */
#lp #wrapper {
  position: relative;
  width: 100%;
  min-width: 320px;
  max-width: 750px;
  min-height: 100%;
  margin: auto;
  overflow: initial;
}
@media only screen and (max-width: 750px) {
  #lp #wrapper {
    overflow: hidden;
  }
}


#lp .cta {
  width: 80.54%;
  margin: 0 auto 8%;
  padding: 8% 0;
}
#lp .cta a {
  transition: all 1s;
}
#lp .cta a:hover {
  opacity: .8;
}

/* Site Header */
#lpHeader {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: 15px;
  display: none;
  z-index: 10;
}
#lpHeader .headerLogo {
  width: 180px;
  font-size: 1rem;
  line-height: 1;
  margin: 0;
}


/* gallery */
#gallery {
  background-color: #f6f6f6;
  padding-bottom: 6%;
}
.galSliderWrap {
  width: 80%;
  margin: auto;
}
.galSlider {
  margin-bottom: 0 !important;
}
.galSlider .slick-list {
  margin-bottom: 20px;
}


/* qa */
#qa {
  background-color: #5e7b64;
  margin: 0 auto 12%;
}
.qaWrap {
  font-size: 0.25rem;
  text-align: left;
  line-height: 1.5;
  color: #fff;
  margin-top: -20px;
  padding: 0 8% 12%;
}
.qaWrap dl {
  margin: 0;
}
.qaWrap dt {
  position: relative;
  border-bottom: 1px solid #bbaeae;
  transition: all 1s;
}
.qaWrap dt span {
  position: relative;
  display: block;
  padding: 20px 40px 20px 10%;
  word-break: break-word;
}
.qaWrap dt span::before {
  content: '';
  background-image: url(../img/lp_sbp/qa_q.png);
  background-size: cover;
  width: 6%;
  height: auto;
  aspect-ratio: 1 / 1;
  position: absolute;
  top: 20px;
  left: 5px;
}
@media only screen and (min-width: 751px) {
  .qaWrap dt span::before {
    top: 14px;
  }
}
.qaWrap dt.open {
  border-bottom: 1px solid rgba(255,255,255,0);
}
.qaWrap dt:hover {
  cursor: pointer;
}
.qaWrap dt::before,
.qaWrap dt::after {
  content: '';
  display: block;
  width: 18px;
  height: 1px;
  background: #fff;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
}
.qaWrap dt::after {
  background: #fff;
  transform: translateY(-50%) rotate(90deg);
  transition: 0.5s;
}
.qaWrap dt.open::after {
  transform: rotate(0);
  transition: 0.5s;
  top: 49%;
}
.qaWrap dd {
  display: none;
  margin: 0;
  border-bottom: 1px solid #999;
}
.qaWrap dd span {
  display: block;
  position: relative;
  padding: 0 10px 20px 10%;
  word-break: break-all;
}
.qaWrap dd span::before {
  content: '';
  background-image: url(../img/lp-pr/qa_a.png);
  background-size: cover;
  width: 6%;
  height: auto;
  aspect-ratio: 1 / 1;
  position: absolute;
  top: 0;
  left: 5px;
}
@media only screen and (max-width: 319px) {
  .qaWrap {
    font-size: 1.2rem;
  }
}
@media only screen and (min-width: 751px) {
  .qaWrap {
    font-size: 1.8rem;
  }
}


/* --------------------------------
footer
-------------------------------- */
#footer {
  margin: auto;
  padding: 1vw 0 20px;
}

#footerLogo {
  margin-bottom: 5%;
}
#footerLogo a {
  display: block;
  width: 160px;
  margin: auto;
  line-height: 1;
}



#footerCopy {
  font-size: 0.18rem;
  line-height: 1.2;
}
@media only screen and (max-width: 319px) {
  #footerCopy {
    font-size: 1rem;
  }
}
@media only screen and (min-width: 751px) {
  #footerCopy {
    font-size: 1.4rem;
  }
}


/* --------------------------------
SLICK SLIDER
-------------------------------- */
.slick-prev {
  width: 36px !important;
  height: 36px !important;
  left: -18px !important;
  z-index: 100 !important;
  border-radius: 20px !important;
}
.slick-next {
  width: 36px !important;
  height: 36px !important;
  right: -18px !important;
  z-index: 100 !important;
  border-radius: 20px !important;
}
.slick-prev,
.slick-next {
  color: #fff !important;
  top: calc(50% - 1em) !important;
}
.slick-prev,
.slick-next,
.slick-prev:focus,
.slick-next:focus {
  background: rgb(11, 99, 53) !important;
  border-radius: 21px !important;
  border: 1px solid #0b6335 !important;
  border-radius: 50% !important;
  transition: border 0.3s !important;
}
.slick-prev.slick-disabled,
.slick-next.slick-disabled {
  cursor: default;
  background: rgb(206, 206, 206) !important;
}
.slick-prev:hover,
.slick-next:hover {
  background: rgb(25, 134, 77) !important;
}
.slick-prev.slick-disabled:hover,
.slick-next.slick-disabled:hover {
  background: rgb(247, 247, 247) !important;
}
.slick-prev::before,
.slick-next::before {
  content: "" !important;
  position: absolute !important;
  top: calc(50% - 5px) !important;
  transform: translate(-50%, -50%) !important;
  width: 20px !important;
  height: 8px !important;
  background-image: url('data:image/svg+xml;utf8,<svg version="1.1" id="レイヤー_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 8.7 5.1" style="enable-background:new 0 0 8.7 5.1;" xml:space="preserve"><polygon style="fill:white;" points="8,5.1 4.4,1.4 0.7,5.1 0,4.4 4.4,0 8.7,4.4 "/></svg>') !important;
  background-size: cover !important;
  transition: all 0.5s !important;
  pointer-events: none !important;
}
.slick-prev::before {
  right: calc(50% - 9px) !important;
  transform-origin: center !important;
  transform: rotate(-90deg) !important;
}
.slick-next::before {
  left: calc(50% - 9px) !important;
  transform-origin: center !important;
  transform: rotate(90deg) !important;
}
.slick-prev:hover::before,
.slick-next:hover::before {
  color: #fff !important;
}
.slick-prev.slick-disabled:hover::before,
.slick-next.slick-disabled:hover::before {
  color: #000 !important;
}

.dots-wrap {
  display: flex;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
}
.dots-wrap li {
  width: 10px;
  height: 10px;
  margin: 0 5px;
  background: #c8c8c8;
  border-radius: 50%;
  cursor: pointer;
}
.dots-wrap li:hover,
.dots-wrap li.slick-active {
  background: #525D65;
}
.dots-wrap li button {
  display: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  padding: 0;
  border: none;
  background-color: transparent;
}

