@charset "UTF-8";

/* -----------------------------------------------
 *  	         comportnent style setting
 * ----------------------------------------------- */



/* ■■ #TOPICS PAGE ■■ */
ul.top_slide_list{
	margin:0 auto;
	padding:0;
	line-height:0;
	}
ul.top_slide_list li{
	margin:0;
	padding:0;
	}
ul.top_slide_list li a{
	display:block;
	margin:0;
	padding:0;
	}

button.slick-arrow{ display:none !important;}

body#stylePage{
	}


div.go_to_books a{
	position:fixed;
	right:30px;
	bottom:30px;
	width:130px;
	height:130px;
	text-align:center;
  -webkit-border-radius: 50%;/* 50%でもOK */
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-color: #b39f69;/* 円の色 */
	transition:all 0.3s;
	}
div.go_to_books a span{
	display:block;
	padding:43px 0 0 0;
	color:#FFF;
	letter-spacing:1.2px;
	}
/* 480px */
@media only screen and (max-width: 30em) {
div.go_to_books a{
	position:fixed;
	right:3px;
	bottom:10px;
	width:80px;
	height:80px;
	}
div.go_to_books a span{
	display:block;
	padding:25px 0 0 0;
	color:#FFF;
	font-size:10px;
	letter-spacing:1.2px;
	}
}
div.go_to_books a:hover{
box-shadow:0px 0px 6px 3px #b8b09a;
-moz-box-shadow:0px 0px 6px 3px #b8b09a;
-webkit-box-shadow:0px 0px 6px 3px #b8b09a;
	}


/* =========== parts =========== */

/*text*/
.title_text_01{
	text-align: center;
	font-size: 30px;
}
/* 480px */
@media only screen and (max-width: 30em) {
.title_text_01{
	font-size: 25px;
}
}


.title_text_02{
	text-align: center;
	font-size: 20px;
}



/*text*/
.text_01{
	text-align: center;
	font-size: 14px;
}
.text_01 span{
	font-size: 12px;
}
/* 480px */
@media only screen and (max-width: 30em) {
.text_01{
	text-align: left;
	font-size: 14px;
}
}


.text_02{
	text-align: center;
	font-size: 16px;
	font-weight: bold;
}
.text_02 span{
	font-size: 14px;
	font-weight: bold;
}
/* 480px */
@media only screen and (max-width: 30em) {
.text_02{
	text-align: left;
	font-size: 16px;
	font-weight: bold;
}
}


.text_03{
	text-align:left;
	font-size: 10px;
}
.text_04{
	text-align:center;
	font-size: 10px;
}
/* 480px */
@media only screen and (max-width: 30em) {
.text_04{
	text-align:left;
	font-size: 10px;
}
}

.text_05{
	text-align: center;
	font-size: 16px;
	font-weight: bold;
}
/* 480px */
@media only screen and (max-width: 30em) {
.text_05{
	margin-top: 20px;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
}
}



strong.strong_01{
	font-size: 18px;
	padding: 5px 10px;
	border-radius: 3px;
	background-color: red;
	color: #fff;
}

strong.strong_02{
	font-size: 16px;
	padding: 5px 0;
}


/* page title */
h1.heading1_001{
	margin:0 0 10px 0;
	text-align:center;
	font-size:32px;
	font-size:3.2rem;
	line-height:1.2;
	font-weight: normal;
	}
h1.heading1_001 strong{
	font-size:40px;
	font-size:4.0rem;
	font-weight: bold;
	}
/* 480px */
@media only screen and (max-width: 30em) {
h1.heading1_001{
	font-size:22px;
	font-size:2.2rem;

	}
h1.heading1_001 strong{
	font-size:30px;
	font-size:3.0rem;
	}
}


/* page title */
h2.heading2_001{
	margin:0 0 10px 0;
	text-align:center;
	font-size:28px;
	font-size:2.8rem;
	line-height:1.2;
    padding: 20px 0;
    background-color: #f0ecec;
	}
h2.heading2_001 span{
	display:block;
	font-size:12px;
	font-size:1.2rem;
	font-weight:normal;
	letter-spacing:1px;
	}
/* 768px */
@media only screen and (max-width: 48em) {
h2.heading2_001{
	font-size:25px;
	font-size:2.5rem;
	}
h2.heading2_001 span{
	font-size:12px;
	font-size:1.2rem;
	}
}
/* 480px */
@media only screen and (max-width: 30em) {
h2.heading2_001{
	font-size:23px;
	font-size:2.3rem;
	}
h2.heading2_001 span{
	font-size:10px;
	font-size:1.0rem;
	}
}


/* h3 */
h3.heading3_001{
	margin:0 0 0 0;
	padding: 5px 0;
	font-size:18px;
	font-size:1.8rem;
	text-align: center;
	color:#2d2a25;
    border-top: solid 2px #f0ecec;
    background-color: #f6f4f4;
	}
h3.heading3_002{
	margin:0 0 0 0;
	padding: 5px 0;
	font-size:14px;
	font-size:1.4rem;
	text-align: center;
	color:#2d2a25;
    border-top: solid 2px #f0ecec;
    background-color: #f6f4f4;
	}


h4.heading4_001{
	margin:0 0 0 0;
	font-size:16px;
	font-size:1.6rem;
	font-weight: bold;
	text-align:center; 
	background-color: #fff;
	}

