@charset "UTF-8";
/* Generated by less 2.2.0 */
/* LESS Document */
div,
span,
h1,
h2,
h3,
h4,
h5,
h6,
p,
small,
strong,
ol,
ul,
li,
dl,
dt,
dd,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
nav,
section {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  letter-spacing: normal; }

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.5; }

li {
  list-style: none; }

p, dl, dt, dd {
  font-size: 16px;
  line-height: 1.8; }
  @media screen and (max-width: 768px) {
    p, dl, dt, dd {
      font-size: 15px; } }

span {
  display: inline-block; }

img {
  width: 100%; }

@media screen and (max-width: 768px) {
  .pc_only {
    display: none; } }

.sp_only {
  display: none; }
  @media screen and (max-width: 768px) {
    .sp_only {
      display: block; } }

/*---------------
modules
-----------------*/
section {
  padding-top: 50px;
  padding-left: 30px;
  padding-right: 30px;
  padding-bottom: 50px;
  position: relative;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    section {
      padding-top: 60px; } }
  section:before {
    content: "";
    background: url("../image/gear02.png");
    background-size: cover;
    width: 399px;
    height: 399px;
    position: absolute;
    z-index: -10;
    left: -106px; }
    @media screen and (max-width: 768px) {
      section:before {
        left: -230px; } }
  section:after {
    content: "";
    background: url("../image/gear01.png");
    background-size: cover;
    width: 470px;
    height: 470px;
    position: absolute;
    z-index: -10;
    right: -164px; }
    @media screen and (max-width: 768px) {
      section:after {
        right: -294px; } }

.h2_wrap {
  display: block;
  text-align: center;
  position: relative; }
.h2_wrap_noAnimation {
  display: block;
  text-align: center;
  position: relative; }

h2 {
  text-align: center;
  display: inline-block;
  font-size: 36px;
  color: #003085;
  font-weight: 600; }
  @media screen and (max-width: 768px) {
    h2 {
      font-size: 24px; } }

