@charset "UTF-8";

/*　口コミパーツ
----------------------------- */

.basic-layout {
  margin: 3rem 0 5rem;
}
.basic-layout.column1 {
  padding: 1rem;
}
.basic-layout .box-wrap {
  margin: 0;
}
    .viral-box-wrap.column1 .viral-head,.viral-box-wrap.column2 .viral-head {
    display: flex;
    align-items: flex-start;
    }
.basic-layout.column1 .box-wrap div:nth-of-type(1) img {
  margin: 0 auto 20px;
  display: block;
  border-radius: 100%;
}
.viral-box-wrap.column1 {
  background: url(img/bg_box.png);
}
.viral-box-wrap.column1 .basic-column-box{
  background:#fff;
  border: 1px solid #ddf2ed;
  padding: 3rem;
  margin: 1rem 0;
}
.viral-box-wrap.column2 .basic-column-box {
  border: none;
  background: #fff;
  border: 1px solid #ddf2ed;
  margin: 1rem;
  width: calc((100% - 40px) / 2);
}

.viral-box-wrap.column2 {
  padding: 1rem;
  background: url(img/bg_box.png);
}
.viral-box-wrap.column3{
  padding: 1rem;
  background: url(img/bg_box2.png);
}

.viral-box-wrap.column3 .basic-column-box {
  border: none;
  background: #fff;
  border: 1px solid #ddf2ed;
  margin: 1rem 5px;
}

.basic-layout.column1 .box-wrap__inner{
  width:10%;
  flex: 0 0 10%;
  margin-right: 20px;
}

.viral-box-wrap .box-wrap__inner {
  width: 20%;
  flex: 0 0 20%;
  margin-right: 20px;
}

.viral-box-wrap .catch-copy {
  display: inline-block;
  width: 100%;
  vertical-align: top;
  color: #404040;
  border-bottom: 2px dotted;
  line-height: 1.4;
  font-size: 2rem;
  padding: 2px 0 5px;
  font-weight: bold;
  border-bottom: 2px dashed #ccc;
  padding-bottom: 10px;
}

.viral-box-wrap .paragraph-frame {
  clear: both;
  margin: 15px 0 0;
}

.viral-box-wrap.column2  .catch-copy {
  font-size: 1.6rem;
  width: 100%;
  margin: 0 0 1rem;
}

.viral-box-wrap.column3 .box-wrap__inner  {
  width: 100%;
  text-align: center;
}

.viral-box-wrap.column3  .catch-copy {
  width: 100%;
  margin: 2rem 0 1.5rem;
  padding: 0 0 1rem;
  font-size: 1.6rem;
}



/*　共通パーツ01,02
----------------------------- */
.lower_bottom {
  margin: 40px 0;
  padding: 3%;
  background: #fdf7db;
  border-radius: 5px;
  background-size: 60px;
  }
.lower_bottom .mainttl{
    padding: 25px 15px;
    font-size: 25px;
    text-align: center;
    line-height: 1.4;
    position: relative;
    margin:0 -10px;
    color: #5999e8;
    font-weight: bold;
}
.lower_bottom .mainttl span {
  display: block;
  font-size: 1.6rem;
}
  .lower_bottom .cmn-column2,.lower_bottom .cmn-column3 {
    justify-content: space-between;
  }
    .lower_bottom .cmn-column1 .cmn-parts-box {
    background: #fff;
    width: 100%;
    padding: 10px 15px 15px;
    border: 1px solid #16b7bf;
    border-radius: 3px;
  }
  .lower_bottom .cmn-column1 .cmn-parts-box:not(:first-child) {
    margin-top: 3%;
  }
  .lower_bottom .cmn-column2 .cmn-parts-box{
    background: #fff;
    width: calc((100% / 2) - 10px);
    margin: 3% 0 0;
    padding: 10px 15px 15px;
    border-radius: 3px;
  }
  .lower_bottom .cmn-column2 .cmn-parts-box:nth-child(1),
  .lower_bottom .cmn-column2 .cmn-parts-box:nth-child(2){
    margin-top: 0;
  }

