@charset "utf-8";

@import url("//fonts.googleapis.com/css?family=Noto+Sans+JP:100,300,400,500,700,900");
@import url("//fonts.googleapis.com/css?family=Roboto+Condensed:300,300i,400,400i,700,700i");

/*****************************************************************************
reset 
*****************************************************************************/

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {
margin: 0;
padding: 0;
}

address,caption,cite,code,dfn,em,strong,th,var {
font-style: normal;
}

ul,ol {
list-style-type: none;
}

em,strong,th,address {
font-style: normal;
font-weight: normal;
text-align: left;
}

h1,h2,h3,h4,h5,h6 {
font-weight: normal;
font-size: 100%;
}

img,
object,
embed {
border: 0;
vertical-align: top;
}

img {
max-width: 100%;
height: auto;
}

hr {
display: none;
}

table {
border-collapse: collapse;
border-spacing: 0;
font-size: 100%;
}

li {
list-style-type: none;
}

strong {
font-weight: bold;
}

/*****************************************************************************
linkColor 
*****************************************************************************/

a:link {
color: #5dab92;
text-decoration: none;
transition: 0.3s;
}

a:visited {
color: #5dab92;
text-decoration: none;
}

a:hover,a:active {
color: #5dab92;
text-decoration: none;
}

/*****************************************************************************
clearfix 
*****************************************************************************/

.cb {
clear: both;
font-size: 1%;
height: 0;
line-height: 0;
}

.clearfix:after {
content: ".";
display: block;
height: 0.1px;
font-size: 0.1em;
line-height: 0; 
clear: both;
visibility: hidden; 
}

.clearfix {
display: inline-block;
}

/* Hide from IE-mac \*/

* html .clearfix { height: 1%; }
.clearfix { display:block; }

/* End hide from IE-mac */

/*****************************************************************************
base
*****************************************************************************/

html {
font-size: 62.5%;
-webkit-text-size-adjust: 100%;
}

body {
font-family: 'Noto Sans JP', sans-serif;
line-height: 1.5;
font-size: 1.8rem;
color: #252525;
}


.noto-sans {
font-family: 'Noto Sans JP', sans-serif;
}
.roboto-condensed {
font-family: 'Roboto Condensed', sans-serif;
}


.button-right a {
position: relative;
overflow: hidden;
z-index: 1;
}
.button-right a:after {		
position: absolute;
top: 0;
left: -20%;
content: '';
width: 120%;
height: 100%;
background: #7b693e;
transform-origin: left top;
transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
transform: skewX(30deg) scale(0, 1);
z-index: -1;
}
@media screen and (max-width: 1024px) {
.button-right a:after {
display: none;
}
}
.button-right a:hover:after {
transform-origin: right top;
transform: skewX(30deg) scale(1, 1);
}
@media screen and (max-width: 1024px) {
.button-right a:hover:after {
display: none;
}
}


.button-left a {
position: relative;
overflow: hidden;
z-index: 1;
}
.button-left a:after {		
position: absolute;
top: 0;
left: -20%;
content: '';
width: 120%;
height: 100%;
background: #FFFFFF;
transform-origin: right top;
transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
transform: skewX(30deg) scale(0, 1);
z-index: -1;
}
@media screen and (max-width: 1024px) {
.button-left a:after {
display: none;
}
}
.button-left a:hover:after {
transform-origin: left top;
transform: skewX(30deg) scale(1, 1);
}
@media screen and (max-width: 1024px) {
.button-left a:hover:after {
display: none;
}
}


.button-left-black a {
position: relative;
overflow: hidden;
z-index: 1;
}
.button-left-black a:after {		
position: absolute;
top: 0;
left: -20%;
content: '';
width: 120%;
height: 100%;
background: #252525;
transform-origin: right top;
transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
transform: skewX(30deg) scale(0, 1);
z-index: -1;
}
@media screen and (max-width: 1024px) {
.button-left-black a:after {
display: none;
}
}
.button-left-black a:hover:after {
transform-origin: left top;
transform: skewX(30deg) scale(1, 1);
}
@media screen and (max-width: 1024px) {
.button-left-black a:hover:after {
display: none;
}
}


.justify {
display: flex;
justify-content: space-between;
align-items: center;
}
@media screen and (max-width: 670px) {
.justify {
display: block;
}
}

/*****************************************************************************
header 
*****************************************************************************/

