

/*　ページ読み込み時のパララックス　*/

.fade-in-element {
opacity: 0;
transform: translateY(20px);
animation: fadeInMove 0.5s ease-out 0.3s forwards;
}

@keyframes fadeInMove {
0% {
opacity: 0;
transform: translateY(100px);
}
100% {
opacity: 1;
transform: translateY(0);
}
}



/*　HERO関連　*/
.hero{
position: relative;
overflow: hidden;
}
.hero_stage{
position: relative;
width: 100%;
height: 100%;
background-color: #343841;
display: table;
}
.hero_img{
height: 100%;
min-height: 44.375rem;
position: relative;
overflow: hidden;
}

.hero_img img {
position: absolute;
-o-object-fit: cover;
object-fit: cover;
-o-object-position: middle;
object-position: middle;
top: 0;
width: 100%;
height: 100%;
z-index: 2;
}
.hero_img:before {
background-color: rgba(10, 10, 10, 0.2);
content: '';
display: block;
width: 100%;
height: 100%;
position: absolute;
z-index: 3;
}
.hero_panel{
display: block;
width: 100%;
height: 100%;
position: absolute;
z-index: 4;
overflow: hidden;
}
.hero .arrow-down {
display: inline-block;
width: 2.75rem;
height: 2.75rem;
line-height: 44px;
position: absolute;
bottom: 2.125rem;
left: 50%;
margin-left: -1.375rem;
cursor: pointer;
z-index: 8;
text-align: center;
-webkit-transition: opacity 250ms ease-in-out;
transition: opacity 250ms ease-in-out;
-webkit-animation-delay: 1s;
animation-delay: 1s;
-webkit-animation: bounce 800ms ease 1s infinite;
animation: bounce 800ms ease 1s infinite
}
.hero .arrow-down:hover {
opacity: 0.5
}
.hero .arrow-down:before {
font-family: arb;
content: "\e808";
font-size: 2rem;
color: #fefefe
}
@-webkit-keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
  40% {
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px)
  }
  60% {
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px)
  }
}
@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
  40% {
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px)
  }
  60% {
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px)
  }
}

.hero_panel .middle {
position: absolute;
z-index: 5;
background: none;
width: 50%;
left: 5%;
padding: 0;
top: 80%;
transform: translateY(-80%);
text-align: left;
}
.hero_panel .middle h1 {
font-size: 3vw;
line-height: 1.2;
text-transform: uppercase;
color: #fff;
}

@media screen and (min-width: 1880px) {
.hero_panel .middle h1 {
font-size: 56px;
}
}
@media screen and (max-width: 940px) {
.hero_panel .middle h1 {
font-size: 28px;
}
}

@media screen and (max-width: 760px) {
.hero{
padding-top: 80px;
}
.hero_img{
position: relative;
height: 100%;
min-height: 17.5rem;
}
.hero_panel {
position: relative;
display: table-footer-group;
text-align: center;
}
.hero_panel .middle{
transform:none;
left: auto;
top: auto;
width: 70%;
margin: auto;
position: relative;
text-align: center;
padding: 6.25rem 0 6.5625rem;
display: block;
}
}
@media screen and (max-width: 500px) {
.hero_panel .middle{
    padding: 2.875rem 0 6.25rem;
}
}

/*　CONTENTS　*/


.contents_970{
width: 92%;
max-width: 970px;
margin: 5rem auto;
}

h3.pagetitle{
text-align: center;
font-size: 2rem;
margin-bottom: 2.5rem;
font-weight: 700;
}

p.page_lead{
font-size: .875rem;
text-align: center;
width: 100%;
max-width: 640px;
margin: auto;
margin-bottom: 2.5rem;
}


/*　商品一覧　*/

.products_list_wrap{
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 50px 0;
}
.products_list{
width: 30%;
text-align: center;
}
.products_list h3 {
font-size: .75rem;
line-height: 1.6;
padding: 0 1.8em;
}

.products_list img {
-webkit-transform-origin: bottom;
-ms-transform-origin: bottom;
transform-origin: bottom;
-webkit-transition: -webkit-transform 300ms ease-in-out;
transition: -webkit-transform 300ms ease-in-out;
transition: transform 300ms ease-in-out;
transition: transform 300ms ease-in-out, -webkit-transform 300ms ease-in-out;
margin-bottom: 1rem;
}
.products_list a:hover img {
-webkit-transform: translateY(-8%) translateZ(0);
transform: translateY(-8%) translateZ(0);
}

@media screen and (max-width:760px){
.products_list{
width: 48%;
}
}

