@import "base.css";
@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400..700;1,400..700&family=Shippori+Mincho:wght@400;500;600;700;800&display=swap');

/* 
------------------------------------------------------------ */
a {
	color:#0078ff;
	text-decoration:underline;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	cursor:pointer;
}
a:focus {
  outline: none;
}


a img {
	/*firefox*/
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
	overflow:hidden;
	box-shadow: #000 0 0 0;
	/*background-color:#ffffff;*/
}

/*画像をウインドウサイズに合わせて可変*/
img{
    vertical-align: bottom;
	max-width: 100%;
    height: auto;
    width /***/:auto;　/*IE8のみ適用*/
	-webkit-backface-visibility: hidden;
}

/*edge画像ホバーメニュー非表示*/
img {
    pointer-events: none;
}


body {
	color:#333;
	margin:0;
	padding:0;
	font-size:17px;
	font-family: "Shippori Mincho", serif;
    font-weight: 500;
    font-style: normal;
	/*font-family: -apple-system, BlinkMacSystemFont , '游ゴシック体' , 'Yu Gothic', YuGothic , 'ヒラギノ角ゴ ProN' , 'Hiragino Kaku Gothic ProN' , 'メイリオ', 'Meiryo', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;*/
	/*font-family: 游明朝, 'Yu Mincho', YuMincho, 'Hiragino Mincho ProN', HGS明朝E, メイリオ, Meiryo, serif;*/
	/*font-family:'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;*/
	line-height:180%;
	background-color:#f6f6f6;
	text-align:center;
	position:relative;
}


.font-en{
    font-family: "Lora", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}




#main-wrapper{
	position:relative;
    overflow: hidden;
}

#main-container {
	
}


/* ナビ部分 
------------------------------------------------------------ */
#menuBtn{
	display:block;
}
#menuClose,
#shadows{
	display:none;
}

#menuBtn{
	position:absolute;
	top:0px;
	right:0;
	width:50px;
	height:50px;
	z-index:1050;
}


#panel-btn{
  display: block;
  position: relative;
  width: 50px;
  height: 50px;
}
#panel-btn:hover{

}
#panel-btn-icon{
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 2px;
  margin: -1px 0 0 -10px;
  background: #000;
  transition: .2s;
}
#panel-btn-icon:before, #panel-btn-icon:after{
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  background: #000;
  transition: .3s;
}
#panel-btn-icon:before{
  margin-top: -6px;
}
#panel-btn-icon:after{
  margin-top: 4px;
}


#menuBtn.open #panel-btn-icon{
  background: transparent;
}
#menuBtn.open #panel-btn-icon:before, #menuBtn.open #panel-btn-icon:after{
  margin-top: 0;
 
}
#menuBtn.open #panel-btn-icon:before{
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);

}
#menuBtn.open #panel-btn-icon:after{
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);

}




#menuClose{
	position:relative;
	z-index:1010;
}
#shadows{
	position:fixed;
	width:100%;
	height:120%;
	top:0;
	left:0;
	background-color:#000;
	opacity: 0.8;
	filter: alpha(opacity=80);
	z-index:1001;
}

#navi{
	display:none;
	position:absolute;
	top:81px;
	left:0;
	width:100%;
	background-color:#f8f8f8;
}




/* ヘッダー
------------------------------------------------------------ */
	
#header	{
	position:relative;
	top:0;
	left:0;
	z-index:1020;
}


#header-inner{
    position: relative;
    overflow: hidden;
}
#header-inner .mv{
    display: table;
    width: 100%;
    
    position: relative;
    background: url("../../images/mv.jpg") center center no-repeat;
    background-size: cover;
    

    
}
#header-inner .mv.on{
    opacity: 1;
}
#header-inner .mv-cover{
    display: block;
    width: 100%;
    height: 100%;
    z-index: 1;
    position: absolute;
    top:0;
    left: 0;
    background-color: #977f78;

    left: -100%;
    
    /**/
	-webkit-transition: 0.6s ease-in-out;
	   -moz-transition: 0.6s ease-in-out;
		 -o-transition: 0.6s ease-in-out;
			transition: 0.6s ease-in-out;
}
#header-inner .mv-cover.on{
    left:0;
}
#header-inner .mv-cover.on.op{
    opacity: 0.9;
    /**/
	-webkit-transition: 3.8s ease-out;
	   -moz-transition: 3.8s ease-out;
		 -o-transition: 3.8s ease-out;
			transition: 3.8s ease-out;

}

