/*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;}

body{background-image: url(../images/common/wrap_bg.png);
    background-repeat: repeat;
}

/* 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;
	}


figcaption{
	text-align: right;
	font-size: 0.8em;
}		

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

/* link */

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

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

#huka #main h2{
	overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    font-size: 2.25em;
    margin: 0 0 1.8em 0;
    height: 45ox;
}
#huka #main #news h2 {
    background: url(../images/bg_h_01.png) no-repeat center;
}
#huka #main #newbook h2 {
    background: url(../images/bg_h_02.png) no-repeat center;
}
#huka #main #movie h2 {
    background: url(../images/bg_h_03.png) no-repeat center;
}
#huka #main #prof h2 {
    background: url(../images/bg_h_04.png) no-repeat center;
}
#huka #main #activity h2 {
    background: url(../images/bg_h_05.png) no-repeat center;
}
#huka #main #campaign h2 {
    background: url(../images/bg_h_06.png) no-repeat center;
}



@media screen and (max-width: 480px) {
	#huka #main h2{
	    font-size: 4.5vw;
	}

	#huka #main #news h2,
	#huka #main #newbook h2,
	#huka #main #movie h2,
	#huka #main #prof h2,
	#huka #main #activity h2,
	#huka #main #campaign h2{
		background-size: contain;
	}

}



#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 Sans JP', sans-serif;
	text-align: center;
    font-size: 1.4em;
    font-weight: 500;
    line-height: 1.2;
    color: #444;
    letter-spacing: 0.1em;
}

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

#huka h3 + p{
		font-size: 1.15em;
		font-family: 'Noto Sans JP', serif;
		font-weight: 400;
		color: #333;
		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;
		}
	}


/*#main h4 + p {
	font-size: 1.125em;
}*/

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

#huka  p.txt_bold{
	font-weight: 800;
    font-size: 1.25em;
    letter-spacing: .05em;
    line-height: 1.2;
    font-family: 'Noto Serif JP', serif;
    color: #000;

}

#huka .tyuki {
	font-weight: 400;
    font-size: 0.8em;
    line-height: 1.2;
    text-align: center;
}

.line {
  position: relative;
  display: inline-block;
  padding: 0 45px;
}
.line:before, .line:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 44px;
  height: 2px;
  background-color: black;
  -webkit-transform: rotate(-60deg);
  transform: rotate(-60deg);
}
.line:before {
  left:0;
}
.line:after {
  right: 0;
}


/* effect */

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

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


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

.copy1{
    margin-bottom: 2rem;
}
.copy1 p{
    margin: 1em 0;
}
	@media screen and (max-width: 480px) {
		.copy1 p{
		    width: 65vw;
		    line-height: 1;
		}
	}

.copy1 p img{
	  margin: 0 auto;
	  max-width: 360px;
	  width: 100%;
}


img.pc{
	display: block;
	width: 100%;
}

/*追従*/

#wrapper{position: relative;}

#mainVisual .illust {
    position: absolute;
    right: calc(((100% - 980px) / 2) - 100px);
    bottom: 2vw;
    /*right: 2vw;*/
    z-index: 100;
}
#mainVisual .illust img{
	width: 150px;
}





@media screen and (max-width: 1024px) {
	.mainVisual__inner{
	    width: 60.33rem;
	}
	.mainVisual__wrap{
	    padding:2rem 4rem 4rem; 
	}
		#mainVisual .illust{
		right: 2vw;
		bottom: 2vw;
	}
	#mainVisual .illust img{
		width: 150px;
	}


}

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

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

	.mainVisual__inner{
		width: 100%;
	}

	.copy1 {
		width: 100%;
		margin: 0 auto 2rem;
	}
	.copy2 {
	    width: 80%;
	    /*margin: 0 auto;*/
	}
	.copy1 img {
		/*width: 40%;*/
	}
}

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

	#mainVisual {
	background-size: 200%;		
    min-height: 600px;
	}
	.mainVisual__wrap {
    padding: 2em;
	}	
	.copy1 {
	    margin: 0 auto 2rem;
	}
	.copy1 img{
	    /*width: 55%;*/
	}	
	.copy2 {
	    width: 95%;
	}		
	.copy2 .text {
	    margin-bottom: 1rem;
	}		
	#mainVisual .illust{
        right: 2vw;
        bottom: -2vw;
    }
	#mainVisual .illust img{
		width: 100px;
	}
}


