
/*全体*/
body{
    font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
    line-height: 2;
    font-size: 14px;
	letter-spacing: 3px;
	overflow-x: hidden;
	
	@media screen and (max-width: 767px){
		letter-spacing: inherit;
	}

}

a{
	color: #1376af;
}

a:hover{ 
    opacity: 0.6; 
    cursor: pointer;
}

.wrap{
    max-width: 1200px;
    width: 94%;
    margin: 0 auto;
    display: block;
    @media screen and (max-width: 767px){}
}

.lower-wrap{
    max-width: 1050px;
    width: 94%;
    margin: 0 auto;
    display: block;
    @media screen and (max-width: 767px){}
}

header,div,footer{
	color: #3f3f3f;
}


#header-style{
	position: relative;
}

.header-contetns{
	display: flex;
	justify-content: space-between;
}


/* PC用メニュー */
@media screen and (min-width: 768px){ 
		.header-nav{
			font-size: 13px;
			letter-spacing: 1px;
			& ul{ display: flex;
				& li{
					border-top: 9px solid #ffffff;
					padding-top: 50px;
					& a{ padding: 50px 0;
						color: #3f3f3f;
					}
					
					&:nth-child(1){ margin-right: 70px;}
					&:nth-child(2){ margin-right: 60px;}
					&:nth-child(3){ margin-right: 40px;}
					
							@media screen and (max-width: 960px){ 
								&:nth-child(1){ margin-right: 30px;}
								&:nth-child(2){ margin-right: 30px;}
								&:nth-child(3){ margin-right: 30px;}

							}
					
					        @media screen and (max-width: 767px){
					        }
				}
				& li.active{
					border-top: 9px solid #777777;
				}
			}
		}
}


.header-site-logo{
	margin-top: 65px;

	@media screen and (max-width: 1400px){ 	
		margin-right: 100px;
	}
	
	@media screen and (max-width: 960px){ 
		width: 200px;
		margin-top: 35px;
	}

	@media screen and (max-width: 767px){ 
		margin: 50px auto 0;
	}
	
}

.header-onlineshop-link{
	position: absolute;
	top: 0;
	right: 0;
	@media screen and (max-width: 767px){
		 display: none;
		& img{ width: 70px; height: auto;}	
	}
}


/* SP用メニュー */

@media screen and (min-width: 768px){
		.sp-menu { display: none;}
		.sp-menu-list{ display: none;}
}

@media screen and (max-width: 767px){
		.header-nav{
			display: none;
		}

		.sp-menu {
		  cursor: pointer;
		  background-color: #040000;
		  color: #fff;
		  width: 60px;
		  height: 60px;
		  position: fixed;
		  z-index: 999;
		  top: 0;
		  right: 10px;
		  border-radius: 0 0 10px 10px;
		}
		
		.sp-menu.close{
		  background-color: #ffffff;
		  color: #040000;
		}
		
		.hamburger{
		  width: 30px;
		  height: 30px;
		  display: block;
		  position: relative;
		  margin: 15px;
		}

		.hamburger_bar {
		  display: block;
		  width: 100%;
		  height: 4px;
		  position: absolute;
		  left: 0;
		  background: #fff;
		  transition: all 0.3s 0s ease;
		}

		.hamburger_bar:nth-child(1) {
		  top: 0;
		}

		.hamburger_bar:nth-child(2) {
		  top: 50%;
		  transform: translateY(-50%);
		}

		.hamburger_bar:nth-child(3) {
		  top: 100%;
		  transform: translateY(-100%);
		}
		
		.close{
			.hamburger_bar {  background: #040000;}
			.hamburger_bar:nth-child(1) { transform: rotate(-45deg); top: 40%;}
			.hamburger_bar:nth-child(2) { display: none;}
			.hamburger_bar:nth-child(3) { transform: rotate(45deg); top: 40%;}
		}
		
		.sp-menu-list.open{
		  right: 0;
		}

		.sp-menu-list{
		  background-color: rgba(0, 0, 0, 0.8);
		  color: #fff;
		  position: fixed;
		  top: 0;
		  right: -250px;
		  z-index: 100;
		  width: 250px;
		  height: 100%;
		  border-left: 2px solid #040000;
		  transition: all 0.3s 0s ease;
		  
		  & ul{ width: 100%; margin: 50px 0 0;}
		  & li{ width: 100%;}
		  
		  & a{
		  	padding: 10px 20px;
		    border-bottom: 1px solid #fff;
		    display: block;
		    color: #fff;
		  }
		  
		  .online-shop-link:after{
				content: "";
				width: 1em;
				height: 1em;
				background-image: url("../images/common/link.svg");
				display: inline-block;
				margin-left: 5px;
		 	 }
		  
		}
}





#footer-style{
	border-top: 1px solid #3f3f3f;
}

