@charset "utf-8";
/*--------------------------------------------------

--------------------------------------------------*/
/* import files =============================================================== */
@import "font-awesome.css";

html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,img {   margin: 0;  padding: 0; }
area, base, basefont, head, meta, script, style, title, noembed, param  {display: none;}

body{
	background:#fff;
	color: #444;
	*font-size:small;
	*font:x-small;
	font: 13px/1.231 Meiryo,'Hiragino Kaku Gothic ProN', sans-serif;    text-align:left;
	font-weight:normal;
	font-style:normal;
	width: 100%;
	-webkit-text-size-adjust: 100%;
	}

.cf:before,.cf:after {content:"";display:table;}
.cf:after {clear:both;}
.cf {*zoom:1;}

@media only screen and (max-width: 780px) {
	html{
		font-size: 6.25%;
	}
	body{
		font: 14rem/140% 'Hiragino Kaku Gothic ProN',Meiryo, sans-serif;	text-align:left;
		margin: 0 auto;
	}
	#main{font-size: 16rem;}
}


.spbr {display:none;}
@media only screen and (max-width: 520px) {.spbr {display:block;}}

/*SNS buttton*/
#sns-area {position:relative;min-height:30px;}
.sns-btn .tw{position:absolute;top:5px;right:100px;}
.sns-btn .fb{position:absolute;top:5px;right:170px;}
.sns-btn .line{position:absolute;top:5px;right:0px;}
.sp_show {display:none;}
@media only screen and (max-width: 780px) {
	#sns-area {position:static;width:96%;margin:20px auto 10px auto;overflow:hidden;}
	.sns-btn .tw{position:static;float:right;margin-right:10px;margin-bottom:10px;}
	.sns-btn .fb{position:static;float:right;margin-right:0px;margin-bottom:10px;}
	.sns-btn .line{position:static;float:right;margin-right:0px;margin-bottom:10px;}
	.sp_show {display:block;}

}


div                     {   font-size: 100%;    }
p                       {   line-height: 1.3em;}
h1, h2, h3, h4, h5, h6  {   font-weight: bold;  font-size: 100%;    line-height: 120%;  }
img                     {   border:0; margin:0; -ms-interpolation-mode: bicubic;    }
fieldset                {   border:0; margin:0; }
br                      {   letter-spacing:0;   }
ol,ul,li                {   list-style:none;list-style-position: outside;   }
li img                  {   vertical-align:top; }
li a                    {   zoom: 1;    }
em,cite                 {   font-style: normal; }
strong                  {   font-weight:bold;   }
table                   {   border-collapse: collapse;  border-spacing: 0; border:none; }
table td,table th       {   padding:0; font-size: 92%;}
table td                {   font-weight: normal;}
table th                {   font-weight: bold;}
dl,dd,dt                {   font-size: 100%;}

input,button,input:focus,button:focus { outline:0px none ;}
input,button,textarea,select {  font-family : inherit; font-size: 114%; text-align:left;padding: 2px;}


ul li p em {line-height: 180%;}
ul li p em.fcw {color:#fff;}

/* a =============================================================== */
a:link      {   color: #f44239; text-decoration: none; outline:none;    }
a:visited   {   color: #f44239; text-decoration: none;  }
a:hover     {   color: #f44239; text-decoration: none;  }

a,
a::before,
a::after{	-webkit-transition: all .3s; transition: all .3s;}
a::before,
a::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}

#main a:hover,
a.uline:hover{ text-decoration: underline;}

a img {vertical-align: bottom;}

/* float =============================================================== */
.fl{float:left;}
.fr{float:right;}

#main p.sw-fss {color:#666;font-size:12px;font-weight:normal;padding:0 1em 1.8em 1em;text-indent: -1em;}
#main p.fss {color:#666;font-size:12px;font-weight:normal;white-space: normal;}
#main em.fss {color:#666;font-size:12px;font-weight:normal;white-space: normal;padding-top:10px;display:block;}
#main .contest_digicame_caution {width:100%;max-width:943px;margin:0px auto 10px auto;}
.sw-fss {color:#333;font-size:10px;font-weight:normal;}
.bgg{background:#ebebeb;}
.ptb30{ padding:30px 0;}
h2.fsm {font-size:12px;}
.under-c h2.alC{color:#666;}
#main #page .under-c {
	margin: 10px 0;
	padding:200px 0 220px 0;
	border:none;
	color:#666;
	overflow: hidden; _zoom: 1;
}
#main #page .under-c h2{
	color:#666;
	letter-spacing:2px;
}



#main #page .toggle .toggle-body:after,
#main #page .toggle .toggle-head:after,
#main #topArea:after,
.flex-control-paging:after,
#main #bookHeader:after,
#main #calendar2018Header:after,
#main #news li:after,
#main #lineup table td:after,
#main #page:after,
#main:after,
#header #headerNav ul.nav:after,
#header:after,
#footer:after,
.clearfix:after { visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0; }

* html #main #page .toggle .toggle-body,
* html #main #page .toggle .toggle-head,
* html #main #topArea,
* html .flex-control-paging,
* html #main #bookHeader,
* html #main #calendar2018Header,
* html #main #news li,
* html #main #lineup table td,
* html #main #page,
* html #main,
* html #header #headerNav ul.nav,
* html #header,
* html #footer,
* html .clearfix { zoom: 1; } /* IE6 */

*:first-child+html #main #page .toggle .toggle-body,
*:first-child+html #main #page .toggle .toggle-head,
*:first-child+html #main #topArea,
*:first-child+html .flex-control-paging,
*:first-child+html #main #bookHeader,
*:first-child+html #main #calendar2018Header,
*:first-child+html #main #news li,
*:first-child+html #main #lineup table td,
*:first-child+html #main #page,
*:first-child+html #main,
*:first-child+html #header #headerNav ul.nav,
*:first-child+html #header,
*:first-child+html #footer,
*:first-child+html .clearfix { zoom: 1; } /* IE7 */

/* layout =============================================================== */
#header{}
#main {
	width: 100%;
	max-width: 1000px;
	margin: 0px auto;
	padding:0 20px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

#footer {
	background: #fff url( '../img/bg-footer.png' ) repeat-x left top;
	border-top:3px solid #e7352c;
	padding: 20px ;
	margin:20px auto 0;
}

*:first-child+html #main{width:980px;}
*:first-child+html #header #headerNav{width:1000px;}
*:first-child+html #header #headerNav ul.nav{margin: 0;}
* html #main{width:980px;}
* html #header #headerNav{width:1000px;}
* html #header #headerNav ul.nav{margin: 0;}



/* header =============================================================== */
#header #catch{	background: #1f286f; margin: 0 0 10px;color:#fff;text-align:center;}
#header #catch img{
	display: block;
	margin: 0 auto;
	width: 100%;height: auto;
	max-width: 570px;
}

#header #headerLogo,
#header #headerNav{
	width: 100%;
	max-width: 1000px;
	margin: 1rem auto;
	padding: 0;
	overflow: hidden; _zoom: 1;
}

#header #headerCopy {
	float:right;
	padding:5px 0;
	}
#header #headerCopy  p{
	margin:0; padding:0 1rem;
	font-weight:bold;
	}

#header #headerLogo a{display: block;margin:0 10px 10px;}
#header #headerLogo a img{width: 150px; height: auto;float:left;}

/*ヘッダーメニュー1つのとき*/
#header #headerNav ul.nav{
   display: flex;
   justify-content: center;
	background: #e7352c;    
}
/*ヘッダーメニュー1つのとき*/

/*ヘッダーメニュー多いとき*/
#header #headerNav ul.nav{
   display: flex;
   justify-content: space-around;
	background: #e7352c;    
}
/*ヘッダーメニュー多いとき*/





@media only screen and (max-width: 780px) {
	#header #headerNav ul.nav{
    display: block;
	margin: 0 10px;
	padding: 0;
	background: #e7352c;
	}
}