.header {
width: 100%;
height: 78px;
position: fixed;
top: 0;
left: 0;
z-index: 999;
}
.header-logo {
width: 125px;
position: absolute!important;
top: 50%!important;
left: 50px!important;
transform: translate(0,-50%)!important;
}
.header-logo polygon,
.header-logo rect,
.header-logo path {
fill: rgba(255,255,255,0.8);
}
.header-logo .midnight-white polygon,
.header-logo .midnight-white rect,
.header-logo .midnight-white path {
fill: rgba(102,102,102,0.8);
}
.header-logo .midnightInner {
overflow: visible!important;
}
@media screen and (max-width: 670px) {
.header-logo {
width: 100px;
left: 15px!important;
}
}
.header__nav {
width: 1060px;
height: 100%;
background: rgba(44,44,44,1);
position: absolute;
top: 0;
right: 0;
}
@media screen and (max-width: 1023px) {
.header__nav {
width: 100%;
height: 100vh;
background: rgba(44,44,44,0.95);
position: absolute;
top: 0;
left: 0;
transform: scale(0.95) translateY(10px);
transition: 0.3s;
visibility: hidden;
opacity: 0;
}
.state-nav-open .header__nav {
transform: scale(1) translateY(0);
visibility: visible;
opacity: 1;
display: block;
overflow: scroll;
}
}
@media screen and (min-width: 1024px) {
.header__nav {
display: block !important;
}
}
.header__nav-wrapper {
height: 100%;
display: flex;
align-items: center;
}
@media screen and (max-width: 1023px) {
.header__nav-wrapper {
width: 100%;
height: auto;
max-width: none;
display: block;
position: absolute;
top: 80%;
left: 0;
transform: translate(0,-50%);
height: 1100px;
}
}
.header__nav-navi {
height: 100%;
margin: 0 22px;
display: flex;
}
@media screen and (max-width: 1023px) {
.header__nav-navi {
height: auto;
margin: 0;
display: block;
}
}
.header__nav-navi li {
height: 100%;
box-sizing: border-box;
padding: 0 11px;
position: relative;
}
@media screen and (max-width: 1023px) {
.header__nav-navi li {
margin: 30px 0;
}
}
.header__nav-navi li a,
.header__nav-navi li span {
height: 100%;
box-sizing: border-box;
display: flex;
justify-content: center;
align-items: center;
font-weight: 500;
letter-spacing: 2px;
font-size: 1.5rem;
color: rgba(255,255,255,0.8);
position: relative;
cursor: pointer;
transition: 0.3s;
z-index: 1;
}
.header__nav li a:after,
.header__nav li span:after {
position: absolute;
left: 50%;
bottom: 20px;
content: '';
width: 0;
height: 1px;
background: rgba(255,255,255,0.8);
transition: 0.4s;
z-index: -1;
}
@media screen and (max-width: 1024px) {
.header__nav li a:after,
.header__nav li span:after {
display: none;
}
}
.header__nav li a:hover:after,
.header__nav li span:hover:after {
width: 100%;
left: 0;
}
@media screen and (max-width: 1024px) {
.header__nav li a:hover:after,
.header__nav li span:hover:after {
display: none;
}
}
.header__nav li.cr a:after,
.header__nav li.cr span:after {
content: '';
position: absolute;
left: 0;
bottom: 20px;
width: 100%;
height: 1px;
background: rgba(255,255,255,0.8);
}
@media screen and (max-width: 1024px) {
.header__nav li.cr a:after,
.header__nav li.cr span:after {
display: none;
}
}
.header__nav-sub {
width: 1000px;
height: 200px;
background: rgba(0,0,0,0.8);
box-sizing: border-box;
padding: 26px 30px;
position: absolute;
top: 78px;
left: -22px;
visibility: hidden;
opacity: 0;
transform: translateY(10px);
transition: 0.3s;
}
@media screen and (max-width: 1023px) {
.header__nav-sub {
width: auto;
background: none;
margin-top: 20px;
padding: 0;
position: relative;
top: auto;
left: auto;
}
.state-nav-open .header__nav-sub {
visibility: visible;
opacity: 1;
transform: translateY(0);
}
.header__nav-sub ul {
display: flex;
justify-content: center;
}
}
.header__nav-sub li {
margin-bottom: 26px;
padding: 0 20px;
}
@media screen and (max-width: 1023px) {
.header__nav-sub li {
margin: 0;
padding: 0 5px;
}
}
.header__nav-sub li:last-child {
margin-bottom: 0;
}
.header__nav-sub li a {
letter-spacing: 1px;
color: #ffffff;
display: block;
}
.header__nav-sub li a:hover {
color: #a78e55;
}
.header__nav-sub li a:after {
display: none;
}
.header__nav-sub li em {
margin-top: 4px;
text-align: center;
display: block;
}
.header__nav-navi li:hover .header__nav-sub {
visibility: visible;
opacity: 1;
transform: translateY(0);
}
.header__nav-tel {
padding-left: 22px;
text-align: center;
position: relative;
}
@media screen and (max-width: 1023px) {
.header__nav-tel {
margin: 30px 0;
padding-left: 0;
}
}
.header__nav-tel:after {
content: '';
background: rgba(255,255,255,0.24);
width: 1px;
height: 22px;
position: absolute;
top: 50%;
left: 0;
transform: translate(0,-50%);
}
@media screen and (max-width: 1023px) {
.header__nav-tel:after {
display: none;
}
}
.header__nav-tel span {
background: url(../img/common/icon-tel.png) no-repeat left center;
background-size: 11px auto;
padding-left: 15px;
font-weight: 600;
letter-spacing: 1.5px;
font-size: 1.8rem;
color: rgba(198,185,154,0.8);
}
.header__nav-tel span a {
color: rgba(198,185,154,0.8);
}
.header__nav-tel small {
font-weight: 400;
letter-spacing: 4px;
line-height: 1.3;
font-size: 1.3rem;
color: rgba(255,255,255,0.3);
display: block;
}
.header__nav-contact {
height: 100%;
text-align: center;
position: absolute;
top: 0;
right: 0;
}
@media screen and (max-width: 1023px) {
.header__nav-contact {
height: auto;
position: relative;
top: auto;
right: auto;
}
}
.header__nav-contact a {
height: 100%;
background: #a68e54;
padding: 0 30px;
font-weight: 500;
font-size: 1.6rem;
color: #FFFFFF;
display: flex;
justify-content: center;
align-items: center;
}
@media screen and (max-width: 1023px) {
.header__nav-contact a {
padding: 15px 30px;
display: inline-block;
}
}


