@charset "UTF-8";
@import url("http://fonts.googleapis.com/earlyaccess/notosansjp.css");

@media screen and (min-width: 750px) {
  .sp {
    display: none !important;
  }
}

@media screen and (max-width: 749px) {
  .pc {
    display: none !important;
  }
}

html {
  width: 100%;
  height: 100%;
  font-size: 62.5%;
  font-family: 'Noto Sans JP', sans-serif,"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック",sans-serif;
  line-height: 2.0;
  color: #333;
}
body {
  margin: 0;
  padding: 0;
}

p {
  font-size: 1.4rem;
  line-height: 2;
  font-weight: 300;
}
@media screen and (max-width: 749px) {
  p {
    font-size: 1.2rem;
    line-height: 1.8;
    font-weight: 300;
  }
}

a {
  color: #333;
  text-decoration: none;
  -webkit-transition-duration: 0.35s;
  -moz-transition-duration: 0.35s;
  -ms-transition-duration: 0.35s;
  -o-transition-duration: 0.35s;
  transition-duration: 0.35s;
}
a:hover {
  text-decoration: none;
	opacity:0.5;
  filter: alpha(opacity=50);
  -moz-opacity:0.5;
}

/* 画面外にいる状態 */
.fadeinBottom {
  opacity:0.0;
  filter: blur(20px);
  transition : all 1000ms;
  -webkit-transform : translate(0, 150px);
  -moz-transform : translate(0, 150px);
  -ms-transform : translate(0, 150px);
  -o-transform : translate(0, 150px);
  transform : translate(0, 150px);
  -moz-opacity:0.0;
}

/* 画面内に入った状態 */
.fadeinLeft.scrollin, .fadeinRight.scrollin, .fadeinBottom.scrollin {
  opacity:1.0;
  filter: blur(0px);
  -webkit-transform : translate(0, 0);
  -moz-transform : translate(0, 0);
  -ms-transform : translate(0, 0);
  -o-transform : translate(0, 0);
  transform : translate(0, 0);
  -moz-opacity:1.0;
}
/* #floatingBanner {
  -webkit-transition-duration: 0.35s;
  -moz-transition-duration: 0.35s;
  -ms-transition-duration: 0.35s;
  -o-transition-duration: 0.35s;
  transition-duration: 0.35s;
}
#floatingBanner:hover {
  opacity:0.5;
  filter: alpha(opacity=50);
} */
#floatingBanner a {
  position: fixed;
  display: block;
  transform: translate(-50%,-50%) scale(1);
  width: 111px;
  height: 51px;
  bottom: 0rem;
  right: 0;
  z-index: 9999;
  background-color: rgba(255,255,255,0.8);
  border: solid 3px #A3B59A;
  border-radius: 200px;
  text-align: center;
  padding: 30px 0;
}
#floatingBanner a div {
  display: block;
  width: 52px;
  height: 52px;
  text-align: center;
  font-size: 1.0rem;
  font-weight: 600;
  border-top: solid 3px #A3B59A;
  border-left: solid 3px #A3B59A;
  transform: rotate(45deg);
  margin: 10px auto 0 auto;
}
#floatingBanner a.scrollin {
  opacity:1.0;
  filter: alpha(opacity=100);
}
@media screen and (max-width: 749px) {
  #floatingBanner a {
    transform: translate(-50%,-50%) scale(0.5);
    right: -16%;
    bottom: -6rem;
  }
}
/*--------------------------------------------------------------------------*/
header {
  position: relative;
  min-height: 45vw;
  background: url(../img/hero_back.jpg) no-repeat top center;
  background-size: cover;
}
.logoArea img {
  width: 20vw;
  margin: 20px;
}
header h1 {
  position: absolute;
  transform: translate(-50%,-50%);
  top: 45%;
  left: 30%;
  width: 32vw;
  max-width: 400px;
}
@media screen and (max-width: 749px) {
  header {
    position: relative;
    min-height: 75vw;
    background: url(../img/hero_back_sp.jpg) no-repeat top center;
    background-size: cover;
  }
  .logoArea img {
    width: 40vw;
    margin: 10px 0 0 0;
  }
  header h1 {
    position: absolute;
    transform: translate(-50%,-50%);
    top: 65%;
    left: 30%;
    width: 45vw;
  }
}