.h2_line {
  max-width: 480px;
  height: 1px;
  background: -webkit-gradient(linear, left top, right top, color-stop(34%, #becbe0), color-stop(34%, #043084), color-stop(67%, #043084), color-stop(67%, #becbe0));
  background: -webkit-linear-gradient(left, #becbe0 34%, #043084 34%, #043084 67%, #becbe0 67%);
  background: -o-linear-gradient(left, #becbe0 34%, #043084 34%, #043084 67%, #becbe0 67%);
  background: linear-gradient(to right, #becbe0 34%, #043084 34%, #043084 67%, #becbe0 67%);
  display: block;
  margin-right: auto;
  margin-left: auto; }

.h2_upper_text, .h2_lower_text {
  font-size: 20px;
  color: #003085;
  font-weight: 900; }
  @media screen and (max-width: 768px) {
    .h2_upper_text, .h2_lower_text {
      font-size: 16px; } }

.h2_lower_text {
  padding-top: 5px; }

h3 {
  text-align: center;
  display: inline-block;
  color: #003085;
  font-weight: 100;
  margin-bottom: 10px; }
  h3 span.fz36 {
    font-size: 36px; }
  h3 span.fz32 {
    font-size: 32px; }

.h3_wrap {
  display: block;
  text-align: center; }

.h3_line {
  max-width: 480px;
  height: 1px;
  background: -webkit-gradient(linear, left top, right top, color-stop(34%, #becbe0), color-stop(34%, #043084), color-stop(67%, #043084), color-stop(67%, #becbe0));
  background: -webkit-linear-gradient(left, #becbe0 34%, #043084 34%, #043084 67%, #becbe0 67%);
  background: -o-linear-gradient(left, #becbe0 34%, #043084 34%, #043084 67%, #becbe0 67%);
  background: linear-gradient(to right, #becbe0 34%, #043084 34%, #043084 67%, #becbe0 67%);
  display: block;
  margin-right: auto;
  margin-left: auto; }

.h3_upper_text, .h3_lower_text {
  font-size: 20px;
  color: #003085;
  font-weight: 100; }

.h3_lower_text {
  padding-top: 5px; }

.btn_area {
  text-align: center;
  margin-top: 30px; }
  .btn_area a {
    display: inline-block;
    background: #0e2f83;
    color: #fff;
    max-width: 384px;
    width: 100%;
    padding-top: 16px;
    padding-bottom: 16px;
    padding-left: 15px;
    padding-right: 15px;
    font-size: 16px;
    position: relative; }
    .btn_area a.external_link:after {
      content: url(../image/icon_blank_w.png);
      padding-left: 5px; }
    .btn_area a:before {
      position: absolute;
      margin: auto;
      display: block; }
    .btn_area a.arrow_right:before {
      content: url(../image/arrow_right.png);
      right: 0px;
      top: 0;
      bottom: 0;
      -webkit-transform: scale(0.3);
      -ms-transform: scale(0.3);
      transform: scale(0.3);
      padding-top: 5px;
      -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.4, 0.5, 0.34, 1.74) 0s;
      transition: -webkit-transform 0.5s cubic-bezier(0.4, 0.5, 0.34, 1.74) 0s;
      -o-transition: transform 0.5s cubic-bezier(0.4, 0.5, 0.34, 1.74) 0s;
      transition: transform 0.5s cubic-bezier(0.4, 0.5, 0.34, 1.74) 0s;
      transition: transform 0.5s cubic-bezier(0.4, 0.5, 0.34, 1.74) 0s, -webkit-transform 0.5s cubic-bezier(0.4, 0.5, 0.34, 1.74) 0s; }
    .btn_area a.arrow_right:hover:before {
      -webkit-transform: scale(0.3) translateX(10px);
      -ms-transform: scale(0.3) translateX(10px);
      transform: scale(0.3) translateX(10px); }
    .btn_area a.listening {
      max-width: 340px;
      background: -webkit-linear-gradient(30deg, transparent 15px, #0e2f83 16px), -webkit-linear-gradient(330deg, transparent 15px, #0e2f83 16px), -webkit-linear-gradient(210deg, transparent 15px, #0e2f83 16px), -webkit-linear-gradient(150deg, transparent 15px, #0e2f83 16px);
      background: -o-linear-gradient(30deg, transparent 15px, #0e2f83 16px), -o-linear-gradient(330deg, transparent 15px, #0e2f83 16px), -o-linear-gradient(210deg, transparent 15px, #0e2f83 16px), -o-linear-gradient(150deg, transparent 15px, #0e2f83 16px);
      background: linear-gradient(60deg, transparent 15px, #0e2f83 16px), linear-gradient(120deg, transparent 15px, #0e2f83 16px), linear-gradient(240deg, transparent 15px, #0e2f83 16px), linear-gradient(300deg, transparent 15px, #0e2f83 16px);
      background-position: bottom left, top left, top right, bottom right;
      background-size: 51% 51%;
      background-repeat: no-repeat;
      padding-left: 20px;
      cursor: pointer;
      overflow: hidden; }
      .btn_area a.listening:before {
        content: url(../image/listening.png);
        left: 20px;
        top: 0;
        bottom: 0;
        -webkit-transform: scale(0.7);
        -ms-transform: scale(0.7);
        transform: scale(0.7);
        padding-top: 12px; }
      .btn_area a.listening:after {
        content: "";
        position: absolute;
        margin: auto;
        display: block;
        opacity: 0;
        -webkit-transform: rotate(-25deg);
        -ms-transform: rotate(-25deg);
        transform: rotate(-25deg);
        border: 3px solid #fff;
        height: 0%;
        top: 0;
        bottom: 0;
        right: 0;
        left: 0;
        margin: auto;
        -webkit-transition: height 0.5s ease 0s, opacity 0.5s ease 0s;
        -o-transition: height 0.5s ease 0s, opacity 0.5s ease 0s;
        transition: height 0.5s ease 0s, opacity 0.5s ease 0s; }
      .btn_area a.listening:hover:after {
        height: 400%;
        -webkit-transform: rotate(-35deg);
        -ms-transform: rotate(-35deg);
        transform: rotate(-35deg);
        opacity: 0.7; }
    .btn_area a.purchase {
      max-width: 490px;
      background: -webkit-linear-gradient(30deg, transparent 0px, #0e2f83 0px), -webkit-linear-gradient(330deg, transparent 10px, #0e2f83 11px), -webkit-linear-gradient(210deg, transparent 0px, #0e2f83 0px), -webkit-linear-gradient(150deg, transparent 10px, #0e2f83 11px);
      background: -o-linear-gradient(30deg, transparent 0px, #0e2f83 0px), -o-linear-gradient(330deg, transparent 10px, #0e2f83 11px), -o-linear-gradient(210deg, transparent 0px, #0e2f83 0px), -o-linear-gradient(150deg, transparent 10px, #0e2f83 11px);
      background: linear-gradient(60deg, transparent 0px, #0e2f83 0px), linear-gradient(120deg, transparent 10px, #0e2f83 11px), linear-gradient(240deg, transparent 0px, #0e2f83 0px), linear-gradient(300deg, transparent 10px, #0e2f83 11px);
      background-position: bottom left, top left, top right, bottom right;
      background-size: 51% 51%;
      background-repeat: no-repeat;
      padding-right: 30px; }

.three_image {
  max-width: 835px;
  width: 100%;
  margin: 20px auto 0; }

.comment {
  font-size: 13px; }
  .comment p {
    font-size: 13px; }

.comment_small {
  font-size: 11px; }
  .comment_small p {
    font-size: 11px; }

.lead_text {
  text-align: center; }

.w780 {
  max-width: 780px;
  width: 100%;
  margin-left: auto;
  margin-right: auto; }

.w835 {
  max-width: 835px;
  width: 100%;
  margin-left: auto;
  margin-right: auto; }

.col_wrap {
  overflow: hidden; }

.leftArea {
  float: left; }

.rightArea {
  float: right; }

.marker_blue {
  background-color: #b6fffe;
  color: #003085; }
  .marker_blue.pd {
    padding-left: 5px;
    padding-right: 5px; }
  .marker_blue.pdAll {
    padding-left: 5px;
    padding-right: 5px;
    padding-top: 3px;
    padding-bottom: 2px; }

.marker_orange {
  background-color: #e6534f;
  color: #fff; }
  .marker_orange.pd {
    padding-left: 5px;
    padding-right: 5px; }
  .marker_orange.pdAll {
    padding-left: 5px;
    padding-right: 5px;
    padding-top: 3px;
    padding-bottom: 2px; }

.fzL {
  font-size: 20px; }

.external_link_text:after {
  content: "";
  display: inline-block;
  width: 10px;
  height: 9px;
  margin-left: 5px;
  background: url(../image/icon_blank_g.png);
  background-size: cover;
  background-repeat: no-repeat; }

/*---------------
#hero
-----------------*/
#hero h1 {
  margin-top: 0; }
  @media screen and (max-width: 817px) {
    #hero h1 {
      padding-left: 0;
      padding-right: 0; } }

/*---------------
#all_container
-----------------*/
#all_container {
  max-width: 960px;
  background-image: url(../image/bg_pattern.png);
  background-size: 5%;
  margin-left: auto;
  margin-right: auto;
  padding-top: 35px;
  padding-bottom: 100px;
  display: block;
  position: relative;
  line-height:1.8; }
  @media screen and (max-width: 768px) {
    #all_container {
      padding-top: 15px; } }
/*---------------
#news
-----------------*/
#news{
  /*padding-left: 40px;
  padding-right: 40px;*/
}
#news a{
  color: #000;
}
.news_wrap{
  margin-top: 33px;
  /*margin-bottom: 80px;*/
}
@media screen and (max-width: 768px) {
  .news_wrap{
    margin-left: -30px;
    margin-right: -30px;
  }
}
.news_item{
  display: inline-block;
  width: calc(100% / 3);
  max-width:300px;
  padding-left: 10px;
  padding-right: 10px;
  box-sizing:border-box;
  position:relative;
  vertical-align:bottom;
}
@media screen and (max-width: 989px) {
  .news_item{
    width: calc(99% / 3);
  }
}
@media screen and (max-width: 768px) {
  .news_item{
    padding-left: 20px;
    padding-right: 20px;
  }
}
.news_item:before{
  content:"";
  position:absolute;
  top:-4px;
  left:21px;
  width: 40px;
  height: 4px;
  background:url(../image/news_bg.png);
  background-repeat:no-repeat;
  background-size:100%;
}
.news_item:after{
  content:"";
  position:absolute;
  bottom:-4px;
  right:21px;
  width: 40px;
  height: 4px;
  background:url(../image/news_bg.png);
  transform:rotate(180deg);
  background-repeat:no-repeat;
  background-size:100%;
}
.news_item img{
  border:1px solid #0e3083; 
}
.news_item_text{
  border-left:1px solid #0e3083; 
  border-right:1px solid #0e3083; 
  border-bottom:1px solid #0e3083;
  padding-top: 15px;
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 30px;
  min-height:130px;
  background-color: #fff;
  position:relative;
}
@media screen and (max-width: 768px) {
  .news_item_text{
    padding-top: 10px;
    padding-left: 15px;
    padding-right: 15px;
  }
}
.news_item_text p{
  line-height:1.375;
}
 @media screen and (max-width: 768px) {
  .news_item_text p{
    line-height:1.5;
    font-size: 13px;
  }  
 }
.news_item_date{
  position:absolute;
  left:0px;
  bottom:10px;
  color: #003085;
  display: block;
  margin-left: 20px;
  margin-right: 20px;
  width: calc(100% - 40px);
  line-height:28px;
  background:url(../image/news-date_bg.png);
  background-repeat:no-repeat;
  background-size:100%;
  background-position:50% 0%; 
}
 @media screen and (max-width: 768px) {
   .news_item_date{
     margin-left: 15px;
     margin-right: 15px;
     width: calc(100% - 30px);
   }
 }
/*.news_item_date:before{
  content:"";
  position:absolute;
  bottom:-4px;
  right:21px;
  width: 40px;
  height: 4px;
  background:url(../image/news_bg.png);
  transform:rotate(180deg);
  background-repeat:no-repeat;
  background-size:100%;
}*/
.new_mark{
  color: #fff;
  background-color: #D00018;
  line-height:1;
  padding: 2px 5px 0px;
  margin-right: 5px;
}

/*---------------
#nav
-----------------*/
#nav {
  font-size: 16px;
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px; }
  #nav ul li {
    width: calc(95.4%/3);
    display: inline-block;
    text-align: center;
    background: -webkit-linear-gradient(45deg, transparent 8px, #0e2f83 8px), -webkit-linear-gradient(315deg, transparent 8px, #0e2f83 8px), -webkit-linear-gradient(225deg, transparent 8px, #0e2f83 8px), -webkit-linear-gradient(135deg, transparent 8px, #0e2f83 8px);
    background: -o-linear-gradient(45deg, transparent 8px, #0e2f83 8px), -o-linear-gradient(315deg, transparent 8px, #0e2f83 8px), -o-linear-gradient(225deg, transparent 8px, #0e2f83 8px), -o-linear-gradient(135deg, transparent 8px, #0e2f83 8px);
    background: linear-gradient(45deg, transparent 8px, #0e2f83 8px), linear-gradient(135deg, transparent 8px, #0e2f83 8px), linear-gradient(225deg, transparent 8px, #0e2f83 8px), linear-gradient(315deg, transparent 8px, #0e2f83 8px);
    background-position: bottom left, top left, top right, bottom right;
    background-size: 51% 51%;
    background-repeat: no-repeat;
    position: relative; }
    #nav ul li + li {
      margin-left: 2.3%; }
      @media screen and (max-width: 768px) {
        #nav ul li + li {
          margin-left: 0;
          margin-top: 10px; } }
    #nav ul li a {
      color: #fff;
      padding-top: 13px;
      padding-bottom: 13px;
      display: block; }
      #nav ul li a:hover:before {
        -webkit-transform: scale(0.3) translateY(10px);
        -ms-transform: scale(0.3) translateY(10px);
        transform: scale(0.3) translateY(10px); }
      #nav ul li a:before {
        content: url(../image/arrow.png);
        position: absolute;
        color: #fff;
        right: 0px;
        top: 0;
        bottom: 0;
        margin: auto;
        -webkit-transform: scale(0.3);
        -ms-transform: scale(0.3);
        transform: scale(0.3);
        display: block;
        padding-top: 2px;
        -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.4, 0.5, 0.34, 1.74) 0s;
        transition: -webkit-transform 0.5s cubic-bezier(0.4, 0.5, 0.34, 1.74) 0s;
        -o-transition: transform 0.5s cubic-bezier(0.4, 0.5, 0.34, 1.74) 0s;
        transition: transform 0.5s cubic-bezier(0.4, 0.5, 0.34, 1.74) 0s;
        transition: transform 0.5s cubic-bezier(0.4, 0.5, 0.34, 1.74) 0s, -webkit-transform 0.5s cubic-bezier(0.4, 0.5, 0.34, 1.74) 0s; }
      #nav ul li a.label_adj {
        padding-right: 20px; }
    @media screen and (max-width: 768px) {
      #nav ul li {
        width: 100%; } }
/*---------------
#movie_sao
-----------------*/
#movie_sao{
  padding-bottom: 10px;
}
#movie_sao:after{
  display: none;
}

.movie_text{
  margin-top: 20px;
  /*margin-bottom: 10px;*/
}

/*---------------
#product
-----------------*/
#product:before {
  display: none; }

#product:after {
  top: 18%;
  -webkit-animation: gear_round 20s linear 0s infinite;
  animation: gear_round 20s linear 0s infinite; }