#header #headerNav ul.nav li{
	display: block;
	float: center;
	margin: 0;
	padding: 0;
	font-size: 116%;
}

#header #headerNav ul.nav li a,
#header #headerNav label{
	display: block;
	padding: 12px 11px 10px 11px;
	background: #e7352c;
	color: #fff;
	text-align: center;
	text-decoration: none;
	height: 20px;
	overflow: hidden;
    font-size:14px;
}
/*#header #headerNav ul.nav li.cal a{
	padding: 10px 10px 12px;
	font-weight:bold;
	font-size: 120%;
}*/

#header #headerNav ul.nav li a:hover{	background: #fd5f50;}
#header #headerNav label,#header #headerNav input { display: none; }

@media only screen and (max-width: 780px) {
	#header #catch img{	margin: 0 auto;	width: 100%;height: auto;}
	#header #headerLogo a{margin:0 60px 10px;}
	#header #headerLogo a img{width: 100%; height: auto; }
	#header #headerNav input[type="checkbox"].on-off{	display: none;}
	#header #headerNav label{display: block;font-size:18rem;padding: 15px 0;margin: 0 10px;}
	#header #headerNav label i{margin-right: 3px;}
	#header #headerNav  ul.nav {
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
		padding: 0;
		list-style: none;
		border-top: 1px solid #fd5f50;
	}
	#header #headerNav  ul.nav li {
		padding:0;
		float: none;
		border-bottom: 1px solid #fd5f50;
		font-size:18rem;
	}
	#header #headerNav ul.nav li a{padding: 15px 0;}
	#header #headerNav  input[type="checkbox"].on-off + ul{		height: 0;overflow: hidden;	}
#header #headerNav  input[type="checkbox"].on-off:checked + ul{	height: auto; /*height: 250px; height:348px;*/}
	#header #headerNav  ul.nav li.logo{display: none;}
	/*#header #headerNav ul.nav li.cal a{
		margin:0;
		padding: 12px 20px 10px;
		background-color:#FD8840;
		border-radius:0px;
		}*/

}


/* style,color =============================================================== */
.center{text-align: center !important; margin-left: auto; margin-right: auto;}
.middle{vertical-align: middle !important;}
img.border{border:1px solid #666;}
.alC{text-align: center !important;}
.alL{text-align: left !important;}
.alR{text-align: right !important;}
a.btn{
	-moz-user-select: none;
	background-image: none;
	border: 2px solid transparent;
	border-radius: 4px;
	display: inline-block;
	font-size: 16px;
	color: #333;
	line-height: 120%;
	margin: 5px 3px 5px 0;
	padding: 6px 10px;
	text-align: center;
	vertical-align: middle;
	background-color: #fff;
	border-color: #ccc;
}

a.btn:hover, a.btn:focus{
	color: #333;
	text-decoration: none !important;
	background-color: #ebebeb;
	border-color: #adadad;
	cursor: pointer;
}
a.btn.w-50{
	width:90%;
	max-width: 440px;
}
a.btn i{margin-right: 4px;}

a.btn-red{
	background-color: #f44239;
	border-color: #f44239;
	color: #fff;
}
a.btn-red:hover, a.btn-red:focus{
	background-color: #fd5f50;
	border-color: #fd5f50;
	color: #fff;
}

a.btn-blue{
	background-color: #1f286f;
	border-color: #1f286f;
	color: #fff;
}
a.btn-blue:hover, a.btn-blue:focus{
	background-color: #1f286f;
	border-color: #1f286f;
	color: #fff;
}
a.btn-other{
	background-color: #475ba2;
	border-color: #475ba2;
	color: #fff;
}
a.btn-other:hover, a.btn-other:focus{
	background-color: #6573a8;
	border-color: #6573a8;
	color: #fff;
}
.fade:hover {opacity:0.7; filter: alpha(opacity=70);}

.marker{
	-moz-user-select: none;
	background-image: none;
	border-radius: 4px;
	display: inline-block;
	font-size: 11px;
	font-weight: bold;
	color: #fff;
	line-height: 100%;
	margin: 5px 3px 5px 0;
	padding: 5px;
	text-align: center;
	vertical-align: middle;
	white-space: nowrap;
	background-color: #02a9ef;
}
.marker i{margin-right: 4px;}


#main p{
	margin: 1.5em 0;
	font-size: 114%;
	line-height: 140%;
}
#main h1,#main h2,#main h3{margin: 1em 0;}
#main h1{	font-size: 200%;color: #000;}
#main h2{	font-size: 152%;color: #232323;}
#main h3{	font-size: 122%;font-weight: bold;color: #702994;}
#main ul li{
	list-style: disc outside ;
	margin: 1em 0;
	margin-left: 1.2em;
	font-size: 114%;
	line-height: 140%;
}

#main .sp_only{	display: none;}
#main .bg_g{
	background: #ededed;
	border-radius: 4px;
	font-size: 12px;
	margin: 10px 0;
	padding: 5px;
}

#main .

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 750px) {
.pc { display: none !important; }
.sp { display: block !important; }
}

#main .ban{
	margin: 10px -10px;
	overflow: hidden;
}

#main .ban img{width: 100%; height: auto;}

#main #netPrint{
	border: 1px solid #5885C5;
	border-radius: 5px;
/*	margin-right: 15px;*/

}

#main #netPrint a{
	display: block;
	width: 100%;
	text-align: center;
	}

#main #netPrint a img{	max-width: 650px;}
#main #netPrint a span{
	display: block;
	background: #d92f0b;
	color: #fff;
	padding: 5px 10px;
	font-size: 15px;
	font-weight: bold;
	line-height: 120%;
}

#main #netPrint a:hover{text-decoration: none;opacity:0.7; filter: alpha(opacity=70);}

#main #send{
	border: 1px solid #3f49a5;
	border-radius: 5px;
}


@media only screen and (max-width: 780px) {
	#main .sp_only{	display: block;}
	#main p{	font-size: 15rem;}
	#main h1{	font-size: 22rem;}
	#main h2{	font-size: 18rem;}
	#main h3{	font-size: 15rem;font-weight:bold;}
	#main ul li{font-size: 15rem;}
}


/* main =============================================================== */

/*20250929*/
#main .topBanner {
	width: 100%;
	background: #f2ebdc url( '../img/bg.png' ) repeat left top;
	box-sizing: border-box;
	padding: 15px 20px 0;
	margin-top: 20px;
	margin-bottom: 24px;
	position: relative;
}
#main .topBanner_inner {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#main .topBanner .topBanner-b {
	width: 79.3%;
/*	max-width: 720px;*/
}
#main .topBanner .topBanner-s {
	width: 18.5%;
/*	max-width: 180px;*/
	margin-bottom: 5px;
}
#main .topBanner .topBanner-s .topBanner-s_col2 {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#main .topBanner .topBanner-s .topBanner-s_col2 div {
	width: 100%;
	margin-bottom: 10px;
}
#main .topBanner .topBanner-s .topBanner-s_col1 div {
	width: 100%;
	margin-bottom: 10px;
}
@media only screen and (max-width: 780px) {
	#main .topBanner {
		padding: 15px 10px 0px;
	}
	#main .topBanner .topBanner-b {
		width: 100%;
	/*	max-width: 720px;*/
	}
	#main .topBanner .topBanner-s {
		width: 100%;
	/*	max-width: 180px;*/
		border-top: 1px solid #ccc;
		padding-top: 20px;
	}
	#main .topBanner .topBanner-s .topBanner-s_col2 div {
		width: 49%;
	}
}
/*20250929 end*/

/* topArea */
#main #topArea{
	margin: 0 -10px 10px;
	background: #f2ebdc url( '../img/bg.png' ) repeat left top;
	padding:15px 20px 15px;
	overflow: hidden; _zoom: 1;
}

/*#main #topArea a img{
	 margin-top:5px;
}
*/