.sp-button {
background: none;
position: absolute;
top: 50%;
right: 15px;
height: 50px;
width: 50px;
border: none;
outline: none;
cursor: pointer;
transition: 0.3s;
border-radius: 4px;
display: none;
transform: translate(0,-50%);
}
@media screen and (max-width: 670px) {
.sp-button {
right: 15px;
}
}
.sp-button span {
position: absolute;
display: block;
background: rgba(255,255,255,0.8);
width: 30px;
height: 3px;
left: 10px;
transition: 0.3s;
}
.sp-button span:nth-of-type(1) {
top: 12px;
}
.sp-button span:nth-of-type(2) {
width: 15px;
top: 23px;
}
.sp-button span:nth-of-type(3) {
bottom: 12px;
}
@media screen and (max-width: 1023px) {
.sp-button {
display: block;
}
.state-nav-open .sp-button span:nth-of-type(1) {
transform: rotateZ(45deg) translate(8px,8px);
}
.state-nav-open .sp-button span:nth-of-type(2) {
opacity: 0;
}
.state-nav-open .sp-button span:nth-of-type(3) {
transform: rotateZ(-45deg) translate(8px,-8px);
}
}


.hide-pc {
display: none;
}
@media screen and (max-width: 1023px) {
.hide-pc {
display: block;
}
}

/*****************************************************************************
visual 
*****************************************************************************/

.home__visual {
height: 100vh;
position: relative;
overflow: hidden;
}
@media screen and (max-width: 1024px) {
.home__visual {
background: url(../img/home/visual-img.jpg) no-repeat center right;
background-size: cover;
}
}
.home__visual:after {
content: '';
background-color: rgba(0,0,0,0.29);
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 100%;
display: block;
}
.home__visual-wrapper {
width: 100%;
max-width: 682px;
box-sizing: border-box;
padding: 0 15px;
position: absolute;
top: 50%;
left: 217px;
transform: translate(0,-50%);
z-index: 99;
}
@media screen and (max-width: 1440px) {
.home__visual-wrapper {
left: 35px;
}
}
@media screen and (max-width: 1024px) {
.home__visual-wrapper {
max-width: 582px;
}
}
@media screen and (max-width: 900px) {
.home__visual-wrapper {
left: 50%;
transform: translate(-50%,-50%);
}
}
.home__visual-title {
}
.home__visual-title small {
margin-top: 20px;
font-weight: 500;
font-size: 2.4rem;
color: #FFFFFF;
}
@media screen and (max-width: 670px) {
.home__visual-title small {
margin-top: 10px;
letter-spacing: 1px;
font-size: 1.8rem;
}
}
@media screen and (max-width: 320px) {
.home__visual-title small {
font-size: 1.6rem;
}
}
.home__visual-catch {
margin-top: 54px;
font-weight: 500;
line-height: 1;
font-size: 3.0rem;
color: #FFFFFF;
}
@media screen and (max-width: 1024px) {
.home__visual-catch {
margin-top: 34px;
font-size: 2.6rem;
}
}
@media screen and (max-width: 670px) {
.home__visual-catch {
margin-top: 17px;
letter-spacing: 1px;
font-size: 1.8rem;
}
}
@media screen and (max-width: 320px) {
.home__visual-catch {
font-size: 1.5rem;
}
}
.home__visual-catch strong {
background: #a68e54;
padding: 6px 20px;
letter-spacing: 4px;
display: inline-block;
}
@media screen and (max-width: 670px) {
.home__visual-catch strong {
margin-right: 3px;
padding: 6px 10px;
letter-spacing: normal;
}
}
.home__visual-text {
margin-top: 28px;
font-weight: 500;
font-size: 1.4rem;
color: #FFFFFF;
}
@media screen and (max-width: 670px) {
.home__visual-text {
margin-top: 14px;
font-size: 1.2rem;
}
}
.home__visual-hero {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%,-50%);
min-width: 100%;
width: 1920px;
}