#product .lead_text {
  margin-top: 25px; }

#product .comment {
  text-align: center;
  margin-top: 20px; }

/*---------------
#app
-----------------*/
#app:before {
  top: 9%; }

#app:after {
  bottom: 5%; }

#app .lead_text {
  margin-top: 10px; }

#app .col_wrap {
  margin-top: 30px; }
  #app .col_wrap .leftArea {
    width: 53.92307692307692%; }
    @media screen and (max-width: 768px) {
      #app .col_wrap .leftArea {
        width: 100%; } }
  #app .col_wrap .rightArea {
    width: 44.87179487179487%; }
    @media screen and (max-width: 768px) {
      #app .col_wrap .rightArea {
        width: 100%; } }

#app .comment {
  margin-top: 20px; }

#app .app_info {
  text-align: center;
  margin-top: 15px; }
  #app .app_info p {
    display: inline-block;
    margin-bottom: 5px; }

.listening_title {
  background-image: url(../image/listening_title_pattern.png);
  display: block;
  max-width: 198px;
  height: 30px;
  vertical-align: top;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  border-radius: 10px;
  margin-bottom: 15px;
  color: #003085;
  font-weight: 900; }
  .listening_title:before {
    content: "";
    background-image: url(../image/listening_title_left_bracket.png);
    background-size: cover;
    display: inline-block;
    width: 13px;
    height: 30px;
    position: absolute;
    top: 0;
    left: 0; }
  .listening_title:after {
    content: "";
    background-image: url(../image/listening_title_right_bracket.png);
    background-size: cover;
    display: inline-block;
    position: absolute;
    width: 13px;
    height: 30px;
    top: 0;
    right: 0; }