#main #topArea a img:hover{opacity:0.7; filter: alpha(opacity=70);}
#main #topArea .topArea_box{width: 100%;     display: flex; align-items: center;}

#main #topArea #topArea-center{
	display: table-cell;
	max-width: 730px;
	padding-right: 10px;
	vertical-align: top;
}
#main #topArea #topArea-center .banSlider{
	max-width: 730px;
	height: auto;
/*	max-height: 260px;*/
	margin: 0;
	padding:0;
	overflow: hidden;
}
#main #topArea #topArea-center .banSlider ul.slides{
	width: 100%;
	height: auto;
}
#main #topArea #topArea-center .banSlider ul li{
	width: 100%!important;
	list-style: none;
	margin: 0;
	padding: 0;
}

#main #topArea #topArea-center .banSlider ul.slides li{
	width: 100%!important;
	list-style: none;
	margin: 0;
	padding: 0;
}

#main #topArea #topArea-center .banSlider ul li img{
	width: 100%;
	height: auto;
	float: left;
	margin-right: 5px;
}
#main #topArea #topArea-center .banSlider ul li img.m_r01{margin-right: 1%;}
#main #topArea #topArea-center .banSlider ul li a:hover img{opacity:0.8; filter: alpha(opacity=80);}

#main #topArea #topArea-right{
	display: table-cell;
	width: 200px;
	height: 294px;
	vertical-align: top;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
}

#main #topArea #topArea-right img{
	margin-bottom:0;
}


#main #topArea #topArea-right li{
	display: block;
	list-style: none;
	margin: 0 0 3px;
	padding: 0;
}
#main #topArea #topArea-right li:last-child{margin-bottom: 0;}

@media only screen and (max-width: 780px) {
	/*#main #topArea{padding:10px;}*/
	#main #topArea{display: none;}
	#main #topArea td#topArea-left{display: none}
	#main #topArea td#topArea-right{ text-align: center;}
	#main #topArea td#topArea-right #appBan{margin:0 auto 8px auto;}
	/*#main #topArea img.topArea-2018-cal-pc{display: none}
	#main #topArea img.topArea-2018-cal-sp{display:block;width:100%;}*/
}


/*topPickup*/
#main #topPickup{width: 100%; margin: 10px 0; display: flex;align-items: center;}
@media only screen and (max-width: 780px) {
	#main #topPickup{width: 100%; margin: 10px 0; display: flex;align-items: center; flex-direction: column;}
}

/*横にバナーが2つあるとき*/
#main #topPickup .left_box{float: left; width: 34%; }

/*横にバナーが1つあるとき*/
#main #topPickup .left_box{float: left; width: 66%; }

#main #topPickup .right_box{float: right; width: 33%; padding-left: 10px; box-sizing: border-box;}
#main #topPickup .center_box{float: right; width: 33%; padding-left: 10px; box-sizing: border-box;}
#main #topPickup .center_box img{margin:0}

#main #topPickup img.border{border: 1px solid #b8b8b8;border-radius: 5px;}

@media only screen and (max-width: 780px) {
	#main #topPickup .left_box, #main #topPickup .center_box, #main #topPickup .right_box{float:none; width:100%; margin-bottom: 10px; padding: 0;}
}

/*topPickup02*/

#main #topPickup02 img{
	padding: 8px 0;
}

#main #topPickup02{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#main #topPickup02 .bnr_box{
    display: flex;
    flex-direction: column;
    float: left;
    width: 100%;
    justify-content: center;
}



#main #topPickup02 li{
	list-style: none;
	margin: 0;
	padding: 0;
}
#main #topPickup02 .w50{
    width: 48%;
    box-sizing: border-box;
    margin: 0 auto;
}

/*#main #topPickup02 li.w50:nth-child(odd){padding-right: 5px;}
#main #topPickup02 li.w50:nth-child(even){padding-left: 5px;}*/
#main #topPickup02 .w100{width: 100%; margin-top: 10px;}


@media only screen and (min-width: 780px) {
	#main #topPickup02{display:none; border: 1px solid #ccc;}
}

/*20211004*/
@media only screen and (max-width: 780px) {
#main #topPickup02 .support_box{
    display: block;
	color: #fff;
	background-color: #a5abff;
    /*border: 1px solid #505cff;*/
    }
    
    
#main #topPickup02 .support_box_text{
    text-align: center;
    font-size: 16px;
    padding: 8px;
    }
    
  
    }



					/*20161129*/
					#main .l_clm{float:left;width:34%;}
					#main .m_clm{float:right;width:33%; }
					#main .r_clm{float:right;width:30%;}
					#main #movie{margin: 10px -10px 0 0;text-align:right;}
					#main #movie iframe{width:427px;max-width:100%;height:240px;}
					#main #movie img{width:460px;max-width:100%;height:240px;}
					#main #movie a:hover img{opacity:0.7; filter: alpha(opacity=70);}

					@media only screen and (max-width: 1200px) {
						#main .l_clm{float:left;width:34%;}
						}
					@media only screen and (max-width: 870px) {
						#main .l_clm{float:left;width:34%;}
						}
					@media only screen and (max-width: 780px) {
						#main .l_clm{float:none;width:100%;}
						#main .m_clm{float:none;width:100%;}
						#main .r_clm{float:none;width:100%;}
						#main #movie{margin: 0px -10px;}
						#main #movie iframe{float:none;width:100%;height:auto;min-height:240px;}
						#main #movie img{float:none;width:100%;height:auto;min-height:240px;}
						}





/* news */
#main #news{
	overflow:auto;
	max-height:7.8em;
	border: 1px solid #e7352c;
	border-radius: 5px;
/*	margin: 10px -10px;*/
	color: #e7352c;
}
					/*20161129*/
					/* chorme only */
					@media screen and (-webkit-min-device-pixel-ratio:0) {
						#main #news{
							border-right: 2px solid #e7352c;
						}
					}

#main #news li{
	list-style: none;
	overflow: hidden; _zoom: 1;
	margin: 10px;
}
#main #news li span{
	display: block;
	width: 100px;
	float: left;
	font-weight: bold;
	font-size: 92%;
}
#main #news li p{
	margin: 0;
	overflow: hidden; _zoom: 1;
	font-size: 92%;
}
#main #news a{text-decoration: underline;}
#main #news a:hover{color:#fd5f50; }

/* lineup */


#main #lineup{
	margin: 10px -10px;
	overflow: hidden; _zoom: 1;
}
#main #lineup h1{
	font-size: 152%;
	background: #f2ebdc url( '../img/bg.png' ) repeat left top;
	margin: 0 ;
	padding: 10px;
}

#main #lineup table{ margin: 10px auto; width: 100%;max-width: 1000px;}
#main #lineup table td{
	text-align: left;
	vertical-align:top;
	width: 25%;
	padding:20px;
	border-bottom: 1px dotted #ccc;
	table-layout: fixed;
}

/*20210906追記*/

#main #lineup table td.noneborder{
	border-bottom:0;
}

#main #lineup table td .cover img{width: 100%;max-width:206px;  height: auto;}
/*#main #lineup table td .cover a img{border:1px solid #e7352c;}      リンク挿入時*/
#main #lineup table td .cover img{border:1px solid #e7352c;}
#main #lineup table td .cover a:hover img{opacity:0.7; filter: alpha(opacity=70);}
#main #lineup table td a.btn{font-size: 12px;margin: 3px 2px 3px 0}
#main #lineup table td h2{font-size: 16px;margin: 10px 0 0;}
#main #lineup table td p{margin:3px 0; font-size: 13px;}


@media only screen and (max-width: 640px) {
	#main #lineup table,#main #lineup table tr,#main #lineup table td{
		display: block;
		overflow: hidden; _zoom: 1;
		width: 100%;
	}
	#main #lineup table td{
		padding: 10px 0;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	#main #lineup h1{font-size: 16rem;}
	#main #lineup table td h2{font-size: 16rem;margin-top: 0;}
	#main #lineup table td a.btn{font-size: 12rem;}
	#main #lineup table td .cover{width: 40%;float: left;margin-right: 10px;}
	#main #lineup table td .lead{overflow: hidden; _zoom: 1;}
}