footer {
  background-image: linear-gradient(0deg, rgba(255,255,255,1.0), 95%, rgba(255,255,255,0));
  padding: 20px 0;
  display: block;
  text-align: center;
}
footer p {
  font-size: 1.4rem;
}
footer p:nth-child(1) {
  margin: 5rem 0;
}
footer p:nth-child(2) {
  font-size: 1.0rem;
}
@media screen and (max-width: 749px) {
  footer {
    padding: 10px 0 5px 0;
  }
  footer p {
    font-size: 1.2rem;
  }
  footer p:nth-child(1) {
    width: 90%;
    margin: 5rem auto;
  }
}
/*--------------------------------------------------------------------------*/
#lead {
  background-image: linear-gradient(0deg, rgba(255,255,255,0.0), 20%, rgba(255,255,255,1.0));
  background-color: #A3B59A;
  padding: 3rem 0 7rem 0;
}
#lead p {
  text-align: center;
  font-size: 1.7rem;
  line-height: 2;
  margin: 0;
}
@media screen and (max-width: 749px) {
  #lead p {
    width: 80%;
    margin: 0 auto;
    font-size: 1.3rem;
  }
}
/*--------------------------------------------------------------------------*/
#main {
  background: url("../img/img_back.jpg") no-repeat center top #A3B59A;
  background-size: auto;
}
@media screen and (max-width: 749px) {
  #main {
    background: url("../img/img_back.jpg") no-repeat center top #A3B59A;
    background-size: cover;
  }
}
/*--------------------------------------------------------------------------*/
#products {
  background-image: linear-gradient(0deg, rgba(163,181,154,0.0), 5%, rgba(163,181,154,1.0));
  padding: 2rem 0 7rem 0;
}
#products h2 {
  font-size: 2.0rem;
  font-weight: 400;
  color: #fff;
  text-align: center;
}
#products ul {
  display: flex;
  justify-content: space-between;
  width: 834px;
  margin: 0 auto;
  padding: 0;
}
#products ul li {
  width: 396px;
  list-style: none;
  text-align: center;
  background-color: #F2F2F2;
  line-height: 0;
}
#products ul li img {
  width: 100%;
}
#products ul li p {
  font-size: 1.7rem;
  margin: 0.5rem 0;
}
@media screen and (max-width: 749px) {
  #products ul {
    width: 90%;
  }
  #products ul li {
    width: 48%;
  }
  #products ul li p {
    font-size: 1.2rem;
  }
}
/*--------------------------------------------------------------------------*/
.point {
  position: relative;
  width: 100%;
  padding: 0 0 30rem 0;
  overflow: visible;
}
#point01.point {
  padding: 30rem 0;
}
#point03.point {
  padding: 0 0 10rem 0;
}
.point .txt {
  position: relative;
  display: flex;
  justify-content: flex-start;
  width: 90%;
  max-width: 1054px;
  margin: 0 auto;
  z-index: 99;
}
#point02.point .txt {
  justify-content: flex-end;
}
.point .txt .inner {
  width: 500px;
  background-color: rgba(255,255,255,0.8);
  padding: 5rem 0;
}
#point01.point .txt .inner * {
  width: 277px;
  margin: 0 auto;
}
#point02.point .txt .inner {
  width: 600px;
}
#point02.point .txt .inner *  {
  width: 443px;
  margin: 0 auto;
}
#point03.point .txt .inner *  {
  width: 376px;
  margin: 0 auto;
}
@media screen and (max-width: 749px) {
  #point01.point, #point02.point, #point03.point {
    padding: 10rem 0;
  }
  .point .txt {
    width: 100%;
  }
  .point .txt .inner {
    width: 75%;
    padding: 2rem 0 4rem 0;
  }
  .point .txt .inner * {
    width: 80%;
  }
  #point01.point .txt .inner * {
    width: 80%;
  }
  #point02.point .txt .inner {
    width: 90%;
    margin: 0;
  }
  #point02.point .txt .inner * {
    width: 80%;
  }
  #point03.point .txt .inner * {
    width: 80%;
  }
  .point .txt {
    margin: 0;
  }
}

.point h3 {
  font-size: 2.1rem;
  font-weight: 400;
  line-height: 1.9;
  padding: 0 0 2rem 0;
}
.point h3 strong {
  font-size: 3.6rem;
  font-weight: 400;
}
.point h3 span {
  font-size: 2.8rem;
}
@media screen and (max-width: 749px) {
  .point h3 {
    font-size: 1.7rem;
    font-weight: 400;
    line-height: 1.6;
    padding: 0 0 1.6rem 0;
  }
  .point h3 strong {
    font-size: 3.2rem;
    font-weight: 400;
  }
  .point h3 span {
    font-size: 2.2rem;
  }
}

