/*google font 設定*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&family=Noto+Serif+JP:wght@400;700&family=Amiri:wght@400;700&display=swap');

#huka #nav{color: #fff;}
#huka #nav.alt{color: #c7c7c7;}

/* flexbox */
.flex_b{
	display: flex;
	flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-around;
    align-items: flex-start;
}

	@media screen and (max-width: 480px) {
		.flex_b{
			display: block;
		}
	}

.flex_b.row{
		flex-direction: row-reverse;
	}

/* figure */
figcaption {
    text-align: right;
    font-size: 0.8em;
    color: #fff;
}

/* link */
#huka .container a ,#huka .container a:hover{
    color: #cdb14c;
}

i.boten {
  text-emphasis: dot #fff;
  -webkit-text-emphasis: dot #fff;
}

@media screen and (max-width: 480px) {
br.sp{display: none;}
}

body {
	background: #222;
}

/* font */
#huka h1 {
    margin: 0;
    display: none !important;
}

h2 {
	font-size: calc(4px + 3vh);
	line-height: calc(4px + 3vh);
	text-shadow: 0 0 5px #ffa500, 0 0 15px #ffa500, 0 0 20px #ffa500,
		0 0 40px #ffa500, 0 0 60px #ff0000, 0 0 10px #ff8d00, 0 0 98px #ff0000;
	color: #fff6a9;
	font-family: ab-megadot9, sans-serif;
	text-align: center;
	animation: blink 12s infinite;
	-webkit-animation: blink 12s infinite;
	margin:0 0 3em 0;
	letter-spacing: 0.5rem;
}

@keyframes blink {
	20%,
	24%,
	55% {
		color: #111;
		text-shadow: none;
	}

	0%,
	19%,
	21%,
	23%,
	25%,
	54%,
	56%,
	100% {
		text-shadow: 0 0 5px #ffa500, 0 0 15px #ffa500, 0 0 20px #ffa500,
			0 0 40px #ffa500, 0 0 60px #ff0000, 0 0 10px #ff8d00, 0 0 98px #ff0000;
		color: #fff6a9;
	}
}


	@media screen and (max-width: 480px) {
		h2 {
			font-size: calc(2px + 3vh);
			line-height: calc(2px + 3vh);
			margin:0 0 2em 0;
		}
	}

#huka h2 + p{
		font-size: 1.35em;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 700;
		line-height: 2;
		color: #fff;
}

	@media screen and (max-width: 480px) {
		#huka h2 + p{
			font-size: 1.15em;
		}
	}

#huka h3{
	font-family: 'Noto Serif JP';
	text-align: center;
    font-size: 1.4em;
    font-weight: 500;
    line-height: 1.2;
    color: #fff;
    letter-spacing: 0.1em;
}

	@media screen and (max-width: 480px) {
		#huka h3{
			font-size: 4.5vw;
			text-align: center;
			line-height: 1.1;
		}
	}

#huka h3 + p{
		font-size: 1.15em;
		font-family: 'Noto Sans JP', serif;
		font-weight: 400;
		line-height: 1.75;
}
	@media screen and (max-width: 480px) {
		#huka h3 + p{
				font-size: 1.05em;
				text-align: left;
		}
	}			
    
#huka #main h3 > span{
	/*font-size: 0.7em;
	padding-left: 2em;
	letter-spacing: 0.1em;*/
}

		@media screen and (max-width: 480px) {
			#huka #main h3 > span{
				/*font-size: 0.7em;
				display: block;
				padding-left: 0;*/
			}
		}

#huka h4{
	font-size: 1.2em;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	letter-spacing: 0.1em;
	color: #333;
}

	@media screen and (max-width: 480px) {
		#huka h4{
			font-size: 1em;
			text-align: left;
		}
	}

#huka  p{
	font-size: 1.05em;
	font-weight:400;
	line-height: 1.8;
	color: #e5e5e5;
}

/* effect */
.content1 .conBox{
    /*max-width: 1920px;*/
    width: 100%;
    margin: 0 auto;
    padding: 0;
    border: none;
    line-height: 1.8em;
    font-size: 100%;
}