/* book */
#main #bookHeader{
	margin: 10px -10px;
	padding: 20px;
	background: #f2ebdc url( '../img/bg.png' ) repeat left top;
	overflow: hidden; _zoom: 1;
}
#main #bookHeader .cover{
	float: left;
	margin:0 20px 0 0;
	width: 30%;
}

#main #bookHeader .cover img{
	width: 100%;
	height: auto;
	-webkit-box-shadow: 0 10px 6px -6px #888;
	-moz-box-shadow: 0 10px 6px -6px #888;
	box-shadow: 0 10px 6px -6px #888;
}

#main #bookHeader .lead{	overflow: hidden; _zoom: 1;}
#main #bookHeader h1{	margin: 10px 0;}
#main #bookHeader ul.bookNews{
	margin: 10px 0;
	border-top: 1px dotted #d6c7aa;
	border-bottom: 1px dotted #d6c7aa;
}
#main #bookHeader ul.bookNews li{
	list-style: none outside ;
	margin: 10px 0;
	font-size: 114%;
	line-height: 140%;
}
#main #bookHeader ul.bookNews li span{padding: 0 5px;font-size:85%;}
#main .bookContents{
	border:1px solid #ccc;
	border-radius: 10px;
	padding:0 10px;
	overflow: hidden; _zoom: 1;
}

#main .bookContents h3{
	margin:0 -10px 10px;
	background: #ededed;
	padding: 10px;
}
#main .bookContents ul{margin: 1em -10px -1px;border-bottom: 1px solid #ddd;}
#main .bookContents ul li{margin:1em 1em 1em 2em;display: list-item;}
#main .bookContents ul li p{
	font-size: 85%;
	line-height: 130%;
	margin: 0.5em 0 1em;
	color: #888;
}

#main .bookSample{
	border-radius: 10px;
	background: #666;
	padding:10px;
	margin: 10px 0;
}
/*20250929*/
#main .bookSample .bookSample_Slider {
	width: 100%;
	max-width: 762px;
	margin: 0 auto;
}
#main .bookSample .bookSample_Slider img {
	width: 100%;
}
#main .bookSample .flex-caption{
	text-align: center;
	color: #fff;
	margin: 10px 0
}
#main .bookSample .slick-dots {
	background: #ededed;
	width: 100%;
	border-radius: 5px;
}
#main .bookSample .slick-dots li button {
	font-size: 14px;
	color: initial;
	background: initial;
}
#main .bookSample .slick-dots li button:before {
	content: none;
}
#main .bookSample .slick-dots li.slick-active button {
	color: #f44239;
	font-weight: bold;
}
/*20250929 end*/

#main .bookSample .bookSlider{
	overflow: hidden; _zoom: 1;
	display: block;
	width: 100%;
	max-width: 762px;
	margin: 0 auto;
	padding-bottom: 35px;
	position: relative;
	overflow:hidden;
}
#main .bookSlider li{
	margin: 0;
	list-style-type:none;
}
#main .bookSlider li img{
	display: block;
	width: 100%;
	height: auto;
}
#main .bookSlider li .flex-caption{
	text-align: center;
	color: #fff;
	margin: 10px 0
}
#main .bookSlider ol.flex-control-paging{
	text-align: center;
	background: #ededed;
	position: absolute;
	bottom: 0;
	width: 100%;
	border-radius: 5px;
}
#main .bookSlider ol.flex-control-paging li{
	display: inline-block;
	padding: 10px;
}
* html #main .bookSlider ol.flex-control-paging li{display:inline; width:20px; zoom:1;}
*:first-child+html #main .bookSlider ol.flex-control-paging li{display:inline; zoom:1;}
#main .bookSlider ol.flex-control-paging li a{	color: #f44239;font-size: 12px;}
#main .bookSlider ol.flex-control-paging li a.flex-active{	color: #333;font-weight: bold;}
#main .bookSlider ul.flex-direction-nav li a{font-size: 16px;z-index: 100;}
#main .bookSlider ul.flex-direction-nav li a.flex-next{
	position: absolute;
	bottom: 10px;right: 10px;
}
#main .bookSlider ul.flex-direction-nav li a.flex-prev{
	position: absolute;
	bottom: 10px;left: 10px;
}

/* calendar2018 */
#main #calendar2018Header{
	margin: 10px -10px 30px -10px;
	padding: 20px;
	background: #f2ebdc url( '../img/bg.png' ) repeat left top;*/
	/*background: linear-gradient(#F5F5F5, #ffffff);*/

overflow: hidden; _zoom: 1;
	border:1px solid #ebebeb;
	border-radius:6px;
	-webkit-box-shadow: 0 4px 6px -6px #888;
	-moz-box-shadow: 0 4px 6px -6px #888;
	box-shadow: 0 4px 6px -6px #888;
	position:relative;
}
#main #calendar2018Header-ttl h2{
	margin: 30px 0 20px 0;
	border-left:5px solid #E7342C;
	padding:0 0 0 10px;
	}
#main #calendar2018Header .lead h1{font-size: 1.8em;}
#main #calendar2018Header .lead h2{font-size: 1.8em;}
#main #calendar2018Header .lead h1.sm{font-size: 1.4em;}
#main #calendar2018Header .lead h2.lg{font-size: 1.9em;}
#main #calendar2018Header .cover{
	float: left;
	margin:0 20px 0 0;
	width: 30%;
}

#main #calendar2018Header .cover img{
	width: 100%;
	height: auto;
	-webkit-box-shadow: 0 10px 6px -6px #888;
	-moz-box-shadow: 0 10px 6px -6px #888;
	box-shadow: 0 10px 6px -6px #888;
}
#main #calendar2018Header a img:hover{opacity:0.7; filter: alpha(opacity=70);}

#main #calendar2018Header .lead{	overflow: hidden; _zoom: 1;}
#main #calendar2018Header h1{	margin: 10px 0;}
#main #calendar2018Header h2{	margin: 10px 0;}
#main #calendar2018Header .cover img{border:1px solid #ebebeb;}
#main #calendar2018Header .descWrap{float:left;text-align:justify;text-justify: inter-ideograph;width:40%;}
#main #calendar2018Header .thumbWrap1{float:right;width:57%;padding-left:2%;}
	#main #calendar2018Header .thumbWrap1 img{float:left;width:96%;margin-right:4%;margin-bottom:4%;border:1px solid #ebebeb;
	-webkit-box-shadow: 0 4px 6px -6px #888;
	-moz-box-shadow: 0 4px 6px -6px #888;
	box-shadow: 0 4px 6px -6px #888;
	}
#main #calendar2018Header .thumbWrap2{float:right;width:57%;padding-left:2%;}
	#main #calendar2018Header .thumbWrap2 img{float:left;width:47%;margin-right:2%;margin-bottom:4%;border:1px solid #ebebeb;
	-webkit-box-shadow: 0 4px 6px -6px #888;
	-moz-box-shadow: 0 4px 6px -6px #888;
	box-shadow: 0 4px 6px -6px #888;
	}
#main #calendar2018Header .btnWrap{float:right;width:100%;}
	#main #calendar2018Header .btnWrap a{white-space: nowrap;padding:5px 3.5%;}
#main #calendar2018Header .ban-tokusetsu-pc{float:right;border-radius:6px;border:40px solid #fff;width:230px;margin:2% 2% 0 0;}
#main #calendar2018Header .ban-tokusetsu-sp{display:none;}
#main #calendar2018Header .ban-hatsubai-pc{float:right;margin:-14px 6px 0 0;position:absolute; right:0;max-width:130px;}
#main #calendar2018Header .ban-hatsubai-sp{display:none;}
*/

/* futomomo_calendar2018 */

