@charset "utf-8";
/* CSS Document */
@import "normalize.css";
@import "default.css";
@media screen and (min-width:769px){
  /*******************
LP style
********************/


/* base*/


html {
  font-size: 16px;
  font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ','Mayryo','ＭＳ Ｐゴシック','MS PGothic',sans-serif;
  color:#101010;
  line-height:1.5;
  min-width: 1200px;
  margin: 0 auto;
}
a{
  color: #101010;
  text-decoration: none;
}
a:hover{
  text-decoration: underline;
}
/* clear
--------------------------------------------------*/
.cl{
  clear:both;
}
.clx:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
.clx {
  min-height: 1px;
}
* html .clx {
  height: 1px;
  /*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}
/*------------------------------------*/
.hover{
  -webkit-transition: all .3s ease-in;
  -o-transition: all .3s ease-in;
  transition: all .3s ease-in;
  display: inline-block;
}
.hover:hover{
  filter: alpha(opacity=60);
  -moz-opacity: 0.6;
  opacity: 0.6;
}
img {
  vertical-align: bottom;
  display: block;
  margin-right: auto;
  margin-left: auto;
}
img.img-t {
  vertical-align: top;
}
/*
ovf-** 横幅の大きい画像を設定した最小幅でトリミング
デフォルトの設定は最小1200px、画像幅1500pxなので適宜調整してください
*/
.ovf-area{
  text-align: center;
  overflow: hidden;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  min-width: 1200px;
}
.ovf-box {
  display: block;
  margin: auto;
  text-align: center;
  width: 100%;
}
.ovf-item {
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  width: 1500px;
  margin-left: -750px; /* widthの半分 */
}
/*-- fv -------------------------------------*/
#fv {
  height: 1036px;/* fv画像のheight */
  text-align: center;
  overflow: hidden;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  min-width: 1200px;
  z-index: 1;
  background: url(../img/fv_bg.png) repeat-x top center;
}
#fv div {
  display: block;
  text-align: center;
  position: absolute;
  top: 0;
  left: 50%;
  width: 1500px;
  margin-left: -750px;
}
/*--------------------------------------------*/
.promise {
  background: #ebf59d url(../img/promise_bg.jpg) repeat-x top center;
}
.pl {position: relative;}
.cta-btn {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  margin: 0 auto;
}
.normal-btn {
  position: absolute;
  top: 1.6em;
  right: 20.6em;
}
.improvement {
  margin: 100px auto 0;
  background: url(../img/improvement_bg.png) repeat-x bottom center;
}
.component {
  background: url(../img/component_bg1.png) repeat-x top, url(../img/component_bg.png) repeat bottom;
}
.mb {
  margin: 64px auto 94px;
}
.cause {
  background: url(../img/cause_bg.jpg) repeat-x bottom center;
}
.lack {
  background: #161616 url(../img/lack_bg.png) repeat-x top center;
}
.comfortable {
  background: url(../img/comfortable_bg.png) repeat-x bottom center;
}
.btn {
  text-align: center;
  margin-top: 3%;
}
video {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  margin: 0 auto;
  width: 710px;;
}
.change {
  margin-top: 100px;
  background: url(../img/change_bg1.png) repeat-x top, url(../img/change_bg.png) repeat bottom;
}
.details table {
  margin: 0 auto;
}
.details table th {
  background: #320707;
  color: #fff;
  width: 160px;
  text-align: center;
  border: 1px solid #fff;
}
.details table td {
  padding: 2% 2%;
  background: #fff;
  width: 720px;
  border: 1px solid #320707;
}
.details table tr:nth-of-type(1) th {
  border-top: 1px solid #320707;
}
.details table tr:nth-of-type(6) th {
  border-bottom: 1px solid #320707;
}
.ranking {
  margin-bottom: 70px;
  background: url(../img/ranking_bg.png) repeat-x bottom center;
}
.gmp {
  margin: 90px auto;
}
.mb40 {margin-bottom: 40px;}
.mb70 {margin-bottom: 70px;}
/*-------------------------------------------
footer
-----------------------------------------------*/
.footer-link {
  text-align: center;
  padding-top: 4em;
  padding-bottom: 2em;
  width: 100%;
}
.footer-link li {
  color: #290602;
  display: inline-block;
  padding-left: .8em;
}
.footer-link li a {
  color: #000;
}
.footer-link li:after {
  content: "";
  border-right: 1px solid;
  display: inline-block;
  padding-left: .8em;
  height: 1.2em;
  vertical-align: middle;
}
.footer-link li:last-child:after {
  content: "";
  padding-left: 0;
  border:none;
}
#copy {
  background: #320707;
  text-align: center;
  width: 100%;
  color: #fff;
  line-height: 3.5;
  font-size: .875rem;
}

}