.product05__visual-hero {
position: absolute;
left: 65%;
top: 55.5%;
transform: translate(-50%,-50%);
min-width: 100%;
}

.home__visual-hero:before {
content: '';
display: block;
padding-top: 56.25%;
}
.home__visual-hero img,
.home__visual-hero video {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
bottom: 0;
}
.home__visual-scroll {
font-weight: 500;
letter-spacing: 4px;
font-size: 1.3rem;
color: rgba(255,255,255,0.8);
-webkit-writing-mode: vertical-rl;
-ms-writing-mode: tb-rl;
writing-mode: vertical-rl;
position: absolute;
right: 103px;
bottom: 55px;
z-index: 1;
}
@media screen and (max-width: 1024px) {
.home__visual-scroll {
right: 50px;
}
}
.home__visual-scroll .border {
height: 132px;
width: 1px;
background: rgba(255,255,255,0.8);
display: block;
position: absolute;
right: -18px;
top: 0;
animation: boder 2.8s infinite cubic-bezier(0.215, 0.61, 0.355, 1);
-webkit-animation: boder 2.8s infinite cubic-bezier(0.215, 0.61, 0.355, 1);
/*
-webkit-animation: boder 3s infinite ease-out;
animation: boder 3s infinite ease-out;
*/
}
@keyframes boder {
0%{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:bottom;transform-origin:bottom}
50%{-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:bottom;transform-origin:bottom}
51%{-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:top;transform-origin:top}
100%{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:top;transform-origin:top}
/*
0%{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:0 100%;transform-origin:0 100%}
15%{-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:0 100%;transform-origin:0 100%}
50%{-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:0 0;transform-origin:0 0}
70%{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:0 0;transform-origin:0 0}
100%{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:0 100%;transform-origin:0 100%}
*/
}
@-webkit-keyframes boder {
0%{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:bottom;transform-origin:bottom}
50%{-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:bottom;transform-origin:bottom}
51%{-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:top;transform-origin:top}
100%{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:top;transform-origin:top}
/*
0%{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:0 100%;transform-origin:0 100%}
15%{-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:0 100%;transform-origin:0 100%}
50%{-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:0 0;transform-origin:0 0}
70%{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:0 0;transform-origin:0 0}
100%{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:0 100%;transform-origin:0 100%}
*/
}

/*****************************************************************************
contents 
*****************************************************************************/

.home__section-news {
background: #141414;
display: flex;
justify-content: space-between;
align-items: center;
}
@media screen and (max-width: 900px) {
.home__section-news {
display: block;
}
}
.home__section-news-header {
margin-left: 232px;
padding: 70px 0;
}
@media screen and (max-width: 1440px) {
.home__section-news-header {
margin-left: 50px;
}
}
@media screen and (max-width: 900px) {
.home__section-news-header {
margin: 0 50px;
padding: 70px 0 0;
display: flex;
justify-content: space-between;
align-items: center;
}
}
@media screen and (max-width: 670px) {
.home__section-news-header {
margin: 0 15px;
}
}
.home__section-news-headline {
margin-bottom: 20px;
font-weight: 600;
letter-spacing: 4px;
line-height: 1;
font-size: 7.2rem;
color: rgba(255,255,255,0.4);
}
@media screen and (max-width: 900px) {
.home__section-news-headline {
font-size: 5.2rem;
}
}
@media screen and (max-width: 670px) {
.home__section-news-headline {
font-size: 4.2rem;
}
}
.home__section-news-headline small {
margin-bottom: 9px;
font-size: 1.8rem;
color: rgba(255,255,255,0.6);
display: block;
}
@media screen and (max-width: 900px) {
.home__section-news-headline small {
font-size: 1.6rem;
}
}
.home__section-news-btn {
width: 100%;
max-width: 165px;
text-align: center;
}
.home__section-news-btn a {
border: 1px solid rgba(255,255,255,0.5);
padding: 13px 0;
color: rgba(255,255,255,0.6);
display: block;
}
.home__section-news-btn a:hover {
color: #252525;
}
@media screen and (max-width: 1024px) {
.home__section-news-btn a:hover {
color: rgba(255,255,255,0.6);
}
}
.home__section-news-body {
width: 68.22916%;
border-left: 1px solid rgba(255,255,255,0.1);
padding: 70px 0;
}
@media screen and (max-width: 900px) {
.home__section-news-body {
width: 100%;
border-left: none;
padding: 0 0 70px;
}
}
.home__section-news-list {
border-top: 1px solid rgba(255,255,255,0.1);
padding: 14px 66px;
font-size: 1.4rem;
display: flex;
align-items: center;
}
@media screen and (max-width: 900px) {
.home__section-news-list {
padding: 14px 50px;
}
}
@media screen and (max-width: 670px) {
.home__section-news-list {
padding: 14px 15px;
display: block;
}
}
.home__section-news-list:first-child {
border-top: none;
}
.home__section-news-list dt {
margin-right: 70px;
display: flex;
align-items: center;
}
@media screen and (max-width: 670px) {
.home__section-news-list dt {
margin-right: 0;
margin: 0 0 10px 0;
}
}
.home__section-news-list dt time {
color: rgba(255,255,255,0.5);
display: block;
}
.home__section-news-list dd a {
color: rgba(255,255,255,0.5);
}
.home__section-news-list dd a:hover {
color: rgba(255,255,255,1);
}


