@charset "utf-8";

/***************************************

BASE

***************************************/


html {
	height: 100%;
	position: relative;
	background: #f1f1f1;
	
}

body{
	font-family: 'Zen Kaku Gothic New', sans-serif;
	color: #3D3D3D;
	letter-spacing: 0.1rem;
	
}


/***************************************

container_top

***************************************/

#container{
	width: 100%;
}

.top_wrap{
	width: 100%;
	text-align: center;
	margin-top: 5%;
}

.top_main_img{
	max-width: 100%;	
}
.top_main_text{
	width: 45%;
	margin: 2% auto;
}
.top_main_text p{
	font-size: 1.3rem;
	letter-spacing: 0.1rem;
	line-height: 2.5rem;	
	text-align: left;
}

.top_main_banaer{
	margin: 0 auto 15%;
	width: 45%;
}

.top_main_banaer img{
	width: 100%;
}

.marker {
  background:linear-gradient(transparent 50%, rgba(221, 162, 136) 50%);
  display: inline;
  background-repeat: no-repeat;
  background-size: 0% 100%;
  transition:background-size 1.5s;
}
.marker.on {
  background-size: 100% 100%;
}
.under_marker {
  background:linear-gradient(transparent 90%, rgba(10, 10, 10,1.0) 100%);
  display: inline;
  background-repeat: no-repeat;
  background-size: 0% 10%;
  transition:background-size 1.5s;
}
.under_marker.on {
  background-size: 100% 100%;
}










@media screen  and (max-width:1200px){
	
	

.top_wrap{
	width: 100%;
	text-align: center;
	margin-top: 5%;
}	
	
.top_main_text{
	width: 90%;
	margin: 2% auto;
}	
	
.top_main_text p{
	font-size: 0.9rem;
	letter-spacing: 0.1rem;
	line-height: 1.8rem;
	text-align: left;
}	
	

.top_main_banaer{
	margin: 0 auto;
	width: 90%;
}

.top_main_banaer img{
	width: 100%;
}	
	
	
.square_btn{
	display: inline-block;
	width: 90%;

	
}

.square_btn a {
  display: inline-block;
  width: 80%;
  line-height: 50px;

}


	

	
}


/***************************************

Category001

***************************************/


.Category_wrap{
	width: 100%;
	margin: 5% auto;
	background: #f1f1f1;
}

.Category_main{
	width: 80%;
	margin: 10% auto;	
	
}
.Category_main_grid{
	
	display: grid;
	grid-template-columns: 40% 40% 20%;
	/*grid-template-rows: 75% 25%;*/
	
}

.main_grid1{
	grid-column: 1 / 2;
	grid-row: 1 / 3;	
	
}

.main_grid2{
	grid-column: 2 / 3;
	grid-row: 1 / 2;	
	text-align: center;
}


.main_logo img{
	width: 70%;
	
}

.main_item img{
	width: 70%;
	
}


.main_grid3{
	grid-column: 3 / 4;
	grid-row: 1 / 2;	
}
.main_disp{
	width: 90%;
	margin: 10% auto;
}

.main_disp_name p{
	margin: 2% auto;
	font-weight: 800;
	font-size: 1.8rem;	
}
.main_disp_txt p{
	margin: 2% auto;
	font-size: 1.2rem;
	
}
.main_disp_item p{
	margin: 5% auto;
	line-height: 1.6rem;
	font-size: .8rem;
	
}


.main_grid4{
	grid-column: 2 / 4;
	grid-row: 2 / 3;
	
	
}

.Category_sub_grid{
	
 	margin: 0 auto;
	transform:rotate(-1deg);
	width: 70%;
	display: grid;
	column-gap: 1%;
	grid-template-columns: 25% 25% 25% 25%;
	overflow: hidden;
	

	
}


.sub_grid{
	
}







.square_btn{
	display: inline-block;
	width: 50%;
	padding: 2% 0;
	background: #3D3D3D;
	margin: 1% auto;
	color:#fff;
	font-size: 0.8rem;
}

.square_btn a {
  display: inline-block;
  width: 70%;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background: #3D3D3D;
  position: relative;
}

.square_btn a::before {
  border-right: 1px solid #fff;
  border-top: 1px solid #fff;
  bottom: 0;
  content: "";
  height: 10px;
  width: 10px;
  margin: auto;
  position: absolute;
  right: -10px;
  top: 0;
  transform: rotate(45deg);
  transition: right .3s;
}
.square_btn a:hover::before {
  right: -25px;
}




.Category_code{
	width: 80%;
	margin: 10% auto;	
	
}

.Category_code_grid{
	display: grid;
	grid-template-columns: 33.3% 33.3% 33.3%;
	column-gap: .5%;
	row-gap: .5%
	
}