.youtube_movie{
  margin-top: 40px;
  /*margin-bottom: 40px;*/
}
@media screen and (max-width: 768px) {
  .youtube_movie{
    margin-bottom: 0;
  }
}
/*---------------
#package
-----------------*/
#package:before {
  top: 6%; }

#package:after {
  bottom: 32%;
  -webkit-animation: gear_round 20s linear 0s infinite;
  animation: gear_round 20s linear 0s infinite; }
  @media screen and (max-width: 768px) {
    #package:after {
      top: 38%; } }

#package .lead_text {
  margin-top: 10px; }

#package .three_image {
  margin-bottom: 40px;
  text-align: left; }
  @media screen and (max-width: 768px) {
    #package .three_image {
      margin-bottom: 80px; } }
  #package .three_image .three_item {
    display: inline-block;
    vertical-align: top;
    width: calc(92%/3);
    position: relative;
    cursor: pointer; }
    @media screen and (max-width: 768px) {
      #package .three_image .three_item {
        width: calc(92%/2); } }
    #package .three_image .three_item:after {
      position: absolute;
      right: 0;
      left: 0;
      bottom: -30px;
      margin: auto;
      width: 104px; }
    #package .three_image .three_item + .three_item {
      margin-left: 3%; }
    #package .three_image .three_item.three_left:after {
      content: "パッケージ（表）"; }
    #package .three_image .three_item.three_center {
      margin-top: 70px; }
      #package .three_image .three_item.three_center:after {
        bottom: inherit;
        top: -30px;
        content: "パッケージ（中）"; }
    #package .three_image .three_item.three_right:after {
      content: "リングサポーター（レッド）";
      width: 169px; }
    @media screen and (max-width: 768px) {
      #package .three_image .three_item.three_right {
        margin-top: -30px;
        margin-left: 20px; } }
    #package .three_image .three_item .package_frame {
      width: auto;
      top: 0;
      bottom: 0;
      right: 0;
      left: 0;
      margin: auto;
      -webkit-transition: -webkit-transform 0.2s linear 0s;
      transition: -webkit-transform 0.2s linear 0s;
      -o-transition: transform 0.2s linear 0s;
      transition: transform 0.2s linear 0s;
      transition: transform 0.2s linear 0s, -webkit-transform 0.2s linear 0s; }
    #package .three_image .three_item .package_item {
      position: absolute;
      max-height: 200px;
      max-width: 200px;
      width: auto;
      top: 0;
      bottom: 0;
      right: 0;
      left: 0;
      margin: auto; }
      @media screen and (max-width: 768px) {
        #package .three_image .three_item .package_item {
          max-height: 34vw;
          max-width: 34vw; } }
    #package .three_image .three_item:hover .package_frame {
      -webkit-transform: rotate(180deg) scale(1.05);
      -ms-transform: rotate(180deg) scale(1.05);
      transform: rotate(180deg) scale(1.05); }

