#contentsarea{
width: 100%;
position: relative;
margin: 0 auto;
background-color: #000;
font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "MS P明朝";
font-size: 18px;
line-height: 2em;
text-align: justify;
word-break: break-all;
}

#contentsarea:before {
content: '';
display: block;
position: fixed;
top: 0;
left: 50%;
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
width: 100%;
max-width: 1350px;
height: 100vh;
background: url('../../../features/allstores/klein/klein_bg.jpg') center top no-repeat;
background-size: 100% auto;
background-color: #000;
}

#contentsbody{
width: 100%;
position: relative;
}

.titlearea{
width: 100%;
max-width: 1350px;
margin: 0 auto;
height: 80vh;
color: #D8D8D8;
position: relative;
}

.titlearea h3{
position: absolute;
font-size: 70px;
line-height: 1em;
top: 50%;
right: 8%;
transform: translateY(-50%) ;
text-align: center;
word-break: initial;
}

.titlearea h3 span{
display: block;
margin: 20px 0 0;
font-size: 30px;
line-height: 1em;
}

.maincontents{
width: 100%;
background-color: #333;
color: #eee;
padding: 60px 0 0;
}

.maincontents img {
display: block;
width: 100%;
max-width: inherit !important;
}

.maincontents h4{
display: block;
width: 100%;
font-size: 50px;
line-height: 1em;
color: #D8D8D8;
margin: 0 0 40px;
}

.maincontents h5{
display: block;
width: 100%;
font-size: 50px;
line-height: 1em;
color: #555;
margin: 0 0 20px;
word-break: initial;
}

.maincontents h6{
display: block;
width: 100%;
font-size: 50px;
line-height: 1em;
color: #555;
margin: 0 0 40px;
}

.maincontents .brand_logo {
width: 80%;
max-width: 500px;
margin: 0 auto;
}

.maincontents .main_text{
width: 100%;
margin: 60px auto 0;
box-sizing: border-box;
padding: 0 50px;
background-image: url('../../../features/allstores/klein/outline.png');
background-size: auto 100%;
background-repeat: no-repeat;
background-position: right top;
}

.maincontents .main_text p{
margin: 20px 0 0;
font-size: 22px;
line-height: 2em;
}

.tabbody {
display: none;
position: relative;
margin: 120px 0 0;
background: #f1f1f1;
}

.tabbody .tab__block {
position: absolute;
top: 0;
box-sizing: border-box;
width: 100%;
z-index: 80;
}

.tabbody .tab__block ul{
width: 100%;
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
list-style: none ;
box-sizing: border-box;
padding: 0 ;
}

.tabbody .tab__block li{
width: 50%;
font-size: 24px;
line-height: 2em;
text-align: center;
word-break: initial;
}

.tabbody .tab__block li a{
display: block;
color: #999;
background: #ddd;
padding: 10px 0;
}

.tabbody .tab__block li a.select{
color: #555;
background: #f1f1f1;
}

.tabbody .tab__block li a:hover{
background: #eee;
color: #555;
opacity: 1;
}

.tabbody .tab__block li .btn_style{
display: inline-block;
border: 2px solid;
border-radius: 9999px;
padding: 0 50px;
}

.tabbody .wrap {
display: none;
box-sizing: border-box;
padding: 72px 50px 120px;
}

.tabbody .wrap.select {
display: block;
animation: fadeIn 2s ease;
}

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

.tabbody .wrap .explanation {
margin: 120px 0 0;
color: #888;
}

.maincontents .models {
box-sizing: border-box;
padding: 0 50px 120px;
margin: 120px auto 0;
background: #f1f1f1;
}

.maincontents .models .explanation {
margin: 0 auto;
padding: 120px 0 0;
color: #888;
}

.maincontents .stlashphoto, 
.maincontents .stlredwoodphoto{
width: 100%;
margin: 30px auto 0;
position: relative;
}

.maincontents .stlashphoto:before {
content: '';
position: absolute;
right: -50px;
bottom: 3%;
display: inline-block;
width: 40vw;
height: 5%;
background-color: #bbb;
}

.maincontents .stlredwoodphoto:before {
content: '';
position: absolute;
right: -50px;
bottom: 3%;
display: inline-block;
width: 59vw;
height: 5%;
background-color: #bbb;
}

.maincontents .stlashphoto .detailedphoto, 
.maincontents .stlredwoodphoto .detailedphoto{
width: 90%;
margin: 0 auto;
}

.maincontents .detailedtext{
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 50px auto 0;
list-style: none ;
box-sizing: border-box;
}

