@charset "utf-8";
/* CSS Document */
/*********** 基本設定 ***********/
html{
	height:100%;
}

body{
	height:100%;
	width:100%;
	font-size:100%;
	line-height:1;
	color:#333;
}

body,
input,
textarea,
select{
    font-family: 'Noto Sans JP', sans-serif,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro W3","メイリオ", Meiryo, Osaka,"ＭＳ Ｐゴシック","MS P Gothic";
}

*{
	outline:none;
}

a{
	/*\*/
	overflow:hidden;
	/**/
}

/*iphoneボタン調整*/
input[type="submit"],
input[type="button"] {
	-webkit-appearance: none;
	-webkit-appearance: none;
	border-radius: 0;
}

.clearfix{
	zoom:100%;
}

.clearfix:after{
	content:"";
	clear:both;
	height:0;
	display:block;
	visibility:hidden;
}

.ta_c{
	text-align:center;
}

.ta_r{
	text-align:right;
}

.ta_l{
	text-align:left;
}

.va_m{
    vertical-align: middle;
}

img{
max-width: 100%;
/**height: auto;**/
width /***/:auto;
}

.sp_block{
    display: none;
}


/*********** 透過設定 ***********/
.bright{
	-webkit-transition: 0.1s ease-in-out;
	-moz-transition: 0.1s ease-in-out;
	-o-transition: 0.1s ease-in-out;
	transition: 0.1s ease-in-out;
}

.bright:hover{
	filter: brightness(80%);
}


/*********** wrap設定 ***********/
#wrap{
	width: 100%;
	position: relative;
	height:auto !important;/*IE6対策*/
	height: 100%;/*IE6対策*/
	min-height: 100%;
    min-width:1000px;
}


/*************************************************************************************
header設定
**************************************************************************************/
header{
    padding:20px;
    position: relative;
}

#h_logo{
    width:204px;
}

#puchi_nav{
    background: #f4f4f4;
    padding:8px 20px;
    position: absolute;
    top:10px;
    right:10px;
    border-radius: 50px;
}

#puchi_nav a{
    color:#333;
    font-size:88%;
    text-decoration: none;
    font-weight: bold;
    line-height:1.5;
    vertical-align: middle;
}

#puchi_nav a:before{
    content:'';
    display: inline-block;
    width:5px;
    height:20px;
    background: url(../img/arrow1.png) 0 5px/5px no-repeat;
    margin-right:5px;
    vertical-align: middle;
}

#puchi_nav a:first-of-type{
    margin-right:1em;
}

#puchi_nav a:hover{
    text-decoration:underline;
}


/*************************************************************************************
nav設定
**************************************************************************************/
nav{
    background: #f4f4f4;
    box-shadow: 0px 0px 2px 0px #bdbdbd inset, 0px 0px 0px 1px rgba(10,10,10,0.02);
    padding:8px;
}

#g_nav{
    display: flex;
    justify-content: center;
}

#g_nav li{
    max-width:170px;
    width:20%;
    box-sizing: border-box;
    padding:0 4px;
    
}

#g_nav a{
    display: block;
    background: #fff;
    border-radius: 8px;
    padding:8px;
    text-decoration: none;
    text-align: center;
    font-weight: bold;
	-webkit-transition: 0.1s ease-in-out;
	-moz-transition: 0.1s ease-in-out;
	-o-transition: 0.1s ease-in-out;
	transition: 0.1s ease-in-out;
}

.g_nav_jp{
    color:#333;
    margin-bottom:5px;
}

.g_nav_en{
    color:#27aa61;
    font-size:7pt;
}

#g_nav a:hover{
    background: #ddd;
}

#g_nav a:active{
    background: #539b2d;
}

#g_nav a:active .g_nav_jp,
#g_nav a:active .g_nav_en{
    color:#fff;
}


/*************************************************************************************
パンクズ設定
**************************************************************************************/
#pankuzu{
    background: #fff;
    border-bottom:1px solid #539b2d;
}

#pankuzu_ul{
    max-width:1220px;
    min-width:1000px;
    margin:0 auto;
    padding:8px 20px;
    box-sizing: border-box;
    font-size:75%;
    line-height:1.5;
    display: flex;
    gap:10px;
    list-style: none;
    flex-wrap: wrap;
}

#pankuzu_ul li:nth-of-type(n + 2){
    background: url(../img/arrow3.png) 0 center/5px no-repeat;
    padding-left:10px;
}

#pankuzu a{
    color:#539c29;
    text-decoration: none;
}

#pankuzu a:hover{
    color:#888;
}



/*************************************************************************************
#contents設定
**************************************************************************************/
#contents{
    background: #f4f4f4;
	/*padding-bottom:290px;*/
	padding-bottom:150px;/*フッターの高さと同じ*/
}

#contents_inner{
    max-width:1220px;
    min-width:1000px;
    margin:0 auto;
    padding:20px 20px 40px;
    box-sizing: border-box;
}


/*************************************************************************************
footer設定
**************************************************************************************/
footer{
	position:absolute;
	bottom:0;
	background:#fff;
    width:100%;
    box-shadow: 0px 8px 16px -2px rgba(10,10,10,0.1), 0px 0px 0px 1px rgba(10,10,10,0.02);
}

#footer_ul{
    list-style: none;
    max-width:1220px;
    min-width:1000px;
    margin:0 auto;
    box-sizing: border-box;
    padding:30px 20px;
    display:flex;
    gap:10px;
    justify-content: center;
    font-size:85%;
}