/* カバヒコスタイル */
/*メイン背景*/
.flex {
    display: flex;
    flex-wrap: wrap;
}
#con1.bg{	
    background: url(../images/main_bg.jpg) no-repeat center top;
    background-size: cover;
    height: 100%;
    width: 100%;
}
#con1 .inner {
    margin: 80px auto 0;
    width: 1300px;
    overflow: hidden;
    position: relative;
    min-height: 1200px;
}

/*  con1の設定  */
.mainvisual{
	max-width: 1300px;
	margin: 0 auto;
}
.mainvisual.flex{
	align-items: flex-end;
    flex-direction: column;
}
.mv_catch {
	margin: 2vw auto 20vw;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-height: 400px;
    flex-direction: column;	
}
	.mv_catch .sp {
		display:none;
	}
	.mv_catch .pc {
		display:block;
	}
.mainvisual h2{
	margin: 4vw auto 0;
	max-width: 1300px;
	width: 100vw;
}
.mainvisual h2 img.read_pc {
	display: block;
	width: 100%;
	margin: 0 auto;
}
.mainvisual h3{
	margin: 0 auto;
	max-width: 526px;
	width: 75vw;
}
.mainvisual h3 img.read_pc {
	display: block;
	width: 100%;
	margin: 0 auto;
}
.mainvisual img.read_sp {
	display: none;
}

.flex.mv_box{
	justify-content: center;
}
.flex.mv_box img{
	margin: 2%;
    max-width: 580px;
    width: 46%;
}


@media screen and (max-width: 1440px){
	.mainvisual h2{
		margin: 2vw auto 0;
		width: 85vw;
	}
.mainvisual h3 {
    width: 40vw;

}	
	#con1 .inner {
	    min-height: 1000px;
	}
	.mv_catch {
	    margin:2vw auto 30vw;
	}
}

@media screen and (max-width: 1300px){
	#con1 .inner {
		width: 100%;
	}
	.mainvisual {
		width: 100%;
		margin:0 auto; 
	}
	.mainvisual img {
		width: 100%;
	}
    .mv_catch {
        margin: 0vw auto 25vw;
    }
}
@media screen and (max-width:1024px) {
	.inner{
		padding: 0 2vw;
		width: 100%;
	}
	#con1 .inner {
		width: 100%;
		min-height: 860px;
		margin: 80px auto 0;
	}
	.mv_catch {
    margin: 0 auto 23vw;
	}
	.mainvisual {
		width: 100%;
		margin:0 auto; 
	}
	.mainvisual img {
		width: 100%;
	}
}
@media screen and (max-width: 768px) {
    #con1 .inner {
        min-height: 1000px;
    }
    .mainvisual h3 {
        width: 60vw;
        margin: 5vw auto 0;
    }

	.mainvisual h2 {
		width: 95vw;
		margin: 20vw auto 0;
	}

	.mv_catch {
		margin: 0 auto 10vw;
	}
	.mv_catch .pc {
		display:none;
	}
	.mv_catch .sp {
		display:block;
	}
}
@media screen and (max-width: 559px) {
	#con1 .inner {
        min-height: 800px;
    }
    .mv_catch {
        margin: 0 auto 5vw;
    }
    .mainvisual h3 {
        width: 70vw;
        margin: 15vw auto 0;
    }
    .mainvisual h2 {
        width: 95vw;
        margin: 25vw auto 0;
    }

    .flex.mv_box img {
	    width: 85vw;
	}
}