.lower_bottom .cmn-column2 .cmn-parts-box, .lower_bottom .cmn-column3 .cmn-parts-box{
  background: #fff;
  padding: 10px 15px 15px;
}
.lower_bottom .cmn-column3 .cmn-parts-box .btn-web a{
  margin: 2rem auto 3rem;
}

.lower_bottom .cmn-parts-box .cmn01-catch-copy {
  color: #ef8c0d;
  line-height: 1.4;
  font-size: 1.6rem;
  margin-bottom: 20px;
  font-weight: bold;
  background: #f2f2f2;
  padding: 0.5rem;
}

.lower_bottom .cmn01-paragraph{
    padding: 17px 10px 14px 10px;
    margin: 0;
    display: flex;
    align-items: center;
    text-align:center;
}

.lower_bottom .cmn01-paragraph .txt_bold{
  color:#222;
  font-size:1.6rem;
  font-weight:normal;
  padding: 0 5px 0 0;
  display: inline-block;
}

.lower_bottom .cmn01-paragraph .txt_price{
  color:#ff4749;
  font-size:2.8rem;
  font-weight:bold;
    padding: 0 5px 0 0;
    display: inline-block;
}

.lower_bottom .cmn01-paragraph .txt_price_m{
  font-size:1.8rem;
}

.lower_bottom .cmn01-ttl,
.lower_bottom .ttl,
.lower_bottom .cmn-column2 .cmn01-ttl{
    text-align: center;
    padding: 0;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.4;
    color: #222;
    margin: 0 0 8px;
}
.cmn01-image{
  display:block;
  text-align: center;
}
.lower_bottom .cmn01-paragraph p:first-child {
  margin: 0;
  border: none;
  color: unset;
}

.lower_bottom .cmn01-paragraph p:first-child::before {
  display: none;
}


.lower_bottom .btn-internal a{
  background: #5999e8;
  color: #fff;
}

.lower_bottom .btn-internal a::before {
  border-top-color: #333;
  border-right-color: #333;
}



/*　テキストバナー
----------------------------- */

.text-banner-area {
    background-size: cover;
    border: 1px solid #579cea;
    margin-bottom: 1.5rem;
    padding: 1px;
    border-radius: 5px;
}

.text-banner-area__text{
  padding: 1.5rem;
  width: 100%;
  background: #fdf7db;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
}

.text-banner-area .cmn02-text-banner-area__title{
    display: block;
    padding: 0 0 10px;
    font-size: 2.2rem;
    line-height: 1.4;
    color: #5999e8;
    margin: 0;
    text-align: center;
    position: relative;
    border-bottom: 2px dotted #ccc;
}

.text-banner-area .cmn02-text-banner-area__catch{
    display: block;
    font-size: 1.6rem;
    line-height: 1.4;
    color: #5999e8;
    text-align: center;
}
  .cmn02-text-banner-area__image {
    width: 40%;
    flex: 0 0 40%;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
  }
  .cmn02-text-banner-area__image img{
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
  }

  .text-banner-area .btn-internal a,
  .text-banner-area .btn-web a,
  .text-banner-area .btn-tel a {
    margin-bottom: 0;
  }

/*　監修者パーツ
----------------------------- */

.supervision-area {
  margin: 40px 0;
  padding: 1rem;
  border: 1px solid #ccc;
  border-radius: 5px;
  justify-content: space-between;
  }

.supervision-area.cmn-column2 .cmn-parts-box .mainttl{
  font-size:25px;
  font-weight:bold;
  line-height:1.4;
  margin: 10px 0 20px -10px;
  text-align: center;
  padding: 13px 10px;
  background: #99e0ce;
  width: 70%;
  color: #fff;
}
.supervision-area.cmn-column2 .cmn-parts-box .mainttl a{
color:#fff;
}
  .supervision-area.cmn-column1 .cmn-parts-box:not(:first-child) {
    margin-top: 5rem;
  }