#footer_ul a{
    color:#333;
    text-decoration: none;
    display: inline-block;
    background: url("../img/arrow1.png") 5px center/5px no-repeat;
    padding-left:15px;  
}

#footer_ul a:hover{
    color:#888;
}

/*.footer_inner{
    max-width:1220px;
    min-width:1000px;
    margin:0 auto;
    box-sizing: border-box;
    padding:30px 20px;
    display:flex;
    gap:10px;
    justify-content: space-between;
}

.footer_menu{
    width:calc(25% - 10px);
    font-size:85%;
}

.footer_menu_title{
    color:#539b2d;
    margin-bottom:8px;
}

.footer_menu_ul li{
    list-style: none;
    margin-bottom:8px;
}

.footer_menu_ul a{
    color:#333;
    text-decoration: none;
    display: inline-block;
    background: url("../img/arrow1.png") 5px center/5px no-repeat;
    padding-left:15px;
}

.footer_menu_ul a:hover{
    color:#888;
}*/

#footer_copy{
    text-align: center;
    font-size:70%;
    line-height:1.5;
    padding:15px 20px;
    border-top:2px solid #539b2d;
}

#page_top{
    position: fixed;
    bottom:100px;
    right:0;
}

#page_top a{
    display: block;
    width:25px;
    padding:10px;
    background: #539b2d;
    border-radius: 5px 0 0 5px;
}


/*************************************************************************************
#side設定
**************************************************************************************/
#side{
    /*max-width:330px;*/
    float:left;
    width:calc(28.8135593220339% - 10px);
}

#side_search{
    background: #fff;
    border:1px solid #ccc;
    border-top:0;
    padding:10px 0 0;
}

.side_search_pdg{
    padding:0 10px;
}

#side_search_input_wrap{
    margin-bottom:10px;
}

#side_search_input{
    border:1px solid #ccc;
    border-right:0;
    border-radius:4px 0 0 4px;
    height:35px;
    padding:0 10px;  
    box-sizing: border-box;
    width:calc(100% - 60px);
}

#side_search_btn{
    border:1px solid #ccc;
    border-left:0;
    border-radius:0 4px 4px 0;
    height:35px;
    width:60px;
    cursor: pointer;
    box-sizing: border-box;
}


/*********** 検索ジャンルリスト設定 ***********/
#side_search_ul li{
    list-style: none;
    position: relative;
}

.side_search_ul_child{
    height:0;
    overflow: hidden;
    width:100%;
    box-sizing: border-box;
	-webkit-transition: 0.1s ease-in-out;
	-moz-transition: 0.1s ease-in-out;
	-o-transition: 0.1s ease-in-out;
	transition: 0.1s ease-in-out;
}

.side_search_ul_child.active{
    height:auto;
    padding:10px 0;
    border-bottom:1px dotted #ccc;
}

.side_search_ul_grandchild{
    height:0;
    overflow: hidden;
	-webkit-transition: 0.1s ease-in-out;
	-moz-transition: 0.1s ease-in-out;
	-o-transition: 0.1s ease-in-out;
	transition: 0.1s ease-in-out;
}

.side_search_ul_grandchild.active{
    height:auto;
    padding:0 0 5px;
}


.search_a{
    display: block;
    text-decoration: none;
    color:#333;
    font-size:90%;
    font-weight: bold;
    border-bottom:1px dotted #ccc;
    background: url(../img/arrow1.png) 15px center/5px no-repeat;
    padding:10px 30px 10px 25px;
    box-sizing: border-box;
}

.side_search_ul_child .search_a{
    font-size:80%;
    font-weight:normal;
    border-bottom:0;
    background: url(../img/arrow1.png) 25px center/5px no-repeat;
    padding:5px 30px 5px 35px;
}

.side_search_ul_grandchild .search_a{
    font-size:80%;
    font-weight:normal;
    border-bottom:0;
    background: url(../img/arrow1.png) 45px center/5px no-repeat;
    padding:5px 30px 5px 55px;
}

.search_a:hover{
    background: url(../img/arrow1.png) 15px center/5px no-repeat #eee;
}

.side_search_ul_child .search_a:hover{
    background: url(../img/arrow1.png) 25px center/5px no-repeat #eee;
}

.side_search_ul_grandchild .search_a:hover{
    background: url(../img/arrow1.png) 45px center/5px no-repeat #eee;
}


.search_open{
    display: block;
    width:11px;
    height:11px;
    padding:2px;
    background: url(../img/i_plus.png) center center/8px no-repeat #ffba00;
    border-radius: 2px;
    position: absolute;
    top:10px;
    right:10px;
    margin:auto 0;
    cursor:pointer;
}

.side_search_ul_child .search_open{
    top:4px;
}

.search_open.active{
    background: url(../img/i_minus.png) center center/8px no-repeat #ffba00;
}


/*********** サイドバナー設定 ***********/
#side_bn li{
    list-style: none;
    margin-bottom:10px;
}



/*************************************************************************************
#main設定
**************************************************************************************/
#main{
    width:calc(70.33898305084746% - 10px);
    float:right;
    
}


/*************************************************************************************
書籍一覧設定
**************************************************************************************/
.book_ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap:10px;
}

.book_ul li{
    list-style: none;
    background: #f4f4f4;
    width:calc(50% - 5px);
    box-sizing: border-box;
    padding:10px;
    position: relative;
}

.book_img{
    display: block;
    width:32%;
    float:left;
}

.book_img img{
    width:100%;
}

.book_info{
    float:right;
    width:calc(68% - 10px);
}

.book_catch{
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    font-size:85%;
    margin-bottom:5px;
    padding-top:5px;
}

