@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Comfortaa');

body{
  font-family:sans-serif;
}

@supports (-webkit-touch-callout: none) {
  body {
    /* The hack for Safari */
    min-height: 100vh;
    height: -webkit-fill-available;
  }
}


a {
  text-decoration: none;
  color: #222;
}

.ttl {
  font-size: 25px;
  color: #333;
  font-weight: bold;
  margin: 10px 0;
  padding: 10px 10px;
  text-align: center;
  font-family: 'Comfortaa';
}

/* =================================
             NAVI
================================= */
header{
  z-index: 999;
  position: fixed;
  top: 0;
  left: 0;
  width: 94%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fff;
  box-shadow: 0 5px 15px rgb(0 0 0 / 10%);
  padding: 0 3%;
  transition: 0.6s;
  font-size: 14px;
}

header .logo{
  color: #fff;
  font-size: 1.8em;
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none;
  letter-spacing: 2px;
}

header .logo img{
  height: 25px;
}

header .navigation{
  position: relative;
  line-height: 75px;
  transition: 0.6s;
  transition-property: line-height;
}

header.sticky .navigation{
  line-height: 60px;
}

header .navigation .menu{
  position: relative;
  display: flex;
  justify-content: center;
  list-style: none;
  user-select: none;
}

.menu-item > a{
  color: #333;
  font-size: 12px;
  text-decoration: none;
  margin: 20px;
  padding: 25px 0;
}

.menu-item > a:hover{
  color: #ae917c;
  transition: 0.3s;
}

.menu-item .sub-menu{
  position: absolute;
  background: #fff;
  top: 74px;
  line-height: 40px;
  list-style: none;
  border-radius: 0 0 8px 8px;
  box-shadow: 0 5px 25px rgb(0 0 0 / 20%);
  pointer-events: none;
  transform: translateY(20px);
  opacity: 0;
  transition: 0.3s;
  transition-property: transform, opacity;
}

header.sticky .menu-item .sub-menu{
  top: 60px;
}

.menu-item:hover .sub-menu{
  pointer-events: all;
  transform: translateY(0);
  opacity: 1;
}

.menu-item .sub-menu .sub-item{
  position: relative;
  padding: 7px 0;
  cursor: pointer;
  box-shadow: inset 0px -30px 5px -30px rgba(255, 255, 255, 0.2);
}

.menu-item .sub-menu .sub-item a{
  color: #333;
  font-size: 12px;
  text-decoration: none;
  padding: 15px 30px;
}

.menu-item .sub-menu .sub-item:hover{
  background: #f2f2f2;
}

.menu-item .sub-menu .sub-item:last-child:hover{
  border-radius: 0 0 8px 8px;
}

.more .more-menu{
  position: absolute;
  background: #fff;
  list-style: none;
  top: 0;
  left: 100%;
  white-space: nowrap;
  border-radius: 0 8px 8px 8px;
  overflow: hidden;
  pointer-events: none;
  transform: translateY(20px);
  opacity: 0;
  transition: 0.3s;
  transition-property: transform, opacity;
}

.more:hover .more-menu{
  pointer-events: all;
  transform: translateY(0);
  opacity: 1;
}

.more .more-menu .more-item{
  padding: 7px 0;
  box-shadow: inset 0px -30px 5px -30px rgba(255, 255, 255, 0.2);
  transition: 0.3s;
}

.more .more-menu .more-item:hover{
  background: #4080EF;
}

.menu-btn{
  display: none;
}

