/* 共通レイアウト
============================================*/
html { height: 100%;}
body { height: 100%; padding: 0; }
* html body { font-family: "メイリオ", meiryo, "ＭＳ Ｐゴシック", "MS P Gothic"; }
*:first-child+html body { font-family: "メイリオ", meiryo, "ＭＳ Ｐゴシック", "MS P Gothic"; }
head~/* */body body { font-family: "メイリオ", meiryo, "ＭＳ Ｐゴシック", "MS P Gothic"; }
html:not(:target) body { font-family: "ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN", sans-serif; }

/* !font-size */
body { font-size:12px;}

/* !clearfix */
hr { display: none; }

.cfix { /zoom : 1; }
.cfix:after { content : ''; display : block; clear : both; }

a{
	outline: none;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
	text-decoration: none;
}

a:hover {
	filter: alpha(opacity=50);
	-moz-opacity:0.5;
	opacity:0.5;
}


/* common style */
.left { float: left; }
.right { float: right; }
.article { margin: 0 0 30px 0; }
.indent { padding: 0 0 0 29px;}
.layoutTB, .layoutTB th, .layoutTB td { margin: 0; padding: 0; border: none; }
.genkibnr { padding: 6px 0 0 0;}
.genkibnry { padding-bottom: 30px;}

#jsheader {
    height: 80px;
}
#breadcrumb { border: none; font-size:12px; }
#breadcrumb a { text-decoration: underline;}

#breadcrumb .red { color: #F00;}

#content {
}
#content h1 img {
	width: 100%;
	height: auto;
}
#content p {
	font-size:16px;
	line-height: 1.45;
    color: #000;
}
#content span,
#content ruby {
	color: inherit;
	font-size: inherit;
}
#content ruby {
	ruby-overhang:auto;
}
#content rt {
	line-height: 1;
	font-size: 8px;
	color: inherit;
	margin-top: -1em;
}

#content .more {
	margin: 10px 0;
}
#content .more a{
	color: #754c24;
	border:#754c24 1px solid;
	padding: 12px 20px 12px 15px;
	background: url(../images/more_arrow.png) no-repeat right center;
	-moz-background-size: auto 9px;
	background-size:auto 9px;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	display: block;
}

#content .block {
	margin: 45px 10px;
}


#content .pageback {
	margin: 20px 0;
}

#content .pageback a {
	line-height: 25px;
	display: inline-block;
	background: url(../images/pageback_arrow.png) no-repeat left center;
	-moz-background-size: 20px 20px;
	background-size:20px 20px;
	padding-left: 25px;
}


#content .block_title {
	border-left: #ff0000 5px solid;
	margin-bottom: 20px;
}

#content .block_title h2 {
	padding: 0 0 10px 15px;
	font-size: 22px;
	font-weight: normal;
	line-height: 1.25;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	border-bottom: #c8c8c8 1px solid;
}

#content .block_title p {
	padding: 10px 0 0 15px;
	font-size: 16px;
	letter-spacing: 0.1em;
	line-height: 1.5;
}

#content #recommend {
	text-align: center;
	margin: 20px 0 10px;

}
#content #recommend h3 {
	margin: 20px 0 10px;
	font-size: 20px;
	font-weight: normal;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	line-height: 1.35;
	background: #f2f2f2;
	padding: 15px;
}
#content #recommend ul {
    display:-webkit-box;
    display:-moz-box;
    display:-ms-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:-ms-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
	padding: 0 10px;
}
#content #recommend ul li {
	border: #c8c8c8 1px solid;
	padding: 4px 4px 5px;
	margin: 5px 1%;
	width: 48%;
	box-sizing: border-box;
	font-size: 16px;
	line-height: 18px;
}
#content #recommend ul li a{
	display: block;
}
#content #recommend ul li img {
	width: 100%;
	height: auto;
	margin-bottom: 6px;
}

#content #contentfoot .banner_box {
	text-align: center;
	background: #dfd6ca;
	padding: 15px 0;
}

#content #contentfoot .banner_box ul {
    display:-webkit-box;
    display:-moz-box;
    display:-ms-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:-ms-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
	justify-content: center;
}
#content #contentfoot .banner_box ul li {
	width: 45%;
	margin: 5px;
}
#content #contentfoot .banner_box ul li img {
	width: 100%;
	height: auto;
	-moz-box-shadow: 3px 3px 5px rgba(0,0,0,0.3);
	-webkit-box-shadow: 3px 3px 5px rgba(0,0,0,0.3);
	box-shadow: 3px 3px 5px rgba(0,0,0,0.3);
}

