@charset "utf-8";

nav{
	/*stickyで固定*/
	position: -webkit-sticky;/*Safari*/
	position: sticky;
	top: 0;
	padding: 1.5em;
}
nav h1.sp_logo{/*PCでは表示しない*/
	display: none;
	}
nav h2.publish{/*PCでは表示しない*/
	display: none;
}
nav .navttl{
	font-size: 1rem;
	font-weight: bold;
	margin-bottom: 2em;
	text-align: center;
}
nav a{
	text-decoration: none;
	color: #333;
}
nav ul li a{
	display: block;
	text-decoration: none;
	color: #333;
	padding: 0.6em;
	transition: all 0.3s;
	border-bottom: 1px #b1b1b1 dotted;
	font-weight: bold;
	font-size: 0.8rem;
	letter-spacing: 0.7px;
}
nav ul li.current a,
nav ul li a:hover,
nav ul li a:active{
    /*color: #ea0f54;*/
	color: #ff6600;
}
nav span{/*特集・小特集の小さな黒枠*/
	display: table;
    background: #000;
    color: #fff;
    font-size: 0.7rem;
    border-radius: 3px;
    padding: 0.1em 0.5em;
	margin-bottom: 0.3em;
}

@media screen and (max-width:768px){
	
nav{
	/*position:fixed;にし、z-indexの数値を大きくして前面へ*/
	position: fixed;
    z-index: 999;
    right: -120%;
    width: 100%;
    height: 100%;
	/*min-height: 100vh;*/
    background: url("../img/sp_nav_bg.jpg");
	background-position: center center;
    background-repeat: no-repeat;
	transition: all 0.6s;
	padding: 2em 0;
	overflow: scroll;
}
nav.panelactive{
    right: 0;/*アクティブクラスがついたら位置を0に*/
}
	
nav h1.sp_logo{
	display: block;
	text-align: center;
	}
nav h2.publish{
	display: block;
	font-size: 1rem;
	margin-bottom: 1em;
	text-align: center;
}
nav .navttl{}
nav ul li a{
    z-index: 999;
	padding: 0 0 0.8em 0;
	font-size: 0.95rem;
	margin: 1em 2em;
	border-bottom: 1px #666 dotted;
}
nav span{
	display: inline-block;
	margin: 0.5em 0.8em 0.3em 0;
}
}


/*-----その他ボタン-----*/

nav li.other a{
	display: block;
    text-decoration: none;
    color: #fff;
    padding: 0.7em 1em 0.5em 1em;
    transition: all 0.3s;
    background: #222;
    border-bottom: none;
    border-radius: 2px;
    margin: 1.3em 0 -0.5em 0;
	border-radius: 8px;
}
nav li.other a:hover {
	opacity: 0.9;
}
@media screen and (max-width:768px){
	
nav li.other a{
    padding: 0.7em;
    color: #333;
    transition: all 0.3s;
    /*background-color: rgba(249, 191, 191, 0.5);*/
	background-color: rgba(215, 245, 180, 0.5);
	border: 1px #666 dotted;
    margin: 1.3em 5em 0;
}
}

/*-----読者プレゼント（SP時表示なしボタンのみ）-----*/
nav .present{
	margin: 2em 0 -2em;
    font-size: 0.7rem;
}
nav .present > div{
	background: #e60012;
	border-radius: 5px;
	color: #fff;
	text-align: center;
	margin-bottom: 0.5em;
}
nav .present > div h3.pre{
	padding: 0.3em 0;
    font-size: 0.9rem;
}
nav .present > div p{
	font-size: 0.7rem;
	margin: 0;
}
@media screen and (max-width:768px){
nav .present{
	display: none;
}
}

/*-----SNSアイコン-----*/
nav .snsicon{
	display: flex;
	width: 80%;
	/*width: 50%;*/
	margin: 3em auto;
}
nav .snsicon > div{
	flex: 1;
	text-align: center;
}
@media screen and (max-width:768px){
nav .snsicon{
	display: flex;
	width: 50%;
	margin: 3em auto;
}
}

/*-----詳細テキスト（SPは表示なし・別で表示）-----*/
nav .notice{
    font-size: 0.7rem;
    width: 70%;
    margin: 10em auto 1em;
}
@media screen and (max-width:768px){
nav .notice{
	display: none;
}
}



/*-----ハンバーガーの動き-----*/
@media screen and (max-width:768px){
.openbtn{
    position: fixed;
    z-index: 9999;/*ボタンを最前面に*/
    top: 10px;
    right: 10px;
    cursor: pointer;
    width: 50px;
    height:50px;
}
.openbtn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
    background-color: #666;
    width: 45%;
  }
.openbtn span:nth-of-type(1) { top: 15px; }
.openbtn span:nth-of-type(2) { top: 23px; }
.openbtn span:nth-of-type(3) { top: 31px; }

.openbtn.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}
.openbtn.active span:nth-of-type(2) { opacity: 0; }
.openbtn.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}
}