.book_title{
    margin-bottom:5px;  
    font-size: 95%;
}

.book_title a{
    margin-bottom:5px;
    text-decoration: none;
    color:#539c29;
    font-weight: bold;
    line-height:1.2;
}

.book_title a:hover{
}

.book_author{
    font-size:80%;
    margin-bottom:15px;
}

.book_author a{
    color:#333;
}

.book_author a:hover{
    text-decoration: none;
}

.book_data{
    background: #fff;
    padding:5px 10px;
    font-size:80%;
    line-height:1.5;
    display: inline-block;
}

.book_new{
    position: absolute;
    top:-5px;
    right:-3px;
    background: #e90000;
    color:#fff;
    font-size:70%;
    padding:2px 5px;
}

.book_tag_wrap{
    padding-top:10px;
}

.book_tag{
    font-size:70%;
    border:1px solid #aaa;
    border-radius: 3px;
    display: inline-block;
    padding:5px;
    background: #aaa;
    color:#fff;
}


/*************************************************************************************
box設定
**************************************************************************************/
.box1{
    background: #fff;
    padding:10px;
    border:1px solid #ccc;
    border-top:0;
}

.box2{
    background: #fff;
    padding:20px;
    border:1px solid #ccc;
    border-top:0;
}

.box4{
    background: #fff;
    padding:20px;
    border:1px solid #ccc;
}

/*********** 角丸 ***********/
.box3{
    padding:20px;
    border:1px solid #ccc;
    border-radius: 10px;
}


/*************************************************************************************
テキスト設定
**************************************************************************************/
.text1{
    line-height:1.5;
}

/*********** テキストリンク ***********/
.link1{
    color:#549d27;
}

.link1:hover{
    text-decoration: none;
}

/*********** 文字サイズ ***********/
.font70{
    font-size:70%;
}

.font80{
    font-size:80%;
}

.font90{
    font-size:90%;
}

/*********** 文字色 ***********/
.color1{
    color:#549d27;/*グリーン*/
}

/*.color1{
    color:#ff7d00;
}*/


/*************************************************************************************
ul設定
**************************************************************************************/
/*********** 上下border ***********/
.ul1{
    border-top:1px solid #ccc;
}

.ul1 li{
    list-style: none;
    padding:20px 0;
    border-bottom:1px solid #ccc;
}


/*********** プレーン ***********/
.ul2{
    padding-left:20px;
}

.ul2 li{
    line-height:1.5;
}


/*********** シリーズ検索 ***********/
.search_series_ul{
    display: flex;
    flex-wrap: wrap;
    gap:10px;
    list-style: none;
}

.search_series_ul li{
    width:calc(50% - 5px);
}

.search_series_a{
    display: flex;
    flex-wrap: wrap;
    width:100%;
    height:100%;
    border:1px solid #ccc;
    border-radius: 5px;
    box-sizing: border-box;
    padding:10px;
    text-decoration: none;
	-webkit-transition: 0.1s ease-in-out;
	-moz-transition: 0.1s ease-in-out;
	-o-transition: 0.1s ease-in-out;
	transition: 0.1s ease-in-out;
    background: #f4f4f4;
    align-items: center;
}

.search_series_a:hover{
    border:1px solid #549d27;
    background: #ddd;
}

.search_series_text{
    font-size:70%;
    color:#333;
    line-height:1.2;
    border-bottom:1px solid #549d27;
    padding-bottom:5px;
    margin-bottom:5px;
    width:100%;
}

.search_series_name{
    color:#549d27;
    font-weight: bold;
    line-height:1.2;
    font-size:110%;
}




/*************************************************************************************
dl設定
**************************************************************************************/
/*********** table風dl ***********/
.dl1{
    display: flex;
    border-top:1px solid #ccc;
    padding:4px 0;
    line-height:1.5;
}

.dl1_bdb{
    border-bottom:1px solid #ccc;    
}

.dl1 dt{
    width:120px;
    background: #eee;
    padding:15px 10px;
    box-sizing: border-box;
}

.dl1 dd{
    padding:15px 10px;
    width:calc(100% - 120px);
    box-sizing: border-box;
}

.dl1_inner{
    border-top:1px dotted #ccc;
    border-bottom:1px dotted #ccc;
    padding:15px;
}

/*********** 横並びdl（サイトマップ） ***********/
.sitemap_dl{
    display: flex;
    gap:10px;
    line-height:1.5;
    padding-left:20px;
    font-size:90%;
}

.sitemap_dl dt{
    width:200px;
}

.sitemap_dl dd{
    width:calc(100% - 210px);
}



/*************************************************************************************
ol設定
**************************************************************************************/
/*********** 一般ol ***********/
.ol1{
    padding-left:20px;
    line-height:1.5;
}


/*************************************************************************************
見出し設定
**************************************************************************************/
/*********** タブ風の見出し ***********/
.title1{
    border-bottom:3px solid #549d27;
    border-top:1px solid #f4f4f4;
    position: relative;
    overflow: hidden;
}

.title1_text{
    display:inline-block;
    height:45px;
    line-height:45px;
    color:#fff;
    font-weight:bold;
    font-size:110%;
    background: #529a28; /* Old browsers */
    background: -moz-linear-gradient(top,  #529a28 0%, #36651b 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top,  #529a28 0%,#36651b 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom,  #529a28 0%,#36651b 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#529a28', endColorstr='#36651b',GradientType=0 ); /* IE6-9 */
    padding:0 35px 0 10px;
    min-width:180px;
    box-sizing: border-box;
    position: relative;
}

#side .title1_text{
    min-width:54.54545454545455%;
}