#package .comment {
  text-align: center; }

/*---#purchase----*/
#purchase {
  margin-top: 70px;
  border: 3px solid #082b5f;
  max-width: 900px;
  margin-right: auto;
  margin-left: auto;
  background-color: #fff;
  position: relative; }
  #purchase:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 50px;
    height: 195px;
    background: url(../image/top_left.png);
    background-size: cover; }
  #purchase:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 169px;
    height: 105px;
    background: url(../image/top_right.png);
    background-size: cover; }
  #purchase span {
    display: inline-block;
    line-height: 1.1; }
  #purchase .purchase_wrap {
    padding-top: 34px;
    padding-bottom: 41px;
    padding-left: 10px;
    padding-right: 10px;
    position: relative;
    z-index: 9; }
    #purchase .purchase_wrap:before {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      width: 169px;
      height: 105px;
      background: url(../image/bottom_left.png);
      background-size: cover; }
    #purchase .purchase_wrap:after {
      content: "";
      position: absolute;
      bottom: 0;
      right: 0;
      width: 50px;
      height: 195px;
      background: url(../image/bottom_right.png);
      background-size: cover; }
    #purchase .purchase_wrap .col_wrap {
      max-width: 780px;
      width: 100%;
      margin-left: auto;
      margin-right: auto;
      /*margin-top: 45px;*/
      margin-top: 70px;
      margin-bottom: 70px; }
      #purchase .purchase_wrap .col_wrap:after {
        content: "";
        display: block;
        clear: both; }
      #purchase .purchase_wrap .col_wrap .rightArea {
        width: 62.82051282051282%; }
        @media screen and (max-width: 768px) {
          #purchase .purchase_wrap .col_wrap {
            margin-top:10px;
            margin-bottom: 0px;
          }
          #purchase .purchase_wrap .col_wrap .rightArea {
            width: 100%; } }
        #purchase .purchase_wrap .col_wrap .rightArea dl {
          padding-left: 5.769230769230769%;
          margin-bottom: 30px; }
          @media screen and (max-width: 768px) {
            #purchase .purchase_wrap .col_wrap .rightArea dl {
              padding-right: 29%; }
              #purchase .purchase_wrap .col_wrap .rightArea dl:first-child {
                padding-right: 35%; } }
          #purchase .purchase_wrap .col_wrap .rightArea dl dt {
            display: inline-block;
            margin-left: -5px;
            font-weight: 900;
            margin-bottom: 15px;
            color: #003085; }
        #purchase .purchase_wrap .col_wrap .rightArea .comment_small {
          padding-left: 5.769230769230769%; }
        #purchase .purchase_wrap .col_wrap .rightArea .purchase_btn_title {
          display: inline-block;
          margin-top: 5px;
          margin-bottom: 20px;
          color: #003085; }
    #purchase .purchase_wrap .purchase_visual {
      position: absolute;
      /*width: 42.77777777777777%; 
      width: 38.778%; */
      width: 35.5%;
      bottom: -2.1%;
      /*left: -2.333333%;
      left: -2.1%; */
      left: 1%;
      z-index: 10; }
      @media screen and (max-width: 768px) {
        #purchase .purchase_wrap .purchase_visual {
          bottom: inherit;
          /*top: 24%;*/
          top: 40%;
          /*right: 3px;*/
          right: 5px;
          left: inherit;
          /*width: 29%;*/
          width: 38%; } } }
    #purchase .purchase_wrap .purchase_visual_spbg {
      display: none; }
      @media screen and (max-width: 768px) {
        #purchase .purchase_wrap .purchase_visual_spbg {
          position: absolute;
          display: block;
          max-height: 844px;
          width: auto;
          z-index: -9;
          bottom: 0;
          right: 0;
          left: 0;
          top: 0;
          margin: auto;
          opacity: 0.3;
          overflow: hidden; }
          #purchase .purchase_wrap .purchase_visual_spbg img {
            width: 100%;
            position: absolute;
            z-index: -9;
            right: 0;
            left: -88px;
            top: 10%;
            margin: auto; } }
  /*#purchase .btn_area{
    visibility:hidden;
  }*/
  /*@media screen and (max-width: 768px) {
    #purchase .btn_area{
      display: none;
    }
  }*/