h4.heading4_002{
	margin:0 0 0 0;
	font-size:16px;
	font-size:1.6rem;
	text-align: center; 
	}


/*特典ボックス*/
/* content_typeB */
.special_box{
	margin:0 auto;
	padding:5px;
	width:100%;
	background-color: #f0ecec;
	}

.special_box_innerA{
	margin:0 auto;
	padding:5px;	
	border-radius: 3px;
	text-align: center;
	background-color: white;
	}



/* =====================flexBox===================== */


/*flex_center 1段 中央 */
.flex_center{
	display: flex;
	align-items: center;
	justify-content: center;
}
.flex_center > div.flex_center_inner{
	width: 100%;
}


/*flex_1A 1段 50→100 */
.flex_1A{
	display: flex;
	justify-content: center;
}
.flex_1A div:first-child{
	width: 49%;
}
@media only screen and (max-width: 30em) {
.flex_1A{
	display: block;
}
.flex_1A div:first-child{
	width: 100%;
	margin: 0 0 30px 0;
}
}

/*flex_2A 2段 48:48 */
.flex_2A{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.flex_2A div, .flex_2A section{
    width: 48%;
}

@media only screen and (max-width: 48em) {
.flex_2A{
}
.flex_2A div, .flex_2A section{
	width: 49%;
	margin: 0 0 30px 0;
}
}

/*flex_2B 2段 67:30*/
.flex_2B{
	display: flex;
	justify-content: space-between;
}
.flex_2B .flex_2B_innerA{
	width: 67%;
}
.flex_2B .flex_2B_innerB{
	width: 30%;
}
@media only screen and (max-width: 48em) {
.flex_2B{
	display: block;
}
.flex_2B .flex_2B_innerA{
	width: 100%;
	margin: 0 0 10px 0;
}
.flex_2B .flex_2B_innerB{
	width: 100%;
}
}


/*flex_2C 2段 55:45 */
.flex_2C{
	display: flex;
}
.flex_2C div:first-child{
	width: 45%;
}
.flex_2C div:nth-child(2){
	width: 55%;
}
@media only screen and (max-width: 30em) {
.flex_2C{
	display: block;
}
.flex_2C div:first-child{
	width: 100%;
}
.flex_2C div:nth-child(2){
	width: 100%;
}
}

/*flex_2D 2段 50:50 中央寄せ */
.flex_2D{
	display: flex;
	align-items: center;
	justify-content: center;	
}
.flex_2D div.flex_2D_inner, .flex_2D section.flex_2D_inner{
	width: 50%;
}

@media only screen and (max-width: 30em) {
.flex_2D{
	display: block;
}
.flex_2D div.flex_2D_inner, .flex_2D section.flex_2D_inner{
	width: 100%;
}
}

/*flex_2E 2段 48:48→100 */
.flex_2E{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.flex_2E div.flex_2E_inner, .flex_2E section.flex_2E_inner{
	width: 48%;
}
@media only screen and (max-width: 30em) {
.flex_2E{
	display: block;
}
.flex_2E div.flex_2E_inner, .flex_2E section.flex_2E_inner{
	width: 100%;
	margin: 0 0 20px 0;
}
}

/*flex_3A 3段 32%左右均等配置*/
.flex_3A{
	display: flex;
	flex-wrap: wrap;
	justify-content:space-between;
}
.flex_3A > div, .flex_3A > li , .flex_3A > section{
	width: 31%;
	margin: 0 0 10px 0;
}

@media only screen and (max-width: 48em) {
.flex_3A{
	display: block;
}
.flex_3A > div, .flex_3A > li , .flex_3A > section{
	width: 100%;
	margin: 0 0 10px 0;
}
}


/*flex_3B 3段 32% 左寄せ配置右空き ソート対策用*/
.flex_3B{
	display: flex;
	flex-wrap: wrap;
	justify-content:flex-start;
}
.flex_3B > div, .flex_3B > li , .flex_3B > section{
	width: 31%;
	margin: 0 2% 10px 0;
}

@media only screen and (max-width: 48em) {
.flex_3B{
	display: block;
}
.flex_3B > div, .flex_3B > li , .flex_3B > section{
	width: 100%;
	margin: 0 0 10px 0;
}
}

/*flex_3C 3段 32%左右均等配置 変動なし*/
.flex_3C{
	display: flex;
	flex-wrap: wrap;
	justify-content:space-between;
}
.flex_3C > div, .flex_3C > li , .flex_3C > section{
	width: 31%;
	margin: 0 0 0 0;
}

@media only screen and (max-width: 48em) {
}




/* btn */
a.btn_01{
    display: block;
	width:180px;
	margin:0 auto;
	padding:5px 0;
	background-color:#c4ba9f;
	text-align:center;
	cursor:pointer;
    border-radius: 5px;
    color: #000;
    font-size: 12px;
	}


/* table */
table.spec_table{
	margin: 0 auto 10px;
    border-collapse: collapse;
    border-spacing: 0;
}

table.spec_table tbody{

}
table.spec_table tbody tr{
}
table.spec_table tbody tr td{
	border: solid 1px #c4ba9f;
	padding: 5px;
}
table.spec_table tbody tr td:first-child{
	width: 80px;
	text-align: center;
	font-weight: bold;
}
@media only screen and (max-width: 48em) {
table.spec_table{
	width: 100%;
}
}