/*

#mainVisual{
	width: 100%;
	min-height: 1300px;
    background: url(../images/main_bg.jpg)top center no-repeat;
    background-size: cover;
}
.mainVisual__inner{
	position: relative;
    width: 80rem;
    margin: 0 auto;
}


.mainVisual__wrap{
	flex-wrap: wrap;
    align-items: baseline;
    padding:3rem 1rem;
}

.copy1{
    margin-bottom: 2rem;
}

.copy1.flex{
	  display: flex;
	justify-content: center;
}



.copy2 .text{
	margin-bottom: 2rem;
	width: 100%;
	max-width: 1200px;
	}
.copy2 .text img{
	width: 100%;
	}	


.copy2 .text.pc{
	display: block;
}
.copy2 .text.sp{
	display: none;
}

@media screen and (max-width: 1300px) {
.mainVisual__inner{
	position: relative;
    width: 70rem;
    margin: 0 auto;
}
.copy1 {
	margin-top: 2rem;
    margin-bottom: 12rem;
}
}




@media screen and (max-width: 1024px) {
	.mainVisual__inner{
	    width: 60.33rem;
	}
	.mainVisual__wrap{
	    padding:2rem 4rem 4rem; 
	}


}

@media screen and (max-width: 768px) {

	#mainVisual {
	height: auto;
    background-position: right 50% top 0%;
    background-size: 150%;
    min-height: 850px;
	}
	.mainVisual__wrap {
    padding:2rem 2rem 4rem;
	}

	.mainVisual__inner{
		width: 100%;
	}

	.copy1 {
		width: 60%;
		margin: 0 auto 2rem;
	}
	.copy2 {
	    width: 100%;
	}
	.copy1 img {
		width: 100%;
	}
}

@media screen and (max-width: 480px) {

	#mainVisual {
	background-size: 150%;		
    min-height: 600px;
	}
	.mainVisual__wrap {
    padding: 2em;
	}	
	.copy1 {
		width: 75vw;
	    margin: 0 auto 6rem;
	}
	.copy1 img{
	    width: 100%;
	}	
	.copy2 {
	    width: 100%;
	}		
	.copy2 .text {
	    margin-bottom: 1rem;
	}		
	.copy2 .text.pc {
	    display: none;
	}
	.copy2 .text.sp {
	    display: block;
	}

}*/





#huka #main > .main {
    padding: 8em 5em 5em 5em;
}

	@media screen and (max-width: 1024px) {
		#huka #main > .main {
		    padding: 5em 3em ;
		}
	}

	@media screen and (max-width: 980px) {
		#huka #main > .main {
		    padding: 4em 3em ;
		}
	}

		@media screen and (max-width: 480px) {
		#huka #main > .main {
		    padding: 6em 1em 3em; 
		}
	}


/* Header(main visual) */

	#header {
		padding: 0 ;
		text-align: center;
	}

		#header.alt {
			padding: 0 ;
		}

		@media screen and (max-width: 980px) {
			#header.alt {
				margin-top:85px ;
			}
		}

		#header.alt #nav.only_sp{
			display: none;
		}

		@media screen and (max-width: 768px) {
			#header.alt .mv.only_sp{
				display: block;
			}
			#header.alt .mv.only_pc{
				display: none;
			}
		}


/* 1-お知らせ */

	/* 背景色*/
	#huka #news {
	    color: #333;
	   	font-weight: 700;
    	font-family:'Noto Sans JP', serif;
    	margin-top: -10px;
    	background: #021535;
	}

	.container{
		max-width: 860px;
		width: 100%;
		margin: 0 auto;
	}

	.news_con {
		padding: 0;
		margin: 0 auto;
		width: 100%;
		max-width: 1440px;
	}



/*  newsの設定  */
.news{
	font-family: 'Noto Sans JP', sans-serif;
}

ul.scroll {
    height: 600px;
    overflow: auto;
    padding-right: 1em;
}

.scroll::-webkit-scrollbar {
    border:1px solid #fff;
    width: 7px;
    height: 7px;
    border-radius: 10px;
}
.scroll::-webkit-scrollbar-thumb {
/*    background-color: #b2ced2;*/
    border-radius: 10px;
    background: rgb(178,206,210);
background: linear-gradient(0deg, rgba(0,134,194,1) 75%, rgba(178,206,210,1) 100%);
}


.news_con li{
	margin: 1em 0;
	color: #fff;
}
.news_con li:first-child{
	margin-top: 0;
}
#huka .news_con li h4{
	margin: 0;
	padding-bottom: 0.5em;
    font-weight: 500;
    color:#fff ;
    line-height: 1.3em;
}
#huka .news_con p.date {font-weight: 700; font-family: "Amiri", serif; color:#fff; letter-spacing: 0.05em;}