/*---------------
#exhibition
-----------------*/
#exhibition:before {
  display: none; }

#exhibition:after {
  display: none; }

#exhibition .wrap {
  max-width: 900px;
  width: 100%;
  margin-left: auto;
  margin-right: auto; }

#exhibition .exhibition_title {
  font-size: 24px;
  margin-bottom: 10px; }
  @media screen and (max-width: 768px) {
    #exhibition .exhibition_title {
      font-size: 22px; } }

/*---------------
#about_sao
-----------------*/
#about_sao {
  padding-bottom: 60px; }
  #about_sao:before {
    top: 5%; }
  #about_sao:after {
    display: none; }
  #about_sao .wrap {
    max-width: 900px;
    width: 100%;
    margin-left: auto;
    margin-right: auto; }
  #about_sao h2 {
    font-size: 24px; }
    @media screen and (max-width: 768px) {
      #about_sao h2 {
        font-size: 22px; } }
  #about_sao p.about_title {
    font-size: 20px;
    color: #003085;
    font-weight: 900;
    margin-top: 30px;
    margin-bottom: 10px; }
    @media screen and (max-width: 768px) {
      #about_sao p.about_title {
        font-size: 18px;
        margin-top: 20px; } }
  #about_sao p {
    font-size: 13px; }

/*---------------
#footer
-----------------*/
#footer {
  margin-top: 0; }