@media (max-width: 766px){
  header .navigation .menu{
    position: fixed;
    display: block;
    background: #fff;
    min-width: 350px;
    height: 100vh;
    top: 0;
    right: -100%;
    padding: 90px 2%;
    visibility: hidden;
    overflow-y: auto;
    transition: 0.5s;
    transition-property: right, visibility;
  }

  header.sticky .navigation{
    line-height: 75px;
  }

  header .navigation .menu.active{
    right: 0;
    visibility: visible;
  }

  .menu-item{
    position: relative;
  }

  .menu-item .sub-menu{
    width: 95%;
    opacity: 1;
    position: relative;
    top: 0;
    transform: translateX(10px);
    background: rgba(255, 255, 255, 0.1);
    border-radius: 5px;
    overflow: hidden;
    display: none;
  }

  header.sticky .menu-item .sub-menu{
    top: 0;
  }

  .menu-item:hover .sub-menu{
    transform: translateX(10px);
  }

  .menu-item .sub-menu .sub-item{
    box-shadow: none;
  }

  .menu-item .sub-menu .sub-item:hover{
    background: none;
  }

  .menu-item .sub-menu .sub-item a:hover{
    color: #4080EF;
    transition: 0.3s;
  }

  .more .more-menu{
    opacity: 1;
    position: relative;
    left: 0;
    transform: translateY(0);
    background: rgba(255, 255, 255, 0.1);
    border-radius: 5px;
    display: none;
  }

  .more .more-menu .more-item{
    box-shadow: none;
  }

  .more .more-menu .more-item:hover{
    background: none;
  }

  .more .more-menu .more-item a{
    margin-left: 20px;
  }

  .close-btn{
    position: absolute;
    background: url(close.png)no-repeat;
    width: 40px;
    height: 40px;
    background-size: 25px;
    background-position: center;
    top: 0;
    left: 0;
    margin: 25px;
    cursor: pointer;
  }

  .menu-btn{
    background: url(menu.png)no-repeat;
    width: 40px;
    height: 40px;
    background-size: 30px;
    background-position: center;
    cursor: pointer;
    display: block;
  }

  header{
    padding: 0px 2%;
    width: 96%;
    height: 75px;
  }

  header.sticky{
    padding: 0px 2%;
    width: 96%;
    height: 75px;
  }
}

/* =================================
             HEADER
================================= */

.main-visual{
  width: 100%;
  background: url('../images/background.jpg') center center/cover no-repeat;
  /*margin-top: 59px;*/
  position: relative;
  height: calc(var(--vh, 1vh) * 100);
}

.main-visual .main-visual-logo{
  position: absolute;
  width: 30%;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  margin:0;
  padding:0;
  text-align: center;
}

.main-visual .main-visual-logo img{
  width: 100%;
  filter: drop-shadow(1px 1px 3px #444);
}

/*.main-visual canvas {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 50px;
  vertical-align: top;
}*/

canvas {
  position: relative;
  bottom: 0px;
  width: 100%;
  height: 100px;/*120*/
  vertical-align: top;
  margin-top: -100px;/*-120*/
}

@media only screen and (max-width: 766px) {
  .main-visual .main-visual-logo{
    width: 60%;
  }

}

/* =================================
             CONCEPT
================================= */
#concept{
  margin-top: 100px;
  background: #e6e5e1;
}

#concept .container{
  display: flex;
  justify-content: flex-start;
  align-items: center;
  background: #e6e5e1;
}

#concept .container .block-left{
  position: relative;
  width: calc(50vw - 10px);
  height: 400px;
  margin-top: -26px;
  background: #f2f2f2;
  background: #f2f2f2;
  /*background: url(../images/about-images01.jpg) 50%/cover no-repeat;*/
}

#concept .container .block-left video{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  top: 0;
  left: 0;
  overflow: hidden;
}

#concept .container .block-left-imgbox{
  position: absolute;
  bottom: -50px;
  right: -50px;
  width: 225px;
  height: 125px;
  background: #ccc;
  background: url(../images/about-images02.png) 50%/cover no-repeat;
}

#concept .container .block-right{
  align-self: flex-end;
  width: 400px;
  margin-left: 6rem;
  text-align: center;
}

#concept .container .block-right h3{
  margin-bottom: 30px;
  font-family: 'Comfortaa';
  color: #333;
  font-size: 25px;
  font-weight: bold;
  letter-spacing: .1em;
}

#concept .container .block-right p{
  width: 100%;
  color: #333;
  text-align: left;
  line-height: 200%;
  letter-spacing: 2px;
  margin-bottom: 50px;
  font-size: 14px;
}

#concept .container .block-right a{
  color: #fff;
  background: #3c4043;
  border: none;
  position: relative;
  min-width: 230px;
  padding: 10px 80px;
  font-size: 14px;
  transition: .3s;
}

#concept .container .block-right a:hover{
  opacity: 0.6;
}

@media only screen and (max-width: 766px) {
  #concept .container{
    display: block;
  }
  #concept .container .block-left {
    width: 100%;
    display: block;
  }
  #concept .container .block-right {
    width: 96%;
    padding: 50px 2% 10px 2%;
    margin-left: 0rem;
    display: block;
  }
  #concept .container .block-left-imgbox{
    display: none;
  }
}

#concept .container-while{
  height: 100px;
  background: #e6e5e1;
}

#concept .block-imgbox{
  display:flex;
  width:100%;
  max-width: 1080px;
  margin:0 auto;
  background: #e6e5e1;
}
#concept .block-imgbox .imgbox-left,
#concept .block-imgbox .imgbox-right{
  position: relative;
  width:46%;
  margin:0 2% 0 1%;
  overflow:hidden;
  line-height: 0;
}

