@charset "utf-8";
/* ================================================================
 株式会社　ソーフィールド
 admin  : Masako Yoshimoto
 Author: Graphics Drive Inc.
 Author URI: http://www.graphics-drive.com/
 update : 2024/01/10
 
 2024年・トップページだけリニューアル
 ナビゲーションcss / PC 980px以上で表示 980px以下で非表示
================================================================ */

.nbox{
	position: fixed;
	top: 0;
	height: 50px;
	width: 100%;
	background-color: #000;
	opacity: 0.8;
	text-align: center;
	font-weight: bold;
	color: #FFF;
	z-index: 2;
	pointer-events: auto;
}

.nbox p{ font-size: 14px; line-height: 4; color: #FFF; }

.nbox a, .nbox a:hover{ color: #FFF; text-decoration: none;}

/* ------------------------------------------------------------
　　Global Navi / pc
------------------------------------------------------------ */	

@media(min-width: 960px){
	
.humberger,.nbox{ display: none; }

/* グローバルナビ  */
.gnav{
	height: 50px;
	display: block;
	margin-top: 20px;
}

.gnav ul{
	width:100%;
	max-width:1024px;
	position: relative;
	margin: 0 auto;
	display: -webkit-box; 
	display: -ms-flexbox; 
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-ms-flex-wrap: wrap;
	 flex-wrap: wrap;
}

.gnav ul li{ 
	-webkit-box-flex: 1; 
	    -ms-flex: 1; 
	        flex: 1; /* flexboxの均等割・width: calc(100% / 7);と書かなくても均等に配分される */
	margin: 0; 
	position: relative; 
	font-size: 14px;
	text-align: center; 
	letter-spacing: 0;
}

.gnav li a{
	position: relative; /* マウスオーバーの罫線アニメーションの基準 */
	width: 100%;
	display: block;
	color: #FFF;
	text-decoration: none;
	font-weight: bold;
	padding-bottom: 3px;
}

.gnav li a:hover{ color: #333; } 

/* マウスオーバーの罫線アニメーション */
.gnav li a:before{
	position: absolute;
	content: "";
	display: block;
	left: 100%;
	right: 100%;
	bottom: 0;
	height: 3px;
	background-color: #FFF;
	-webkit-transition: left 0.4s ease, right 0.4s ease;
	-moz-transition: left 0.4s ease, right 0.4s ease;
	-o-transition: left 0.4s ease, right 0.4s ease;
	transition: left 0.4s ease, right 0.4s ease;
	margin-top: 3px;
}

/* マウスオーバーの罫線アニメーションの基点 */
.gnav li a:hover:before { left:0; right:0; }



/* アニメーション*/
.gnav li a:hover {
	-webkit-transition: 0.2s ease-in-out;
	   -moz-transition: 0.2s ease-in-out;
	     -o-transition: 0.2s ease-in-out;
	        transition: 0.2s ease-in-out;

}

}

/* ------------------------------------------------------------
　　Global Navi / tb / sp
------------------------------------------------------------ */	
@media(max-width: 960px){
	
.sp{ display: block; } /* 入れないと表示されない */

.gnav{
	position: fixed;
	top: 0;
	right: -240px;
	width: 240px;
	height: 100%;
	background-color: #000;
	opacity: 0.8;
	z-index: 2;
	padding-top: 40px;
	
	-webkit-transition: all 400ms ease-in-out 0s;
	-moz-transition: all 400ms ease-in-out 0s;
	-o-transition: all 400ms ease-in-out 0s;
	transition: all 400ms ease-in-out 0s;
	-ms-transition: all 400ms ease-in-out 0s;
}

.gnav ul{
	list-style: none;
	padding: 0;
	margin-top: 10px;
    margin-bottom: 20px;
}
		
.gnav ul li{
 	font-size: 13px;
	letter-spacing: 0.1em;
}

	.gnav ul li p{
		background:url(../images/btn_open.png) 2% center no-repeat;
		font-size: 13px;
	}
		
	.gnav ul li p.open{
		background:url(../images//btn_close.png) 2% center no-repeat;
	}
	
	.gnav ul li p a:hover{
		background:url(../images/btn_close.png) 2% center no-repeat background-color: #333 	filter: alpha(opacity=70);
		-moz-opacity:0.7;
		opacity:0.7;
	}


.gnav ul li a{
	color: #FFF;
	letter-spacing: 0;
	display: block;
	padding: 10px 20px;
	text-decoration: none;
}
		
.gnav ul li a:hover{
	color: #FFF;
	background: #333;
}

	/* child list */		
	.gnav ul li ul{
		padding-left: 5px;
	}
	.gnav ul li li a{
	font-size: 12px;
	color: #FFF;
	display: block;
	text-decoration: none;
	padding-right: 20px;
	padding-left: 20px;
	}

/* イベントボタン */	
.sp-btn-red{
    width: 160px;
    border-radius: 5px;
    text-align: center;
    margin-top: 20px;
    background-color: #B20000;
    padding: 10px;
    margin: auto;
}

.sp-btn-red a{
    color: #FFF!important;
    text-decoration: none!important;
}


.sp-btn-red:hover{background-color: #ccc; color: #333;}

/* SNSアイコン */	
.icon-nav { 
    display: flex;
    margin-top: 20px; 
    pointer-events: auto; 
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
    column-gap: 20px;
    }
.icon-nav img{ width: 30px; height: 30px; float:left;}

}

@media(max-width: 480px){
    .icon-nav { 
    margin-top: 20px;
    margin-right: auto;
    margin-left: 70px;
    justify-content: center;
    }
.icon-nav img{  
    float:left;
    margin-right: 20px;
    margin-left: auto;
    }

}
	
/* ------------------------------------------------------------
　　ハンバーガーメニュー / トグルメニュー
------------------------------------------------------------ */	
.humberger{
	position: fixed;
	top: 0;
	right: 0;
	z-index: 3;
	width: 45px;
	cursor: pointer;
	padding: 17px 10px 10px;
}

	.icon-bar{
	height: 2px;
	background-color: #FFF;
	display: block;
	margin-bottom: 6px;

	-webkit-transition: all 400ms ease-in-out 0s;
	-moz-transition: all 400ms ease-in-out 0s;
	-o-transition: all 400ms ease-in-out 0s;
	transition: all 400ms ease-in-out 0s;
	-ms-transition: all 400ms ease-in-out 0s;
}
		
.fixed-content{
	right: inherit;
	width: 100%;
	z-index: 2;

	-webkit-transition: all 400ms ease-in-out 0s;
	-moz-transition: all 400ms ease-in-out 0s;
	-o-transition: all 400ms ease-in-out 0s;
	transition: all 400ms ease-in-out 0s; 
	-ms-transition: all 400ms ease-in-out 0s;
}
	

.overlay{
	z-index: -1;
	opacity: 0; 
	background: #000;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	position: fixed;
	/* 表示アニメーション */
	-webkit-transition: all 400ms ease-in-out 0s;
	-moz-transition: all 400ms ease-in-out 0s;
	-o-transition: all 400ms ease-in-out 0s;
	transition: all 400ms ease-in-out 0s;
	-ms-transition: all 400ms ease-in-out 0s;
}
		

/* ------------------------------------------------------------
	　ドロワーが開いた時のスタイル（.opened）980px以下
------------------------------------------------------------ */
@media(max-width: 980px){
		
body.opened .fixed-content{
	left: -240px;
}
		
body.opened .gnav{
	right: 0;
}
		
body.opened .humberger .icon-bar{
	background: #FFF;
}

body.opened .humberger :nth-child(1){
	transform:translate(0,8px) rotate(45deg); 
	-webkit-transform:translate(0,8px) rotate(45deg);
}
		
body.opened .humberger :nth-child(2){
	transform:translate(-20px ,0); 
	-webkit-transform:translate(-20px ,0);
	opacity:0;
}
		
body.opened .humberger :nth-child(3){
	transform:translate(0,-8px) rotate(-45deg);
	-webkit-transform:translate(0,-8px) rotate(-45deg);
}
/* ------------------------------------------------------------ */	

	
body.opened .overlay{
	z-index: 2;
	opacity: 0.3;
	left: -240px;
}

}