.home__section-product {
background: url(../img/home/product-bg.jpg) no-repeat center center;
background-size: cover;
padding: 458px 0 480px;
}
@media screen and (max-width: 1024px) {
.home__section-product {
background-position:  center right;
padding: 358px 0 380px;
}
}
@media screen and (max-width: 900px) {
.home__section-product {
padding: 258px 0 280px;
}
}
@media screen and (max-width: 670px) {
.home__section-product {
background-position:  center center;
padding: 100px 15px 100px;
}
}
.home5__section-product {
background: url(../img/home/newbg.png) no-repeat center center;
background-size: cover;
padding: 100px 50px 200px;
}
@media screen and (max-width: 1024px) {
.home5__section-product {
background-position:  center right;
padding: 358px 0 380px;
}
}
@media screen and (max-width: 900px) {
.home5__section-product {
padding: 258px 0 280px;
}
}
@media screen and (max-width: 670px) {
.home5__section-product {
background-position:  center center;
padding: 100px 15px 100px;
}
}
.home__section-product-wrapper {
width: 100%;
max-width: 652px;
margin-left: 232px;
}
@media screen and (max-width: 1440px) {
.home__section-product-wrapper {
margin-left: 50px;
}
}
@media screen and (max-width: 670px) {
.home__section-product-wrapper {
margin-left: 0;
}
}
.home__section-product-headline {
margin-bottom: 33px;
font-weight: 600;
font-size: 4.8rem;
color: rgba(255,255,255,0.9);
}
@media screen and (max-width: 1024px) {
.home__section-product-headline {
margin-bottom: 18px;
font-size: 4.2rem;
}
}
@media screen and (max-width: 670px) {
.home__section-product-headline {
font-size: 3.2rem;
}
.home__section-product-headline br {
display: none;
}
}
.home__section-product-text {
margin-bottom: 60px;
}
@media screen and (max-width: 1024px) {
.home__section-product-text {
margin-bottom: 30px;
}
}
.home__section-product-text p {
margin-bottom: 1.5em;
line-height: 2.3;
color: rgba(255,255,255,0.8);
}
@media screen and (max-width: 1024px) {
.home__section-product-text p {
line-height: 1.8;
font-size: 1.6rem;
}
}
.home__section-product-text p:last-child {
margin-bottom: 0;
}
.home__section-product-btn {
width: 100%;
max-width: 280px;
text-align: center;
}
@media screen and (max-width: 670px) {
.home__section-product-btn {
max-width: inherit;
}
}
.home__section-product-btn a {
border: 1px solid rgba(255,255,255,0.5);
padding: 13px 0;
color: rgba(255,255,255,0.7);
display: block;
}
.home__section-product-btn a:hover {
color: #252525;
}
@media screen and (max-width: 1024px) {
.home__section-product-btn a:hover {
color: rgba(255,255,255,0.7);
}
}