#concept .block-imgbox .imgbox-left a,
#concept .block-imgbox .imgbox-right a{
  display: block;
  text-decoration: none;
}


#concept .block-imgbox .imgbox-left img,
#concept .block-imgbox .imgbox-right img{
  width: 100%;
  height: auto;
  object-fit: cover;
  transition:1s all;
}

#concept .block-imgbox .imgbox-left img:hover,
#concept .block-imgbox .imgbox-right img:hover{
  transform:scale(1.2,1.2);
  transition:1s all;
}

#concept .block-imgbox .imgbox-left p,
#concept .block-imgbox .imgbox-right p{
  width: 100%;
  text-align: center;
  letter-spacing: 2px;
  position: absolute;
  color: white;
  font-size: 20px;
  font-weight: bold;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  margin:0;
  padding:0;
  text-shadow: 1px 1px 3px #444;
}

@media only screen and (max-width: 766px) {
  #concept .block-imgbox{
     display:block;
  }
  #concept .block-imgbox .imgbox-left,
  #concept .block-imgbox .imgbox-right{
    width:96%;
    margin:0 2%;
  }
  #concept .block-imgbox .imgbox-left{
    margin-bottom: 20px;
  }
}

#concept .container-bottom{
  height: 80px;
  background: #e6e5e1;
}

/* =================================
             PRODUCT
================================= */
#product{
  width: 100%;
  max-width: 1080px;
  margin: 30px auto;
}

#product .container{
  padding: 10px;
}

#product .container ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 30px auto 0;
  width: 100%;
  list-style: none;
}

#product .container li {
  width: 32%;
  display: flex;
  margin-bottom: 20px;
}

@media only screen and (max-width: 766px) {
  #product .container li {
    width: 100%;
    margin-bottom: 30px;
  }
}

#product .container li a {
  display: block;
  color: #333;
  text-decoration: none;
  background-color: #fff;
  transition: 0.2s;
  /*box-shadow: 0 0 3px rgba(0,0,0,0.2);*/
}

#product .container li a:hover {
  transform: translateY(-5px);
}

#product .container img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

#product .container h3 {
  margin: 0;
  padding: 20px 5px 5px;
  font-size: 15px;
}

#product .container p{
  margin: 0;
  padding: 5px 5px 20px;
  font-size: 13px;
  line-height: 180%;
}

#product .container .button{
  margin: 50px 0 0;
  text-align: center;
}
#product .container .button a{
  color: #fff;
  background: #3c4043;
  border: none;
  position: relative;
  min-width: 230px;
  padding: 10px 100px;
  font-size: 14px;
  transition: .3s;
}

#product .container .button a:hover{
  opacity: 0.6;
}

@media only screen and (max-width: 766px) {
  #product .container .button{
    margin: 20px 0 0;
  }
}

/* =================================
             NEWS
================================= */

#news{
  width: 100%;
  max-width: 1080px;
  margin: 30px auto;
}

#news .container{
  padding: 10px;
}

#news ul.newsList {
  display: flex;
  flex-flow: row wrap;
  border-bottom: 1px dotted #999;
  padding: 10px 0;
  font-size: 13px;
  line-height: 1
}

#news ul.newsList li {
  display: block;
  margin: 10px 10px;
  padding: 5px 10px;
}

#news ul.newsList li:nth-child(-n + 3) {
  flex-basis: 130px;
}

#news ul.newsList li:nth-child(2) {
  color: #fff;
  font-size: 12px;
  text-align: center;
  background-color: #ae917c;
}

#news ul.newsList li:nth-child(3) {
  flex-basis: auto;
}

/* =================================
             shop list
================================= */

#shoplist{
  width: 100%;
  max-width: 1080px;
  margin: 30px auto;
}

#shoplist .container{
  padding: 10px;
}

#shoplist .container p{
  font-size: 13px;
  text-align: center;
  padding: 10px 0 15px;
  line-height: 1.5;
}

.shop-grid {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0 -1% 30px;
  padding: 0px;
  font-size: 12px;
  text-align: center;
}
.shop-grid li {
  flex: 0 1 48%;
  margin: 0 1% 10px;
  background: #f2f2f2;
  transition: 0.5s ;
}
.shop-grid li:hover {
  opacity: 0.5 ;
}
.shop-grid a {
  padding: 10px 0;
  display:block;
  color: #222;
  text-decoration: none;
}
@media (min-width: 800px){
  .shop-grid-1-2-3 li {
    flex: 0 1 31.3333%;
    font-size: 14px;
  }
}

