@charset "UTF-8";
html {
  font-size: 62.5%;
}
#main-container img,
#main-container video{
  width: 100%;
  height: auto;
}
#main-container *{
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
#main-container #breadcrumb{
  max-width: 140rem;
  width: 100%;
  margin: 0 auto;
}
#breadcrumb.edit_lp .cateList {
  margin: 0 auto 30px 150px;
}
.main-container_lp .sp_only{
  display: none;
}

#main-container{
  width: 100%;
  margin: 0 auto;
  /* background-image: url(../img/page_pc.jpg); */
  background-repeat: no-repeat;
  background-size: 140rem;
  background-position: center -0.6rem;
}

.main-container_lp{
  margin: 0 auto;
  padding: 0 0 10rem;
  font-feature-settings: "palt";
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic", "メイリオ", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 1.3rem;
  letter-spacing: 0.025em;
  line-height: 1;
  color: #333333;
  overflow-x: hidden;
}

/*=============================
          firstview_area
=============================*/
.firstview_area{
  width: 140rem;
  margin: auto;
  position: relative;
}
.firstview_area::before{
  position: absolute;
  content: "";
  background-image: url(../img/philosophy.png);
  background-repeat: no-repeat;
  background-size: 100%;
  width: 13rem;
  height: 3.8rem;
  top: -5.2rem;
  left: 45.3rem;
}
.firstview_area h3{
  margin: 11.2rem auto 4.8rem;
  font-size: 3.6rem;
  font-family: 'Crimson Text', serif;
  font-style: normal;
  font-weight: 400;
  text-align: center;
}
.firstview_area .firstview_img{
  max-width: 75rem;
  width: 100%;
  margin: 0 auto;
}
 .firstview_area .firstview_text{
  margin-top: 4.2rem;
  font-size: 1.3rem;
  line-height: 2.6rem;
  letter-spacing: 0.025em;
  text-align: center;
}
 .firstview_area .firstview_text .span02{
  display: block;
  margin-top: 2rem;
}
/*=============================
          //firstview_area
=============================*/


/*=============================
          sec
=============================*/
.sec{
  width: 96rem;
  margin: 8.2rem auto 0;
}
.sec .con_unit .title{
  margin-bottom: 3rem;
  font-family: 'Crimson Pro', serif;
  font-style: italic;
  font-weight: 400;
  font-size: 2.2rem;
  line-height: 4.2rem;
  letter-spacing: 0.015em;
  text-align: center;
  position: relative;
}
.sec .con_unit .title::before{
  position: absolute;
  content: "";
  width: 40rem;
  height: 1px;
  background-color: #7CB2B9;
  top: 50%;
  right: 58%;
}
.sec .con_unit .title::after{
  position: absolute;
  content: "";
  width: 40rem;
  height: 1px;
  background-color: #7CB2B9;
  top: 50%;
  left: 58%;
}
.sec .con_unit02 .title::before{
  width: 38.5rem;
  top: 50%;
  right: 60%;
}
.sec .con_unit02 .title::after{
  width: 38.5rem;
  top: 50%;
  left: 60%;
}
.sec .con_unit03 .title::before{
  width: 39.5rem;
  top: 50%;
  right: 58.8%;
}
.sec .con_unit03 .title::after{
  width: 39.5rem;
  top: 50%;
  left: 58.8%;
}
.sec .con_img{
  width: 60rem;
  margin: auto;
}

.sec .con_txt{
  margin-top: 4.4rem;
  margin-bottom: 8.2rem;
  line-height: 2.6rem;
  text-align: center;
}
.sec .con_unit03 .con_txt01{
  margin-bottom: 4.5rem;
}
.sec .con_unit03 .con_img02{
  width: 36rem;
}

.sec .con_unit03 .price{
  margin-top: 3rem;
  font-family: 'Crimson Text', serif;
  font-style: normal;
  font-weight: 400;
  font-size: 1.3rem;
  letter-spacing: 0.015em;
  text-align: center;
}
.sec .con_unit03 .price span{
  display: inline-block;
  padding-bottom: 2px;
  border-bottom: 1px solid #CBCBCB;
}
 .sec .con_unit03 .price span:not(:first-of-type){
  margin-left: 1rem;
}
/*=============================
          //sec
=============================*/


/*====================
        footer
=====================*/
.main-container_lp .footer_area{
  margin: 9.5rem auto 0;
  text-align: center;
  font-family: 'Crimson Text', serif;
  font-style: normal;
  font-weight: 400;
}
.main-container_lp .footer_area .all_button{
  font-size: 1.1rem;
  letter-spacing: 0.02em;
  line-height: 1.8rem;
}
.main-container_lp .footer_area .all_button a{
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  width: 60rem;
  height: 6.2rem;
  background-color: #fff;
  border: 1px solid #000;
}