.home__section-performance {
display: flex;
justify-content: space-between;
align-items: center;
}
@media screen and (max-width: 900px) {
.home__section-performance {
display: block;
}
}
.home__section-performance-wrapper {
width: 100%;
max-width: 652px;
box-sizing: border-box;
margin: 0 80px 0 232px;
}
@media screen and (max-width: 1440px) {
.home__section-performance-wrapper {
margin-left: 50px;
}
}
@media screen and (max-width: 900px) {
.home__section-performance-wrapper {
max-width: inherit;
margin: 0;
padding: 100px 50px 0;
}
}
@media screen and (max-width: 670px) {
.home__section-performance-wrapper {
padding: 100px 15px 50px;
}
}
.home__section-performance-headline {
margin-bottom: 33px;
font-weight: 600;
font-size: 4.8rem;
}
@media screen and (max-width: 1024px) {
.home__section-performance-headline {
margin-bottom: 18px;
font-size: 4.2rem;
}
}
@media screen and (max-width: 670px) {
.home__section-performance-headline {
font-size: 3.2rem;
}
.home__section-performance-headline br {
display: none;
}
}
.home__section-performance-headline small {
margin-bottom: 29px;
letter-spacing: 3px;
font-size: 1.8rem;
display: block;
}
@media screen and (max-width: 1024px) {
.home__section-performance-headline small {
margin-bottom: 15px;
font-weight: 500;
font-size: 1.6rem;
}
}
.home__section-performance-text {
margin-bottom: 60px;
}
@media screen and (max-width: 1024px) {
.home__section-performance-text {
margin-bottom: 30px;
}
}
.home__section-performance-text p {
margin-bottom: 1.5em;
line-height: 2.3;
}
@media screen and (max-width: 1024px) {
.home__section-performance-text p {
line-height: 1.8;
font-size: 1.6rem;
}
}
.home__section-performance-text p:last-child {
margin-bottom: 0;
}
.home__section-product-logo {
width: 50%;
}
@media screen and (max-width: 900px) {
.home__section-product-logo {
width: 100%;
}
}
.home__section-product-logo ul {
display: flex;
flex-wrap: wrap;
}
.home__section-product-logo li {
width: 50%;
}
@media screen and (max-width: 1440px) {
.home__section-product-logo li {
width: 100%;
}
}
@media screen and (max-width: 900px) {
.home__section-product-logo li {
width: 50%;
}
}
.home__section-product-logo li img {
border: 1px solid #eeeeee;
box-sizing: border-box;
}
.home__section-product-logo li:nth-child(even) img {
border-left: none;
}
@media screen and (max-width: 1440px) {
.home__section-product-logo li:nth-child(even) img {
border-left: 1px solid #eeeeee;
}
}
@media screen and (max-width: 900px) {
.home__section-product-logo li:nth-child(even) img {
border-left: none;
}
}
.home__section-product-logo li:nth-child(3) img,
.home__section-product-logo li:nth-child(4) img,
.home__section-product-logo li:nth-child(5) img {
border-top: none;
}
@media screen and (max-width: 1440px) {
.home__section-product-logo li:nth-child(2) img {
border-top: none;
}
}
@media screen and (max-width: 900px) {
.home__section-product-logo li:nth-child(2) img {
border-top: 1px solid #eeeeee;
}
}


.home__section-brand {
background: url(../img/home/brand-bg.jpg) no-repeat center bottom;
background-size: cover;
padding: 267px 0 655px;
}
@media screen and (max-width: 1024px) {
.home__section-brand {
padding: 167px 0 555px;
}
}
@media screen and (max-width: 900px) {
.home__section-brand {
padding: 167px 0 355px;
}
}
@media screen and (max-width: 670px) {
.home__section-brand {
padding: 100px 0 250px;
}
}
.home__section-brand-inner {
max-width: 1110px;
box-sizing: border-box;
margin: 0 auto;
padding: 0 15px;
}
.home__section-brand-wrapper {
width: 100%;
max-width: 550px;
margin-left: auto;
}
@media screen and (max-width: 1024px) {
.home__section-brand-wrapper {
max-width: 483px;
margin: 0 auto;
left: auto;
}
}
.home__section-brand-headline {
margin-bottom: 17px;
font-weight: 600;
line-height: 1;
font-size: 17.0rem;
color: #FFFFFF;
}
@media screen and (max-width: 1024px) {
.home__section-brand-headline {
font-size: 15.0rem;
}
}
@media screen and (max-width: 670px) {
.home__section-brand-headline {
font-size: 10.0rem;
}
}
@media screen and (max-width: 320px) {
.home__section-brand-headline {
font-size: 8.0rem;
}
}
.home__section-brand-headline small {
margin-bottom: 22px;
letter-spacing: 3px;
font-size: 1.8rem;
display: block;
}
@media screen and (max-width: 1024px) {
.home__section-brand-headline small {
margin-bottom: 15px;
font-weight: 500;
font-size: 1.6rem;
}
}
.home__section-brand-text {
margin-bottom: 60px;
}
@media screen and (max-width: 1024px) {
.home__section-brand-text {
margin-bottom: 30px;
}
}
.home__section-brand-text p {
margin-bottom: 1.5em;
line-height: 2.3;
color: #FFFFFF;
}
@media screen and (max-width: 1024px) {
.home__section-brand-text p {
line-height: 1.8;
font-size: 1.6rem;
}
}
.home__section-brand-text p:last-child {
margin-bottom: 0;
}
.home__section-brand-no1 {
width: 100%;
max-width: 160px;
margin-top: 37px;
text-align: center;
}
@media screen and (max-width: 1024px) {
.home__section-brand-no1 {
margin: 37px auto 0;
}
}
.home__section-brand-no1 img {
width: 150px;
}
@media screen and (max-width: 670px) {
.home__section-brand-no1 img {
width: 100px;
}
}
.home__section-brand-no1 span {
line-height: 2;
letter-spacing: -1px;
font-size: 1.6rem;
display: block;
}