/* =================================
            breadcrumbs
================================= */

#breadcrumbs{
  width: 100%;
  margin-top: 75px;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

#breadcrumbs .main{
  max-width: 1080px;
  margin: 10px auto;
  padding: 10px;
  font-size: 12px;
  color: #333;
}

#breadcrumbs i{
  color:#ae917c;
}

#breadcrumbs a:hover{
  color:#337ab7;;
}



/* =================================
             LINEUP
================================= */
#lineup{
  width: 100%;
  margin-top: 30px;
}

#lineup .container{
  padding: 10px;
  max-width: 1080px;
  margin: 0 auto;
}

#lineup .container ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 30px auto 0;
  width: 100%;
  list-style: none;
}

#lineup .container li {
  width: 24%;
  margin-bottom: 20px;
  display: flex;
  position: relative;
}

@media only screen and (max-width: 766px) {
  #lineup .container li {
    width: 49%;
    margin-bottom: 30px;
  }
}

#lineup .container li a {
  display: block;
  color: #333;
  text-decoration: none;
  background-color: #fff;
  transition: 0.2s;
  border: 1px #eee solid;
  /*box-shadow: 0 0 3px rgba(0,0,0,0.2);*/
}

#lineup .container li.new a::after {
  content: "新商品";
  display: block;
  top: 10px;
  transform: rotate(-45deg);
  color: #fff; /* 文字色はここで変更 */
  left: 0px;
  position: absolute;
  font-size: 12px;
  z-index: 101;
}
#lineup .container li.new a::before {
  content: "";
  top: 0;
  left: 0;
  border-bottom: 3.2em solid transparent;
  border-left: 3.2em solid #ff5252; /* ラベルの色はここで変更 */
  position: absolute;
  z-index: 100;
}

#lineup .container li.recommend a::after {
  content: "人気";
  display: block;
  top: 10px;
  transform: rotate(-45deg);
  color: #fff; /* 文字色はここで変更 */
  left: 5px;
  position: absolute;
  font-size: 12px;
  z-index: 101;
}
#lineup .container li.recommend a::before {
  content: "";
  top: 0;
  left: 0;
  border-bottom: 3.2em solid transparent;
  border-left: 3.2em solid #ff793f; /* ラベルの色はここで変更 */
  position: absolute;
  z-index: 100;
}

#lineup .container li a:hover {
  transform: translateY(-5px);
}

#lineup .container img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

#lineup .container h3 {
  margin: 0;
  padding: 20px 20px 5px;
  font-size: 14px;
  line-height: 150%;
  font-weight: normal;
  color: #333;
  text-align: center;
}

#lineup .container .meta {
  text-align: center;
}

#lineup .container .meta span {
  padding: 5px;
  border: 1px solid #e3e3e3;
  color: #999;
  display: inline-block;
  font-size: 11px;
  margin: 0 3px;
}

#lineup .container p{
  margin: 0;
  padding: 5px 10px 20px;
  font-size: 12px;
  line-height: 180%;
  color: #555;
  text-align: center;
}

/* =================================
             items-detail
================================= */

.back-items-detail{
  background-color: #fafafa;
}

section#items-detail{
  width: 100%;
  max-width: 1080px;
  margin: 0px auto;
}

section#items-detail .main{
  padding: 30px 10px;
  overflow:hidden;
}

section#items-detail .main .item-box{
  background: #fff;
  overflow:hidden;
  padding: 10px 30px;
}

@media only screen and (max-width: 766px) {
  section#items-detail .main .item-box{
    padding: 10px 10px;
  }
}

section#items-detail .main .item-box .itemimg{
  float: left;
  width: 45%;
  text-align: center;
}

section#items-detail .main .item-box .itemimg img{
  width: 80%;
  padding: 10px;
  border: 1px solid #ccc;
}

section#items-detail .main .item-box .itemtext{
  float: left;
  width: 55%;
}

section#items-detail .main .item-box .itemtext .ruby{
  font-size: 12px;
  color: #555;
}

section#items-detail .main .item-box .itemtext h2{
  font-size: 30px;
  line-height: 1.5;
  font-weight: bold;
  color: #333;
  border-bottom: 1px solid #eee;
  padding: 10px 0 10px;
  font-family: 'Comfortaa';
}

section#items-detail .main .item-box .itemtext p.price{
  font-size: 16px;
  line-height: 1.5;
  color: #333;
  padding: 10px 0 30px;
}

