@charset "utf-8";
#contents {
  opacity: 0;
}
/*

mainImg

*/
#mainImg {
  position: relative;
}
#mainImg h1 {
  position: absolute;
  z-index: 2;
  width: calc(934 / 1445 * 100vw);
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
  opacity: 0;
  overflow: visible;
}
#mainImg h1 img {
  filter: drop-shadow(0 0 8px rgba(0, 0, 0, 0.9)) drop-shadow(0 0 8px rgba(0, 0, 0, 0.9)) drop-shadow(0 0 8px rgba(0, 0, 0, 0.9));
  transform: translateZ(0);
  will-change: transform;
}
#mainImg #kamakuraLogo {
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  width: min(257 / 1120 * 100vw, 257px);
  padding: min(25 / 1120 * 100vw, 25px) min(25 / 1120 * 100vw, 25px) 0 0;
  overflow: visible;
}
#mainImg #kamakuraLogo img {
  filter: drop-shadow(0 0 20px rgba(255, 255, 255, 0.9)) drop-shadow(0 0 20px rgba(255, 255, 255, 0.9)) drop-shadow(0 0 20px rgba(255, 255, 255, 0.9));
}
#mainImg .swiper-container {
  position: relative;
  z-index: 1;
}
/*
スマホサイズ
*/
@media (max-width: 750.99px) {
  #mainImg {
    height: calc(340 / 375 * 100vw);
  }
  #mainImg h1 {
    width: calc(345 / 375 * 100vw);
  }
  #mainImg h1 img {
    filter: drop-shadow(0 0 8px rgba(0, 0, 0, 0.9)) drop-shadow(0 0 6px rgba(0, 0, 0, 0.5)) drop-shadow(0 0 6px rgba(0, 0, 0, 0.5));
  }
  #mainImg #kamakuraLogo {
    width: calc(115 / 375 * 100vw);
    padding: min(17 / 375 * 100vw, 17px) min(15 / 375 * 100vw, 15px) 0 0;
  }
  #mainImg #kamakuraLogo img {
    filter: drop-shadow(0 0 10px rgba(255, 255, 255, 1)) drop-shadow(0 0 10px rgba(255, 255, 255, 1)) drop-shadow(0 0 10px rgba(255, 255, 255, 1));
  }
  #mainImg .swiper-container span {
    display: block;
    position: relative;
    width: 100%;
    height: calc(340 / 375 * 100vw);
    overflow: hidden;
  }
  #mainImg .swiper-container span img {
    position: absolute;
    top: 0;
    width: auto;
    height: 100%;
    max-width: none;
  }
  #mainImg .swiper-container span.mainImage1 img {
    left: calc(-242 / 375 * 100vw);
  }
  #mainImg .swiper-container span.mainImage2 img {
    left: calc(-162 / 375 * 100vw);
  }
}
/*

leadArea

*/
#leadArea {
  padding: 60px;
  text-align: center;
  background-image: url("/recurrent/img/leadBg.png");
  font-size: min(22 / 1120 * 100vw, 22px);
  line-height: 2.4;
  color: #000000;
}
/*
スマホサイズ
*/
@media (max-width: 750.99px) {
  #leadArea {
    padding: min(40 / 375 * 100vw, 40px);
    font-size: min(18 / 375 * 100vw, 18px);
    line-height: 2;
  }
}
/*

main

*/
#main {
  max-width: 1080px;
  margin: 0 auto;
  padding: 5px 20px 120px 20px;
}
/*
スマホサイズ
*/
@media (max-width: 750.99px) {
  #main {
    max-width: none;
    padding: 0 min(15 / 375 * 100vw, 15px) min(90 / 375 * 100vw, 90px);
  }
}
/*

feature

*/
#main .feature {
  padding-top: 60px;
}
#main .feature .titleBox {
  width: min(610 / 1120 * 100vw, 610px);
}
#main .feature .titleBox .heading_icon {
  display: inline-block;
  padding: min(12 / 1120 * 100vw, 12px) min(20 / 1120 * 100vw, 20px);
  color: #ffffff;
  font-size: min(16 / 1120 * 100vw, 16px);
  font-weight: 700;
  line-height: 1;
  vertical-align: middle;
  background-color: #5bb431;
  border-radius: 9999px;
}
#main .feature .titleBox h2 {
  margin-top: min(20 / 1120 * 100vw, 20px);
  color: #5bb431;
  font-size: min(28 / 1120 * 100vw, 28px);
  font-weight: 700;
  line-height: 1.4;
}
#main .feature .titleBox h2 .sFont {
  font-size: min(20 / 1120 * 100vw, 20px);
}
#main .feature .titleBox h2 .deco {
  display: inline-block;
  padding: min(5 / 1120 * 100vw, 5px) min(8 / 1120 * 100vw, 8px);
  color: #ffffff;
  font-size: min(20 / 1120 * 100vw, 20px);
  background-color: #5bb431;
  white-space: nowrap;
  line-height: 1;
  vertical-align: middle;
}
#main .feature .imgBox {
  width: min(422 / 1120 * 100vw, 422px);
}
#main .feature .imgBox .imgWrap {
  width: min(422 / 1120 * 100vw, 422px);
  border-radius: min(20 / 1120 * 100vw, 20px);
  overflow: hidden;
  box-shadow: 12px 12px 8px 0px rgba(19, 42, 5, 0.2);
}
#main .feature .textBox {
  width: min(610 / 1120 * 100vw, 610px);
}
#main .feature .textBox .text {
  margin-top: min(30 / 1120 * 100vw, 30px);
  font-size: min(16 / 1120 * 100vw, 16px);
  line-height: 1.6;
}
#main .feature .textBox .subject {
  margin-top: 20px;
}
#main .feature .textBox .subject .icon {
  display: inline-block;
  margin-right: min(10 / 1120 * 100vw, 10px);
  padding: min(10 / 1120 * 100vw, 10px) min(20 / 1120 * 100vw, 20px);
  border: solid 1px #5bb431;
  color: #5bb431;
  border-radius: 9999px;
  font-size: min(16 / 1120 * 100vw, 16px);
  line-height: 1;
}
#main .feature .textBox .subject .subjectList {
  margin-top: min(4 / 1120 * 100vw, 4px);
}
#main .feature .textBox .moreBtn {
  margin-top: min(30 / 1120 * 100vw, 30px);
  width: min(344 / 1120 * 100vw, 344px);
  margin-left: auto;
}
#main .feature .textBox .moreBtn a {
  display: block;
  position: relative;
  padding: 18px 30px 16px 30px;
  text-decoration: none;
  color: #ffffff;
  line-height: 1;
  background-color: rgba(156, 199, 21, 1);
}
#main .feature .textBox .moreBtn a img {
  position: absolute;
  width: 16px;
  right: 20px;
  top: 0;
  bottom: 0;
  margin-top: auto;
  margin-bottom: auto;
}
@media print, screen and (min-width: 751px) {
  #main .feature .textBox .moreBtn a {
    transition-property: all;
    transition: 0.2s linear;
  }
  #main .feature .textBox .moreBtn a:hover {
    background-color: rgba(156, 199, 21, 0.7);
  }
  #main .feature .textBox .moreBtn a img {
    transition-property: all;
    transition: 0.2s linear;
  }
  #main .feature .textBox .moreBtn a:hover img {
    right: 10px;
  }
}
/*
スマホサイズ
*/
@media (max-width: 750.99px) {
  #main .feature {
    padding-top: min(45 / 375 * 100vw, 45px);
  }
  #main .feature .titleBox {
    width: 100%;
  }
  #main .feature .titleBox .heading_icon {
    padding: min(12 / 375 * 100vw, 12px) min(14 / 375 * 100vw, 14px);
    font-size: min(12 / 375 * 100vw, 12px);
  }
  #main .feature .titleBox h2 {
    margin-top: min(10 / 375 * 100vw, 10px);
    font-size: min(22 / 375 * 100vw, 22px);
    line-height: 1.4;
  }
  #main .feature .titleBox h2 .sFont {
    font-size: min(18 / 375 * 100vw, 18px);
  }
  #main .feature .titleBox h2 .deco {
    padding: min(5 / 375 * 100vw, 5px) min(8 / 375 * 100vw, 8px);
    font-size: min(18 / 375 * 100vw, 18px);
  }
  #main .feature .imgBox {
    width: 100%;
    margin-top: min(15 / 375 * 100vw, 15px);
  }
  #main .feature .imgBox .imgWrap {
    width: 100%;
    border-radius: min(10 / 375 * 100vw, 10px);
    box-shadow: 6px 6px 4px 0px rgba(19, 42, 5, 0.2);
  }
  #main .feature .textBox {
    width: 100%;
  }
  #main .feature .textBox .text {
    margin-top: min(25 / 375 * 100vw, 25px);
    font-size: min(14 / 375 * 100vw, 14px);
  }
  #main .feature .textBox .subject {
    margin-top: min(20 / 375 * 100vw, 20px);
    font-size: min(12 / 375 * 100vw, 12px);
  }
  #main .feature .textBox .subject .icon {
    margin-right: min(15 / 375 * 100vw, 15px);
    padding: min(8 / 375 * 100vw, 8px) min(15 / 375 * 100vw, 15px);
    font-size: min(12 / 375 * 100vw, 12px);
  }
  #main .feature .textBox .moreBtn {
    margin-top: min(15 / 375 * 100vw, 15px);
    width: 100%;
  }
  #main .feature .textBox .moreBtn a {
    padding: min(20 / 375 * 100vw, 20px) min(30 / 375 * 100vw, 30px);
  }
  #main .feature .textBox .moreBtn a img {
    width: min(20 / 375 * 100vw, 20px);
    right: min(30 / 375 * 100vw, 30px);
  }
}