.home__section-company {
background: url(../img/home/company-bg.jpg) no-repeat center bottom;
background-size: cover;
padding: 274px 0 454px;
}
@media screen and (max-width: 1024px) {
.home__section-company {
padding: 174px 0 354px;
}
}
@media screen and (max-width: 670px) {
.home__section-company {
padding: 100px 0 200px;
}
}
.home__section-company-inner {
max-width: 1270px;
box-sizing: border-box;
margin: 0 auto;
padding: 0 15px;
}
.home__section-company-wrapper {
width: 100%;
max-width: 523px;
margin-left: auto;
}
@media screen and (max-width: 1024px) {
.home__section-company-wrapper {
max-width: 483px;
margin: 0 auto;
left: auto;
}
}
.home__section-company-headline {
margin-bottom: 34px;
font-weight: 600;
color: #FFFFFF;
}
.home__section-company-headline img {
max-width: 493px;
}
@media screen and (max-width: 1024px) {
.home__section-company-headline img {
max-width: 100%;
}
}
.home__section-company-headline small {
margin-top: 7px;
letter-spacing: 3px;
font-size: 2.4rem;
color: rgba(255,255,255,0.8);
display: block;
}
@media screen and (max-width: 1024px) {
.home__section-company-headline small {
font-size: 2.0rem;
}
}
@media screen and (max-width: 670px) {
.home__section-company-headline small {
font-size: 1.8rem;
}
}
.home__section-company-text {
margin-bottom: 60px;
}
@media screen and (max-width: 1024px) {
.home__section-company-text {
margin-bottom: 30px;
}
}
.home__section-company-text p {
margin-bottom: 1.5em;
line-height: 2.3;
color: rgba(255,255,255,0.8);
}
@media screen and (max-width: 1024px) {
.home__section-company-text p {
line-height: 1.8;
font-size: 1.6rem;
color: rgba(255,255,255,1);
}
}
.home__section-company-text p:last-child {
margin-bottom: 0;
}
.home__section-company-btn {
width: 100%;
max-width: 280px;
text-align: center;
}
@media screen and (max-width: 670px) {
.home__section-company-btn {
max-width: inherit;
}
}
.home__section-company-btn a {
border: 1px solid rgba(255,255,255,0.5);
padding: 13px 0;
color: rgba(255,255,255,0.7);
display: block;
}
.home__section-company-btn a:hover {
color: #252525;
}
@media screen and (max-width: 1024px) {
.home__section-company-btn a {
color: rgba(255,255,255,1);
}
.home__section-company-btn a:hover {
color: rgba(255,255,255,1);
}
}

/*****************************************************************************
contact 
*****************************************************************************/

.contact-item {
background: url(../img/home/contact-bg.jpg) no-repeat center center;
background-size: cover;
padding: 177px 0 164px;
}
@media screen and (max-width: 900px) {
.contact-item {
padding: 77px 30px 64px;
}
}
@media screen and (max-width: 670px) {
.contact-item {
padding: 77px 15px 64px;
}
}
.contact-item-headline {
margin-bottom: 106px;
text-align: center;
font-weight: 600;
line-height: 1;
letter-spacing: 16px;
font-size: 17.0rem;
color: rgba(255,255,255,0.2);
}
@media screen and (max-width: 1024px) {
.contact-item-headline {
margin-bottom: 53px;
font-size: 15.0rem;
}
}
@media screen and (max-width: 670px) {
.contact-item-headline {
margin-bottom: 30px;
letter-spacing: 6px;
font-size: 8.0rem;
}
}
@media screen and (max-width: 360px) {
.contact-item-headline {
font-size: 6.0rem;
}
}
.contact-item-headline small {
margin-top: 19px;
font-weight: 600;
letter-spacing: 4px;
font-size: 3.0rem;
color: #cfcfcf;
display: block;
}
@media screen and (max-width: 1024px) {
.contact-item-headline small {
font-size: 2.4rem;
}
}
@media screen and (max-width: 670px) {
.contact-item-headline small {
margin-top: 8px;
font-size: 1.8rem;
}
}
.contact-item-wrapper {
display: flex;
justify-content: center;
}
@media screen and (max-width: 900px) {
.contact-item-wrapper {
display: block;
}
}
.contact-item-wrapper-tel {
margin: 0 50px;
text-align: center;
font-style: italic;
font-weight: 600;
line-height: 1;
letter-spacing: 6px;
font-size: 7.2rem;
color: #FFFFFF;
}
@media screen and (max-width: 900px) {
.contact-item-wrapper-tel {
margin: 0 0 50px;
}
}
@media screen and (max-width: 670px) {
.contact-item-wrapper-tel {
letter-spacing: 3px;
font-size: 5.2rem;
}
}
@media screen and (max-width: 320px) {
.contact-item-wrapper-tel {
font-size: 4.2rem;
}
}
.contact-item-wrapper-tel a {
color: #FFFFFF;
}
.contact-item-wrapper-tel small {
margin-top: 10px;
font-style: normal;
font-weight: 500;
letter-spacing: normal;
font-size: 1.8rem;
display: block;
}
@media screen and (max-width: 670px) {
.contact-item-wrapper-tel small {
font-size: 1.4rem;
}
}
.contact-item-wrapper-btn {
width: 100%;
max-width: 430px;
box-sizing: border-box;
padding: 0 50px;
text-align: center;
}
@media screen and (max-width: 900px) {
.contact-item-wrapper-btn {
max-width: inherit;
margin: 0 auto;
padding: 0;
}
}
.contact-item-wrapper-btn a {
border: 1px solid rgba(255,255,255,0.5);
padding: 30px 0;
color: #FFFFFF;
display: block;
}
@media screen and (max-width: 670px) {
.contact-item-wrapper-btn a {
padding: 15px 0;
}
}
.contact-item-wrapper-btn a:hover {
color: #252525;
}
@media screen and (max-width: 1024px) {
.contact-item-wrapper-btn a:hover {
color: #FFFFFF;
}
}