section#items-detail .main .item-box .itemtext p.price span.tax{
  font-size: 13px;
  line-height: 1.5;
  color: #333;
  padding: 10px 0 10px;
}

section#items-detail .main .item-box .itemtext p.subtitle{
  font-size: 16px;
  line-height: 2;
  color: #333;
  padding: 10px 0 0px;
  font-weight: bold;
}

section#items-detail .main .item-box .itemtext p.explanation{
  font-size: 14px;
  line-height: 2;
  color: #333;
  padding: 0px 0 10px;
}

section#items-detail .main .item-box .itemtext .col-main {
  display: flex;
}

section#items-detail .main .item-box .itemtext .col2 {
  width: 48%;
  text-align: center;
  padding: 0 1%;
}


section#items-detail .main .item-box .itemtext .col2 a{
  background: #eee;
  border-radius: 3px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  max-width: 100%;
  padding: 20px;
  color: #313131;
  transition: 0.3s ease-in-out;
  font-size: 11px;
}

section#items-detail .main .item-box .itemtext .col2 a:before{
  content: "\f07a";
  position: relative;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right: 8px;
  color: #999;
}

section#items-detail .main .item-box .itemtext .col2 a:hover{
  background: #313131;
  color: #FFF;
}

section#items-detail .main .item-box .detail{
  width: 100%;
  padding: 10px 0;
  clear:both;
}

section#items-detail .main .item-box .detail h3{
  font-size: 16px;
  line-height: 1.5;
  color: #333;
  padding: 10px 0 5px;
  border-bottom: 1px solid #ccc;
}

section#items-detail .main .item-box .detail h3:before{
  content: "\f4d8";
  position: relative;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right: 8px;
  color: #999;
}

section#items-detail .main .item-box .detail h4{
  font-size: 14px;
  font-weight: bold;
  line-height: 2;
  color: #333;
  padding: 20px 0 0px;
}

section#items-detail .main .item-box .detail .col-main {
  display: flex;
}

section#items-detail .main .item-box .detail .col2 {
  width: 25%;
  text-align: center;
  padding: 5px 0px;
}

section#items-detail .main .item-box .detail .col2 img {
  width: 95%;
}

section#items-detail .main .item-box .detail .col2 a{
  transition: 0.5s ;
}

section#items-detail .main .item-box .detail .col2 a:hover{
  opacity: 0.5 ;
}


section#items-detail .main .item-box .detail p{
  font-size: 14px;
  line-height: 2;
  color: #333;
  padding: 10px 0 50px;
}


@media screen and (max-width: 768px){
  section#items-detail .main .item-box .itemimg{
    width: 100%;
  }
  section#items-detail .main .item-box .itemtext{
    width: 100%;
    padding-top: 10px;
  }
  section#items-detail .main .item-box .detail .col-main{
    flex-wrap: wrap;
  }
  section#items-detail .main .item-box .detail .col-sm-50 {
    width: 50%;
  }
}


/* =================================
             footer-navi
================================= */

section#footer-navi{
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
}

section#footer-navi .main{
  padding: 10px;
  text-align: center;
  font-size: 13px;
}

#footer-navi .nav a {
  display: block;
  padding: 0 10px;
  color: #333;
}
 
@media only screen and (min-width: 641px) {
  #footer-navi .nav {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 20px 0;
  }
  #footer-navi .nav a:hover {
    color: #3471a4;
  }
}

@media only screen and (max-width: 640px) {
  #footer-navi {
    text-align: center;
  }
 
  #footer-navi .nav li {
    border-top: 1px solid #ccc;
  }
 
  #footer-navi .nav li:last-child {
    border-bottom: 1px solid #ccc;
  }
 
  #footer-navi .nav li a {
    padding: 12px 20px;
    text-align: left;
  }
}

.social-btns{
  margin-bottom: 50px;
}
.social-btns .fab{
  font-size: 1.5em;
  color: #fff;
  position: relative;
  border-radius: 50%;
  padding: 20px;
  margin: 10px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
  transition: color 0.2s ease, background-color 0.2s ease, transform 0.3s ease;
}
.social-btns .fab:after{
  content: "";
  width: 100%;
  height: 100%;
  border: solid 2px;
  transform: scale(0.8);
  position: absolute;
  border-width:3px;
  top: -3px;
  left: -3px;
  border-radius: 50%;
  transition: all 0.3s ease;
}
.social-btns .fab:hover:after {
  transform: scale(1);
  box-shadow: 10px 0 20px rgba(0, 0, 0, 0.19), 6px 0 6px rgba(0, 0, 0, 0.23);
}
.social-btns .fa-twitter {
  background-color: rgb(29, 161, 242);;
}
.social-btns .fa-twitter:hover {
  color: rgb(29, 161, 242);;
  background-color: #fff;
}
.social-btns .fa-twitter:after {
  border-color: rgb(29, 161, 242);;
}
.social-btns .fa-instagram {
  background-color: #CF2E92;
}
.social-btns .fa-instagram:hover {
  color: #CF2E92;
  background-color: #fff;
}
.social-btns .fa-instagram:after {
  border-color: #CF2E92;
}