.code_item{
	position: relative;
}

.code_disp{
	width: 30%;
	position: absolute;
	top: 60%;
	right:2%;
	
}

p.code_disp_name{
	font-size: .9rem;
	font-weight: 800;
	margin-bottom: 4%;
}

p.code_disp_txt{
	width: 90%;
	font-size: .85rem;
	letter-spacing: 0.05rem;
	
}


.code_disp_white{
	width: 30%;
	position: absolute;
	top: 60%;
	right:2%;
	color:#fff;
	
}


@media screen  and (max-width:1200px){
	
	


.Category_main{
	width: 100%;
	margin: 10% auto;	
	
}
.Category_main_grid{
	
	display: grid;
	grid-template-columns: 100%;
	/*grid-template-rows: 75% 25%;*/
	
}

.main_grid1{
	grid-column: 1 / 2;
	grid-row: 2 / 3;	
	
}

.main_grid2{
	grid-column: 1 / 2;
	grid-row: 1 / 2;	
	text-align: center;
}


.main_logo img{
	width: 70%;
	
}

.main_item img{
	width: 70%;
	
}


.main_grid3{
	grid-column: 1 / 2;
	grid-row: 3 / 4;	
}
.main_disp{
	width: 90%;
	margin: 10% auto;
}

.main_disp_name p{
	margin: 2% auto;
	font-weight: 800;
	font-size: 1.8rem;	
}
.main_disp_txt p{
	margin: 2% auto;
	font-size: 1.2rem;
	
}
.main_disp_item p{
	margin: 5% auto;
	line-height: 1.6rem;
	font-size: .8rem;
	
}


.main_grid4{
	grid-column: 1 / 2;
	grid-row: 4 / 5;
	
	
}

.Category_sub_grid{
	
 	margin: 0 auto;
	width: 100%;
	display: grid;
	column-gap: 1%;
	grid-template-columns: 50% 50%;
	overflow: hidden;
	transform:rotate(0deg);
	

	
}


.sub_grid{
	
}







.square_btn{
	display: inline-block;
	width: 50%;
	padding: 2% 0;
	background: #3D3D3D;
	margin: 1% auto;
	color:#fff;
	font-size: 0.8rem;
}

.square_btn a {
  display: inline-block;
  width: 70%;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background: #3D3D3D;
  position: relative;
}

.square_btn a::before {
  border-right: 1px solid #fff;
  border-top: 1px solid #fff;
  bottom: 0;
  content: "";
  height: 10px;
  width: 10px;
  margin: auto;
  position: absolute;
  right: -10px;
  top: 0;
  transform: rotate(45deg);
  transition: right .3s;
}
.square_btn a:hover::before {
  right: -25px;
}

	

	
	
	
	
	
	
	
	
	

.Category_code{
	width: 95%;
	margin: 15% auto;	
	
}

.Category_code_grid{
	display: grid;
	grid-template-columns: 95%;
	column-gap: .5%;
	row-gap: .5%;
	margin: 0 auto;
	
	
}


.code_item{
	position: relative;
	justify-items: center;
	align-items: center
}

.code_disp{
	width: 90%;
	margin: 0 auto;
	position: static;
	
	
}


p.code_disp_name{
	font-size: .9rem;
	font-weight: 800;
	margin-bottom: 4%;
}

p.code_disp_txt{
	width: 95%;
	font-size: .85rem;
	letter-spacing: 0.05rem;
	
}

.code_disp_white{
	width: 90%;
	margin: 0 auto;
	position: static;
	color:#3D3D3D;
	
}	
	
	
	
	
	
}	


/***************************************

brand_wrap

***************************************/

.brand_wrap{
	width: 100%;
	text-align: center;
	margin: 10% 0;
	
}
.brand_wrap_title h2{
	font-size: 2.8rem;
	letter-spacing: 0.2rem;
	font-weight: 900;	
}
.brand_group{
	width: 100%;
	margin:3% auto 12%;	
	text-align: center;
}
.brand_main{
	width: 35%;
	margin:1% auto 0;	
	text-align: center;
}
.brand_img{
	width: 100%;
	overflow:hidden;
}
.brand_name h3{	
	font-size: 2.2rem;
	letter-spacing: 0.2rem;
	font-weight: 900;
	margin-top: 2%;
	
}
.brand_text p{	
	padding: 2% 1%;
	font-size: 1.4rem;
	letter-spacing: 0.1rem;
	line-height: 2.1rem;
	text-align: left;	
}
.brand_slide{	
	width: 45%;
	margin: 5% auto;
}
.slide_text p{	
	font-size: 1rem;
	letter-spacing: 0.1rem;	
	text-align: left;
	font-weight: 700;
}