#main .futomomo_kv {
	margin: 10px -10px 30px -10px;
	border-radius:6px;
	}
	#main .futomomo_kv img{
		width:100%;max-width:980px;
		border-radius:6px;
		}

#main #futomomo_calendar2018Header{
	margin: 10px -10px 30px -10px;
	padding: 20px;
	background: #f2ebdc url( '../img/bg.png' ) repeat left top;

	/*background: linear-gradient(#F5F5F5, #ffffff);*/

overflow: hidden; _zoom: 1;
	border:1px solid #ebebeb;
	border-radius:6px;
	-webkit-box-shadow: 0 4px 6px -6px #888;
	-moz-box-shadow: 0 4px 6px -6px #888;
	box-shadow: 0 4px 6px -6px #888;
	position:relative;
}



/* media */
@media only screen and (max-width: 780px) {

	/* book */
	#main #bookHeader .cover{
		float: none;
		width: 100%;
		margin:0 0 20px;
	}
	#main #bookHeader p,
	#main #bookHeader ul.bookNews li{font-size: 15rem;}
	#main .bookSlider ul.flex-direction-nav li a.flex-next,
	#main .bookSlider ul.flex-direction-nav li a.flex-prev{display: none;}

	/* calendar2018 */
#main #calendar2018Header .cover{
		float: none;
		width: 100%;
		margin:0 0 20px;
	}
	#main #calendar2018Header .descWrap{float:none;width:100%;}
	#main #calendar2018Header .thumbWrap1{float:none;width:100%;}
		#main #calendar2018Header .thumbWrap1 img{float:none;width:96%;}
	#main #calendar2018Header .thumbWrap2{float:none;width:100%;}
		#main #calendar2018Header .thumbWrap2 img{float:none;width:96%;}

	#main #calendar2018Header .ban-tokusetsu-pc{display:none;}
	#main #calendar2018Header .ban-tokusetsu-sp{display:block;border-radius:6px;border:2px solid #fff;width:230px;margin:0 auto 20px auto;}
	#main #calendar2018Header .ban-hatsubai-pc{display:none;}
	#main #calendar2018Header .ban-hatsubai-sp{display:block;margin:10px 0 0 10px;width:30%;float:right;}

	#main #calendar2018Header .btnWrap{float:none;width:100%;}
		#main #calendar2018Header .btnWrap a{width:90%;}

	#main #calendar2018Header p,
	#main #calendar2018Header ul.calendar2018News li{font-size: 15rem;}
	#main .calendar2018Slider ul.flex-direction-nav li a.flex-next,
	#main .calendar2018Slider ul.flex-direction-nav li a.flex-prev{display: none;}

	/* futomomo_calendar2018 */
}
/* page */
#main #page{
	margin: 10px -10px;
	overflow: hidden; _zoom: 1;
}

#main #page ul li{display: list-item;}
#main #page h1{
	font-size: 152%;
	background: #f2ebdc url( '../img/bg.png' ) repeat left top;
	margin: 0 ;
	padding: 10px;
}

#main #page h2{overflow: hidden; _zoom: 1;}

#main #page .table,
#main #errata .table{
	border-radius: 5px;
	border: 1px solid #ccc;
	overflow: hidden;overflow-x: auto;
}
#main #page .table table,
#main #errata .table table{width: 100%;margin: 0;border: 1px solid #ccc;}

#main #page .table table tr th,
#main #page .table table tr td,
#main #errata .table table tr th,
#main #errata .table table tr td{
	padding: 10px 5px;
	background: #fff;
	border-bottom: 1px solid #ccc;
	border-right: 1px dotted #ddd;
	font-size: 100%;
}
#main #errata .table table tr th,
#main #errata .table table tr td{font-size: 107%;}

#main #page .table table thead tr th,
#main #page .table table thead tr td,
#main #errata .table table thead tr th,
#main #errata .table table thead tr td{
	background:#deeee0;
	text-align: left;
	border-bottom: 1px solid #ccc;
	border-right: 1px solid #ccc;
}
#main #page .table table tbody tr th,
#main #page .table table tbody tr td,
#main #errata .table table tbody tr th,
#main #errata .table table tbody tr td{vertical-align: top;text-align: left;}

#main #page .table table tr.oddrow th,
#main #page .table table tr.oddrow td,
#main #errata .table table tr.oddrow th,
#main #errata .table table tr.oddrow td{background: #f9f9f9;}

#main #page .table table tr td.arrow,
#main #errata .table table tr td.arrow{text-align: center;}

#main #page .table table tr th span,
#main #page .table table tr td span,
#main #errata .table table tr td span{
	display: block;
	font-size: 77%;
}
#main #page .table table tr td span,
#main #errata .table table tr td span{
	white-space: nowrap;
}
#main #page .table table tr td p,
#main #errata .table table tr td p{margin: 0.8em 0;}

#main #page .table table thead tr.osname th{text-align: center;}
#main #page .table table.os tbody tr td{text-align: center;}
#main #page .table table tr td .ps,
#main #errata .table table tr td .ps{ display: block; font-size: 77%; color:#999;}


/* media */
@media only screen and (max-width: 780px) {
	#main #errata .table table,
	#main #page .table table{min-width: 600px;}
	#main #errata .table table tr th,
	#main #errata .table table tr td,
	#main #page .table table tr th,
	#main #page .table table tr td{font-size: 13rem;}
	#main #errata .table table tr td .ps,
	#main #page .table table tr td .ps{ display: none;}
}


#main #page .toggle{
	border-radius: 5px;
	border: 1px solid #ccc;
	margin: 10px 0;
	overflow: hidden; _zoom: 1;
}

#main #page .toggle .toggle-head,
#main #page .toggle .toggle-body{
	overflow: hidden; _zoom: 1;
	padding: 0 10px;
}

#main #page .toggle .toggle-head{	overflow: hidden; _zoom: 1;}
#main #page .toggle .toggle-head .thumb{	float: right;margin:10px 10px 10px 20px;}
#main #page .toggle .toggle-head .lead{	overflow: hidden; _zoom: 1;}
#main #page .toggle .toggle-head .lead p{	font-size: 12px;margin: 10px 0;}
#main #page .toggle .toggle-head .marker{	font-size: 14px;font-weight: normal; padding:10px;}
#main #page .toggle .toggle-body{	border-top: 1px solid #ccc;}

#main #page .toggle .toggle-body h3{
	margin:0 -10px 10px;
	background: #ededed;
	padding: 10px;
}

#main .errata h2 {font-size: 30px; border-top: 1px solid #666;padding-top: 20px;margin: 30px 0 20px;}
#main #errata .table table tr td hr {border:none; border-top:1px dotted #ccc;}

/* page-kikaku */
#main #page ul.kikaku{clear: both;}
#main #page ul.kikaku li{
	list-style: none;
	margin: 20px 0;
}
#main #page .imgFl{float: right;margin:10px 20px;}

/* webpo2020 */




#main #page .webpo_bg{
	width:100%;
	height:100%;
	background-color:#bd1f14;
	padding:12px 11px;
}

#main #page .webpo_logo{
	width:90%;
	margin-bottom:4rem;
}

#main #page .webpo_logo img{
	width:100%;
	max-width:370px;
}

#main #page .webpo_logo p{
	padding-bottom:100px
}


@media only screen and (max-width: 790px) {
	#main #page ul.kikaku li img{width: 100%;height: auto;}
	#main #page .toggle .toggle-head .thumb{display: none;}
	#main #page .webpo_logo img{width:70%;}
}


@media only screen and (max-width: 780px) {
	#main #page .table table tr th,
	#main #page .table table tr td{font-size: 12rem;line-height: 120%;}
	#main #page .table table tr td span{font-size: 10rem;}
	#main #page .imgFl{float: none;margin: 10px;}
	#main #page .imgFl img{width: 100%;height: auto;}
}