.news_con .detail {line-height: 1.5;font-size: 0.9em; padding-left: 1em; color: #e3e3e3; margin-bottom: 0.5em;}

.news .mainarea.flex {
    display: flex;
    width: 100%;
    margin:0 auto;
}
.news .photo {
    width: 300px;
    margin-left: 20px;
    margin-right:inherit;
/*    display: inline-block;*/
}
.news .photo img {
    width: 100%;
    height: auto;
}
.news .overview {
    width: calc(100% - 340px);
/*    display: inline-block;*/
    vertical-align: top;
    text-align: left;
}
.news .overview p {
	line-height: 1.5em;
	font-size: 0.9em;
}

.news .flex.img_box{
	padding: 0 1.5%;
}

.news .flex.img_box img{
	margin: 0.5%;
    width: 49%;
}


/*text link*/
#huka #news a:hover {
    color: #cdb14c;
}

#huka #news span.text_uline a {
     color: #cdb14c; 
}
#news .text_uline a {word-break: break-all; color:#fff ;position: relative;text-decoration: none;}
.text_uline a:visited { color : #e95469;}

.text_uline a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	height: 2px;
	background-color: #669ACC;
	transition: width 0.3s;
}
	#huka #news span.text_uline a{
		color: #cdb14c;
	}
.text_uline a:hover::after {
	width: 100%;
}

 /* 新着記事のみNEWマークを表示  */
    .news_con .new .date:after{
      display        : inline-block;       /* インラインボックス定義  */
      content        : "NEW";              /* 表示する文字       */
      background     : #cdb14c;            /* 背景色            */
      color          : #ffffff;            /* 文字色            */
      font-weight    : bold;               /* 太字              */
      font-size      : 1.1em;                /* ベースの文字サイズ    */
      letter-spacing : -1px;               /* 文字間隔詰め       */
      line-height    : 1.2;                  /* 1行の高さ          */
      vertical-align : middle;                /* 基準の高さ位置      */
      margin         : 0 0 0.2em 0.5em;                  /* 外余白なし         */
      padding        : 0.25em 0.5em 0;                /* 反転時の内余白     */
      transform      : scale(0.6)          /* 文字サイズ変更      */
                       translateX(-30%);   /* 横位置調整        */
                                           /* ブリンクのアニメ指定   */
      animation      : newAnime .7s infinite alternate;
    }
    @keyframes newAnime {
       0% { color      : #cdb14c;          /* ブリンク時の文字色      */
            background : #ffffff;          /* ブリンク時の背景色      */
          }
     100% { color      : #ffffff;          /* ブリンク時の文字色      */
            background : #cdb14c;          /* ブリンク時の背景色      */
          }
    }

	.news_con .date .end{
	    font-size: 0.65em;
	    border: 1px solid #333;
	    margin-left: 1em;
	    padding: .05em .5em 0;
	    vertical-align: baseline;
		letter-spacing : -1px;
	}

/* 2-コメント */

	#huka #comment{
		background:#c7dff6 ;
	}

	@media screen and (max-width: 480px) {
	    #huka #main #comment.main {
	        padding: 4em 1em 3em;
	    }
	}

	#huka #comment .contents{
		margin: 0 auto;
	}

	#huka #comment .comment01,#huka #comment .comment02{
		width: 100%;
		max-width: 1024px;
		margin: 0 auto 5%;
	}

	#huka #comment .comment01,
	#huka #comment .comment02{
		padding: 4em;
		background: #fff;
	}
	@media screen and (max-width: 480px) {
			#huka #comment .comment01,
			#huka #comment .comment02{
				padding: 2em;
			}
	}



	#huka #comment .comment02 li{
		margin: 2em auto;
    	border-bottom: 1px solid #ddd;
	}
	#huka #comment .comment02 li:last-child{
		margin-bottom:0;
    	border-bottom: none;
	}

	#huka #comment .comment02 li p{
		font-size: .85em;
		text-align: right;
		margin-top: .5em;
		margin-bottom: 2em;
	}
	@media screen and (max-width: 480px) {
		#huka #comment .comment02 li p span{
			display: block;
		}
	}