#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;
	}

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

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

	.news_con {
		padding: 0;
		margin: 0 auto;
		width: 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:#444 ;
    line-height: 1.3em;
}
	@media screen and (max-width: 480px) {
			#huka .news_con li h4{
		    font-size: 1.1em;
		}
	}

#huka .news_con li p{
    color:#444 ;
}

#huka .news_con p.date {font-weight: 700; font-family: "Amiri", serif; color:#444; 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: #ef1e30;
	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;
	}

.lg {
    font-size: 1.33333em;
    line-height: .75em;
    vertical-align: -.0667em;
    padding-right: 1em;    
}
.x::before {
    content: "";
    display: inline-block;
    width: 1.2em;
    height: 1.2em;
    background-image: url('../images/common/sns_x.svg');
    background-position: center;
    background-size: contain;    
    background-repeat: no-repeat;
    vertical-align: middle;
}



/* 2-本の紹介 */

	#main > #newbook {
    	background:#fff;
	}

	#huka #newbook .bg{
	}

	@media screen and (max-width: 480px) {
		#huka #newbook .bg {
		}
	}

	#huka #newbook .container{
    	margin: 0 auto;
		width: 100%;
		max-width: 1024px;
		position: relative;
	}
		@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 0;
	}

/* 共通　書籍情報 */

	#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: 90vw;
    			margin: 0 auto;				
			}
		}

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

		#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;
		}

		#huka .img_book img{
			box-shadow: #dbdbdb 3px 3px 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 h3 {
    		text-align: left;
    		font-size: 2em;
    		font-weight: 800;
    		font-family: 'Noto Serif JP';
    		color: #ef1e30;
    		margin: 0 0 0.35em 0;
		}

			@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: 5.8vw;
					letter-spacing: 0;
				}			
			}

		#huka .book h3 + p{
			color: #333;
			font-family: 'Noto Serif JP';
			font-size: 1.35em;
			font-weight: 700;
			letter-spacing: 0.1em;
		}	

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

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

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

		}

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

	#huka #new_book .book p.text{
	    text-align: left;
	    color: #333;
	    font-family: 'Noto Serif JP';
	    font-size: 1.2em;
	    line-height: 2;
	}

		@media screen and (max-width: 768px) {
			#huka #new_book .book p.text{
				width: calc(100% - 22vw);
			}
		}
			@media screen and (max-width: 480px) {

				#huka #new_book .book .flex_b {
					display: flex;
			        flex-direction: column!important;
			        align-items: end;
			        margin-bottom: -100px;
		    	}
				#huka #new_book .book p.text{
					width: 100%;
					font-size: 1.1em;
				}
		    }




#huka p.heading01 {
	font-size: 1.75em;
	font-weight: 700;
}

.heading01 {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.5em;
	text-align: center;
}

.heading01::before,
.heading01::after {
	content: '';
	width: 2px;
	height: 40px;
	background-color: #000;
}

.heading01::before {
	margin-right: 30px;
	transform: rotate(-35deg)
}
.heading01::after {
	margin-left: 30px;
	transform: rotate(35deg)
}



	#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;
		}	
	}

#newbook .illust{
	position: absolute;
	right: 0;
	bottom: -250px;
}
	@media screen and (max-width: 1440px) {
		#newbook .illust{
			right: 0;
			bottom: -150px;
		}
	}
	@media screen and (max-width: 1024px) {
		#newbook .illust{
			right: 0;
			bottom: -100px;
		}
	}
		@media screen and (max-width: 768px) {
			#newbook .illust{
				position: inherit;
			}
		}
#newbook .illust img{
	width: 200px;
}
	@media screen and (max-width: 768px) {
		#newbook .illust img{
			width: 20vw;
		}
	}
		@media screen and (max-width: 480px) {
			#newbook .illust img{
				width: 30vw;
			}
		}