.supervision-area .image-wrap .text-wrap .catch-copy{
  font-weight:bold;
  line-height:1.4;
  color:#3aafb0;
  margin-bottom:30px;
  padding: 0 0 20px;
  font-size: 19px;
  color: #222;
  margin: 0 0 15px;
  border-bottom: 1px solid #1c2649;
  background-size: auto;
}
  .supervision-area .image-left, .supervision-area .image-right {
    width: 50%;
    flex: 0 0 50%;
  }
  .supervision-area .text-wrap {
    width: 100%;
  }
  .supervision-area .text-wrap {
    width: 100%;
  }
  .supervision-area .image-left img,.supervision-area .image-right img {
    display:block;
    margin: auto;
  }

  .supervision-area .image-left .caption,.supervision-area .image-right .caption {
    display:block;
  }

.lower_bottom span.txt_marker {
    font-size: 2.5rem;
    background: none;
    color: #5999e8;
}
  .supervision-area.cmn-column1 .cmn-parts-box .mainttl{
    font-size:25px;
    font-weight:bold;
    line-height:1.4;
    color: #ffffff;
    margin: 0 0 20px;
    text-align: center;
    padding: 13px 10px;
    background: #99e0ce;
  }
.supervision-area.cmn-column1 .cmn-parts-box .mainttl a{
  color:#fff;
}

/* add */


.slick-slide span,
.viral-info,
.viral-quote {
      text-align: center;
    font-size: 10px;
    color: #888888;
    line-height: 1.4;
    word-wrap: break-word;
    display: block;
}



