@charset "utf-8";
/* CSS Document */

/* 共通
=============================================*/
.main-deta {
	width: 100%;
	padding: 50px 80px 50px;
    background-color: rgb(255 249 237 / 70%);
	background-image: url("../img/box_left_top.png"),url("../img/box_left_bottom.png"),url("../img/box_right_top.png"),url("../img/box_right_bottom.png");
	background-position: left top,left bottom,right top,right bottom;
	background-size: auto;
	background-repeat: no-repeat;
    color: rgba(227, 179, 29);
	border: double 4px #cfc8b9;
	border-radius: 10px;
}
.deta-cont {
	margin: 0 auto;
	display: flex;
	color: #333;
}
.deta-box {
	width: 100%;
    margin: 0 auto;
	text-align: center;
}
.deta-box img {
	margin-bottom: 0px;
	border: 1px solid #cfc8ba;
}
.deta-attention {
	font-size: 10px;
	padding: 20px 0;
	color: #999;
	text-align: center;
}
.deta-text {
	padding: 40px 0;
	text-align: left;
}
.book-deta {
	width: 100%;
	font-size: 12px;
	display: flex;
}
.book-deta dl {
	display: flex;
	flex-flow: row wrap;
	width: 100%;
	border: 1px solid #cfc8b9;
	margin-right: -1px;
}
.book-deta dt {
	flex-basis: 100%;
	padding: 4px;
	background-color: #fff;
	background-image: url("../img/stripe.png"),url(../img/back_img01.png);
	margin-bottom: 0px;
	text-align: center;
	color: #333333;
}
.book-deta dd {
	flex-basis: 100%;
	padding: 4px;
	background-color: #fff;
	margin-bottom: 0px;
	text-align: center;
	border-bottom: 0;
}

.back-cont {
	text-align: center;
	padding-top: 30px;
	width: 100%;
}
.back-arrow {
	position: relative;
	display: inline-block;
	padding: 0 0 0 16px;
	color: #c18009;
	vertical-align: middle;
	text-decoration: none;
	font-size: 14px;
}
.back-arrow::before,
.back-arrow::after{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.back-data::before{
	box-sizing: border-box;
	width: 12px;
	height: 12px;
	border: 1px solid #c18009;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}
.back-data::after{
	left: 5px;
	width: 3px;
	height: 3px;
	border-bottom: 1px solid #c18009;
	border-left: 1px solid #c18009;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

/* OFFLINE
=============================================*/
.book-titlecont {
	margin-bottom: 40px;
	font-size: 26px;
	text-align: center;
}
.genre {
	font-size: 20px;
	color: #e1c066;
	text-align: center;
	font-family: 'Damion', cursive;
}
h5.book-title {
	position: relative;
	line-height: 1.6;
	padding:0.8em 1em;
	display: inline-block;
	top:0;
	font-family: 'Shippori Mincho', serif;
	letter-spacing: 0.1em;
	font-size: 22px;
	width: 100%;
	}
	h5.book-title:before, h5:after { 
	position: absolute;
	top: 0;
	content:'';
	width: 8px;
	height: 100%;
	display: inline-block;
	}
	h5.book-title:before {
	border-left: solid 1px black;
	border-top: solid 1px black;
	border-bottom: solid 1px black;
	left: 0;
	}
	h5.book-title:after {
	content: '';
	border-top: solid 1px black;
	border-right: solid 1px black;
	border-bottom: solid 1px black;
	right: 0;
}
span.book-subtitle {
	font-size: 14px;
}
.book-text {
	margin: 40px 0 40px;
	border-top: double 4px #cfc8b9;
	border-bottom: double 4px #cfc8b9;
	text-align: left;
}


/* GIFT
=============================================*/
.gift-titlecont {
	margin-bottom: 40px;
	font-size: 20px;
}
.thanks {
	font-size: 20px;
	color: #e1c066;
	text-align: center;
	font-family: 'Damion', cursive;
}
h5.gift-title {
	position: relative;
	padding: 0.5rem 0.8rem 0.8rem;
	text-align: center;
	letter-spacing: 0.1em;
	font-size: 22px;
	font-family: 'Shippori Mincho', serif;
}
h5.gift-title:before {
	position: absolute;
	bottom: -10px;
	left: calc(50% - 30px);
	width: 60px;
	height: 2px;
	content: '';
	border-radius: 3px;
	background: #e1c066;
}
span.gift-subtitle {
	font-size: 22px;
}
.gift-text {
	margin: 0 0 40px;
	border-top: double 4px #cfc8b9;
	border-bottom: double 4px #cfc8b9;
}
.gift-link {
	font-size: 10px;
}
.gift-link img {
	margin-bottom: 10px;
}


/*=============================================
横幅が1280px以下になった際の指定
=============================================*/
@media only screen and (max-width: 1280px) {
	
.main-deta {
	width: 100%;
	padding: 40px 50px 50px;
}
.deta-box {
    width: 100%;
}
.book-deta {
	font-size: 14px;
}
.book-deta dl {
	flex-flow: row wrap;
}
.book-deta dt {
	width: 50%;
}
.book-deta dd {
	width: 50%;
}
	

/* OFFLINE
=============================================*/
h5.book-title {
	font-size: 22px;
	line-height: 1.4;
	width: 100%;
	}
span.book-subtitle {
	font-size: 14px;
    display: inherit;
	line-height: 1.4em;
    padding-bottom: 0.6em;
}
.book-text {
	text-align: left;
}
.deta-attention {
	font-size: 11.5px;
}
	
/* GIFT
=============================================*/
h5.gift-title {
	font-size: 22px;
}
span.gift-subtitle {
	font-size: 18px;
}
.gift-link {
	font-size: 12px;
}
}

/*=============================================
横幅が540px以下になった際の指定
=============================================*/
@media only screen and (max-width: 540px) {
	
.main-deta {
	width: 100%;
	padding: 40px 30px 50px;
}
.deta-box {
    width: 100%;
}
.book-deta {
	flex-flow: column;
}
.book-deta dl {
	flex-flow: column;
	margin-bottom: -1px;
}
.book-deta dt {
	border-right: 0;
	border-radius: 5px 5px 0 0;
	border-bottom: 2px dotted #cfc8b9;
	width: 100%;
}
.book-deta dd {
	width: 100%;
}

}