#header-inner .mv-inner{
    display: table-cell;
    vertical-align: middle;
    
    margin: 0 auto;
    position: relative;
    z-index: 2;
}
#header-inner .mv-inner h1{
    padding-bottom: 80px;
    font-weight: 400;
    opacity: 0;
    /**/
	-webkit-transition: 0.8s ease-in-out;
	   -moz-transition: 0.8s ease-in-out;
		 -o-transition: 0.8s ease-in-out;
			transition: 0.8s ease-in-out;
}
#header-inner .mv-inner h1.on{
    opacity: 1;
}


#header-inner .mv-inner h1 img{
    width: 380px;
}

#header-inner .mv-inner p{
    color: #fff;
    font-size: 16px;
    line-height: 150%;
    
    position: absolute;
    bottom:60px;
    width: 100%;
    letter-spacing: 0.1em;
    
    opacity: 0;
    /**/
	-webkit-transition: 0.8s ease-in-out;
	   -moz-transition: 0.8s ease-in-out;
		 -o-transition: 0.8s ease-in-out;
			transition: 0.8s ease-in-out;
}
#header-inner .mv-inner p.on{
    opacity: 1;
}


/* フッター
------------------------------------------------------------ */
#footer{
    padding: 60px 0;
}
#footer address{
    font-size: 13px;
    text-align: center;
}


/* ボタン 
--------------------------------------------*/
.btn-link{
	/**/
	border-radius: 6px;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	
	/**/
  	box-shadow: 2px 2px 4px rgba(0,0,0,0.20);

}




.btn-buy-area{
    padding-top: 40px;
    text-align: center;
}

.btn-de{
    display: inline-block;
    text-align: center;
    width: 50%;
}
.btn-de a{
    display: block;
    margin: 0 auto;
    padding: 15px;
    text-align: center;
    background-color: #333;
    /*background-color: #c10079;*/
    color: #fff;
    text-decoration: none;
    font-size: 19px;
    border-radius: 60px;
	-webkit-border-radius: 60px;
	-moz-border-radius: 60px;
}
.btn-de a i{
    display: inline-block;
    font-size: 13px;
    font-style: normal;
    margin-left: 15px;
}

.btn-buy{
    display:inline-block;
    text-align: center;
     width: 30%;
     margin-left: 5%;
}
.btn-buy a{
    display: block;
    padding: 10px;
    text-align: center;
    background-color: #333;
    color: #fff;
    text-decoration: none;
    font-size: 16px;
    border-radius: 60px;
	-webkit-border-radius: 60px;
	-moz-border-radius: 60px;
}



/**/
.at{
   font-size: 13px;
   padding-top: 30px;
   line-height: 140%;
}


/**/
.message{
    position: relative;
    padding: 120px 0 50px;
    
    text-align: center;
    margin-top: 50px;
    line-height: 180%;
}
.message h2{
    font-weight: 400;
    letter-spacing: 0.1em;
    font-size: 26px;
    padding: 100px 0;
    text-align: center;
    line-height: 180%;
}
.message .at{
    font-size: 14px;
    margin-top: 150px;
    text-align: center;
    padding: 5px;
    background-color: #f1f1f1;
}

.message a{
    color: #333;
}


/**/
.text-animation span {
  opacity: 0;

}

/**/
.concept-area{
    padding:150px 0 0 0;
}
.concept-area h2{
    font-weight: 400;
    font-size: 25px;
    padding-top: 100px;
}
.concept-area p{
    padding-top: 70px;
    font-size: 25px;
    letter-spacing: 0.1em;
    line-height: 180%;
}

.grip{
    width: 200px;
    margin-top: -30px;
    float: right;
}