/*---------------
#scroll_top
-----------------*/
#scroll_top {
  position: absolute;
  right: 30px;
  bottom: 30px;
  width: 93px;
  height: 105px; }
  @media screen and (max-width: 768px) {
    #scroll_top {
      right: 0;
      left: 0;
      margin: auto; } }
  #scroll_top .pagetop_arrow {
    position: absolute;
    top: 0;
    left: 0; }
  #scroll_top .pagetop_bg {
    -webkit-transition: -webkit-transform 0.3s ease 0s;
    transition: -webkit-transform 0.3s ease 0s;
    -o-transition: transform 0.3s ease 0s;
    transition: transform 0.3s ease 0s;
    transition: transform 0.3s ease 0s, -webkit-transform 0.3s ease 0s; }
  #scroll_top:hover .pagetop_bg {
    -webkit-transform: scale(1.1) rotate(360deg);
    -ms-transform: scale(1.1) rotate(360deg);
    transform: scale(1.1) rotate(360deg); }

/*---------------
#animation
-----------------*/
#h2_title01 {
  visibility: hidden; }

#h2_title02 {
  visibility: hidden; }

#h2_title03 {
  visibility: hidden; }

#kira_wrap {
  position: fixed;
  max-width: 960px;
  width: 100%;
  height: 100vh;
  top: 0;
  overflow: hidden;
  z-index: -99; }