.point ul {
  padding: 0 0 2rem 2rem;
  font-size: 1.4rem;
  font-weight: 300;
}
.point ul li {
  list-style: none;
  text-indent: -1.4rem;
}
.point p.small {
  padding: 0 0 0 2rem;
  font-size: 1.0rem;
  text-indent: -1.0rem;
}
.point a {
  position: relative;
  display: block;
  background-color: #A3B59A;
  color: #fff;
  text-align: center;
  font-weight: 400;
  border-radius: 50px;
  width: 100px !important;
  margin: 0.5rem 0 1rem 0 !important;
  padding: 0.5rem 0;
}
.point a::before {
  content: "";
  display: block;
  position: absolute;
  transform: translate(-50%,-50%) rotate(45deg);
  top: 50%;
  left: 85%;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  width: 7px;
  height: 7px;
}
.point a:hover {
  opacity:1.0;
  filter: alpha(opacity=100);
  -moz-opacity:1.0;
  background-color: #fff;
  color: #A3B59A;
}
.point a:hover::before {
  border-top: solid 1px #A3B59A;
  border-right: solid 1px #A3B59A;
}
@media screen and (max-width: 749px) {
  .point ul {
    font-size: 1.2rem;
    padding: 0 0 2rem 2.2rem;
  }
  .point ul li {
    width: 100% !important;
    text-indent: -1.2rem;
  }
  .point p.small {
    padding: 0 0 0 2rem;
    font-size: 0.8rem;
    text-indent: -0.8rem;
    line-height: 1.6;
  }
}

.pict img {
  width: 100%;
}
#point01 .pict, #point02 .pict, #point03 .pict {
  position: absolute;
}
#point01 .pict {
  top: 18%;
  right: 0;
  width: 65vw;
  height: 32vw;
  max-height: 431px;
  background: url(../img/img_point01.jpg) no-repeat center center fixed;
  background-size: cover;
}
#point02 .pict {
  top: -18%;
  left: 0;
  width: 65vw;
  height: 50vw;
  max-height: 603px;
  background: url(../img/img_point02.jpg) no-repeat center center fixed;
  background-size: cover;
}
#point03 .pict {
  top: -26%;
  right: 0;
  width: 62vw;
  height: 32vw;
  max-height: 431px;
  background: url(../img/img_point03.jpg) no-repeat center center fixed;
  background-size: cover;
}
@media screen and (max-width: 749px) {
  #point01 .pict {
    top: 0;
    right: 0;
    width: 100%;
    height: 50vw;
    background: url(../img/img_point01.jpg) no-repeat center center;
    background-size: cover;
  }
  #point02 .pict {
    top: 0;
    left: 0;
    width: 100%;
    height: 50vw;
    background: url(../img/img_point02.jpg) no-repeat center center;
    background-size: cover;
  }
  #point03 .pict {
    top: 0;
    right: 0;
    width: 100%;
    height: 50vw;
    background: url(../img/img_point03.jpg) no-repeat center center;
    background-size: cover;
  }
}
/*--------------------------------------------------------------------------*/
#message {
  display: block;
  width: 90%;
  max-width: 1054px;
  margin: 0 auto 15rem auto;
  padding: 5rem 0;
  background-color: rgba(255,255,255,0.8);
}
#message * {
  width: 605px;
  margin: 0 auto;
}
#message h3 {
  font-size: 2.8rem;
  font-weight: 400;
  padding: 4rem 0 2rem 0;
}
#message h4 {
  font-size: 1.4rem;
  font-weight: 300;
  padding: 2rem 0 0 0;
}
#message ol {
  font-size: 1.4rem;
  font-weight: 300;
  padding: 0;
}
#message ol li {
  list-style-position: inside;
}
@media screen and (max-width: 749px) {
  #message {
    margin: 0 auto 10rem auto;
    padding: 3rem 0;
  }
  #message * {
    width: 80%;
  }
  #message h3 {
    font-size: 1.9rem;
    font-weight: 400;
    padding: 4rem 0 1rem 0;
    text-align: center;
  }
  #message ol {
    width: 90% !important;
    font-size: 1.2rem;
  }
  #message ol li {
    list-style-position: inside;
    text-indent: -1.2rem;
    padding: 0;
  }
}
/*--------------------------------------------------------------------------*/