/* 3 動画 */

	#main > #movie{background:#F8F1E1;}

	#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;
	}

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


	#huka #movie .movie_wrap{
		max-width: 980px;
    	width: 100%;
    	margin: 0 auto 1em;
    	text-align: center;
		}

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

			@media screen and (max-width: 768px){
				#huka #movie .movie_wrap {
			    	padding:0;
				}
			}

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

	#huka #movie h3{
	    margin: 0 0 1em 0;
	    text-align: center;
	    font-family: 'Noto Serif JP';
    	font-size: 1.55em;
    	font-weight: 700;
	}

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

	#huka #movie h3 > span{
		display: block;
		font-weight: 500;
		padding: 0 ;
		font-family: 'Noto Sans JP';		
	}

	#huka #movie h3 + p {
    	text-align: center;
	}	

	#huka #movie .movie img {
    	margin: 0 auto 2vw;
	}
	@media screen and (max-width: 480px){
		#huka #movie .movie img {
    		width: 80%;
		}
	}			

	#huka #movie .button{
		font-size: 1em;
		width: 50%;
		display: block;
		margin: 0 auto;
	}	

		@media screen and (max-width: 480px){
			#huka #movie .button{
				font-size: 0.9em;
			}	
		}





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


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

	#huka #prof h4{
		font-size: 1.35em;
		margin: 0 0 .5em 0;
	}

#prof img.photo{
	max-width: 640px;
	width: 100%;
	margin: 0 auto;
}

		@media screen and (max-width: 480px){
			#prof img.photo{
				width: 75vw;
			}	
		}

/*	#huka #prof .flex_img{
	    	margin: 0 auto;
	    }

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

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

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


/*	#huka #prof .flex_b{
		justify-content: center;
	}*/

		@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 .flex_img *{
		width: 100%;
	}

#prof .illust{
	position: absolute;
	left: -50px;
	top: -200px;
}
#prof .illust img{
	width: 150px;
}
		@media screen and (max-width: 480px){
		    #prof .illust{
				top: -150px;
			}
			#prof .illust img{
				width: 30vw;
			}
		}



/*5-皆様からのコメント*/

	#huka #main #activity.main {
	    padding: 0;
	    background:#CB1C0F;
	    margin: 0 auto;
    	font-family: 'Noto Serif JP';
    	font-size: 1.15em;
	}

	#huka #main #activity .container{
		max-width: inherit;
		width: 100%;
	}

	#huka #activity .bg {
	    padding: 8em 0 5em;
	    background: url(../images/bg.jpg) top left no-repeat;
	   	background-size: 100%;
	}
		@media screen and (max-width: 480px) {
			#huka #activity .bg {
			    padding: 6em 1em 3em;
			    background-size: 150%;
			}
		}

	#huka #activity h3 {
    text-align: center;
    font-size: 1.4em;
    font-weight: 700;
    color: #cb1c0f;
    letter-spacing: 0.1em;
    font-family: 'Noto Serif JP';
    margin: 1em 0 2em;
}

.base-wrap{
    width: 100%;
    height: 100%;
    position: relative;
    padding-right: 20px;
    padding-left: 20px;
}
.base-wrap__in {
    width: 100%;
    height: 100%;
    max-width: 960px;
    position: relative;
    margin-right: auto;
    margin-left: auto;
}

.info-nav{
    display: block;
    margin-top: 80px;
}
.job_btn_content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.job_btn{
    display: block;
    position: relative;
    color: #fff;
    font-family: 'Noto Serif JP';
    font-size: 1.2em;
    font-weight: 600;
    width: 25%;
    height: 64px;
    cursor: pointer;
    background:none;
    border: none;
    transition: all .3s ease-in-out;
}

@media only screen and (max-width: 480px) {
.job_btn{
    font-size: 1em;
    height: 40px;
}
}

.job_btn:hover, .job_btn.is-active {
    background:#fff;
    box-sizing: border-box;
    color: #cb1c0f;
    line-height: 1;
    font-weight: bold;
    letter-spacing: 1px;
    border: none;
}
.info-job__body{
	background-color: #fff;
    padding-bottom: 40px;
}
.job_panel {
    background-color: #fff;
    list-style: none;
    box-sizing: border-box;
    height: auto;
    padding:40px 0;
 }