.footer-contetns{
	padding: 40px 0 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	
	@media screen and (max-width: 767px){
		padding: 20px 0 0;
	}
	.company-name{
		font-size: 24px;
		letter-spacing: 0px;
		line-height: 1;
			& span{ font-size: 12px; display: block;}
	}
	
	.footer-nav{
		letter-spacing: 0px;
	    line-height: 1;
	    display: flex;
		margin-top: 15px;

		@media screen and (max-width: 767px){
		    display: none;
		}
		& a{
			color: #3f3f3f;		
		}
			    
	    & li:before{
	    	content: "|";
	    	padding: 0 3px;
	    }
	    & li:first-child:before{
	    	display :none;
	    }
	}
}

.fadein{
    opacity: 0;
}

.copyright{
	display: block;
	text-align: right;
	letter-spacing: 0;
	line-height: 1;
	font-size: 12px;
	margin-top: 30px;
	@media screen and (max-width: 767px){
		margin-top: 10px;
	}
}


/* フェードイン処理 */
.fadein,
.fadein-first{
    opacity: 0;
    transform: translate(0,0);
    transition: all 1.5s;
  &.fadein-left{
      transform: translate(-30px,0);
  }
  &.fadein-right{
      transform: translate(30px,0);
  }
  &.fadein-up{
      transform: translate(0,-30px);
  }
  &.fadein-bottom{
      transform: translate(0,30px);
  }
  &.scrollin{
    opacity: 1 !important;
    transform: translate(0, 0) !important;
  }
}


/* lower 共通部 */


.link-button {
    position: relative;
	text-align: center;
	height: 51px;
	max-width: 430px;
	width: 100%;
	font-size: 18px;
	display: block;
	border: 1px solid #3f3f3f;
	padding: 8px 0 0;
	letter-spacing: 0;
	color: #3f3f3f;
	cursor: pointer;
	transition-duration: 0.5s;
	
	&:hover{	
		letter-spacing: 4px;		
	}
	
	&.center{
		margin: 0 auto;
	}
	
	@media screen and (max-width: 767px){
		width: 100%;
		max-width: 430px;
	}

		&:before{	
			content: "";
			position: absolute;
			top: 50%;
			right: 0;
			background-color: #3f3f3f;
			width: 35px;
			height: 1px;
		}

}



.lower-h2-style{
	font-size: 36px;
	
	@media screen and (max-width: 767px){
		font-size: 28px;
	}
}

.lower-visual{
	display: flex;
}

.lower-h3-style{
	text-align: center;
	font-size: 36px;
	margin: 50px auto;

	@media screen and (max-width: 767px){
		font-size: 24px;
	}
	
}

.lower-h4-style{ 
					font-size: 24px;
					position: relative;
					margin: 0 auto 30px;

					@media screen and (max-width: 767px){
						font-size: 20px;
					}
					
				& span{
					background-color: #fff;
					z-index: 2;
					position: relative;
					padding-right: 0.5em;
					}
				
				&:after{ 
					content: "";
					background-color: #efefef;
					width: 100vw;
					height: 22px;
					display: block;
					position: absolute;
					top: 14px;
					left: 0;

					@media screen and (max-width: 767px){
						height: 18px;
						top: 10px;
					}


					}
					
}

.breadcrumbs{
	display: flex;
	justify-content: end;
	margin-top: -20px;
	
	& ul{
		width: 50vw;
		@media screen and (max-width: 767px){
			width: auto;
		}
	    background-color: #3f3f3f;
	    padding: 5px 20px;
	    display: flex;
	    letter-spacing: 0;
		& li{
			font-size: 12px;
			color: #fff;
			
			& a{
				color: #fff;			
			}
			
			&:after{
				content: ">";
				padding: 0 1em;
			}
			&:last-child:after{
				display: none;
			}
		}
	}
}

.table-border-style{
	width: 100%;
	
	& th,& td{
		border-bottom: 1px solid #333;
		padding: 1em;
	}
	
	& th{
		font-weight: 600;
		padding-left: 2em;
	}

}

.pager{
	display: flex;
	justify-content: center;
	margin: 30px auto;
	& a{
		display: block;
	    width: 30px;
	    height: 30px;
	    border: 1px solid #ddd;
	    text-align: center;
	    margin: 5px;
	    letter-spacing: 0;
	    color: #333;
	}

	& span{
		display: block;
	    width: 30px;
	    height: 30px;
	    border: 1px solid #333;
	    text-align: center;
	    margin: 5px;
	    letter-spacing: 0;
	    color: #333;
	}


}