.title1_text:after{
    content:'';
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 25px 48px 0;
    border-color: transparent #f4f4f4 transparent transparent;   
    position: absolute;
    right:-1px;
    top:-1px;
}

.title1_text:before{
    content:'';
    display: inline-block;
    width:17px;
    height:17px;
    vertical-align: middle;
    margin-right:8px;
    margin-top:-3px;
}

.title1_search:before{
    background: url(../img/i_search.png) 0 0/17px no-repeat;
}

.title1_topics:before{
    background: url(../img/i_info.png) 0 0/17px no-repeat;
}

.title1_book:before{
    background: url(../img/i_book.png) 0 0/17px no-repeat;
}

.title1_shiori:before{
    background: url(../img/i_shiori.png) 0 0/17px no-repeat;
}

.title1_audio:before{
    background: url(../img/i_audio.png) 0 0/17px no-repeat;
}

.title1 .btn1{
    position: absolute;
    right:0;
    top:7px;
}

/*********** 縦ライン見出し（サイドバー等で使用） ***********/
.title2{
    border-left:3px solid #539c29;
    font-weight: bold;
    line-height:1.7;
    padding:0 0 0 8px;
    position: relative;
}

/*********** 下線あり（書籍詳細） ***********/
.title3{
    border-bottom:2px solid #539c29;
    font-size:115%;
    padding-bottom:5px;
    line-height:1.5;
}

/*********** ナンバリング見出し ***********/
.title4{
    font-weight: bold;
    line-height:1.5;
    font-size:120%;
    padding:5px 0 5px 50px;
    position: relative;
    min-height:30px;
}

.title4 span{
    display: inline-block;
    padding:5px;
    background: #539c29;
    width:30px;
    height:30px;
    text-align: center;
    color:#fff;
    position: absolute;
    left:0;
    top:0;
}

/*********** グレー背景丸縁 ***********/
.title5{
    padding:5px;
    line-height:1.5;
    background: #eee;
    text-align: center;
    border-radius: 50px;
}

/*********** 縦ライン見出し（汎用） ***********/
.title6{
    border-left:4px solid #539c29;
    font-weight: bold;
    line-height:1.5;
    padding:0 0 3px 8px;
    position: relative;
    font-size:120%;
}

/*********** 新刊見出し ***********/
.title7_wrap{
    border-left:4px solid #539c29;   
    padding:15px 0 15px 10px;
    margin-bottom:15px;
}

.title7{
    font-size:130%;
    margin-bottom:15px;
}

.title7_ul{
    display: flex;
    gap:5px;
    flex-wrap: wrap;
    list-style: none;
    font-size:70%;
}

.title7_ul a{
    display: block;
    background: #2790aa;
    color:#fff;
    border-radius: 5px;
    padding:5px 10px;
    text-decoration: none;
}

.title7_ul a:hover{
    background: #aaa;
}