/* 20180619 修正 */
#content #contentfoot .text_box {
	border-top: #CA394B 2px solid;
	background: #fff;
}

#content #contentfoot .text_box h3 {
	margin: 0;
	padding: 10px 0;
	font-size: 15px;
	text-align: center;
	font-weight: bold;
	line-height: 1.35;
	position: relative;
	border-bottom: #CA394B 2px solid;
	color: #CA394B;
	cursor: pointer;
	/*background: url(../images/foot_nav_arrow_2.png) no-repeat right center;*/
	-moz-background-size: auto 28%;
	background-size:auto 28% ;
}

#content #contentfoot .text_box ul {
	display: none;
}

#content #contentfoot .text_box li {
	font-size: 14px;
	text-align: center;
	border-bottom: #CA394B 2px solid;
	box-sizing: border-box;
	white-space: nowrap;
}
#content #contentfoot .text_box li a {
	/*background: url(../images/foot_nav_arrow.png) no-repeat right center;*/
	-moz-background-size: auto 28%;
	background-size:auto 28% ;
	padding: 10px 0;
	display: block;
}
/* 20180619 修正end */

/* 20180625 固定バナー追加 */
#content #contentfoot .topBtn{
	position: fixed;
  bottom: 0;
  z-index: 3;
	width: 100%;
}
#content #contentfoot .topBtn li{
	float: left;
	width: calc(50% - 0.5px);
	height: 10.5vw;
}
#content #contentfoot .topBtn li a{
	display: block;
	width: 100%;
	height: 100%;
}
#content #contentfoot .topBtn li:first-child{
	border-right: 1px solid #ca394b;
	background: url(../images/qabtn.png) no-repeat left center / cover;
}
#content #contentfoot .topBtn li:nth-child(2){
	background: url(../images/purchasebtn.png) no-repeat left center / cover;
}

#page-footer {
    padding-bottom: 30px;
}
/* 追加 end */

#content #contentfoot .pagetop {
	text-align: center;
	margin: 10px 0;
	font-size: 16px;
}

#content #contentfoot .pagetop a {
	display: block;
	background: url(../images/pagetop_arrow.png) no-repeat center top;
	-moz-background-size: 23px 23px;
	background-size:23px 23px;
	padding-top: 25px;
}



#floating_nav {
	width: 100%;
	position: fixed;
	left: 0;
	bottom: 0;
	z-index: 50;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
}

#floating_box {
	position: relative;
	color: #FFF;
	width: 100%;
	box-sizing: border-box;
	background: rgba(0,0,0,0.5);
	padding: 10px;
}
#floating_nav h3 {
	margin: 5px 0;
	font-size: 20px;
	font-weight: normal;
	color: #FFF;
	text-align: center;
}
#floating_nav li {
	color: #FFF;
	float: left;
	width: 25%;
	box-sizing: border-box;
	text-align: center;
	padding: 5px;
	font-size: 12px;
	letter-spacing: -0.1em;
	position: relative;
}
#floating_nav li span.image {
	width: 100%;
	display: block;
	overflow: hidden;
	border-radius: 15px;
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	margin-bottom: 5px;
}
#floating_nav li span.image img {
	width: 190%;
	height: auto;
	position:relative;
    -webkit-transform: translate(-25%,0);
    -ms-transform: translate(-25%,0);
    transform: translate(-25%,0);
}

#floating_nav li a {
	color: #FFF;
}
#floating_nav li span.cat01,
#floating_nav li span.cat02,
#floating_nav li span.cat03 {
	position: absolute;
	left: 5px;
	top: 5px;
	color: #FFF;
	padding: 2px 4px;
	background:#666;
	font-size: 10px;
}
#floating_nav li span.cat01 {
	background:#ffc400;
	color: #000;
}
#floating_nav li span.cat02 {
	background:#2d54ca;
}
#floating_nav li span.cat03 {
	background:#00b500;
}

#floating_nav .floating_close {
	position: absolute;
	right: 10px;
	top: -20px;
	cursor: pointer;
	font-size: 18px;
	line-height: 20px;
	color: #FFF;
	text-align: right;
}
#floating_nav .floating_close img {
	width: 43px;
}

#floating_nav .floating_close:hover {
	filter: alpha(opacity=50);
	-moz-opacity:0.5;
	opacity:0.5;
}

#floating_nav.close ul {
	display: none;
}

#floating_nav.close .floating_close {
	width: 100%;
	top: 13px;
}
#floating_nav.close .floating_close:before {
	content: "▲";
}

#floating_nav.close .floating_close img {
	display: none;
}