/* 2-本の紹介 */

	#huka #main > #newbook {
    	background:#000;
    	padding: 0;
	}

	#huka #newbook .issue_bg{
		padding: 8em 5em 5em 5em;
    	background: url(../images/book_bg.jpg) no-repeat right bottom;
	}

	@media screen and (max-width: 480px) {
			#huka #newbook .issue_bg{
			padding: 8em 2em 5em ;
		}
	}

	#huka #newbook .container{
    	margin: 0 auto;
		width: 100%;
		max-width: 1200px;
	}
		@media screen and (max-width: 768px) {
			#huka #newbook .container {
			    padding: 0;
			}
		}

			@media screen and (max-width: 480px) {
				#huka #newbook .container{
					padding: 0;
				}
			}

	#huka #newbook .container .shinkan{
		margin: 4em auto;
	}		

/* 共通　書籍情報 */

	#huka #newbook .calligraphy.flex_b{
		align-items: self-start;
	}

	@media screen and (max-width:768px) {
		#huka #newbook .calligraphy.flex_b{
			flex-direction: column;
		}
	}

	#huka .img_book img{
		width: 100%;
		max-width: 300px;
	}

	#huka .book{
			margin:0;
	    	width:calc(100% - (320px + 6em));
			text-align: left;
			font-family: 'Noto Sans JP', sans-serif;
			font-weight: 500;
			color: #333;
		}

		@media screen and (max-width:768px) {
			#huka .book{
				text-align: center;
				width: 75vw;
    			margin: 0 auto;				
			}
		}

			@media screen and (max-width:480px) {
				#huka .book {
			    	margin: 2em auto 0;
			    	width: 85vw;
			    }
			}

	#huka img.page {
		margin: 0% auto;
	    width: 100%;
	    max-width: 560px;
	    border: 1px solid #9f9f9f;
	}

		#huka .img_book{
			margin:0 3em 3em 3em;
		}
			@media screen and (max-width:768px) {
				#huka .img_book{
					margin:0 auto 3em;
				}
			}

		#huka .img_book a{
			display: block;
		}

		#huka .img_book a.button.primary{
			margin: 2em auto 1em;
		}
		#huka .img_book a.button.primary:last-child{
			margin: 0 auto;
		}
		#huka .img_book img{
			box-shadow: #a16d2ccf 1px 1px 18px 6px;
			margin: 0 auto;
			width: 100%;
			max-width: 300px;
		}

		#huka .book ul.actions.special {
			justify-content: flex-start;
		}

		@media screen and (max-width: 1024px) {
			#huka #new_book .book ul.actions.special {
			    justify-content: space-around;
			}
		}
			@media screen and (max-width: 980px) {
				#huka .book ul.actions.special {
					justify-content: center;
				}
			}	
				@media screen and (max-width: 480px) {
					#huka ul.actions:not(.fixed) {
				    	width: 75vw!important;
    					margin: 0 auto;
					}
				}

		#huka .book p{
			text-align: center;
		}
		#huka .book p.lead{
			font-family: 'Noto Serif JP';
			text-align: center;
			font-weight: 700;
			font-size: 2em;
		}
			@media screen and (max-width: 480px) {
				#huka .book p.lead {
					font-size: 4.5vw;
					letter-spacing: 0;
				}
			}
		#huka .book p.lead span{
			color: #ff8100;
			font-weight:800 ;
		}

		#huka .book h3 {
    		text-align: center;
		}

			@media screen and (max-width: 980px) {
				#huka .book h3 {
					text-align: center;
					margin-left: inherit;
					margin-top: 0.5em;
				}			
			}

			@media screen and (max-width: 480px) {
				#huka .book h3 {
					font-size: 4.5vw;
					letter-spacing: 0;
				}			
			}

		#huka .book h3 img{
    		text-align: center;
    		display: inline-block;
    		max-width: 620px;
    		width: 100%;
		}


		#huka .book h3 + p{
			font-family: 'Noto Serif JP';
			font-size: 1.15em;
		}	

			@media screen and (max-width: 480px) {
				#huka .book h3 + p{
					font-size: 1.05em;
				}	
			}		

	    #huka .book h3 + p + p {
			font-family: 'Noto Serif JP';
			font-size: 1.2em;
			line-height: 2;
		}

		@media screen and (max-width: 768px) {
			#huka #new_book .book h3,
			#huka #new_book .book h3 + p + p {
				text-align: center;
			}
		}

			@media screen and (max-width: 480px) {
				#huka #new_book .book h3 + p + p {
					text-align: left;
					font-size: 1.05em;
				}
			}

	#huka #newbook .shinkan img.only_pc{
		max-width: 600px;
		width: 100%;
		margin: 0 auto;
	}