/* footer =============================================================== */
#footer table.footerLink{
	margin: 0 auto 20px;
	text-align: center;
	width:50%;
}
#footer table.footerLink td{width: 30%; padding: 10px 0;}
#footer table.footerLink td img{width:100%; max-width: 270px;height: auto;}
/*#footer table.footerLink td.kadokawa img{	max-width: 270px;}*/

#footer #copyright { font-family: 'Helvetica Neue'; text-align: center;color: #888;font-size:85%; }
#linkTop {
	background: none repeat scroll 0 0 #888888;
	border-radius: 5px;
	color: #ffffff;
	display: block;
	font-size: 122%;
	padding: 8px 10px;
	position: fixed;
	right: 10px;bottom: 10px;
	text-align: center;
}
@media only screen and (max-width: 780px) {
	#footer #copyright {text-align: left;}
	#footer table.footerLink{margin-bottom:50px;}

	#linkTop{font-size: 25rem;right: 20px;bottom: 20px;}
}











/* manner */

body#manner table.manner{
	width: 100%;
	border-collapse: collapse;
	font-size: 16px;
	}
	body#manner table.manner th{
		width: 16%;
		padding: 30px 0 0 0;
		text-align: center;
		vertical-align: top;
		color: #333;
		background-color: #eee;
		border: 1px solid #b9b9b9;
		letter-spacing:2px;
		}
	body#manner table.manner td{
		padding: 10px;
		background-color: #FFFFF7;
		border: 1px solid #b9b9b9;
		}
	body#manner table.manner td.ex{
		background-color:#F8EED6;
		}
body#manner ul.sub-menu{
	margin:0px;
	padding:0;
	overflow:hidden;
	}
	body#manner ul.sub-menu li{
		float:left;
		width:32%;
		padding:0;
		margin:5px;
		list-style:none;
		}
	body#manner ul.sub-menu li a{
		text-align:center;
		display:block;
		padding:10px;
		background-color:#FF8841;
		border:2px solid #DE7639;
		 color:#fff;
		border-radius: 5px;
		}
	body#manner ul.sub-menu li a:hover{
		background-color:#DE7639;
		text-decoration:none;
		}
body#manner p b{
	color:#DE7639;
	letter-spacing:2px;
	}
body#manner h2{
	border-left:6px solid #DE7639;
	border-bottom:2px solid #DE7639;
	margin-top:60px;
	padding:12px 10px 6px 10px;
	color:#000;
	font-weight:bold;
	background-color:#FFF3EC;
	}
body#manner h3{
	border-left:3px solid #DE7639;
	margin:30px 0 10px 0;
	padding:6px 13px;
	color:#000;
	font-weight:bold;
	}
body#manner h4{
	border-left:3px solid #333;
	margin-top:30px;
	padding:3px 13px 1px 13px;
	color:#000;
	font-weight:bold;
	font-size:14px;
	}

body#manner blockquote{
	width:66%;
	border:1px solid #ccc;
	padding:20px 20px 18px 20px;
	margin:20px;
	}
	body#manner blockquote p{
		margin:0;
		padding:0;
		color:#666;
		}
	body#manner blockquote p.tr{
		text-align:right;
		}

body#manner .lr-block{
	overflow:hidden;
	}
	body#manner .lr-block img{
		}
	body#manner .lr-block .fl{
		float:left;
		width:53%;
		}
	body#manner .lr-block .fr{
		float:right;
		margin:0 0 30px 30px;
		width:40%;
		text-align:center;
		}

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

						body#manner ul.sub-menu{
							margin:0;
							padding:0;
							}
							body#manner ul.sub-menu li{
								float:normal;
								width:100%;
								padding:0;
								margin:5px 0 0 0;
								}
							body#manner ul.sub-menu li a{
								padding:8px;
								font-size:100%;
								}
							body#manner ul.sub-menu li a:hover{
								}
						body#manner blockquote{
							width:78%;
							}
						body#manner .lr-block img{
							margin-top:0;
							width:100%;
							}
						body#manner .lr-block .fl{
							float:normal;
							width:auto;
							}
						body#manner .lr-block .fr{
							float:normal;
							margin:0;
							width:auto;
							}
					}


/* app */

body#app div.ttl-block{
	overflow:hidden;
	padding:60px 0 10px 60px ;
	}
body#app div.ttl-block h2{
	float:left;
	font-size:240%;
	width:60%;
	text-align:center;
	color:#E7342C;
	padding:0;
	margin:0;
	font-weight:normal;
	}
body#app div.ttl-block h3{
	float:left;
	font-size:350%;
	width:60%;
	text-align:center;
	color:#E7342C;
	padding:0;
	margin:0;
	font-weight:bold;
	}
body#app div.copy-block{
	background-color:#E7342C;
	color:#fff;
	line-height: 180%;
	border-radius: 8px;
	}
body#app div.copy-block p{
	padding:40px 40px 30px 40px;
	width:60%;
	}
body#app div.copy-block ul{
	margin-bottom:160px;
	}
body#app div.copy-block ul li{
	float:left;
	margin-left:5%;
	padding:0;
	}
body#app div.copy-block ul li:first-child{
	margin-left:40px;
	}
	body#app div.copy-block ul li img{
		height:60px;
		-webkit-box-shadow: 0 10px 6px -6px #ccc;
		-moz-box-shadow: 0 10px 6px -6px #ccc;
		box-shadow: 0 10px 6px -6px #ccc;
		}
body#app div.img-block{
	float:right;
	width:28%;
	text-align:center;
	margin:-180px 20px 0 0;
	padding:0 0 20px 0;
	}
	body#app div.img-block img{
		width:100%;
		-webkit-box-shadow: 0 10px 6px -6px #ccc;
		-moz-box-shadow: 0 10px 6px -6px #ccc;
		box-shadow: 0 10px 6px -6px #ccc;
		}

					@media only screen and (max-width: 780px) {
						body#app div.ttl-block{
							padding:10px 0 0 0 ;
							}
						body#app h1{
							display:none;
							}
						body#app div.ttl-block h2{
							float:normal;
							width:100%;
							font-size:180%;
							}
						body#app div.ttl-block h3{
							float:normal;
							font-size:200%;
							width:100%;
							}
						body#app div.copy-block{

							}
						body#app div.copy-block p{
							padding:10px;
							width:96%;
							}
						body#app div.copy-block ul{
							}
						body#app div.copy-block ul li{
							float:normal;
							width:94%;
							margin-left:0%;
							padding:0;
							text-align:center;
							}
						body#app div.copy-block ul li:first-child{
							margin-left:0;
							}
							body#app div.copy-block ul li img{
								height:auto;
								width:70%;
								}
							body#app div.copy-block ul li:first-child img{
								height:auto;
								width:40%;
								}
						body#app div.img-block{
							float:normal;
							width:30%;
							text-align:center;
							margin:40px 10px 10px 5px;
							padding:0;
							}
							body#app div.img-block img{
								width:100%;
								}
					}


/* kikaku */

body#kikaku ul.sub-menu{
	margin:40px 0 0 0;
	padding:0;
	overflow:hidden;
	}
	body#kikaku ul.sub-menu li{
		float:left;
		width:31%;
		padding:0;
		margin:5px;
		list-style:none;
		}
	body#kikaku ul.sub-menu li a{
		text-align:center;
		display:block;
		padding:10px;
		background-color:#FF8841;
		border:2px solid #DE7639;
		 color:#fff;
		border-radius: 5px;
		}
	body#kikaku ul.sub-menu li a:hover{
		background-color:#DE7639;
		text-decoration:none;
		}

body#kikaku h2{
	border-left:6px solid #DE7639;
	border-bottom:2px solid #DE7639;
	margin-top:60px;
	padding:12px 10px 6px 10px;
	color:#000;
	font-weight:bold;
	background-color:#FFF3EC;
	}
body#kikaku h3{
	border-left:3px solid #DE7639;
	margin:30px 0 10px 0;
	padding:6px 13px;
	color:#000;
	font-weight:bold;
	}