.kira_deafult {
  -webkit-animation: kira_default 10s linear infinite;
  animation: kira_default 10s linear infinite;
  bottom: -30px;
  opacity: 0.5; }

@-webkit-keyframes kira_default {
  0% {
    -webkit-transform: rotate(0deg) rotateY(0deg);
    transform: rotate(0deg) rotateY(0deg);
    opacity: 0; }
  50% {
    opacity: 0.7; }
  100% {
    -webkit-transform: rotate(180deg) rotateY(80deg);
    transform: rotate(180deg) rotateY(80deg);
    opacity: 0; } }

@keyframes kira_default {
  0% {
    -webkit-transform: rotate(0deg) rotateY(0deg);
    transform: rotate(0deg) rotateY(0deg);
    opacity: 0; }
  50% {
    opacity: 0.7; }
  100% {
    -webkit-transform: rotate(180deg) rotateY(80deg);
    transform: rotate(180deg) rotateY(80deg);
    opacity: 0; } }

@-webkit-keyframes gear_round {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes gear_round {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

#canvas {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  z-index: -9; }
/*---------------
初回受注終了対応
-----------------*/
.red{
  color:red;
  margin-bottom: 30px;
}
.btn_area a.purchase.grayout{
  background: -webkit-linear-gradient(30deg, transparent 0px, #ccc 0px), -webkit-linear-gradient(330deg, transparent 10px, #ccc 11px), -webkit-linear-gradient(210deg, transparent 0px, #ccc 0px), -webkit-linear-gradient(150deg, transparent 10px, #ccc 11px);
      background: -o-linear-gradient(30deg, transparent 0px, #ccc 0px), -o-linear-gradient(330deg, transparent 10px, #ccc 11px), -o-linear-gradient(210deg, transparent 0px, #ccc 0px), -o-linear-gradient(150deg, transparent 10px, #ccc 11px);
      background: linear-gradient(60deg, transparent 0px, #ccc 0px), linear-gradient(120deg, transparent 10px, #ccc 11px), linear-gradient(240deg, transparent 0px, #ccc 0px), linear-gradient(300deg, transparent 10px, #ccc 11px);
      background-position: bottom left, top left, top right, bottom right;
      background-size: 51% 51%;
      background-repeat: no-repeat;
      cursor:inherit;
      pointer-events: none;
}
.btn_area a.purchase.grayout:before{
  display: none;
}

/*---------------
再受注対応
-----------------*/
.btn_area a.purchase.gray{
  background: -webkit-linear-gradient(30deg, transparent 0px, #4d515b 0px), -webkit-linear-gradient(330deg, transparent 10px, #4d515b 11px), -webkit-linear-gradient(210deg, transparent 0px, #4d515b 0px), -webkit-linear-gradient(150deg, transparent 10px, #4d515b 11px);
      background: -o-linear-gradient(30deg, transparent 0px, #4d515b 0px), -o-linear-gradient(330deg, transparent 10px, #4d515b 11px), -o-linear-gradient(210deg, transparent 0px, #4d515b 0px), -o-linear-gradient(150deg, transparent 10px, #4d515b 11px);
      background: linear-gradient(60deg, transparent 0px, #4d515b 0px), linear-gradient(120deg, transparent 10px, #4d515b 11px), linear-gradient(240deg, transparent 0px, #4d515b 0px), linear-gradient(300deg, transparent 10px, #4d515b 11px);
      background-position: bottom left, top left, top right, bottom right;
      background-size: 51% 51%;
      background-repeat: no-repeat;
}
.btn_area.about_product{
  text-align:center;
}
.btn_area.about_product a{
  /*display: block;*/
  margin-top: 15px;
}
.purchase_attention{
  margin: 20px 0 30px   ;
  text-align:center;
}
.purchase_attention__item{
  display: inline-block;
  font-size: 26px;
  letter-spacing:0.15em;
  color: #fff;
  background-color: #D5001A;  
  padding: 8px 50px 6px;
  line-height:1;
}
@media screen and (max-width: 768px) {
  .purchase_attention{
    padding-left: 5.769230769230769%; 
    text-align:left;
  }
  .purchase_attention__item{
    font-size: 24px;
    padding-left: 30px;  
    padding-right: 30px; 
  }
}