@media screen and (max-width: 480px) {
	#huka #newbook .shinkan img.only_sp{
		width: 100%;
		margin: 0 auto;
	}
}

	@media screen and (max-width: 480px) {
		#huka #newbook .calligraphy .img_book img {
			width: 100%;
			max-width: 240px;
		}	
	}


/*6-キャンペーン*/

	#huka #main #story.main {
	    padding: 0;
	    margin: 0 auto;
	}

	#huka #main #story .container{
		max-width: 1024px;
		width: 100%;
	}
	#huka #story .bg {
	    padding: 8em 1em 5em 1em;
	    background-size: auto;
	}
		@media screen and (max-width: 1024px) {
			#huka #story .bg {
			    padding: 8em 2em 5em;
			}
		}

	.story_box{
		overflow: auto;
	    display: block;
	    width: 100%;
	    height: auto;
	    margin: 0 auto;
	    padding: 0;
	    background-position: bottom;
	    background-repeat: no-repeat;
	}

	#huka .story_box p{
		font-size: 1.2em;
	}
	#huka #story h3 {
    font-family: ab-megadot9, sans-serif;
    font-size: 1.4em;
    font-weight: 500;
    background: #ffa500;
    color: #000;
    padding: 0.2em 0.2em 0.2em 0.4em;
    margin: 0 auto 0.2em;
    display: block;
    line-height: 1em;
    text-align: center;
    width: 18rem;
}


		@media screen and (max-width: 768px){
			#iki .oubo h3{ font-size: 1.3rem;}
	    }

	    	@media screen and (max-width: 480px){
					.camp_img img{ width: 75vw;margin: 0 auto}
	    	}
	#huka #main #campaign .button.primary {
		    margin: 2em auto 0;
    		display: block;
    }

/*6-登場人物*/

	#huka #main #character.main {
	    padding: 0;
	    margin: 0 auto;
	}

	#huka #main #character .container{
		max-width: 1024px;
		width: 100%;
	}
	#huka #character .bg {
	    padding: 8em 1em 5em 1em;
	    background-size: auto;
	}

	.chara_box {
	    margin: 0 auto;
	}


	.chara_box .flex{
		flex-direction: row-reverse	;
	}

	.chara_box li{
		width: 30%;
	    padding: 2%;
	    margin:calc(10% / 6);
	    display: flex;
	    flex-direction: column;
	}

@media screen and (max-width: 480px) {
    .chara_box li {
        width: 50%;
        padding: 3vw 3vw 2vw 3vw;
        margin: 2vw auto;
    }
}

	.chara_box li .prom_item{
	    display:flex;
	    align-items: center;
	    justify-content: center;
	    margin-bottom: 1em;
	    /*min-height: 400px;*/
	}

	.chara_box li .prom_item img{
		width: 100%;
	}

	#huka .chara_box li .prom_txt p{
	    font-family: 'Noto Sans JP', sans-serif;
		color: #fff;
		margin: 0 0 0.5em 0;
		line-height: 1.5;
	}

	#huka .chara_box li .prom_txt p:first-child{
		color: #ffa500;
	    font-size: 1.3em;
	}

	.chara_box:last-child li {
	    width: 100%;
	    padding: 0 2%;
	}
	.chara_box:last-child li .prom_txt p{
	    display: inline;
	}
	.chara_box:last-child li .prom_txt p:last-child::before {
	    content: "　　";
	}