.info-item__child{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 30px 0;
    background-image: linear-gradient(90deg,#707070,#707070 2px,transparent 0,transparent 4px);
    background-size: 6px 1px;
    background-position: bottom;
    background-repeat: repeat-x;
}
.info-item__child.white{
	background-color: #fff;
    padding: 30px 20px;
}
.info-item__ttl {
    width: 25%;
    font-size: 1.8rem;
    font-weight: bold;
    letter-spacing: .05em;
    line-height: 1.5;
    margin-bottom: auto!important;
}
.info-item__detail{width: 75%;}
.info-item__txt {
    font-size: 1.7rem;
    line-height: 1.75;
    margin-bottom: 20px;
}
.info-item__txt-bold {
    font-weight: 700;
    font-size: 1.7rem;
    padding-bottom: 4px;
    line-height: 1.5;
}
.info-item__txt:last-child {
    margin-bottom: 0;
}
.info-item__child ul.ptn {
    padding-left: 1em;
    text-indent: -1em;
    padding-top: 0;
    margin-top: 0;
    margin-bottom: 2em;
}
.info-item__child ul.ptn li {
    padding-top: 10px;
    font-size: 1.4rem;
    line-height: 1.4;
}

@media only screen and (max-width: 768px) {
    .job_table .info-item__ttl{
    	width: 100%;
    	padding-bottom: 20px;
    }
    .job_table .info-item__detail{
    	width: 100%;
    }
}

#huka #activity .comment01 li {
    margin: 2em auto;
    padding-bottom: 2em;
    border-bottom: 1px solid #CB1C0F;
}

#huka #activity .comment01 li p {
    font-size: 1.15em;
    font-weight: 700;
    margin-top: 2em;
    margin-bottom: .5em;
    color: #CB1C0F;
}

#huka #activity .comment01 li p span{
    font-size: .75em;
    font-weight: 400;
    color: #333;
}

#huka #activity .comment02 li {
    margin: 2em auto;
    border-bottom: 1px solid #CB1C0F;
}

#huka #activity .comment02 li p {
    font-size: .85em;
    text-align: right;
    margin-top: .5em;
    margin-bottom: 2em;
}



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

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

	#huka #main #campaign .container{
		max-width: 1440px;
		width: 100%;
	}

	#huka #campaign .bg {
	    padding: 8em 1em 5em 1em;
	    background-size: auto;
	}

	.kikan .calligraphy.flex_b{
		width: 50%;
		flex-basis: 50%;
		margin: 3em 0 0;
	}
		@media screen and (max-width: 1024px){
			.kikan .calligraphy.flex_b {
		        flex-direction: column;
		    }
		}

			@media screen and (max-width: 480px){
				.kikan .calligraphy.flex_b {
    				width: 100%;
    				margin: 4em 0 0;
			    }
			}




	#huka .kikan .img_book img {
		width: 240px;
	    min-width: 200px;
	}
		@media screen and (max-width: 768px){
			#huka .kikan .img_book img {
					width: 100%;
				    max-width: 200px;
				}
		}



	.kikan .button {
	    height: 3.05em;
	    line-height: 3.05em;
	    min-width: 11em;
	    width: 200px;
	    font-size: .85em;
	}

	#huka .kikan .img_book {
	    margin: 0 2em 2em 2em;
	}

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

	#huka .kikan .book {
	    margin: 0;
	    width: calc((100% - 240px - 4em));
	    text-align: left;
	}

		@media screen and (max-width: 1024px){
			#huka .kikan .book {
			    margin: 0 auto;
			    width: 85%;
			}
	    }

	#huka .kikan .book h3 {
		font-size: 1.6em;
		color: #444;
 		font-family: 'Noto Sans JP', sans-serif;
   		font-weight: 500;
 		margin-bottom: 1em;
	}

		@media screen and (max-width: 1024px){
			#huka .kikan .book h3 {
			    text-align: center;
			}
		}

	#huka .kikan .book h3 + p {
    color: #333;
    font-family: 'Noto Sans JP', serif;
    font-size: 1.05em;
    font-weight: 400;
}

	    	@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;
    }

   #huka #main #campaign div.com {
	    width: 100%;
	    font-family: 'Noto Serif JP';
	    font-size: 1.15em;
	    margin-top: 4em;
	}
	#huka #main #campaign div.com li {
		margin: 0 auto 2em;
	    border: 1px solid #ccdff1;
	    padding: 2em;
	}
#huka #main #campaign div.com li p {
    font-size: .85em;
    text-align: right;
    margin-top: .5em;
    line-height: 2;
}