/*====================
      table
=====================*/
@media only screen and (max-width: 1400px) and (min-width: 768px){
  html {
    font-size: calc(10* (100vw / 1400));
  }
}

/*====================
       SP
=====================*/
@media only screen and (max-width: 767px){
  .main-area .main-inner {
    margin: 0 auto;
    width: 100%;
  }
  #main-container #breadcrumb{
    max-width: 100%;
  }
  #breadcrumb.edit_lp .cateList {
    margin: 0 auto;
  }
  #main-container #breadcrumb .cateList{
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    text-align: initial;
  }
  .main-container_lp .sp_only{
    display: block;
  }

  #main-container{
    /* background-image: url(../img/page_sp.jpg); */
    background-size: 100%;
    background-position: center calc(-15* (100vw /750));
  }

  .main-container_lp{
    padding: 0 0 calc(68*(100vw / 750));
    font-size: calc(26*(100vw / 750));
    line-height: calc(52*(100vw / 750));
  }
  
  /*=============================
           firstview_area
  =============================*/
  .firstview_area{
    width: 100%;
  }
  .firstview_area::before{
    width: calc(234* (100vw / 750));
    height: calc(70* (100vw / 750));
    top: calc(-88* (100vw / 750));
    left: calc(108* (100vw / 750));
  }
  .main-container_lp .firstview_area .firstview_img{
    max-width: calc(750* (100vw / 750));
  }
  .firstview_area h3{
    margin: calc(150* (100vw / 750)) auto calc(70* (100vw / 750));
    font-size: calc(58* (100vw / 750));
    line-height: calc(68* (100vw / 750));
  }
  .firstview_area .firstview_img{
    max-width: 100%;
  }
   .firstview_area .firstview_text{
    margin-top: calc(70* (100vw / 750));
    font-size: calc(26* (100vw / 750));
    line-height: calc(52* (100vw / 750));
    letter-spacing: 0.025em;
  }
   .firstview_area .firstview_text .span02{
    margin-top: calc(26* (100vw / 750));
  }
  /*=============================
            //firstview_area
  =============================*/

  /*=============================
            sec
  =============================*/
  .sec{
    width: calc(700* (100vw / 750));
    margin: calc(116* (100vw / 750)) auto 0;
  }
  .sec .con_unit .title{
    margin-bottom: calc(33* (100vw / 750));
    font-size: calc(44* (100vw / 750));
    line-height: calc(84* (100vw / 750));
    letter-spacing: 0.015em;
  }
  .sec .con_unit .title::before{
    width: calc(210* (100vw / 750));
    height: 1px;
    top: 50%;
    right: 70%;
  }
  .sec .con_unit .title::after{
    width: calc(210* (100vw / 750));
    height: 1px;
    top: 50%;
    left: 70%;
  }
  .sec .con_unit02 .title::before{
    width: calc(170* (100vw / 750));
    height: 1px;
    top: 50%;
    right: 76%;
  }
  .sec .con_unit02 .title::after{
    width: calc(170* (100vw / 750));
    height: 1px;
    top: 50%;
    left: 76%;
  }
  .sec .con_unit03 .title::before{
    width: calc(195* (100vw / 750));
    height: 1px;
    top: 50%;
    right: 72%;
  }
  .sec .con_unit03 .title::after{
    width: calc(195* (100vw / 750));
    height: 1px;
    top: 50%;
    left: 72%;
  }
  .sec .con_img{
    width: calc(660* (100vw / 750));
  }
  .sec .con_txt{
    margin-top: calc(70* (100vw / 750));
    margin-bottom: calc(114* (100vw / 750));
    line-height: calc(52* (100vw / 750));
  }
  .sec .con_unit03 .con_txt01{
    margin-bottom: calc(72* (100vw / 750));
  }
  .sec .con_unit03 .con_img02{
    width: calc(520* (100vw / 750));
  }
  .sec .con_unit03 .con_txt02{
    margin-top: calc(56* (100vw / 750));
  }
  .sec .con_unit03 .price{
    margin-top: calc(24* (100vw / 750));
    font-size: calc(23* (100vw / 750));
  }
  .sec .con_unit03 .price span{
    padding-bottom: 0;
    line-height: 1.2;
  }
  .sec .con_unit03 .price span:not(:first-of-type){
    margin-left: calc(19* (100vw / 750));
  }

  /*=============================
            //sec
  =============================*/



  /*====================
          footer
  =====================*/
  .main-container_lp .footer_area{
    margin: calc(143*(100vw / 750)) auto 0;
  }
  .main-container_lp .footer_area .all_button{
    font-size: calc(22*(100vw / 750));
    line-height: calc(34*(100vw / 750));
  }
  .main-container_lp .footer_area .all_button a{
    width: calc(615*(100vw / 750));
    height: calc(124*(100vw / 750));
  }

}

/* IE */
@media all and (-ms-high-contrast: none){


}