.brand_item_box{	
	width: 75%;
	display: flex;
	margin: 8% auto;
	flex-wrap: wrap;
}
.brand_item{
	width: 25%;
	margin-top: 3% ;	
}

.brand_item img{
	width: 95%;
	height: 95%
}

.brand_item p{
	font-size: .8rem;
	letter-spacing: 0.1rem;	
	font-weight: 700;	
}



@media screen  and (max-width:1200px){
	
.brand_main{
	width: 95%;
	margin:5% auto;	
	text-align: center;
}
	
	
.brand_name h3{	
	font-size: 2rem;
	
	
}	
	
.brand_text p{	

	font-size: 1.0rem;
	line-height: 1.3rem;
		
}	

.brand_slide{	
	width: 95%;
	margin: 5% auto;
}
	
.brand_item_box{
	
	width: 95%;
	display: flex;
	margin: 8% auto 15%;
	flex-wrap: wrap;
	

}
	
.brand_item{
	width: 50%;
	margin-top: 10% ;
	
}	
	
	
.slide_text p{
	
	font-size: .8rem;
	
}	
	
}



/***************************************

category_ison

***************************************/


.category_ison{
	width: 100%;
	text-align: center;
	margin: 2% 0;
	padding: 5% 0 2% 0;
	background: #eaeced;
	
}

.category_ison_top{
	padding: 3% auto;
}


.category_ison_top h2{
	padding: 3% auto;
	font-size: 1.8rem;
	letter-spacing: 0.1rem;
	font-weight: 900;	
	
}


.category_ison_box{	
	width: 70%;
	display: flex;
	margin: 5% auto;
	flex-wrap: wrap;
}
.category_ison_box_list{
	width: 20%;
	
	
}

.category_ison_box_list p{
	
	font-size: 1.3rem;
	letter-spacing: 0.1rem;
	line-height: 2.5rem;	
	text-align: left;
	
}

@media screen  and (max-width:1200px){
	
	.category_ison_top h2{
	
	font-size: 1.6rem;
	
	
}
	
	
.category_ison_box{	
	width: 100%;
	display: flex;
	margin: 5% auto;
	flex-wrap: wrap;
}
.category_ison_box_list{
	width: 50%;
	
	
}

.category_ison_box_list p{
	
	font-size: 1.3rem;
	letter-spacing: 0.1rem;
	line-height: 2.5rem;	
	text-align: left;
	
}	
	
}

/***************************************

underline

***************************************/


.underline-Area {
	  width: 50%;
	  min-width: 200px;
	  height: auto;
	  margin: 0;
	  padding: 20px;
	  border: 1px solid #333;
}

.underline-Area p {
	  margin: 60px auto;
}

.underline-before {

	background: linear-gradient(black, black) 0 100%/0 2px no-repeat;
	transition: background 3s;
	text-decoration: none;

}

.underline-after {
	background-size: 100% 2px;
  
}

	


/***************************************

UP日見出し

***************************************/

.upbi {
  position: relative;
  padding: 3% 5%;
  text-align: center;
  width: 70%;
  margin: 0 auto;	 
  font-size: 1.6rem;
　font-weight: 700;	
	
  	
}

.upbi:before {
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
  width: 100%;
  height: 2px;
  content: '';
  background: #3D3D3D;
}

.upbi span {
  position: relative;
  padding: 0 1em;
  background: #B9C4C9;
  
}


@media screen  and (max-width:1200px){
	
.upbi {
  position: relative;
  padding: 3% 5%;
  text-align: center;
  width: 100%;
  margin: 0 auto 5%;	 
  font-size: 1.3rem;
　font-weight: 700;	
	
  	
}

.upbi:before {
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
  width: 100%;
  height: 2px;
  content: '';
  background: #3D3D3D;
}

.upbi span {
  position: relative;
  padding: 0 1em;
  background: #B9C4C9;
  
}
	
}

/***************************************

fadeUp

***************************************/


.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);
  }
}


/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
 
.fadeUpTrigger{
    opacity: 0;
}



/***************************************

delay

***************************************/

.delay{
	
	 opacity: 0;
   	 animation: fadein 6s ease forwards;
}


@keyframes fadein  {
    0% { opacity: 0; }
    100% { opacity: 1; }
}

.delay_1 {animation-delay: 0.5s}
.delay_2 {animation-delay: 1.2s}
.delay_3 {animation-delay: 1.9s}
.delay_4 {animation-delay: 2.6s}
.delay_5 {animation-delay: 3.3s}
.delay_6 {animation-delay: 4.0s}


/***************************************

PC/SP

***************************************/


@media screen and (min-width: 1200px) {
  .sp {
    display: none;
  }
}
@media screen and (max-width: 1200px) {
  .pc {
    display: none;
  }
}