/*************************************************************************************
ボタン設定
**************************************************************************************/
/*********** 縁有小ボタン（汎用） ***********/
.btn1{
    display: inline-block;
    font-size:80%;
    height:30px;
    line-height:28px;
    border-radius: 30px;
    border:1px solid #f48400;
    padding:0 20px;
    box-sizing: border-box;
    box-shadow: 0px 0px 0px 1px rgba(255,255,255) inset;
    color:#fff;
    text-decoration: none;
    background: #f28300; /* Old browsers */
    background: -moz-linear-gradient(top,  #f28300 0%, #db7400 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top,  #f28300 0%,#db7400 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom,  #f28300 0%,#db7400 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f28300', endColorstr='#db7400',GradientType=0 ); /* IE6-9 */
	-webkit-transition: 0.1s ease-in-out;
	-moz-transition: 0.1s ease-in-out;
	-o-transition: 0.1s ease-in-out;
	transition: 0.1s ease-in-out;
}

.btn1 span:before{
    content:'';
    display: inline-block;
    width:5px;
    height:8px;
    background: url(../img/arrow2.png) 0 0/5px no-repeat;
    vertical-align: middle;
    margin-right:5px;
    margin-top:-3px;
}

.btn1:hover{
    background: #ce7b00; /* Old browsers */
    background: -moz-linear-gradient(top,  #ce7b00 0%, #995b00 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top,  #ce7b00 0%,#995b00 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom,  #ce7b00 0%,#995b00 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ce7b00', endColorstr='#995b00',GradientType=0 ); /* IE6-9 */
}


/*********** 縁無中ボタン（汎用） ***********/
.btn2{
    display: inline-block;
    background:#ef8100;
    padding:15px 30px;
    border-radius: 5px;
    color:#fff;
    text-decoration: none;
}

.btn2 span:before{
    content:'';
    display: inline-block;
    width:5px;
    height:8px;
    background: url(../img/arrow2.png) 0 0/5px no-repeat;
    vertical-align: middle;
    margin-right:5px;
    margin-top:-3px;
}


/*********** 縁有小ボタングレー（汎用） ***********/
.btn3{
    display: inline-block;
    font-size:80%;
    height:30px;
    line-height:28px;
    border-radius: 30px;
    border:1px solid #ababab;
    padding:0 20px;
    box-sizing: border-box;
    box-shadow: 0px 0px 0px 1px rgba(255,255,255) inset;
    color:#fff;
    text-decoration: none;
    background: #ababab;
	-webkit-transition: 0.1s ease-in-out;
	-moz-transition: 0.1s ease-in-out;
	-o-transition: 0.1s ease-in-out;
	transition: 0.1s ease-in-out;
    word-break: break-all;
}


/*********** inputボタン ***********/
.btn4{
    display: inline-block;
    background:#ef8100;
    padding:10px 30px;
    border-radius: 5px !important;
    color:#fff;
    text-decoration: none;
    border:none;
    min-width:150px;
    box-sizing: border-box;
    font-size:110%;
    cursor: pointer;
}

.btn4_b{
    background:#aaa;
}


/*********** dlボタン ***********/
.dl_btn{
    display: inline-block;
    background:#ef8100;
    padding:20px 30px;
    border-radius: 5px;
    color:#fff;
    text-decoration: none;
    max-width:200px;
    width:calc(50% - 5px);
    box-sizing: border-box;
    vertical-align: top;
}

.dl_btn span:before{
    content:'';
    display: inline-block;
    width:5px;
    height:8px;
    background: url(../img/arrow2.png) 0 0/5px no-repeat;
    vertical-align: middle;
    margin-right:5px;
    margin-top:-3px;
}

.dl_btn1{
    background:#539c29;
}



/*************************************************************************************
TOP MV設定
**************************************************************************************/
.mv_slider_item{
    height:0;
    padding-top:29.6%;
    position: relative;
}

.mv_slider_item img{
    object-fit: cover;
    width:100%;
    height:100%;
    position: absolute;
    top:0;
    left:0;
}


/*************************************************************************************
TOP タブ設定
**************************************************************************************/
.tab_ul{
    border-bottom:3px solid #549d27;
}

.tab_ul li{
    list-style-type: none;
    display: block;
    float:left;
    margin-right:4px;
}

.tab_ul li:last-of-type{
    margin-right:0;
}

.tab_ul a{
    display: block;
    height:45px;
    line-height:45px;
    cursor: pointer;
    background: #b1b1b1; /* Old browsers */
    background: -moz-linear-gradient(top,  #b1b1b1 0%, #757374 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top,  #b1b1b1 0%,#757374 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom,  #b1b1b1 0%,#757374 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b1b1b1', endColorstr='#757374',GradientType=0 ); /* IE6-9 */    
    color:#fff;
    font-weight: bold;
    width:180px;
    text-align: center;
    font-size:95%;
}

.tab_ul a.active{
    background: #529a28; /* Old browsers */
    background: -moz-linear-gradient(top,  #529a28 0%, #36651b 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top,  #529a28 0%,#36651b 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom,  #529a28 0%,#36651b 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#529a28', endColorstr='#36651b',GradientType=0 ); /* IE6-9 */
}

.tab_ul a span:before{ 
    content:'';
    display: inline-block;
    width:17px;
    height:17px;
    vertical-align: middle;
    margin-top:-3px;
    margin-right:5px;
}

#tab_newbook:before{
    background: url(../img/i_shiori.png) 0 0/17px no-repeat;
}

#tab_checkit:before{
    background: url(../img/i_flag.png) 0 0/17px no-repeat;
}

.tab_search:before{
    background: url(../img/i_search.png) 0 0/17px no-repeat;
}

#tab2,
#tab3{
    display: none;
}

.tab_wrap{
    background: #fff;
    border: 1px solid #ccc;
    border-top: 0;
    padding: 10px;
}


/*********** 検索用 ***********/
.js-tab-cts{
    display: none;
}

.js-tab-cts.active{
    display:block;
}


/*************************************************************************************
トピックス設定
**************************************************************************************/
/*********** TOPトピックス ***********/
#topics_ul{
    margin-bottom: 16px;
}

#topics_ul li{
    list-style: none;
    margin-bottom:2px;
}

#topics_ul a{
    display: block;
    padding:12px 15px 15px;
    line-height:1.5;
    text-decoration: none;
    background: #f4f4f4;
    color:#333;
}

.topics_date{
    display: inline-block;
    font-size:90%;
    vertical-align: middle;
    width:90px;
}

.topics_title{
    display: inline-block;
    vertical-align: middle;
    background: url("../img/arrow1.png") 0 center/5px no-repeat;
    padding-left:10px;
    box-sizing: border-box;
    width:calc(100% - 90px);
}


/*********** トピックス一覧 ***********/
#topics_ul2{
    list-style:none;
    border-top:2px solid #549d27;    
    border-bottom:2px solid #549d27;    
}

#topics_ul2 li{  
    border-bottom:1px solid #ddd;    
}

#topics_ul2 a{
    display: block;
    padding:20px 0;
    text-decoration: none;
    color:#333;
    line-height:1.5;
}

.topics_ul2_date{
    margin-bottom:5px;
}

.topics_ul2_new{
    display:inline-block;
    padding:0 5px;
    background: #e90000;
    color: #fff;
    font-size:80%;
    margin-left:10px;
}

.topics_ul2_title{
    font-size:120%;
    color:#549d27;
    margin-bottom:10px;
    
    display: inline-block;
    vertical-align: middle;
    background: url("../img/arrow3.png") 0 12px/5px no-repeat;
    padding-left:10px;
}

#topics_ul2 a:hover .topics_ul2_title{
    text-decoration: underline;
}

.topics_ul2_excerpt{    
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
    font-size:80%;
    color:#666;
}


/*********** トピックス詳細 ***********/
#topics_detail_new{
    display:inline-block;
    padding:2px 5px 3px;
    background: #e90000;
    color: #fff;
    margin-left:10px;    
}

#topics_detail_body{
    line-height:1.5;
}

#topics_detail_body a{
    color:#549d27;
}

#topics_detail_body a:hover{
    text-decoration: none;
}