.maincontents .specification{
width: 50%;
margin: 0 auto;
text-align: center;
word-break: initial;
font-size: 18px;
line-height: 2em;
}

.maincontents .specification span{
display: inline-block;
margin: 0 0 15px;
font-weight: bold;
font-size: 26px;
line-height: 2em;
}

.maincontents .variation{
width: 50%;
margin: 0 auto;
padding: 0 0 0 2%;
}

.maincontents .variation ul{
width: 100%;
display: flex;
flex-wrap: nowrap;
justify-content: space-around;
list-style: none;
box-sizing: border-box;
padding: 0;
margin: 30px auto 0;
}

.maincontents .variation li{
width: 18%;
text-align: center;
word-break: initial;
font-size: 18px;
line-height: 1.5em;
}

.maincontents .variation li img{
margin: 0 auto 20px;
}

.maincontents .variation a{
display: block;
width: 90%;
max-width: 350px;
padding: 10px 0;
margin: 50px auto 0;
text-decoration: none;
color: #f1f1f1;
background: #555;
border: 1px solid;
font-weight: bold;
text-align: center;
word-break: initial;
transition: 0.25s;
}

.maincontents .variation a:hover{
color: #555;
background: #f1f1f1;
}

.maincontents .variation .color{
width: 100%;
margin: 0 auto;
text-align: center;
word-break: initial;
font-size: 26px;
line-height: 2em;
font-weight: bold;
}

.maincontents .slide_title{
width: 100%;
margin: 120px auto 0;
text-align: center;
word-break: initial;
}

#contentsarea .maincontents .swiper-parent {
position: relative;
width: 80%;
margin: 60px auto 0;
}

#contentsarea .maincontents .swiper-container {
width: 100%;
padding: 0 0 50px;
}

#contentsarea .maincontents .swiper-pagination-bullet {
border-radius: inherit;
margin: 0 8px!important;
width: 50px;
height: 3px;
background: #555;
opacity: 0.5;
}

#contentsarea .maincontents .swiper-pagination-bullet:focus {
outline: none;
}

#contentsarea .maincontents .swiper-pagination-bullet-active {
opacity: 1;
}

#contentsarea .maincontents .swiper-button-prev,
#contentsarea .maincontents .swiper-button-next {
background-image: none;
width: 42px;
height: 48px;
margin-top: -48px;
}

#contentsarea .maincontents .swiper-button-prev{
left: -70px;
}

#contentsarea .maincontents .swiper-button-next{
right: -70px;
}

#contentsarea .swiper-container-horizontal>#contentsarea .swiper-pagination-bullets{
bottom: 0px;
}

#contentsarea .maincontents .swiper-button-prev:before {
position: absolute;
content: "";
top: 15px;
right: 3px;
width: 17px;
height: 17px;
border-top: 3px solid #555;
border-right: 3px solid #555;
-webkit-transform: rotate(-135deg);
transform: rotate(-135deg);
}

#contentsarea .maincontents .swiper-button-prev:after {
position: absolute;
content: "";
top: 15px;
right: 13px;
width: 17px;
height: 17px;
border-top: 3px solid #555;
border-right: 3px solid #555;
-webkit-transform: rotate(-135deg);
transform: rotate(-135deg);
}

#contentsarea .maincontents .swiper-button-next:before {
position: absolute;
content: "";
top: 15px;
left: 3px;
width: 17px;
height: 17px;
border-top: 3px solid #555;
border-right: 3px solid #555;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}

#contentsarea .maincontents .swiper-button-next:after {
position: absolute;
content: "";
top: 15px;
left: 13px;
width: 17px;
height: 17px;
border-top: 3px solid #555;
border-right: 3px solid #555;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}

#contentsarea .maincontents .swiper-slide{
width: 100%;
height: auto;
display: flex;
justify-content: center;
padding:0;
list-style: none;
flex-wrap: wrap;
background: #e0e0e0;
}

#contentsarea .maincontents .swiper-slide .slide_photo{
width: 58%;
}

#contentsarea .maincontents .swiper-slide .slide_text{
display: flex;
width: 42%;
box-sizing: border-box;
padding: 20px;
color: #888;
align-items: center;
}

#contentsarea .maincontents .swiper-slide .slide_text span{
display: block;
width: 100%;
font-weight: bold;
margin: 0 0 15px;
font-size: 26px;
line-height: 1em;
}

.follow {
position: fixed !important;
top: 0 !important;
z-index: 10;
width: 100%;
}

.klein_about{
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 0 auto;
list-style: none ;
box-sizing: border-box;
padding: 120px 50px;
background: #777;
}

.klein_about div{
width: 50%;
box-sizing: border-box;
}