@media screen and (min-width: 768px) {
  .sp_only {
    display: none;
  }
}


@media screen and (max-width: 768px) {
  .sp_only {
    display: block;
  }

  .pc_only {
    display: none;
  }

  /*******************

LP style

********************/
  /* base */
  /* font
--------------------------------------------------*/
  html {
    font-size: 14px;
    font-size: 3.7333vw;
    font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Mayryo', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    color: #303030;
    line-height: 1.5;
    max-width: 100%;
  }
/* 
  @media screen and (max-width:750px) {
    html {
      font-size: 28px;
      max-width: 750px;
      margin: 0 auto;
    }
  } */

  a {
    color: inherit;
    text-decoration: none;
    font-size: inherit;
    font-weight: inherit;
  }

  a:hover {
    text-decoration: underline;
  }

  span {
    font-size: inherit;
    font-weight: inherit;
  }

  .ovf-area {
    max-width: 100%;
  }

  #fv{
    max-width: 100%;
    height: 100%;
  } 
  

  /* clear
--------------------------------------------------*/
  .cl {
    clear: both;
  }

  .clx:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
  }

  .clx {
    min-height: 1px;
  }

  * html .clx {
    height: 1px;
    /*\*/
    /*/
  height: auto;
  overflow: hidden;
  /**/
  }

  /*--------------------------------------
sp-style
-----------------------------------------*/
  img {
    width: 100%;
    display: block;
    margin-left: auto;
    margin-right: auto;
    vertical-align: bottom;
  }

  img.img-t {
    vertical-align: top;
  }

  body {
    width: 100%;
  }

  .pl {
    position: relative;
  }

  .cta-btn {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin: 0 auto;
    width: 94.5%;
  }

  .normal-btn {
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    margin: 0 auto;
    width: 90.5%;
  }

  .btn {
    width: 94.5%;
    margin: 0 auto;
  }

  video {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin: 0 auto;
    width: 96%;
  }

  .tel-btn {
    position: absolute;
    bottom: 15%;
    right: 0;
    left: 0;
    margin: 0 auto;
    width: 94.5%;
  }

  .details {
    margin-bottom: 8%;
  }

  .details tbody th {
    background: #320707;
    color: #fff;
    text-align: center;
    padding: 2% 0;
  }

  .details tbody td {
    padding: 2% 0;
    text-align: center;
  }

  .details tbody tr:nth-of-type(6) td,
  .details tbody tr:nth-of-type(8) td,
  .details tbody tr:nth-of-type(10) td,
  .details tbody tr:nth-of-type(12) td {
    text-align: left;
    padding: 3% 6%;
  }

  .details tbody td:last-child {
    border-bottom: 1px solid #320707;
  }

  .mb5 {
    margin-bottom: 5%;
  }

  .mb10 {
    margin-bottom: 10%;
  }

  .mb15 {
    margin-bottom: 15%;
  }

  /*-------------------------------------------
footer
-----------------------------------------------*/
  .footer-link {
    text-align: center;
    margin-top: 10%;
  }

  .footer-link li {
    font-size: 1.2em;
    padding-bottom: 1em;
  }

  #copy {
    background: #320707;
    text-align: center;
    font-size: .72em;
    color: #fff;

    -webkit-background-size: 100% auto;
    background-size: 100% auto;
    box-sizing: border-box;
    padding: 1em 0 1em;
    line-height: 1.7;
  }
}