@charset "utf-8";
/* CSS Document */
.Wrapper {
  background: #ffffff;
}
#pageTitle {
  background: #48a2b7;
}
#pageTitle h1 {
  max-width: 1100px;
  color: #fff;
  margin: 0 auto;
  padding: 10px;
}
.contentsDetail {
  max-width: 1100px;
  margin: 0 auto;
}
#S01 .contents {
  height: 600px;
}
#S01 .contentsDetail {
  position: relative;
  padding: 30px 0 0;
}
#S01 .visual {
  position: absolute;
  background: url("../img/bg_image.jpg");
  width: 100%;
  height: 440px;
  background-size: 100%;
  object-fit: cover;
  background-position-x: center;
  background-position-y: -300px;
  background-repeat: no-repeat;
}
#S01 h2 {
  margin: 0;
  padding: 20px 0;
  position: relative;
  color: #9b7f49;
  font-size: 250%;
  font-weight: 800;
  letter-spacing: 2px;
}
#S01 h3 {
  font-family: 'M PLUS 1p', sans-serif;
  color: #d3596b;
  background: linear-gradient(transparent 60%, #f4cece 60%);
  position: relative;
  width: 360px;
  margin: 10px auto 20px;
  text-align: center;
  font-size: 170%;
}
#S01 h2.outline {
  text-shadow: 4px 4px 1px #ffffff, -4px 4px 1px #ffffff, 4px -4px 1px #ffffff, -4px -4px 1px #ffffff, 4px 0px 1px #ffffff, 0px 4px 1px #ffffff, -4px 0px 1px #ffffff, 0px -4px 1px #ffffff;
}
#S01 #recommendBox {
  position: relative;
  background: #ffffff85;
  border-radius: 20px;
  width: 910px;
  padding: 10px 40px 30px;
  margin: 0;
}
#S01 #recommendBox ul {
  display: flex;
  justify-content: center;
}
#S01 #recommendBox ul li {
  font-family: 'M PLUS 1p', sans-serif;
  font-size: 120%;
  font-weight: 400;
  color: #566666;
  text-align: center;
  padding: 30px 10px;
  background: #fff;
  margin: 0 7px;
  width: calc(100% / 4);
  border: 1px solid #c1c1c1;
  box-shadow: 4px 3px 15px -5px #777777;
}
#S01 #imgIllust {
  position: absolute;
  right: -50px;
  top: 0%;
}
#S01 .firstText {
  position: relative;
  padding: 90px 220px 30px 0;
  max-width: 1300px;
  font-size: 120%;
  line-height: 2em;
}
.spNone {
  display: block;
}
.product .contents {
  padding: 20px;
}
.product h2 {
  text-align: center;
  border-top: 1px solid #333;
  padding: 50px 0 0;
}
.product h2 br {
  display: none;
}
.product ul {
  display: flex;
  justify-content: center;
}
.product ul li {
  width: calc(100% / 3 - 20px);
  margin: 10px;
  position: relative;
}
.product ul li .img {
    height: 250px;
    border: 1px solid #c2bebe;
}
.product ul li .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  background-size: 100%;
}
.product ul li h3 {
  text-align: center;
  margin: 0 0 20px;
  padding: 20px 0;
  border-bottom: 1px dashed #999999;
}
.product ul li h3 small {
  display: block;
  font-weight: 400;
}
.product ul li dl {
  display: flex;
  justify-content: center;
}
.product ul li .textBox {
  padding: 20px;
  margin: 0 0 70px;
}
.product p.attention {text-align: right;}
.btnBox {
  padding: 0;
  position: absolute;
  bottom: 0;
  width: 100%;
}
.btnBox a {
  background: #e25050;
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
  color: #fff;
  padding: 15px 20px;
  box-sizing: border-box;
  font-size: 110%;
  margin: 0;
}
#S02 {
  margin: 100px 0;
  counter-reset: number 0;
}
#S02 .contents {
  padding: 20px;
}
#S02 .contentsDetail {
  border: 10px solid #bfd1c2;
  border-radius: 60px;
  padding: 100px;
  background: url("../img/bg.png");
  background-repeat: repeat;
  position: relative;
}
#S02 .detailBox {
  display: flex;
  justify-content: flex-start;
  flex-wrap: inherit;
  margin: 0 0 50px;
}
#S02 .leftBox img {
  width: 300px;
  border: 1px solid #4f5b51;
}
#S02 .leftBox .img {}
#S02 .leftBox .img::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 24px 30px 0 30px;
  border-color: #b0b5b1 transparent transparent transparent;
  margin: auto;
}
#S02 .contentsDetail > div:nth-of-type(4) .leftBox .img::after {
  display: none;
}
#S02 .rightBox {
  width: calc(100% - 300px);
  padding: 0 0 0 50px;
}
#S02 h2 {
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 180%;
  letter-spacing: 5px;
  text-indent: 5px;
  background: #fff;
  padding: 0 40px;
}
#S02 h3 {
  margin: 0 0 10px;
  font-size: 180%;
  letter-spacing: 2px;
  color: #3e6b46;
}
#S02 h3:before {
  display: inline-block;
  counter-increment: number 1;
  content: counter(number) " ";
  width: 40px;
  height: 40px;
  line-height: 40px;
  background-color: #3e6b46;
  border-radius: 50%;
  color: #fff;
  text-align: center;
  font-size: 90%;
  margin: 0 10px 0 0;
}
#S02 p {
  font-size: 110%;
}
#S02 h4 {
  font-size: 140%;
  letter-spacing: 5px;
  border-bottom: 1px solid #666;
  padding: 15px 0;
  margin: 0 0 15px;
}
#S02 ul li {
  font-size: 110%;
  margin: 0 0 10px;
  text-indent: -1.2em;
  padding-left: 1.2em;
}
#S03 {
  margin: 100px 0 0;
}
#S03 .contents {
  padding: 20px;
}
#S03 .contentsDetail {
  border: 10px solid #bfdbe8;
  border-radius: 60px;
  padding: 100px;
  position: relative;
}
#S03 h2 {
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 180%;
  letter-spacing: 5px;
  text-indent: 5px;
  background: #fff;
  padding: 0 40px;
}
#S03 h4::before {
  content: "Q";
  padding: 5px 10px 8px 10px;
  background: #8ba4a5;
  color: #fff;
  display: inline-block;
  margin: 0 15px 0 0;
  height: 40px;
}
.attention {
  display: block;
  color: #cc0000;
  padding: 30px 0 0;
  font-size: 90%;
  line-height: 1.6em;
}
/* よくある質問 */
.accContainer {
  position: relative;
  width: 100%;
  border-top: none;
  outline: 0;
  cursor: pointer
}
.accContainer .accTitle {
  display: block;
  position: relative;
  margin: 0;
  padding: 0.625em 0.625em 0.625em 2em;
  font-size: 1.25em;
  font-weight: normal;
  background: #efeded;
  cursor: pointer;
}
.accContainer .accTitle:hover, .accContainer .accTitle:active, .accContainer .content-entry.open .accTitle {
  background-color: #00aaa7;
  color: white;
}
.accContainer .accTitle:hover i:before, .accContainer .accTitle:hover i:active, .accContainer .content-entry.open i {
  color: white;
}
.accTitle {
  position: relative;
  font-size: 120%;
  margin: 0;
  padding: 20px 0;
  border-top: 1px dashed #aba6a6;
  cursor: pointer;
  display: flex;
}
.accTitle:after {
  content: "";
  position: absolute;
  right: 25px;
  top: 38%;
  transition: all 0.2s ease-in-out;
  display: block;
  width: 8px;
  height: 8px;
  border-top: solid 2px #333;
  border-right: solid 2px #333;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}
.accTitle.open:after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  top: 45%;
}
.accordion-content {
  display: none;
  padding: 10px 0 30px;
  font-size: 110%;
}
.accordion-content div {
  display: flex;
}
.accordion-content div::before {
  content: "A";
  padding: 5px 10px 8px 10px;
  background: #a38b8b;
  color: #fff;
  display: inline-block;
  margin: 0 15px 0 0;
  height: 40px;
}
.accordion-content div p {
  line-height: 2em;
}
.accContainer {
  margin: 1.875em auto;
  max-width: 1300px;
}
#movieBox {
  max-width: 1080px;
  margin: auto;
  padding: 50px 0 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