#topics_detail_img_wrap{
    display: flex;
    gap:4px;
    flex-wrap: wrap;
}

#topics_detail_img_wrap figure{
    width:calc(16.66666666666667% - 4px);
}

#topics_detail_img_wrap a{
    display: block;
}

#topics_detail_img_wrap img{
    width:100%;
}

#topics_detail_pager_ul{
    display: flex;
    list-style: none;
    gap:20px;
    border-top:3px solid #549d27;
    padding-top:20px;
}

#topics_detail_pager_ul li{
    width:calc(50% - 10px);
}

#topics_detail_pager_next{
    margin-left:auto;
}

#topics_detail_pager_ul a{
    display: block;
    border:1px solid #ccc;
    border-radius: 10px;
    padding:10px;
    line-height:1.2;
    text-decoration: none;
    color:#333;
}

#topics_detail_pager_ul a:hover{
    border:1px solid #549d27;
}

#topics_detail_pager_ul .topics_detail_pager_btn{
    color:#549d27;
    margin-bottom:5px;
}

#topics_detail_pager_ul .topics_detail_pager_btn i{
    color:#aaa;
}

.topics_detail_pager_title{
    font-size: 90%;
    padding:0 5px;
}





/*************************************************************************************
書籍詳細
**************************************************************************************/
/*********** カテゴリー ***********/
#bookcat_ul{
    display: flex;
    flex-wrap: wrap;
    gap:5px 15px;
    list-style: none;
    margin-bottom:15px;
}

#bookcat_ul a{
    text-decoration: none;
}

#bookcat_ul span{
    display: block;
    background: #2790aa;
    color:#fff;
    border-radius: 5px;
    font-size: 80%;
    padding:0 10px;
    text-decoration: none;
    height:26px;
    line-height:25px;
    position: relative;
}

#bookcat_ul span:after{
    content:'';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 12.5px 0 12.5px 13px;
    border-color: transparent transparent transparent #2790aa;
    position: absolute;
    right:-11px;
    top:1px;
}

#bookcat_ul li:last-of-type span:after{
    display: none;
}

#bookcat_ul span:hover{
    background: #aaa;
}

#bookcat_ul span:hover:after{
    border-color: transparent transparent transparent #aaa;
}


/*********** 書籍名 ***********/
#book_title_wrap{
    border-left:4px solid #539c29;
    padding:8px 0 15px 10px;
    margin-bottom:15px;
}

#book_title{
    font-size:30px;
    line-height:1.2;
    display: block;
    margin-bottom:15px;
}

#book_title2{
    border-left:4px solid #539c29;
    padding:8px 0 15px 10px;
    font-size:30px;
    line-height:1.2;
    margin-bottom:15px;
}

#book_author{
    line-height:1.2;
    display: block;
}

#book_meta{
    display: flex;
    gap:20px;
}

.support_book_meta{
    justify-content: center;
}

#book_img{
    width:37.60683760683761%;
}

#book_img img{
    width:100%;
}

#book_info{
    width:calc(62.39316239316239% - 20px);
}

#book_comment{
    line-height:1.5;
    margin-bottom:20px;
}

#book_table{
    width:100%;
    table-layout: fixed;
    font-size:90%;
    margin-bottom:15px;
}

#book_table th{
    width:90px;
    background: #f4f4f4;
    padding:10px;
    text-align: left;
    border-bottom:2px solid #fff;
}

#book_table td{
    padding:10px;
}

#book_bn_ul{
    display: flex;
    list-style: none;
    gap:5px;
}

#book_bn_ul a{
    display: block;
    border:1px solid #ccc;
    border-radius: 4px;
    padding:2px 0;
    background: #fff;
    text-align: center;
}


/*********** ページギャラリー ***********/
#gallery_ul{
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap:10px;
}

#gallery_ul li{
    width:calc(25% - 8px);
}

#gallery_ul li a{
    display: block;
    border:1px solid #eaeaea;
}


/*********** コンテンツ部分 ***********/
#book_contents_body{
    line-height:1.5;
    font-size:90%;
}


/*********** book slider ***********/
.book_slider_item{
    padding:0 5px;
    box-sizing: border-box;
    vertical-align: top;
}

.book_slider_a{
    display: block;
    width:100%;
    height:100%;
    background: #fff;
    border:1px solid #ccc;
    border-radius: 8px;
    box-sizing: border-box;
    padding:3.2%;
    text-decoration: none;
    color:#333;
    font-size:70%;
}

.book_slider_img_wrap{
    padding:7% 7% 3.5%;
}

.book_slider_img{
    height:0;
    width:100%;
    padding-top:141.2087912087912%;
}

.book_slider_img{
    height:0;
    width:100%;
    padding-top:141.2087912087912%;
    position: relative;
}

.book_slider_img img{
    position: absolute;
    top:0;
    left:0;
    object-fit: contain;
    width:100%;
    height:100%;
}

.book_slider_title{
    line-height:1.2;
    height:2em;
    padding:0 5px 10px;
}


/*************************************************************************************
書籍画面
**************************************************************************************/
/*********** 3カラム ***********/
.book_ul2{
    display: flex;
    gap:12px;
    list-style: none;
}

.book_ul2 li{
    width:calc(33.33333333333333% - 4px);
    border:1px solid #ddd;
    border-radius: 10px;
    box-sizing: border-box;
    padding:10px;
}