/**/

.project-area{
    padding-top: 150px;
}
.project-area-inner{
    display: table;
    width: 100%;
    position: relative;
}
.project-area-inner .imgbox{
    display: table-cell;
    vertical-align: middle;
    width: 40%;
}
.project-area-inner .txtbox{
    display: table-cell;
    vertical-align: middle;
    width: 60%;
}
.project-area-inner .txtbox .txtbox-inner{
    text-align: left;
    padding: 0 0px 0 80px;
}
.project-area-inner .txtbox h2{
    font-weight: 400;
    font-size: 25px;
    padding-bottom: 70px;
}

/**/
.project-area.project-area2 .imgbox{
    position: relative;
    left: 60%;
}
.project-area.project-area2 .txtbox{
    position: relative;
    right: 40%;
}
.project-area.project-area2 .project-area-inner .txtbox .txtbox-inner{
    padding: 0 80px 0 0px;
}


/**/
.project-area-w{
    padding-top: 150px;
}

.project-area-w .project-area-w-inner .imgbox{

}
.project-area-w .project-area-w-inner .txtbox{

}
.project-area-w .project-area-w-inner .txtbox .txtbox-inner{
    text-align: left;
}
.project-area-w .project-area-w-inner .txtbox h2{
    font-weight: 400;
    font-size: 25px;
    padding-bottom: 70px;
}

.project-area-w .mt{
    margin-top: 100px;
}
.project-area-w .mt-S{
    margin-top: 30px !important;
}
.project-area-w h3{
    font-weight: 400;
    font-size: 20px;
    padding-bottom: 30px;
    text-indent: -1em;
    padding-left: 1em;
}
.project-area-w .imgbox{
    width: 800px;
    margin: 0 auto 0 auto;
    background-color: #f0f0f0;
    padding: 30px;
}

.project-area-w .project-area-w-block{
    padding: 0 4%;
}

/**/
.pt-N{
    padding-top: 0 !important;
}


.products-area{
    padding: 40px 0 0 0;
}

.products-area ul li{
    list-style: none;
    padding-top: 150px;
    padding-bottom: 60px;
    position: relative;
}


.products-item{
    position: relative;
}
.products-item .num{
    font-family: "Lora", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 100px;
    letter-spacing: 0.05em;
    position: absolute;
    z-index: 10;
    top:-20px;
    left: -60px;
}
.products-item .proimg{
    position: absolute;
    right: -15%;
    width: 640px;
    padding-top: 50px;
}

.products-item .txtbox{
    padding-top: 0px;
    padding: 0 5%;
    width: 50%;
}


.products-area ul li:nth-child(even) .products-item .num{
    right: inherit;
    left: 40%;
}
.products-area ul li:nth-child(even) .products-item .proimg{
    right: inherit;
    left: -18%;
}

.products-area ul li:nth-child(even) .products-item .txtbox{
    padding-left: 45%;
}




.products-item .txtbox h2{
    font-weight: 400;
    font-size: 30px;
    letter-spacing: 0.1em;
}
.products-item .txtbox strong{
    display: block;
    font-weight: 400;
    font-size: 20px;
    padding-top: 40px;
    letter-spacing: 0.1em;
}

.products-item .txtbox p{
    padding-top: 30px;
}


.products-item .txtbox .imgbox{
    width: 80%;
    max-width: 400px;
    margin: 0 auto;
    padding-top: 40px;
}



.news-area{
    padding: 200px 0 120px 0;
}
.news-area h2{
    text-align: center;
    font-family: "Lora", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 30px;
    letter-spacing: 0.05em;
}
.news-area ul{
    padding-top: 50px;
}
.news-area ul li{
    list-style: none;
    padding: 20px 20px;
    border-bottom: solid #dcdcdc 1px;
}
.news-area ul li a{
    color: #333;
}


.news-area ul.qa h3{
    font-weight: 600;
    font-size: 18px;
    padding-bottom: 10px;
}
.news-area ul.qa p{
    font-weight: 400;
    font-size: 16px;
    padding-left: 0em;
}