#movieBox video {
  width: 100%;
}
/*----------------------------------------------------------- 1680px */
@media screen and (max-width: 1680px) {
  #S01 h2 {
    margin: 0;
    font-size: 220%;
  }
  #S01 #recommendBox {
    width: 850px;
  }
  #S01 .firstText {
    max-width: 1000px;
  }
  #S01 .visual {
    background-size: auto;
  }
  #S01 #imgIllust {
    right: 20px;
  }
}
/*----------------------------------------------------------- 1340px */
@media screen and (max-width: 1360px) {
  .Wrapper {
    padding: 80px 0 5%;
  }
  #S01 h2 {
    margin: 0 0 0 100px;
  }
}
/*----------------------------------------------------------- 1340px */
@media screen and (max-width: 1340px) {
  #S01 br.pc {
    display: none;
  }
  #S01 h2 {
    font-size: 220%;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
    text-align: center;
  }
  #S01 h3 {
    width: 330px;
  }
  #S01 #recommendBox {
    width: 70%;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    margin: 0 0 40px;
  }
  #S01 #recommendBox ul {
    flex-wrap: wrap;
  }
  #S01 #recommendBox ul li {
    width: calc(100% / 2 - 20px);
    padding: 20px 10px;
    margin: 0 7px 7px;
  }
  #S01 .firstText {
    max-width: 100%;
    padding: 0 20px;
  }
  #S01 #imgIllust {
    right: -40px;
    top: 80px;
  }
  #imgIllust img {
    width: 70%;
  }
}
/*----------------------------------------------------------- 1280px */
@media screen and (max-width: 1280px) {
  #S01 .contents {
    height: 690px;
  }
  #S01 #recommendBox ul li {
    width: calc(100% / 1);
  }
  #S01 br.tab {
    display: none;
  }
  #S01 .visual {
    height: 570px;
  }
  #S01 .firstText {
    max-width: 1120px;
    padding: 10px 20px 20px;
    position: static;
    margin: auto;
    font-size: 110%;
  }
  #S01 #imgIllust {
    top: 19%;
    right: 0;
  }
}
/*----------------------------------------------------------- 1270px */
@media screen and (max-width: 1270px) {
  .Wrapper {
    padding: 105px 0 5%;
  }
}
/*----------------------------------------------------------- 1100px */
@media screen and (max-width: 1100px) {
  #S01 h3 {
    margin: 10px 0 20px;
  }
  #S01 #recommendBox ul li {
    width: calc(100% / 1);
    text-align: left;
    padding: 20px;
  }
}
/*----------------------------------------------------------- 920px */
@media screen and (max-width: 920px) {
  #S01 .contents {
    height: auto;
  }
  #S01 .contentsDetail {
    position: static;
  }
  #S01 #imgIllust {
    position: static;
    margin: auto;
    text-align: center;
  }
  #imgIllust img {
    width: auto;
  }
  .spNone {
    display: none;
  }
}
/*----------------------------------------------------------- 800px */
@media screen and (max-width: 800px) {
  .Wrapper {
    padding: 60px 0 5%;
  }
  #S01 .visual {
    height: 550px;
  }
  #S01 h2 {
    text-align: center;
  }
  #S01 br.sp {
    display: block;
  }
  #S01 h3 {
    margin: 10px auto 20px;
    width: auto;
  }
  #S01 #recommendBox ul li {
    width: calc(100% / 1);
    text-align: left;
    padding: 10px 20px;
  }
  #S01 #recommendBox {
    width: 80%;
  }
  .product ul {
    flex-flow: column;
  }
  .product ul li {
    width: calc(100% / 1);
    display: flex;
  }
  .product ul li .img {
    height: 300px;
    width: 50%;
    padding: 0 20px 0 0;
  }
  .product ul li .detail {
    width: calc(100% - 260px);
  }
  .product ul li .textBox {
    margin: 0;
  }
  .btnBox {
    position: static;
  }
  #S02 .detailBox {
    flex-flow: column;
  }
  #S02 .leftBox .img {
    display: flex;
    flex-flow: column;
    align-items: center;
  }
  #S02 .rightBox {
    width: calc(100%);
    padding: 30px 0 0 0;
  }
  #S02 .contentsDetail, #S03 .contentsDetail {
    border: 5px solid #bfd1c2;
    border-radius: 30px;
  }
  #S02 .contentsDetail {
    padding: 40px 30px 60px 40px;
    border: 5px solid #bfd1c2;
  }
  #S03 .contentsDetail {
    border: 5px solid #bfdbe8;
    padding: 40px 30px 10px 40px;
  }
  #S02 h2, #S03 h2 {
    letter-spacing: 0;
    font-size: 160%;
    padding: 0 10px;
  }
  #S02 h3 {
    font-size: 160%;
  }
}
/*----------------------------------------------------------- 666px～ */
@media screen and (min-width:480px) and (max-width:666px) {
  #S01 .visual {
    height: 570px;
  }
}
/*----------------------------------------------------------- 640px */
@media screen and (max-width: 640px) {
  .product ul li {
    flex-flow: column;
    align-items: center;
    margin: 0 0 50px;
  }
  .product ul li .img {
    height: 240px;
    width: 100%;
    padding: 0;
  }
  .product ul li .detail {
    width: calc(100%);
  }
  #S01 .visual {
    height: 510px;
  }
  #S02 {
    margin: 0;
  }
  #S03 {
    margin: 0;
  }
  #S03 .contentsDetail {
    padding: 40px 15px 10px 15px;
  }
  .accTitle {
    font-size: 110%;
  }
  #S03 h4::before {
    font-size: 70%;
  }
  #S03 h4::before {
    height: 30px;
  }
  .accordion-content div::before {
    height: 30px;
    font-size: 78%;
  }
  .accordion-content div p {
    line-height: 1.6em;
    font-size: 90%;
  }
  .accTitle span {
    margin: 0 50px 0 0;
  }
}
/*----------------------------------------------------------- 604px */
@media screen and (min-width:523px) and (max-width:604px) {
  #S01 .visual {
    height: 540px;
  }
}
/*----------------------------------------------------------- 523px */
@media screen and (min-width:502px) and (max-width:522px) {
  #S01 .visual {
    height: 590px;
  }
}
/*----------------------------------------------------------- 523px */
@media screen and (min-width:481px) and (max-width:501px) {
  #S01 .visual {
    height: 620px;
  }
}
/*----------------------------------------------------------- 480px */
@media screen and (max-width: 480px) {
  #S01 h2 {
    padding: 0 0 20px;
    font-size: 200%;
  }
  #S01 h3 {
    font-size: 140%;
  }
  #S01 #recommendBox {
    width: 90%;
    margin: 0 0 50px;
    padding: 20px;
  }
  #imgIllust img {
    width: 70%;
  }
  #S02 h2, #S03 h2 {
    font-size: 130%;
    top: -20px;
  }
  .product h2 {
    font-size: 120%;
  }
  .product h2 br {
    display: block;
  }
}
/*----------------------------------------------------------- 422px */
@media screen and (min-width:375px) and (max-width:422px) {
  #S01 .visual {
    height: 570px;
  }
}
/*----------------------------------------------------------- 375px */
@media screen and (max-width: 375px) {
  #S01 .visual {
    height: 590px;
  }
}