/*----------------------------------------------------
    SPサイトcss
----------------------------------------------------*/
@media screen and (max-width: 480px) {

/*　口コミパーツ
----------------------------- */

.viral-box-wrap.column2 .basic-column-box {
  background: #ffffff;
  margin-bottom: 2rem;
  width: unset;
}
.column2 .basic-column-box:nth-child(2n) {
    margin-bottom: 0;
}

.viral-box-wrap.column3 .basic-column-box {
  background: #ffffff;
  margin: 1rem 0 2rem;
}
.column3 .basic-column-box:nth-child(3n) {
    margin-bottom: 0;
}

.viral-box-wrap.column3 .viral-head {
  display: flex;
  align-items: flex-start;
}
.viral-box-wrap .box-wrap__inner {
  display: inline-block;
  width: 20%;
  vertical-align: top;
}

.viral-box-wrap .catch-copy {
  display: inline-block;
  vertical-align: top;
  line-height: 1.4;
  padding: 2px 0 5px;
}

.viral-box-wrap .paragraph-frame {
  clear: both;
  margin: 15px 0 0;
}

.viral-box-wrap.column2  .catch-copy {
  font-size: 1.6rem;
  width: 100%;
}

.viral-box-wrap.column3 .box-wrap__inner  {
  width: 20%;
  flex: 0 0 20%;
  margin-right: 5%;
}

.viral-box-wrap.column3  .catch-copy {
  width: 100%;
  padding: 0 0 1rem;
  font-size: 1.6rem;
}
  .viral-box-wrap .catch-copy {
    width: 100%;
    font-size: 1.5rem;
}
  .basic-layout.column1 .box-wrap__inner {
    width: 20%;
    flex: 0 0 20%;
    margin-right: 5%;
}
  .viral-box-wrap .box-wrap__inner {
    width: 20%;
    flex: 0 0 20%;
    margin-right: 5%;
  }
  .viral-box-wrap .box-wrap__inner img {
  max-height: 120px;
  width: auto;
  display: block;
  margin: auto;
  }



/*　共通パーツ01,02
----------------------------- */

  .lower_bottom {
    border-top-width: 5px;
    background: #fdf7db;
    background-size: 3rem;
    padding-top: 2rem;
  }
  .mainttl span {

    font-size: 1.3rem;
  }
  .mainttl {
    font-size: 1.8rem;
    padding: .5rem 1rem 1.5rem;
  }
  .basic-layout {
  margin: 3rem 0 5rem;
}
.basic-layout.column1 {
  padding: 5%;
}
.basic-layout.column1 .box-wrap div:nth-of-type(1) img {
  margin: 0 auto 20px;
  display: block;
  border-radius: 100%;
}

  .lower_bottom .cmn-column2 .cmn-parts-box,
  .lower_bottom .cmn-column3 .cmn-parts-box {
    float: none;
    width: 100%;
    margin: 0 0 1rem;
    padding: 5%;
  }


  .lower_bottom-2 .cmn-column1 .cmn-parts-box,
  .lower_bottom-2 .cmn-column2 .cmn-parts-box,
  .lower_bottom-2 .cmn-column3 .cmn-parts-box {
    display: flex;
    flex-direction: row;
    justify-content: center;
  }

  .lower_bottom-2 .cmn-parts-box .txt-wrap {
    width: 56%;
    padding-right: 2%;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .lower_bottom-2 .cmn-parts-box .btn-wrap {
    width: 42%;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    flex-direction: column;
  }

  .lower_bottom-2 .cmn-parts-box .btn-wrap .btn-web, .lower_bottom-2 .cmn-parts-box .btn-wrap .btn-tel, .lower_bottom-2 .cmn-parts-box .btn-wrap .btn-internal {
    width: 100%;
    align-self: stretch;
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex: auto;
  }

  .lower_bottom-2 .cmn-parts-box .btn-wrap .btn-web a, .lower_bottom-2 .cmn-parts-box .btn-wrap .btn-tel a, .lower_bottom-2 .cmn-parts-box .btn-wrap .btn-internal a {
    display: flex;
    width: 100%;
    font-size: 1.6rem;
    margin: 0 auto;
    align-items: center;
    justify-content: center;
    flex: auto;
    padding: 1rem 3rem 1rem 1rem;
  }

  .lower_bottom-2 .cmn-parts-box .btn-wrap .btn-web a {
    margin-top: 1rem;
  }

  .lower_bottom-2 .cmn-parts-box .btn-wrap .btn-tel a {
    margin-top: 1rem;
    padding: 1rem 3rem 1rem 3rem;
  }

/*　テキストバナー
----------------------------- */

  .text-banner-area {
    position: relative;
    display: block;
    padding: 1rem;
    overflow: hidden;
    background: transparent;
  }
  .cmn02-text-banner-area__image {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      width: 100%;
      height: 100%;
      object-fit: contain;
      border-radius: 5px;
      z-index: -1;
  }
  .cmn02-text-banner-area__image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center center;
      background: #fff;
  }

.text-banner-area .cmn02-text-banner-area__title {
    font-size: 2.0rem;
}


/*　監修者パーツ
----------------------------- */
.supervision-area .image-wrap {
  display: block;
}
.supervision-area .image-left,
.supervision-area .image-right,
.supervision-area .text-wrap {
  width: 100%;
  padding: 0;
}

.supervision-area .text-wrap {
  margin-top: 2rem;
}

  .supervision-area .cmn-parts-box .mainttl {
      font-size: 2.0rem;
  }
  .supervision-area.cmn-column1 .cmn-parts-box .mainttl a{
    font-size: 2.0rem;
    color:#fff;
  }
  .supervision-area .image-wrap .text-wrap .catch-copy {
      font-size: 1.8rem;
  }
    .supervision-area.cmn-column2 .cmn-parts-box .mainttl {
        font-size: 2.0rem;
        width: 100%;
          color:#fff;
    }
    .supervision-area .image-wrap .text-wrap .catch-copy {
        font-size: 1.8rem;
    }
      .supervision-area.cmn-column2 {
    display: block;
  }
  .cmn-column2 .cmn-parts-box {
    width: 100%;
  }

}

/* add end */