.book_ul2_catch{
    font-size:80%;
    background:#539c29;
    line-height:1.2;
    padding:5px 10px;
    color:#fff;
    text-align: center;
    margin-bottom:10px;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

.book_ul2_img{
    display: block;
    height:0;
    padding-top:141.2087912087912%;
    position: relative;
    margin-bottom:10px;
}

.book_ul2_img img{
    position: absolute;
    top:0;
    left:0;
    object-fit: contain;
    width:100%;
    height:100%;
}

.book_ul2_title{
    margin-bottom:5px;    
}

.book_ul2_title a{
    line-height:1.2;
    color:#539c29;
    font-weight: bold;
    text-decoration: none;
    font-size:90%;
}

.book_ul2_author{
    font-size:80%; 
    text-align: right;
    margin-bottom:5px;
}

.book_ul2_author a{
    line-height:1.2;
    color:#333;
}

.book_ul2_author a:hover{
    text-decoration: none;
}

.book_ul2_price{
    text-align:right;
    font-size:80%; 
}



/*************************************************************************************
ジャンル検索
**************************************************************************************/
#search_genre{
    display: flex;
    flex-wrap: wrap;
    gap:20px;
}

.search_genre_item{
    width:calc(50% - 10px);    
}

#search_genre dl{
    margin-bottom:20px;
}

#search_genre dt{
    background: #eee;
    line-height:1.2;
    padding:5px 10px;
    font-weight:bold;
    margin-bottom:10px;
    color:#549d27;
}

#search_genre dd{
    line-height:1.5;
    font-size: 80%;
}

#search_genre dd a{
    color:#333;
    text-decoration: none;
}

#search_genre dd a:hover{
    color:#549d27;
    text-decoration:underline;
}


/*************************************************************************************
検索結果設定
**************************************************************************************/
/*********** 表示件数 ***********/
#result_num_wrap{
    font-size:90%;
    display: flex;
    gap:10px;
    /*justify-content: space-between;*/
    vertical-align: middle;
    flex-wrap: wrap;
    line-height:1.2;
}

#result_num_text{
    padding:5px 0;
}

#result_num{
    background: #efefef;
    padding:5px 10px;
    margin-left: auto;
}

#result_num_wrap label{
    cursor: pointer;
}

#result_sort_wrap{
    display: flex;  
    gap:10px;
}


/*********** ソート ***********/
.result_sort{
    display: flex;
    align-items:center;
}

.result_sort_name{
    font-size:90%;
}


.result_sort_arrow{
    display: flex;
    border:1px solid #ccc;
    border-radius:5px;
}

.result_sort_arrow a{
    display:inline-block;
    height:20px;
    width:20px;
    text-align: center;
    color:#ccc;
    cursor: pointer;
}

.result_sort_arrow .active{
    color:#539c29;
    background: #dedede;
}

.result_sort_up{
    border-right:1px solid #ccc;
    line-height:20px;
}

.result_sort_down{
    line-height:17px;
}


/*********** ページャー ***********/
.result_pager_ul{
    display: flex;
    justify-content: center;
    gap:5px;
    list-style: none;
    padding-bottom:10px;
    font-size:90%;
}

.result_pager_ul a,
.result_pager_ul span{
    text-decoration: none;
    display: block;
    border:1px solid #ccc;
    padding:0 5px;
    height:25px;
    min-width:25px;
    box-sizing: border-box;
    text-align: center;
    line-height:22px;
    border-radius: 5px;
    color:#539c29;
}

.result_pager_ul a:hover{
    border:1px solid #539c29;
}

.result_pager_ul a i{
    color:#aaa;
}

.result_pager_ul span{
    background: #aaa;
    border:1px solid #aaa;
    color:#fff;
}


/*********** 結果一覧 ***********/
#result_ul{
    list-style: none;
    border-bottom:2px solid #539c29;
    border-top:2px solid #539c29;
}

#result_ul li{
    display: flex;
    padding:10px 0;
    border-bottom:1px solid #ddd;
    gap:10px;
}

#result_ul li:last-of-type{
    border-bottom:0;
}

.result_img{
    width:100px;
}

.result_img img{
    width:100%;
}

.result_info{
    width:calc(100% - 110px);
    font-size:80%;
    line-height:1.2;
}

.result_catch{
    margin-bottom:5px;
}

.result_title{
    margin-bottom:5px;    
}

.result_title a{
    font-size:110%;
    color:#549d27;
    text-decoration: none;
}

.result_new{
    display: inline-block;
    background: #e90000;
    font-size:80%;
    color:#fff;
    padding:1px 5px 2px;
    margin-right:5px;
}

.result_info a{
    text-decoration: none;
}

.result_info a:hover{
    text-decoration:underline;
}

.result_author{
    margin-bottom:5px;  
}

.result_author a{
    color:#333;
    text-decoration: underline;
}

.result_author a:hover{
    color:#999;
    text-decoration: none;
}

.result_price{
    font-weight: bold;
    margin-bottom:5px; 
}

.result_size{
    margin-bottom:3px;  
}

.result_date{
    margin-bottom:5px;  
}

.result_cat{
    display: inline-block;
    background: #aaa;
    color:#fff;
    font-size:80%;
    padding:4px 10px 4px;
    border-radius: 3px;
    line-height:1;
}




/*************************************************************************************
バックナンバー
**************************************************************************************/
#backnumber_ul{
    list-style: none;
}

#backnumber_ul li{
    display: flex;
    padding:10px 0;
    border-bottom:1px solid #ddd;
    gap:15px;
}

#backnumber_ul li:last-of-type{
    border-bottom:0;
}

.backnumber_img{
    width:150px;
}

.backnumber_img img{
    width:100%;
}

.backnumber_info{
    width:calc(100% - 160px);
    font-size:80%;
    line-height:1.2;
}