.klein_about .klein_photo{
padding: 0 40px 0 0;
}

.klein_about .klein_text p{
text-indent: 1em;
margin: 20px 0 0;
}

.moviearea{
box-sizing: border-box;
margin: 0 auto;
padding: 120px 50px;
background: #d7d7d7;
}

.demomovie{
width: 100%;
padding-bottom: 56.25%;
text-align: center;
word-break: initial;
height: 0px;
position: relative;
}

.demomovie iframe{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border: none;
}


@media only screen and (max-width: 750px) {

#contentsarea{
font-size: 16px;
}

#contentsarea:before {
width: 100%;
height: 100vh;
max-width: none;
background-size: auto 100%;
}

.titlearea{
height: 60vh;
}

.titlearea h3{
font-size: 50px;
right: 8%;
}

.titlearea h3 span{
margin: 20px 0 0;
font-size: 18px;
}

.maincontents{
padding: 40px 0 0;
}

.maincontents h4{
font-size: 40px;
margin: 0 0 30px;
}

.maincontents h5{
font-size: 40px;
margin: 0 0 15px;
}

.maincontents h6{
font-size: 40px;
margin: 0 0 40px;
}

.maincontents .brand_logo {
max-width: 380px;
}

.maincontents .main_text{
margin: 80px auto 0;
padding: 0 40px;
}

.maincontents .main_text p{
margin: 20px 0 0;
font-size: 18px;
}

.tabbody {
margin: 80px 0 0;
}

.tabbody .tab__block ul{
width: 100%;
}

.tabbody .tab__block li{
width: 50%;
font-size: 15px;
}

.tabbody .tab__block li a{
color: #999;
padding: 10px 0;
}

.tabbody .tab__block li .btn_style{
padding: 0 50px;
}

.tabbody .wrap {
padding: 40px 40px 80px;
}

.tabbody .wrap .explanation {
margin: 80px 0 0;
}

.maincontents .models {
padding: 0 40px 80px;
margin: 80px auto 0;
}

.maincontents .models .explanation {
padding: 80px 0 0;
}

.maincontents .stlashphoto, 
.maincontents .stlredwoodphoto{
margin: 30px auto 0;
}

.maincontents .stlashphoto:before {
right: -40px;
}

.maincontents .stlredwoodphoto:before {
right: -40px;
}

.maincontents .stlashphoto .detailedphoto, 
.maincontents .stlredwoodphoto .detailedphoto{
width: 95%;
}

.maincontents .detailedtext{
margin: 40px auto 0;
}

.maincontents .specification{
width: 100%;
font-size: 16px;
}

.maincontents .specification span{
margin: 0 0 15px;
font-size: 24px;
}

.maincontents .variation{
width: 100%;
max-width: 420px;
margin: 40px auto 0;
padding: 0;
}

.maincontents .variation ul{
margin: 30px auto 0;
}

.maincontents .variation li{
width: 18%;
font-size: 16px;
}

.maincontents .variation li img{
margin: 0 auto 20px;
}

.maincontents .variation a{
width: 80%;
padding: 10px 0;
margin: 40px auto 0;
}

.maincontents .variation .color{
font-size: 26px;
}

.maincontents .slide_title{
margin: 80px auto 0;
text-align: left;
word-break: initial;
}

#contentsarea .maincontents .swiper-parent {
width: 100%;
margin: 40px auto 0;
}

#contentsarea .maincontents .swiper-container {
width: 100%;
padding: 0 0 36px;
}

#contentsarea .maincontents .swiper-pagination-bullet {
margin: 0 1.5% !important;
width: 10%;
max-width: 50px;
}

#contentsarea .maincontents .swiper-button-prev,
#contentsarea .maincontents .swiper-button-next {
display: none;
}

#contentsarea .maincontents .swiper-slide .slide_text span{
margin: 0 0 15px;
font-size: 24px;
text-align: center;
word-break: initial;
}

.klein_about{
margin: 0 auto;
padding: 80px 40px;
}

.klein_about div{
width: 100%;
}

.klein_about .klein_photo{
padding: 0;
width: 95%;
max-width: 500px;
margin: 0 auto;
}

.klein_about .klein_text{
margin: 40px 0 0;
}

.klein_about .klein_text p{
margin: 20px 0 0;
}

.moviearea{
padding: 80px 40px;
}
}


@media only screen and (max-width: 500px) {

#contentsarea .maincontents .swiper-slide .slide_photo{
width: 100%;
}

#contentsarea .maincontents .swiper-slide .slide_text{
display: block;
width: 100%;
padding: 20px;
color: #888;
}
}