body#kikaku ul.sub-menu{
	margin-left:20px;
	}

body#kikaku p{
	text-align:center;
	}
body#kikaku p img{
	border:1px solid #ebebeb;
	-webkit-box-shadow: 0 10px 6px -6px #ccc;
	-moz-box-shadow: 0 10px 6px -6px #ccc;
	box-shadow: 0 10px 6px -6px #ccc;

	}
					@media only screen and (max-width: 780px) {
						body#kikaku ul.sub-menu{
							margin:20px 0 0 0;
							padding:0;
							}
							body#kikaku ul.sub-menu li{
								float:normal;
								width:100%;
								padding:0;
								margin:5px 0 0 0;
								}
							body#kikaku ul.sub-menu li a{
								padding:8px;
								font-size:100%;
								}
							body#manner ul.sub-menu li a:hover{
								}
						body#kikaku p img{
							width:80%;
						}
					}



/* faq */

body#faq #lineup table td .cover img{border:1px solid #e7352c;}
body#faq h2.qa-ttl{
	font-size:180%;
	letter-spacing:3px;
	 padding:10px 10px 4px 10px;
	border-bottom:2px solid #E7342C;
	background-color:#FFE9E8;
	}

body#faq h3{
	overflow:hidden;
	margin:0 0 20px 0;
	padding:10px 4px 4px 20px;
	color:#000;
	font-weight:normal;
	background-color:#FD8840;
	/*border:2px solid #DE7639;*/
	font-size:140%;
	letter-spacing:3px;
	border-radius: 5px 5px 0 0;
	}
body#faq h3.sm{
	margin:30px 20px 0px 20px;
	}
body#faq h3.sp-show{
	display:none;
	}
body#faq h3 a{
	 color:#fff;
	}
body#faq h3 a.btn{
	 color:#fff;
	font-size:12px;
	border:2px solid #fff;
	}
body#faq h4{
	border-bottom:2px solid #DE7639;
	margin:60px 0 0px 0;
	padding:12px 10px 6px 45px;
	color:#DE7639;
	font-weight:bold;
	font-size:160%;
	background:transparent url(../img/faq/iconQ.png) no-repeat top left;
	}

body#faq h5{
	border-bottom:2px solid #DE7639;
	margin:60px 0 0px 0;
	padding:12px 10px 6px 45px;
	color:#DE7639;
	font-weight:bold;
	font-size:160%;
	}

body#faq #main #lineup table td{
	border-bottom:none;
}

/* lineup */
body#faq #main #lineup{
	margin: 10px -10px;
	overflow: hidden; _zoom: 1;
}
body#faq #main #lineup h1{
	font-size: 152%;
	background: #f2ebdc url( '../img/bg.png' ) repeat left top;
	margin: 0 ;
	padding: 10px;
}
body#faq #main #lineup table{ margin: 10px auto; width: 100%;max-width: 1000px;}
body#faq #main #lineup table td{
	text-align: left;
	vertical-align:top;
	width: 33%;
	padding:20px;
	/*border-bottom: 1px dotted #ccc;*/
	table-layout: fixed;
}
body#faq #main #lineup table td .cover img{width: 100%;max-width:292px;  height: auto;margin:0 auto;}
body#faq #main #lineup table td .cover a img{border:1px solid #e7352c;}
body#faq #main #lineup table td .cover a:hover img{opacity:0.7; filter: alpha(opacity=70);}
body#faq #main #lineup table td a.btn{font-size: 12px;margin: 3px 2px 3px 0}
body#faq #main #lineup table td h2{font-size: 16px;margin: 10px 0 0;}
body#faq #main #lineup table td p{margin:3px 0; font-size: 13px;}

/* sub-menu */
body#faq ul.sub-menu{
	margin:50px 0px;
	padding:0;
	overflow:hidden;
	}
	body#faq ul.sub-menu li{
		float:left;
		width:18%;
		padding:0;
		margin:0 14px 0px 5px;
		list-style:none;
		}

/* sub-menu */
body#faq ul.sub-menu{
	margin:50px 0px;
	padding:0;
	overflow:hidden;
	}
	body#faq ul.sub-menu li{
		float:left;
		width:18%;
		padding:0;
		margin:0 14px 0px 5px;
		list-style:none;
		}
	body#faq ul.sub-menu li a{
		text-align:center;
		display:block;
		padding:10px;
		background-color:#FF8841;
		border:2px solid #DE7639;
		 color:#fff;
		border-radius: 5px;
		}
	body#faq ul.sub-menu li a.active{
		background-color:#E7342C;
		border:2px solid #E7342C;
		}
	body#faq ul.sub-menu li a:hover{
		background-color:#DE7639;
		text-decoration:none;
		}
/* sub-menu-a */
body#faq ul.sub-menu-a{
	margin-left:20px;
	}

/* list */
body#faq ul.list li{
	list-style-type: decimal;
	margin-left:28px;
	}


/* lr-block */
body#faq .lr-block{
	overflow:hidden;
	}
	body#faq .lr-block img{
		width:100%;
		/*
		-webkit-box-shadow: 0 10px 6px -6px #ccc;
		-moz-box-shadow: 0 10px 6px -6px #ccc;
		box-shadow: 0 10px 6px -6px #ccc;
		*/
		}
	body#faq .lr-block .fl{
		float:left;
		width:50%;
		padding-left:45px;
		background:transparent url(../img/faq/iconA.png) no-repeat 0 5px;
		}
	body#faq .lr-block .fl p,
	body#faq .lr-block .fl-w100 p{
		margin-top:1.2em;
		}
	body#faq .lr-block .fl-w100{
		float:left;
		padding-left:45px;
		background:transparent url(../img/faq/iconA.png) no-repeat 0 5px;
		}
	body#faq .lr-block .fr{
		float:right;
		margin:20px 0 30px 0px;
		width:40%;
		text-align:center;
		}

/* ks-block */
body#faq .ks-block{
	overflow:hidden;
	}
	body#faq .ks-block img{
		width:100%;
		/*
		-webkit-box-shadow: 0 10px 6px -6px #ccc;
		-moz-box-shadow: 0 10px 6px -6px #ccc;
		box-shadow: 0 10px 6px -6px #ccc;
		*/
		}
	body#faq .ks-block .fl{
		float:left;
		width:50%;
		padding-left:45px;
		}
	body#faq .ks-block .fl p,
	body#faq .ks-block .fl-w100 p{
		margin-top:1.2em;
		}
	body#faq .ks-block .fl-w100{
		float:left;
		padding-left:45px;
		}
	body#faq .ks-block .fr{
		float:right;
		margin:20px 0 30px 0px;
		width:40%;
		text-align:center;
		border: solid #999 1px;        
		}

					@media only screen and (max-width: 780px) {
							body#faq #main #lineup table td.dn{
								display: none;
							}
							body#faq #main #lineup h2{
								margin-bottom:10px;
							}
							body#faq h3{
								margin:10px 0px 20px 0px;
								width:92%;
								}
							body#faq h3.sm{
								display:none;
								}
							body#faq h3.sp-show{
								display:block;
								}
							body#faq h5{
								border-bottom:2px solid #DE7639;
								margin:60px 0 0px 0;
								padding:12px 10px 6px 10px;
								color:#DE7639;
								font-weight:bold;
								font-size:160%;
								}                        
                        

							/* lineup */
							body#faq #main #lineup table td{
								width: 100%;
							}

							/* sub-menu */
							body#faq ul.sub-menu{
								margin:0;
								padding:0;
								}
								body#faq ul.sub-menu li{
									float:normal;
									width:100%;
									padding:0;
									margin:5px 0 0 0;
									}
								body#faq ul.sub-menu li a{
									padding:8px;
									font-size:100%;
									}
								body#faq ul.sub-menu li a:hover{
									}

						/* lr-block */
						body#faq .lr-block img{
							margin-top:0;
							width:100%;
							}
						body#faq .lr-block .fl{
							float:normal;
							width:auto;
							}
						body#faq .lr-block .fr{
							float:normal;
							margin:0;
							width:auto;
							}

						/* ks-block */
						body#faq .ks-block img{
							margin-top:0;
							width:100%;
							}
						body#faq .ks-block .fl{
							float:normal;
							width:auto;
                            padding-left:10px;
							}   
                        
						body#faq .ks-block .fr{
							float:normal;
						    margin: 20px 0 30px 0px;
							width:auto;
							}

					}

