@charset "UTF-8";
ul {
  margin: 0 auto;
  list-style: none; }

a {
  text-decoration: none;
  color: #000;
  -webkit-transition: opacity 0.5s ease;
  -o-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease; }

a:hover {
  opacity: 0.8; }

.wrapper {
  width: 100%;
  max-width: 1080px;
  margin: 0px auto 0; }

.wrapper section {
  position: relative; }

.wrapper .main_img {
  position: relative; }

.wrapper .main_img a {
  position: absolute; }

.wrapper .main_img .tel {
  top: 28px;
  right: 258px; }

.wrapper .main_img .line {
  top: 0;
  right: 0; }

.wrapper .main_img .parts {
  position: absolute;
  top: 522px;
  left: 708px;
  width: 336px; }

.wrapper .offer a {
  display: block;
  position: absolute;
  z-index: 1;
  bottom: 513px;
  left: 47px;
  width: 980px; }

.wrapper .offer_02 a {
  display: block;
  position: absolute;
  z-index: 1;
  bottom: 529px;
  left: 57px;
  width: 980px; }

.wrapper .s1 {
  margin: -16px 0 0;
  position: relative;
  z-index: 1; }

.wrapper .offer_01 .parts {
  position: absolute;
  top: 300px;
  left: 225px;
  width: 295px; }

.wrapper .s2 {
  margin: -60px 0 0;
  position: relative; }

.wrapper .s2 .gif {
  position: absolute;
  top: 6654px;
  left: 88px; }

.wrapper .offer_02 .parts {
  position: absolute;
  top: 702px;
  left: 225px;
  width: 295px; }

.wrapper .s3 .video_box {
  position: absolute;
  top: 200px;
  left: 0;
  width: 854px;
  margin: 0 auto;
  right: 0;
  height: 480px; }

.wrapper .s4 .parts {
  position: absolute;
  top: 4756px;
  left: 225px;
  width: 295px; }

.wrapper .s5 .btn {
  position: absolute;
  left: 322px;
  top: 537px; }

footer nav {
  text-align: center;
  padding: 40px 65px 0; }

footer nav li {
  display: inline-block;
  font-size: 32px;
  line-height: 40px;
  letter-spacing: 3.68px;
  color: #333;
  font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  padding: 0 20px 15px; }

footer nav li a {
  vertical-align: middle;
  display: inline-block;
  font-weight: normal; }

footer nav li:before {
  content: "▶";
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
  font-size: 18px; }

footer .copyright {
  margin: 25px 0 0;
  text-align: center;
  font-size: 25px;
  background: #333;
  padding: 28px 0;
  color: #fff; }

.wrapper .sp .main_img .parts {
  position: absolute;
  top: 29%;
  left: 68%;
  width: 27%; }

.wrapper .sp .s2 {
  margin: -4% 0px 0;
  position: relative; }

.wrapper .sp .s2 .gif {
  position: absolute;
  top: 61.6%;
  left: 8%;
  width: 84%; }

.wrapper .sp .offer_01 a {
  display: block;
  position: absolute;
  z-index: 1;
  bottom: 32%;
  left: 5%;
  width: 90%; }

.wrapper .sp .offer_02 a {
  display: block;
  position: absolute;
  z-index: 1;
  bottom: 25% !important;
  left: 5% !important;
  width: 90% !important; }

.wrapper .sp .offer_02 .parts {
  position: absolute;
  top: 57.8%;
  left: 39px;
  width: 80%; }

.wrapper .sp .s3 .video_box {
  position: absolute;
  top: 66px;
  left: 0;
  width: 80%;
  margin: 0 auto;
  right: 0;
  height: 480px; }

.wrapper .sp .offer_01 .parts {
  position: absolute;
  top: 18%;
  left: 21%;
  width: 27%; }

.wrapper .sp .s4 .parts {
  position: absolute;
  top: 77.4%;
  left: 20.7%;
  width: 27.6%; }

.wrapper .sp .s4 a {
  display: block;
  position: absolute;
  z-index: 1;
  bottom: 8.1%;
  left: 5%;
  width: 90%; }

.sp footer nav {
  padding: 10px; }
  .sp footer nav ul li {
    line-height: 20px;
    font-size: 14px; }
    .sp footer nav ul li:before {
      margin-right: 3px; }

.sp footer p.copyright {
  font-size: 10px;
  margin: 0; }