.social-btns .fa-youtube {
  background-color: #c4302b;
}
.social-btns .fa-youtube:hover {
  color: #c4302b;
  background-color: #fff;
}
.social-btns .fa-youtube:after {
  border-color: #c4302b;
}


/* =================================
             footer
================================= */

footer{
    width: 100%;
    background: #696969;
}

footer p.copyright {
    background: #696969;
    padding: 20px;
    color: #fff;
    text-align: center;
    font-size: 12px;
}

.canvas_wrapper,
.canvas_wrapper2,
.canvas_wrapper3{
  width: 100%;
  height: 25px;
}

/* =================================
             スクロールCSS
================================= */
/* その場で */
.fadeIn{
animation-name:fadeInAnime;
animation-duration:1s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeInAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* 下から */

.fadeUp{
animation-name:fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/* 上から */

.fadeDown{
animation-name:fadeDownAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeDownAnime{
  from {
    opacity: 0;
  transform: translateY(-100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/* 左から */

.fadeLeft{
animation-name:fadeLeftAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeLeftAnime{
  from {
    opacity: 0;
  transform: translateX(-100px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}

/* 右から */

.fadeRight{
animation-name:fadeRightAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeRightAnime{
  from {
    opacity: 0;
  transform: translateX(100px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
 
.fadeInTrigger,
.fadeUpTrigger,
.fadeDownTrigger,
.fadeLeftTrigger,
.fadeRightTrigger{
    opacity: 0;
}

/*==================================================
パタッ
===================================*/


/* 下へ */
.flipDown{
animation-name:flipDownAnime;
animation-duration:1s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes flipDownAnime{
  from {
    transform: perspective(2500px) rotateX(100deg);
  opacity: 0;
  }

  to {
    transform: perspective(2500px) rotateX(0);
  opacity: 1;
  }
}


/* 左へ */
.flipLeft{
animation-name:flipLeftAnime;
animation-duration:1s;
animation-fill-mode:forwards;
perspective-origin:left center;
opacity:0;
}

@keyframes flipLeftAnime{
  from {
   transform: perspective(600px) translate3d(0, 0, 0) rotateY(30deg);
  opacity: 0;
  }

  to {
  transform: perspective(600px) translate3d(0, 0, 0) rotateY(0deg);
  opacity: 1;
  }
}


/* 左上へ */
.flipLeftTop{
animation-name:flipLeftTopAnime;
animation-duration:1s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes flipLeftTopAnime{
  from {
   transform: translate(-20px,80px) rotate(-15deg);
  opacity: 0;
  }

  to {
   transform: translate(0,0) rotate(0deg);
  opacity: 1;
  }
}

/* 右へ */
.flipRight{
animation-name:flipRightAnime;
animation-duration:1s;
animation-fill-mode:forwards;
perspective-origin:right center;
opacity:0;
}

@keyframes flipRightAnime{
  from {
   transform: perspective(600px) translate3d(0, 0, 0) rotateY(-30deg);
  opacity: 0;
  }

  to {
  transform: perspective(600px) translate3d(0, 0, 0) rotateY(0deg);
  opacity: 1;
  }
}

/* 右上へ */
.flipRightTop{
animation-name:flipRightTopAnime;
animation-duration:1s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes flipRightTopAnime{
  from {
   transform: translate(-20px,80px) rotate(25deg);
   opacity: 0;
  }

  to {
   transform: translate(0,1) rotate(0deg);
  opacity: 1;
  }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
 
.flipDownTrigger,
.flipLeftTrigger,
.flipLeftTopTrigger,
.flipRightTrigger,
.flipRightTopTrigger{
    opacity: 0;
}

/*==================================================
くるっ
===================================*/


/* X 軸（縦へ） */
.rotateX{
  animation-name:rotateXAnime;
  animation-duration:1s;
  animation-fill-mode:forwards;
}

@keyframes rotateXAnime{
  from{
    transform: rotateX(0);
    opacity: 0;
    }
  to{
    transform: rotateX(-360deg);
    opacity: 1;
    }
}

/*　Y軸（横へ） */
.rotateY{
  animation-name:rotateYAnime;
  animation-duration:1s;
  animation-fill-mode:forwards;
}

@keyframes rotateYAnime{
  from{
    transform: rotateY(0);
    opacity: 0;
    }
  to{
    transform: rotateY(-360deg);
    opacity: 1;
    }
}

/* Z 軸（左へ） */
.rotateLeftZ{
  animation-name:rotateLeftZAnime;
  animation-duration:1s;
  animation-fill-mode:forwards;
}

@keyframes rotateLeftZAnime{
  from{
    transform: rotateZ(0);
    opacity: 0;
    }
  to{
    transform: rotateZ(-360deg);
    opacity: 1;
    }
}

/*　Z 軸（右へ） */
.rotateRightZ{
  animation-name:rotateRightZAnime;
  animation-duration:1s;
  animation-fill-mode:forwards;
}

@keyframes rotateRightZAnime{
  from{
    transform: rotateZ(0);
    opacity: 0;
    }
  to{
    transform: rotateZ(360deg);
    opacity: 1;
    }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
 
.rotateXTrigger,
.rotateYTrigger,
.rotateLeftZTrigger,
.rotateRightZTrigger{
    opacity: 0;
}

/*==================================================
ボンッ、ヒュッ
===================================*/

/* 拡大 */
.zoomIn{
  animation-name:zoomInAnime;
  animation-duration:0.5s;
  animation-fill-mode:forwards;
}

@keyframes zoomInAnime{
  from {
  transform: scale(0.6);
  opacity: 0;
  }

  to {
    transform: scale(1);
  opacity: 1;
  }
}

/* 縮小 */
.zoomOut{
  animation-name:zoomOutAnime;
  animation-duration:0.5s;
  animation-fill-mode:forwards;
}

@keyframes zoomOutAnime{
  from {
  transform: scale(1.2);
  opacity: 0;
  }

  to {
    transform:scale(1);
  opacity: 1;
  }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
 
.zoomInTrigger,
.zoomOutTrigger{
    opacity: 0;
}

/*==================================================
じわっ
===================================*/

/* ぼかしから出現 */
.blur{
  animation-name:blurAnime;
  animation-duration:1s;
  animation-fill-mode:forwards;
}

@keyframes blurAnime{
  from {
  filter: blur(10px);
  transform: scale(1.02);
  opacity: 0;
  }

  to {
  filter: blur(0);
  transform: scale(1);
  opacity: 1;
  }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
 
.blurTrigger{
    opacity: 0;
}

/*==================================================
にゅーん
===================================*/

/* 滑らかに変形して出現 */
.smooth{
  animation-name:smoothAnime;
  animation-duration:1s;
  animation-fill-mode:forwards;
  　transform-origin: left;
  opacity:0;
}

@keyframes smoothAnime{
  from {
  transform: translate3d(0, 100%, 0) skewY(12deg);
  opacity:0;
  }

  to {
  transform: translate3d(0, 0, 0) skewY(0);
  opacity:1;
  }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
 
.smoothTrigger{
    opacity: 0;
}

/*==================================================
スーッ（枠線が伸びて出現）
===================================*/

/*枠線が伸びて出現*/

.lineTrigger{
  position: relative; /* 枠線が書かれる基点*/
  opacity:0;
}

.lineTrigger.lineanime{
  animation-name:lineAnimeBase;
  animation-duration:1s;
  animation-fill-mode:forwards;
}

@keyframes lineAnimeBase{
  from {
    opacity:0;
  }

  to {
    opacity:1;  
}
}

/*上下線*/
.lineTrigger::before,
.lineTrigger::after{
  position: absolute;
  content:"";
  width:0;
  height:1px;
  background:#333;/* 枠線の色*/
}

/*左右線*/
.line2::before,
.line2::after{
  position: absolute;
  content:"";
  width: 1px;
  height:0;
  background:#333;/* 枠線の色*/
}

/*上線*/
.lineTrigger::before {
  top:0;
  left:0;
}

.lineTrigger.lineanime::before {
  animation: lineAnime .5s linear 0s forwards;/*表示されて0秒後に上線が0.5秒かけて表示*/
}

/*右線*/
.line2::before{ 
  top:0;
  right:0;
}

.lineTrigger.lineanime .line2::before {
  animation: lineAnime2 .5s linear .5s forwards;/*表示されて0.5秒後に右線が0.5秒かけて表示*/
}

/*下線*/
.lineTrigger::after { 
  bottom:0;
  right:0;
}

.lineTrigger.lineanime::after {
  animation: lineAnime .5s linear 1s forwards;/*表示されて1秒後に下線が0.5秒かけて表示*/
}

/*左線*/
.line2::after{ 
  bottom:0;
  left:0;
}

.lineTrigger.lineanime .line2::after {
  animation: lineAnime2 .5s linear 1.5s forwards;/*表示されて1.5秒後に左線が0.5秒かけて表示*/
}

@keyframes lineAnime {
  0% {width:0%;}
    100%{width:100%;}
}

@keyframes lineAnime2 {
  0% {height:0%;}
    100%{height:100%;}
}

/*枠線内側の要素*/

.lineTrigger.lineanime .lineinappear{
  animation: lineInnerAnime .5s linear 1.5s forwards;/*1.5秒後に中央のエリアが0.5秒かけて表示*/
  opacity: 0;/*初期値を透過0にする*/ 
}

@keyframes lineInnerAnime{
  0% {opacity:0;}
    100% {opacity:1;}
}


/*==================================================
シャッ（背景色が伸びて出現）
===================================*/

/*背景色が伸びて出現（共通）*/
.bgextend{
  animation-name:bgextendAnimeBase;
  animation-duration:1s;
  animation-fill-mode:forwards;
  position: relative;
  overflow: hidden;/*　はみ出た色要素を隠す　*/
  opacity:0;
}

@keyframes bgextendAnimeBase{
  from {
    opacity:0;
  }

  to {
    opacity:1;  
}
}

/*中の要素*/
.bgappear{
  animation-name:bgextendAnimeSecond;
  animation-duration:1s;
  animation-delay: 0.6s;
  animation-fill-mode:forwards;
  opacity: 0;
}

@keyframes bgextendAnimeSecond{
  0% {
  opacity: 0;
  }
  100% {
  opacity: 1;
}
}

/*左から*/
.bgLRextend::before{
  animation-name:bgLRextendAnime;
  animation-duration:1s;
  animation-fill-mode:forwards;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #666;/*伸びる背景色の設定*/
}
@keyframes bgLRextendAnime{
  0% {
    transform-origin:left;
    transform:scaleX(0);
  }
  50% {
    transform-origin:left;
    transform:scaleX(1);
  }
  50.001% {
    transform-origin:right;
  }
  100% {
    transform-origin:right;
    transform:scaleX(0);
  }
}

/*右から*/
.bgRLextend::before{
  animation-name:bgRLextendAnime;
  animation-duration:1s;
  animation-fill-mode:forwards;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #666;/*伸びる背景色の設定*/
}
@keyframes bgRLextendAnime{
  0% {
    transform-origin:right;
    transform:scaleX(0);
  }
  50% {
    transform-origin:right;
    transform:scaleX(1);
  }
  50.001% {
    transform-origin:left;
  }
  100% {
    transform-origin:left;
    transform:scaleX(0);
  }
}

/*下から*/
.bgDUextend::before{
  animation-name:bgDUextendAnime;
  animation-duration:1s;
  animation-fill-mode:forwards;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #666;/*伸びる背景色の設定*/
}
@keyframes bgDUextendAnime{
  0% {
    transform-origin:bottom;
    transform:scaleY(0);
  }
  50% {
    transform-origin:bottom;
    transform:scaleY(1);
  }
  50.001% {
    transform-origin:top;
  }
  100% {
    transform-origin:top;
    transform:scaleY(0);
  }
}

/*上から*/
.bgUDextend::before{
  animation-name:bgUDextendAnime;
  animation-duration:1s;
  animation-fill-mode:forwards;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #666;/*伸びる背景色の設定*/
}
@keyframes bgUDextendAnime{
  0% {
    transform-origin:top;
    transform:scaleY(0);
  }
  50% {
    transform-origin:top;
    transform:scaleY(1);
  }
  50.001% {
    transform-origin:bottom;
  }
  100% {
    transform-origin:bottom;
    transform:scaleY(0);
  }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.bgappearTrigger,
.bgUDextendTrigger,
.bgDUextendTrigger,
.bgRLextendTrigger,
.bgLRextendTrigger{
    opacity: 0;
}

/* =================================
             スマホ・PC表示切り替え
================================= */

@media(min-width:765px){/*PCのとき非表示*/
    .sp{
        display: none !important;
    }
}
@media(max-width:766px){/*スマホのとき非表示*/
    .pc{
        display: none !important;
    }
}