/*6-用語解説*/

	#huka #main #term.main {
	    padding: 0;
	    margin: 0 auto;
	}

	#huka #main #term .container{
		max-width: 1024px;
		width: 100%;
	}
	#huka #term .bg {
	    padding: 8em 1em 5em 1em;
	    background-size: auto;
	}
		@media screen and (max-width: 1024px){
			#huka #term .bg {
			    padding: 8em 2em 5em 2em;
			}
	    }

	.detail{
		overflow: auto;
	    display: block;
	    width: 100%;
	    height: auto;
	    margin: 0 auto;
	    padding: 0;
	    background-position: bottom;
	    background-repeat: no-repeat;
	}
	.detail li{
		margin-bottom: 1em;
	}
	#term .detail h3{
	    font-family: ab-megadot9, sans-serif;
	    font-size: 1.4em;
	    font-weight: 500;
	    background: #ffa500;
	    color: #000;
	    padding: 0.2em 0.2em 0.2em 0.4em;
	    margin-bottom: 0.2em;
	    display: inline-block;
	    line-height: 1em;
	}
	    @media screen and (max-width: 480px){
			#term .detail h3{
			    font-size: 1.15em;
			}
		}
	#term .detail h3 + p{
		color: #fff;
		display: inline;
	}
	#term .detail h3 + p::before {
		content: "･･････";
	}






/* 4-著者プロフィール */

	#huka #prof .container {
		max-width: 1024px;
		width: 100%;
		margin: 0 auto;
	}

	#huka #prof h3{
		font-size: 1.4em;
		margin: 0 0 1.5em 0;
		color:#fff;
		text-align: left;
	}

    #huka #prof .flex_b{
    	justify-content: center;
    	margin-bottom: 2em;
    	align-items: flex-start;
    	padding: 0 80px;
    }
	    @media screen and (max-width: 1024px){
		    #huka #prof .flex_b{
		    	width: 100%;
		    	max-width: 600px;
		    	position: relative;
		    	margin: 100px auto 0;
		    	justify-content: center;
		    	padding: 0;
		    }
		}

	    @media screen and (max-width: 1024px){
		    #huka #prof .flex_b .flex_txt{
		    		margin-top: 2em;
		    }
		}


    #huka #prof .flex_b img.lead{
    	margin-left: -120px;
    }

	    @media screen and (max-width: 1024px){
	    	#huka #prof .flex_b img.lead{
		    	margin-left: initial;
		    	position: absolute;
		    	top:-60px;
		    }
	    }

		    @media screen and (max-width: 768px){
		    	#huka #prof .flex_b img.lead{
			    	width: 100%;
			    	max-width: 530px;
			    }
		    #huka #prof .flex_b img.photo{
		    	width: 100%;
		    	max-width: 600px;
		    }
	    }

	#huka #prof .flex_txt{
		width:100%;
		margin:40px 0 0 0 ;
	}
		@media screen and (max-width: 768px){
		    #huka #prof .flex_txt{
		    	margin: 40px auto 0;
		    	width: 80vw;
		    }
		}

		@media screen and (max-width: 480px){
			#huka #prof .flex_b.row{
				padding: 0 10vw;
			}
		}

	#huka #prof .flex_b.row .flex_img{
		max-width: 340px;
		width: 100%;
	}

		@media screen and (max-width: 480px){
			#huka #prof .flex_b.row .flex_img{
				width: 60vw;
			}
		}

	#huka #prof .flex_b.row .flex_txt{
		width:calc(100% - 380px);
		margin:0 40px 0 0;
	}
		@media screen and (max-width: 768px){
	    #huka #prof .flex_b.row .flex_txt{
	    	margin: 0 auto;
	    	width: 75vw;
	    }
	}

			@media screen and (max-width: 480px){
			    #huka #prof .flex_b.row .flex_txt{
			    	width: 80vw;
			    }
			}
	#huka #prof .flex_b.row .flex_txt p{
		color: #fff;
	}


	#huka #prof .flex_b .flex_img *{
		width: 100%;
		max-width: 300px;
		margin: 0 auto;
	}

