/* --common-- */

body, h1, h2, h3, h4, p {
  margin: 0;
  color: #41362d;
}

img {
  width: 100%;
  height: auto;
  display: flex;
  align-items: center;
  vertical-align: bottom;
}

ul, li {
  margin: 0;
  padding: 0;
  list-style: none;
}

a {
  text-decoration: none;
}

a:hover {
  opacity: 0.6;
}

a:visited {
}

.sp_obj {
  display: none;
}

.container {
  max-width: calc(865px + 32px);
  padding: 50px 16px;
  margin: 0 auto;
}

.hidden {
  display: none;
}

@media (max-width: 767px) {
  
  .sp_obj {
    display: block;
  }

  .pc_obj {
    display: none;
  }
  
  .container {
    padding: 24px 16px;
  }

}

/* --common-- */


/* --mv-- */

div.mv {
  width: 100%;
}

div.mv div.mv_area {
  width: 100%;
}

/* --mv-- */
/* --info-- */

section.info {
  width: 100%;
  background: linear-gradient(to left, #fff, #ececec);
}

section.info div.container {
  max-width: calc(680px + 32px);
  display: flex;
  justify-content: space-between;
  align-items: start;
}

section.info div.container p.info_sttl {
  font-size: 16px;
  color: #be1d25;
  font-weight: bold;
}

section.info div.container h2.info_ttl {
  font-size: 25px;
  color: #41362d;
  font-weight: bold;
}

section.info div.container span.date {
  display: inline-block;
  margin-right: 24px;
  font-size: 16px;
  color: #be1d25;
  font-weight: bold;
}

@media (max-width: 767px) {
  section.info {
    width: 100%;
    background: linear-gradient(to left, #fff, #ececec);
  }

  section.info div.container {
    max-width: calc(680px + 32px);
    display: block;
  }

  section.info div.container p.info_sttl {
    font-size: 13px;
    text-align: center;
  }

  section.info div.container h2.info_ttl {
    font-size: 28px;
    text-align: center;
    margin-top: 4px;
  }

  section.info div.container div.conts_area {
    margin-top: 24px;
  }

  section.info div.container div.conts_area p.item {
    width: 80%;
    margin: 0 auto;
  }

  section.info div.container div.conts_area p.item + p.item {
    margin-top: 16px;
  }

  section.info div.container span.date {
    display: block;
    margin-right: 0;
    margin-bottom: 8px;
    font-size: 13px;
    text-align: center;
  }
}

/* --info-- */
/* --about-- */

section.about {
  width: 100%;
}

section.about p.about_sttl {
  font-size: 16px;
  color: #be1d25;
  text-align: center;
}

section.about h2.about_ttl {
  font-size: 35px;
  color: #41362d;
  text-align: center;
}

section.about h2.about_ttl span {
  font-size: 20px;
}

section.about p.about_txt {
  margin-top: 46px;
  font-size: 20px;
  line-height: 1.8;
  text-align: center;
  font-weight: bold;
  color: #41362d;
}

section.about p.about_txt span {
  color: #be1d25;
  background: linear-gradient(transparent 60%, #fedd63 50%);
}

section.about div.features {
  margin-top: 60px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px 16px;
}

section.about div.features div.feature {
  width: 100%;
  box-sizing: border-box;
  padding: 16px;
  background: linear-gradient(to left top, #ececec, #fff );
  border: 2px solid #6f6f6f;
  box-shadow: 3px 3px #6f6f6f;
}

section.about div.features div.feature div.icon_area {
  width: auto;
  height: 124px;
}

section.about div.features div.feature div.icon_area img {
  width: auto;
  height: 100%;
  margin: 0 auto;
}

section.about div.features div.feature h3.feature_ttl {
  margin-top: 24px;
  text-align: center;
  padding: 8px 0;
  background: #fedd63;
  font-size: 25px;
}

section.about div.features div.feature h3.feature_ttl span {
  color: #be1d25;
}

section.about div.features div.feature p.feature_txt {
	width: 88%;
	margin: 23px auto 0;
	letter-spacing: -1px;
	font-weight: 500;
	text-align: center;
	line-height: 1.8;
}

section.about div.features div.feature p.feature_txt a {
  display: inline-block;
  padding: 4px 64px;
  background: #41362d;
  border-radius: 99px;
  color: #fff;
  margin-top: 8px;
}

section.about div.to_more {
  width: 100%;
  margin-top: 54px;
  text-align: center;
}

section.about div.to_more a {
  display: inline-block;
  padding: 16px 124px;
  background: #be1d25;
  color: #fff;
  font-weight: bold;
  border-radius: 999px;
  box-shadow: 0 4px 4px rgba(190, 29, 37, 0.5);
}

@media (max-width: 767px) {

  section.about p.about_sttl {
    font-size: 13px;
    font-weight: bold;
  }

  section.about h2.about_ttl {
    font-size: 28px;
    margin-top: 4px;
  }

  section.about h2.about_ttl span {
    font-size: 16px;
  }

  section.about p.about_txt {
    width: 85%;
    margin: 24px auto 0;
    font-size: 16px;
    line-height: 1.8;
    text-align: start;
  }

  section.about div.features {
    margin-top: 24px;
    display: block;
  }

  section.about div.features div.feature {
    width: 100%;
    height: auto;
    box-shadow: none;
  }

  section.about div.features div.feature + div.feature {
    margin-top: 16px;
  }

  section.about div.features div.feature div.icon_area {
    width: auto;
    height: 84px;
    margin-top: 16px;
  }

  section.about div.features div.feature h3.feature_ttl {
    margin: 24px auto 0;
    width: 85% ;
    text-align: center;
    padding: 8px;
    font-size: 16px;
  }

  section.about div.features div.feature p.feature_txt {
    width: 88%;
    margin: 16px auto 0;
    font-size: 13px;
  }

  section.about div.to_more {
    width: 100%;
    margin-top: 24px;
  }

  section.about div.to_more a {
    display: inline-block;
    padding: 16px 32px;
    font-size: 13px;
  }
}

/* --about-- */

/* --cta-- */

div.cta {
  width: 100%;
  background: linear-gradient(to right, #a6a6a6, #6f6f6f);
}

div.cta div.container {
  display: flex;
  justify-content: center;
  align-items: start;
  gap: 16px;
}

div.cta div.container .cta_item {
  width: calc((100% - 16px) / 3);
}

div.cta div.container .cta_item .photo_area {
  width: 100%;
}
div.cta div.container .cta_item .photo_area img {
border-radius: 15px;
}

@media (max-width: 767px) {

  div.cta div.container {
    display: block;
  }

  div.cta div.container div.cta_item {
    width: 100%;
    border-radius: 16px 16px 0 0;
  }

  div.cta div.container div.cta_item + div.cta_item {
    margin-top: 16px;
  }
}

/* --cta-- */
/* --slide-- */

div.slide {
  width: 100%;
}

div.slide div.container {
	position: relative;
	padding: 30px 0;
}
div.slide .slick-arrow {
	text-indent: -9999px;
	border:none;
	background: none;
}
div.slide .slick-prev {
  display: block;
  position: absolute;
  content: '';
  background-image: url(https://file002.shop-pro.jp/PA01384/541/images/icon_bnr_left.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 30px;
  height: 30px;
  top: 0;
  bottom: 0;
  left: -32px;
  margin: auto;
  cursor: pointer;
}


div.slide .slick-next {
  display: block;
  position: absolute;
  content: '';
  background-image: url(https://file002.shop-pro.jp/PA01384/541/images/icon_bnr_right.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 30px;
  height: 30px;
  top: 0;
  bottom: 0;
  right: -38px;
  margin: auto;
  cursor: pointer;
}

div.slide div.container a.slide_item {
	display: block;
	margin-left: 10px;
	margin-right: 10px;
}

@media (max-width: 767px) {
  div.slide div.container {
  }
  div.slide div.container::before {
    width: 16px;
    height: 16px;
    left: 28px;
  }
  div.slide div.container::after {
    width: 16px;
    height: 16px;
    right: 20px;
  }
  div.slide div.container a.slide_item {
  }
  div.slide .slick-arrow {
	display:none !important;
	}
  
}
.slick-dotted.slick-slider {
	margin-bottom: 0px !important;
}
.slick-dots li button {
	width: 10px !important;
	height: 10px !important;
	background: #41362d !important;
	border-radius: 100% !important;
	border: 1px solid #41362d !important;
}
.slick-dots {
	bottom: 20px !important;
}
.slick-dots li.slick-active button {
	background-color: #fff !important;
}
/* --slide-- */

/*キャンペーンバナー追加　2023/11/30*/
.cp_area {
	max-width: 980px;
	margin: 0 auto;
	padding-top: 25px;
	padding-bottom: 70px;
}
.cp_area .slick-slide {
	margin: 0px 15px !important;
}
@media (max-width: 767px) {
.cp_area {
	margin: 0;
}
.cp_area .slick-slide {
	margin: 0px 7px !important;
}
}

/* ----- お客様の声 review 240105 ----- */

section.review {
  width: 100%;
}

p.h2_sttl {
  font-size: 16px;
  color: #be1d25;
  text-align: center;
  line-height: 1.7;
}

h2.h2_ttl {
  font-size: 35px;
  color: #41362d;
  text-align: center;
  line-height: 1.7;
}

section.review div.review_wrap {
  margin-top: 38px;
}

section.review div.review_wrap div.review_item {
  padding: 24px 30px;
  border: 1px solid #41352d;
  position: relative;
  display: flex;
  gap: 28px;
  align-items: start;
}

section.review div.review_wrap div.review_item::before {
  position: absolute;
  display: block;
  content: '';
  width: 20px;
  height: 27px;
  background: #fff;
  left: -5px;
  bottom: 0;
}

section.review div.review_wrap div.review_item::after {
  position: absolute;
  display: block;
  content: '';
  background-image: url(https://img07.shop-pro.jp/PA01384/541/etc_base64/aWNvbl9mb2xk.jpg?cmsp_timestamp=20240107173942);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  width: 44px;
  height: 44px;
  top: -1px;
  right: -12px;
}

section.review div.review_wrap div.review_item + div.review_item {
  margin-top: 32px;
}

section.review div.review_wrap div.review_item div.image_area {
  width: 16%;
}

section.review div.review_wrap div.review_item div.txt_area {
  flex: 1;
}

section.review div.review_wrap div.review_item p.review_date {
  font-size: 14px;
}

section.review div.review_wrap div.review_item p.review_txt {
  margin-top: 24px;
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
}

section.review div.review_link {
  margin-top: 57px;
  display: flex;
  justify-content: center;
  gap: 45px;
}

section.review div.review_link a.to_review {
  width: 345px;
  padding: 20px 0;
  margin: 0;
  text-align: center;

  display: inline-block;
  padding: 16px 0;
  background: #be1d25;
  color: #fff;
  font-weight: bold;
  border-radius: 99px;
  box-shadow: 0 4px 4px rgba(190, 29, 37, 0.5);  
}

section.review div.review_link a.to_review::after {
  content: none;
}

@media (max-width: 767px) {
  
  p.h2_sttl {
    font-size: 13px;
  }
  
  h2.h2_ttl {
    font-size: 28px;
  }
  
  section.review div.review_wrap {
    margin-top: 32px;
  }
  
  section.review div.review_wrap div.review_item {
    padding: 16px;
    flex-direction: column;
    gap: 32px;
  }
  
  section.review div.review_wrap div.review_item::before {
    position: absolute;
    display: block;
    content: '';
    width: 20px;
    height: 16px;
    background: #fff;
    left: -5px;
    bottom: 0;
  }
  
  section.review div.review_wrap div.review_item::after {
    position: absolute;
    display: block;
    content: '';
    background-image: url(https://img07.shop-pro.jp/PA01384/541/etc_base64/aWNvbl9mb2xk.jpg?cmsp_timestamp=20240107173942);
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    width: 44px;
    height: 44px;
    top: -1px;
    right: -12px;
  }
  
  section.review div.review_wrap div.review_item + div.review_item {
    margin-top: 32px;
  }
  
  section.review div.review_wrap div.review_item div.image_area {
    width: 44%;
    margin: 0 auto;
  }
  
  section.review div.review_wrap div.review_item div.txt_area {
    flex: 1;
    width: 100%;
  }
  
  section.review div.review_wrap div.review_item p.review_date {
    font-size: 10px;
  }
  
  section.review div.review_wrap div.review_item p.review_txt {
    margin-top: 12px;
    font-size: 14px;
  }
  
  section.review div.review_link {
    margin-top: 48px;
    flex-direction: column;
    gap: 24px;
  }
  
  section.review div.review_link a.to_review {
    width: 80%;
    padding: 12px 0;
    margin: 0 auto;
  }
  
  section.review div.review_link a.to_review::after {
    content: none;
  }
}

/* ----- /お客様の声 review 240105 ----- */