/*****************************************************************************
footer 
*****************************************************************************/

.footer {
background: #000000;
padding: 105px 0;
}
@media screen and (max-width: 670px) {
.footer {
padding: 50px 0;
}
}
.footer__wrapper {
padding: 0 7.03125%;
display: flex;
justify-content: space-between;
align-items: center;
}
@media screen and (max-width: 900px) {
.footer__wrapper {
padding: 0 7.03125%;
display: block;
}
}
@media screen and (max-width: 670px) {
.footer__wrapper {
padding: 0 15px;
}
}
.footer__wrapper-logo {
}
@media screen and (max-width: 900px) {
.footer__wrapper-logo {
margin-bottom: 20px;
}
}
.footer__wrapper-logo a {
display: flex;
align-items: center;
}
.footer__wrapper-logo a {
color: rgba(255,255,255,0.67);
}
.footer__wrapper-logo img {
width: 147px;
}
@media screen and (max-width: 670px) {
.footer__wrapper-logo img {
width: 110px;
}
}
.footer__wrapper-logo small {
margin-left: 13px;
font-weight: 500;
letter-spacing: 2px;
font-size: 1.8rem;
}
@media screen and (max-width: 1024px) {
.footer__wrapper-logo small {
font-size: 1.6rem;
}
}
@media screen and (max-width: 670px) {
.footer__wrapper-logo small {
letter-spacing: normal;
font-size: 1.4rem;
}
}
.footer__wrapper-about {
width: 55%;
text-align: right;
}
@media screen and (max-width: 900px) {
.footer__wrapper-about {
width: 100%;
text-align: left;
}
}
.footer__wrapper-copyright {
margin-bottom: 1px;
font-size: 1.4rem;
color: rgba(255,255,255,0.5);
}
.footer__wrapper-trademark {
font-weight: 500;
font-size: 1.2rem;
letter-spacing: 2px;
color: rgba(255,255,255,0.5);
}


#page-top {
width: 44px;
position: fixed;
right: 0;
bottom: 0;
z-index: 99;
}

/*****************************************************************************
 transform 
 *****************************************************************************/

@media screen and (max-width: 500px) {
.sp-hide {
display: none !important;
}
}
.pc-hide {
display: none;
}
@media screen and (max-width: 500px) {
.pc-hide {
display: block !important;
}
}


.img-effect {
position: relative;
overflow: hidden;
}
.img-effect.img-effect-side img {
display: block;
position: relative;
opacity: 0;
width: 100%;
transition-delay: .5s;
}
.img-effect.img-effect-side:before {
content: "";
position: absolute;
z-index: 10;
top: 0;
left: 0;
width: 0;
height: 100%;
background-color: #ed1c24;
}
.img-effect.img-effect-side.fadeIn img {
opacity: 1;
}
.img-effect.img-effect-side.fadeIn:before {
width: 100%;
left: 100%;
transition: width .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), left .4s cubic-bezier(0.55, 0.085, 0.68, 0.53) .5s;
}

.effect-fade {
opacity: 0;
transition: all 1.5s;
}
.effect-fadeIn {
opacity: 1.0;
}


.effect {
opacity: 0;
transform: translate(0,30px);
transition: all 0.7s;
}
.fadeIn {
opacity: 1.0;
transform: translate(0,0);
}