/* 5 著者対談・著者インタビュー　動画 */

	#huka #main > #movie.main{
    	background: #000;
	}
	#huka #movie .bg{
    	padding: 0em 5em 5em 5em;
	}
		@media screen and (max-width: 980px) {
			#huka #movie .bg{
    			padding: 0em 2em 5em 2em;
			}
		}
			@media screen and (max-width: 768px){
				#huka #movie .bg {
    				padding: 0em 1em 5em 1em;
				}
			}

	#huka #movie .container {
		max-width: 1200px;
		margin: 0 auto 6em;
	}

		@media screen and (max-width: 480px){
			#huka #movie .container {
				width: 85vw;
			}
		}

	#huka #movie .movie_inner{
		max-width: 640px;
		width: 100%;
		margin: 0 auto;
	}

	#huka #movie h3{
	    margin: 0 0 2em 0;
	    text-align: center;
	}

		@media screen and (max-width: 480px){
			#huka #movie h3{
			    font-size: 4vw;
			}
		}	

	#huka .movie_con img {
    	margin: 0 auto 2vw;
    	box-shadow: #1f4f67cf 1px 1px 18px 6px;
	}
	@media screen and (max-width: 480px){
		#huka .movie_con img {
    		width: 100%;
		}
	}			



/*6-書店員さまへ*/

	#huka #main #promotion.main {
	    padding: 0;
	    /*background:#669ACC;*/
	    margin: 0 auto;
	}

	#huka #main #promotion .container{
		max-width: 1200px;
		width: 100%;
	}

	#huka #promotion h2 + p {
	    text-align: center;
	    margin-bottom: 2em;
	    font-size: 1em;
	    font-weight: 500;
	}

	#huka #promotion .bg {
	    color: #fff;
	    padding: 8em 1em 5em 1em;
	    background-size: auto;
	}
		@media screen and (max-width: 480px) {
			#huka #promotion .bg {
			    padding: 6em 1em 3em;
			    background-size: 150%;
			}
		}

.flex {
    display: flex;
    flex-wrap: wrap;
}

.prom_box {
    margin: 0 auto;
    justify-content: flex-start;
}
		@media screen and (max-width: 480px) {
			.prom_box  {
			        flex-direction: column;
			    }
		}

.prom_box .flex{
	flex-direction: row-reverse	;
}

.prom_box li{
	width: 30%;
	background: #e3e3e3;
    padding: 2%;
    margin:calc(10% / 6);
    display: flex;
    flex-direction: column;
}
		@media screen and (max-width: 480px) {
			.prom_box li{
			    width: 75vw;
        		padding: 6vw;
        		margin: 4vw auto;
			}
		}



.prom_box li .prom_item{
    display:flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.5em;
}

.prom_box li .prom_item img{
	width: 100%;
}
.prom_box li .prom_txt{
	margin-top: auto;
}
#huka .prom_box li .prom_txt p{
    font-family: 'Noto Sans JP', sans-serif;
	color: #444;
	margin: 0 0 0.5em 0;
	line-height: 1;
}

.prom_box .button.primary{
	margin: 2em auto 0;
    display: block;
    width: 75%;
    height: 3em;
    line-height: 3em;
    font-size: 1rem;
}
		@media screen and (max-width: 480px) {
			.prom_box .button.primary{
			    font-size: .85rem;
			}
		}
.scrollable-box {
  max-height: 900px;
  overflow-y: auto;
}

.scrollable-box img {
	margin-left: auto;
	margin-right: auto;
	display: block;
}

		@media screen and (max-width: 768px) {
			.scrollable-box img {
				width: 80vw;
			}
		}
.scrollable-box::-webkit-scrollbar {
    border:1px solid #fff;
    width: 7px;
    height: 7px;
    border-radius: 10px;
}
.scrollable-box::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background: rgb(178,206,210);
	background: linear-gradient(0deg, rgba(0,134,194,1) 75%, rgba(178,206,210,1) 100%);
}

		.neon-text {
  fill: #fff;
  filter: 0 0 5px #00ff00, 0 0 10px #00ff00, 0 0 15px #00ff00, 0 0 20px #00ff00, 0 0 40px #00ff00, 0 0 70px #00ff00, 0 0 80px #00ff00, 0 0 100px #00ff00;
}