/* webpo2020 */
#main #page .webpo_bg{
	width:100%;
	height:100%;
	background-color:#6798dd;
}

#main #page .webpo_logo{
	width:100%;
	margin-bottom:4rem;
	padding-top:1em;
	Text-align:center;
}

#main #page .webpo_logo img{
	width:100%;
	max-width:370px;
}

#main #page .webpo_logo p{
	padding-bottom:100px
}

#main #page .webpo_text{
	font-size:2em;
	color: #ffffff;
	text-align:center;
}

/* webpo2021 */
#main #page .webpo_bg2021{
	width:100%;
	height:100%;
	background-color:#bd1f14;
	padding:0 0 0.5em 0;
}

/*-----------------------
191029追加分
----------------------*/

.qr_area img {
	max-width: 100%;
}

/*-----------------------
191106追加分
----------------------*/
#main #content_top_roland .jump {
	margin: 10px 0;
	/*font-size: 114%;*/
	line-height: 140%;
}

.dn {
	display:none;
}
.box {
	max-width:900px;
	margin:20px auto;
	overflow:hidden;
}
a:hover img{
	opacity: 0.8;
}
	@media only screen and (max-width: 900px) {
	.box {
		max-width:430px;
	}
}


/* ebook  202108追加分*/


#lineup .ebook_bg h2{
    color: #f44239
}

#main #lineup table td .cover img.solid{
    border:1px solid #341103;}

#lineup .ebook_bg{
    background-color: #fff;
    padding-top: 10px;
}



#main #lineup table td p.ebook_text{
    padding-top: 1rem;
    font-size: 0.9rem;
    height: 150px;
}

@media only screen and (max-width: 520px) {
	#main #lineup table td p.ebook_text {
    font-size: 13px;
    height: auto;    
	}
}



#main #lineup table td a.btn{font-size: 12px;margin: 3px 2px 3px 0}


#main #lineup table td p.ebook_detailtext{

    font-size: 1.2rem;
    font-weight: 900;
    padding-top: 0.1rem;
}

#lineup .ebook_title{
    text-align: center;
    font-size: 2rem;
    line-height: 1.5rem;
}

@media only screen and (max-width: 520px) {
	#lineup .ebook_title {
    text-align: center;
    font-size: 2rem;
    line-height: 8rem;
	}
}

#lineup .brown{
    color: #341103;
    
}


#main #lineup img.title{
    width: 100%;
    max-width: 960px;
}



@media only screen and (max-width: 520px) {
	#main #lineup img.title {
    width: 100%;
    max-width: 480px;
	}
}



#lineup a.btn-ebook{
	color: #fff;
    padding: 10px;
    width: 160px;
}

#lineup a.btn-red{
	background-color: #e7352c;
	border-color: #e7352c;
}

#lineup a.btn-blue{
	background-color: #1f286f;
	border-color: #1f286f;
}




@media only screen and (max-width: 520px) {
    #lineup a.btn-ebook{
	color: #fff;
    padding: 10px;
    width: 142px; 
	}
}

@media only screen and (max-width: 520px) {
    #lineup a.btn-red{
	background-color: #e7352c;
	border-color: #e7352c;
	}
}

@media only screen and (max-width: 520px) {
    #lineup a.btn-blue{
	background-color: #1f286f;
	border-color: #1f286f;
	}
}

a.btn-ebook_buy{
	background-color: #1f286f;
	border-color: #1f286f;
	color: #fff;
    padding: 10px;
    width: 160px;

}

#main #lineup table td a.btn-ebook{
    font-size: 0.9rem;   
}

@media only screen and (max-width: 520px) {
#main #lineup table td a.btn-ebook{
    font-size: 12px;   
	}
}

#main #lineup .bnr{
    background-color: #fff
    padding: 10px;
    width: 160px;
}

#main #lineup .bnr:hover{
	background-color: #fff;
}

@media only screen and (max-width: 520px) {
	#main #lineup .bnr {
	background-color: #fff;
    padding: 1px;
	}
}
#main #lineup .bnr img{
    width: 160px;
}


@media only screen and (max-width: 520px) {
	#main #lineup .spbtn {
    width: 57%;
    float: right;
	}
}

#lineup .ebook .sp td.left{
	width:47%;
    float: left;
    
}

#lineup .ebook .sp td.right{
	width:47%;
    float: right;
    
}



#lineup .ebook .pc{
	display: block !important;
}

#lineup .ebook .sp{
	display: none !important;
}

@media only screen and (max-width: 520px) {
#lineup .ebook .pc{
	display: none !important;
}
#lineup .ebook .sp{
	display: block !important;
}
}

/*最下部バナー  202108追加分*/

#main .banner_box{
    display: flex; 
    justify-content: center;    
}

#main .banner_left img{
    max-width: 450px;
    width: 47%;
    float: left;
}

#main .banner_right img{
    max-width: 450px;
    width: 47%;
    float: right;
}

#main .banner_center img{
    width: 100%;
    max-width: 800px;
    
}


@media only screen and (max-width: 780px) {
#main .banner_center img{
    max-width: 700px;
	}
}

@media only screen and (max-width: 520px) {
#main .banner_center img{
    max-width: 350px;
	}
}


/*最上部バナー  202108追加分*/

#topArea_sp{
	display: none !important;
}

@media only screen and (max-width: 520px) {
#topArea_sp{
	display: block !important;
    margin:10px 0;
}

#topArea_sp .banSlider{
	display: flex;
}    
    
#topArea_sp ul.slides{
	margin:0 auto;
    margin-bottom: 10px;
}
}

/*もらおしゃ訂正部分　20221107追加*/
.flex_box{
    display: flex;
}

.flex_box_right{
    width: 49%;
    float: right;
}

.flex_box_left{
    width: 48%;
    float: left;
    margin-right: 30px;  
}

#main p.title_osr{
    font-size: 1.8rem;
    font-weight: 600;
    color: #e7352c;
}

#main p.arrow{
    text-align: center;
}

@media only screen and (max-width: 780px) {
#main p.title_osr{
    font-size: 20px;
    font-weight: 600;
    color: #e7352c;
}    
    
.flex_box{
    display: flex;
    flex-direction: column-reverse;
}    
    
.flex_box_right{
    width: 100%;
}

.flex_box_left{
    width: 100%;  
}
.pc_only {
		display: none;
}
}


#main #topPickup .right_box {
	width: 45%;
}

@media only screen and (max-width: 780px) {
	#main #topPickup .right_box {
		width: 100%;
	}
}

/*正誤表*/
.correction-detail {
	display: flex;
	flex-direction: row-reverse;
	justify-content: flex-end;
}
.wrap-thumb {
	width: 70px;
	margin: 0 20px;
}
.wrap-thumb img {
	max-width: 100%;
}

/*素材DL方法*/
.howto a {
	display: block;
	width: 100%;
}
.howto a img {
	max-width: 100%;
	height: auto;
}
#main .howto ul li {
	list-style: decimal;
	margin: 2.5em 0 2.5em 1.2em;
}
#main .howto p {
	margin: 0;
}
.howto .columns {
	display: flex;
	flex-wrap: wrap;
}
.howto .columns p {
	width: 60%;
}
.howto .columns a {
	width: 40%;
}
.howto .red {
	color: #f44239;
}
@media only screen and (max-width: 780px) {
	.howto .columns p {
		width: 100%;
	}
	.howto .columns a {
		width: 100%;
	}
}