.backnumber_title{
    margin-bottom:10px;  
}

.backnumber_title a{
    font-size:180%;
    color:#549d27;
    text-decoration: none;
}

.backnumber_title span{
    font-size:80%;
}

.backnumber_date{
    margin-bottom:5px;
}

.backnumber_price{
    font-weight: bold;
    color:#c30000;
    margin-bottom:10px; 
}

.backnumber_text{
    padding:10px;
    line-height:1.5;
    background: #f4f4f4;
}




/*************************************************************************************
商品サポート
**************************************************************************************/
/*********** 商品サポートカテゴリー ***********/
#support_ul{
    list-style: none;
    display: flex;
    gap:20px;
    flex-wrap: wrap;
    justify-content: center;
}

#support_ul li{
    width:calc(50% - 10px);
}

#support_ul a{
    display: block;
    border:2px solid #539c29;
    text-align: center;
    padding:20px 10px;
    text-decoration: none;
    color:#539c29;
    border-radius: 8px;
	-webkit-transition: 0.1s ease-in-out;
	-moz-transition: 0.1s ease-in-out;
	-o-transition: 0.1s ease-in-out;
	transition: 0.1s ease-in-out;
}

#support_ul a:hover{
    background: #539c29;
    color:#fff;
}




/*********** 商品サポートtable ***********/
.table1{
    width:100%;
    table-layout: fixed;
    line-height:1.2;
}

.table1 thead th{
    background: #eee;
    padding:5px 5px;
    font-size:80%;
    border-right:1px solid #fff;
}

.table1 tbody td{
    padding:10px 5px;
    font-size:80%;
    border-bottom:1px solid #ddd;
}



/*************************************************************************************
注文書ダウンロード
**************************************************************************************/
#order_ul{
    list-style: none;
    display: flex;
    gap:30px 20px;
    flex-wrap: wrap;
}

#order_ul li{
    width:calc(33.33333333333333% - 14px);
}

.order_title{
    line-height:1.2;
    font-size:80%;
    margin-bottom:5px;
}

.order_img{
    display: block;
    margin-bottom:5px;
}

.order_img img{
    width:100%;
}



/*************************************************************************************
POPダウンロード
**************************************************************************************/
.pop_slider_item{
    padding:0 10px;
    box-sizing: border-box;
}

.pop_size{
    font-size:70%;
    text-align: right;
    margin-bottom:10px;
}

.pop_ul{
    padding:20px 0;
    border-top:2px solid #549d27;
    border-bottom:2px solid #549d27;
}



/*************************************************************************************
検索ヘルプ
**************************************************************************************/
.help_num_text{
    position: relative;
    padding-left:40px;
}

.help_num{
    display: block;
    width:30px;
    height:30px;
    line-height:30px;
    text-align: center;
    background:#549d27;
    font-size:90%;
    color:#fff;
    position: absolute;
    top:0;
    left:0;
}

.help_img{
    border:1px solid #ddd;
    padding:5px;
    margin:0 auto;
}

.help_img img{
    width:100%;
}

.cap1{
    max-width:350px;
}


/*************************************************************************************
Audio視聴
**************************************************************************************/
.audio_dl{
    border-bottom:1px solid #ddd;
}

.audio_dl dt{
    font-weight:bold;
    padding:20px 0;
    display: flex;
    justify-content: space-between;
    cursor: pointer;
    gap:10px;
}

.audio_dl dt:after{
    content:'\f0d7';
    font-family: 'Font Awesome 6 Free';
    color:#549d27;
    margin-right:10px;
    font-size: 120%;
}

.audio_dl dt.active:after{
    content:'\f0d8';
    color:#549d27;
}

.audio_dl dd{
    height:0;
    overflow: hidden;
	-webkit-transition: 0.1s ease-in-out;
	-moz-transition: 0.1s ease-in-out;
	-o-transition: 0.1s ease-in-out;
	transition: 0.1s ease-in-out;
}

.audio_dl dd.active{
    height:auto;
    overflow: hidden;
}

.audio_chapter{
    /*background: #efefef;*/    
    padding:20px;
    margin-bottom:5px;
    border:1px solid #ddd;
    border-radius: 10px;
}

.audio_chapter audio{
    width:100%;
}

.audio_movie{
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.audio_movie iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}






/*************************************************************************************
form設定
**************************************************************************************/
.input1{
    border:1px solid #ddd;
    padding:5px 10px ;
    font-size:80%; 
    box-sizing: border-box;
}

.input1:focus{
    border:1px solid #549d27;
}

.select1{
    border:1px solid #ddd;
    padding:10px ;
    box-sizing: border-box;
}

.select1:focus{
    border:1px solid #549d27;
}

.check1{
    vertical-align: middle;
    margin-top:0;
    cursor: pointer;
}

.radio1{
    vertical-align: middle;
    margin-top:0;
    cursor: pointer;
}



/*************************************************************************************
size設定
**************************************************************************************/
.w100p{
    width:100%;
}


/*************************************************************************************
余白設定
**************************************************************************************/
.mgb5{
    margin-bottom:5px;
}

.mgb10{
    margin-bottom:10px;
}

.mgb15{
    margin-bottom:15px;
}

.mgb20{
    margin-bottom:20px;
}

.mgb30{
    margin-bottom:30px;
}

.mgb40{
    margin-bottom:40px;
}

.mgr5{
    margin-right:5px;
}

.mgr10{
    margin-right:10px;
}

.pdl20{
    padding-left:20px;
}

.pd20{
    padding:20px;
}








