@charset "UTF-8";

.books-product__buy-list ul li img{
	height: auto;
	width: auto;
}
.books-product__item figure img{
	border: 1px solid #eee;
}
.books-detail-col__txt .glsr * + *{
	margin-top: inherit;
}

@media screen and (min-width: 768px) {

	.books-list__archive-index{
		border-top: 1px solid #ddd;
	}
	.books-list .books-list-item{
		display: flex;
		padding: 30px 0;
		border-bottom: 1px solid #ddd;
	}
	.books-list .books-list-item figure{
		width: 250px;
		padding: 20px 48px;
		border: 1px solid #ddd;
	}
	.books-list .books-list-item figure a{
		display: block;
		transition: opacity 500ms ease;
	}
	.books-list .books-list-item figure a:hover{
		opacity: 0.6;
	}
	.books-list .books-list-item__txt{
		display: flex;
		flex-direction: column;
		padding: 0 40px;
		width: calc(100% - 355px - 250px);
	}

	.books-list .books-list-item__header .books-list-item__author{
		margin-top: 40px;
	}
	.books-list .books-list-item__header .books-list-item__author p{
		position: relative;
		font-weight: 500;
		display: inline;
		line-height: 1.5;
	}
	.books-list .books-list-item__header .books-list-item__author p a{
		color: #D7000F;
		text-decoration: underline;
	}
	.books-list .books-list-item__header .books-list-item__author p a:hover{
		text-decoration: none;
	}
	.books-list .books-list-item__header .books-list-item__author p + p:before{
		display: inline-block;
		padding: 0 5px;
		content: "／";
	}

	.books-list .books-list-item__txt h2 .sub-title{
		display: block;
		font-weight: 500;
		line-height: 1.4;
	}
	.books-list .books-list-item__txt h2 .sub-title + strong,
	.books-list .books-list-item__txt h2 strong + .sub-title{
		margin-top: 5px;
	}
	.books-list .books-list-item__txt h2 strong{
		display: block;
		font-size: 22px;
		line-height: 1.3;
		font-weight: 500;
	}
	.books-list .books-list-item__desc{
		margin-top: 40px;
	}
	.books-list .books-list-item__desc p{
		line-height: 1.8;
	}
	.desc-layout2{
		display: none;
	}

	.books-list .books-list-item__specification{
		position: relative;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		width: 355px;
		padding: 0 20px 0 40px;
		border-left: 1px solid #ddd;
	}
	.books-list .books-list-item__specification li + li{
		margin-top: 15px;
	}


/* books__btn-detail
================================================*/

	.books-list .books__btn-detail{
		margin-top: 20px;
	}
	.books__btn-detail a{
		position: relative;
		display: block;
		line-height: 50px;
		text-align: center;
		color: #D7000F;
		font-weight: 500;
		border: 1px solid #ddd;
		transition: all 500ms ease;
	}
	.books__btn-detail a:after{
		content: "";
		position: absolute;
		display: block;
		margin: auto;
		top: 0;
		right: 16px;
		bottom: 0;
		width: 11px;
		height: 13px;
		background: url(../img/arrow_r_rd.svg) 0 0 no-repeat;
		background-size: 100% 100%;
		opacity: 1;
	}
	.books__btn-detail a:before,
	.books__btn-detail a:after{
		content: "";
		position: absolute;
		display: block;
		margin: auto;
		top: 0;
		right: 16px;
		bottom: 0;
		width: 11px;
		height: 13px;
		transition: opacity 500ms ease;
	}
	.books__btn-detail a:before{
		background: url(../img/arrow_r_rd.svg) 0 0 no-repeat;
		background-size: 100% 100%;
		opacity: 1;
	}
	.books__btn-detail a:after{
		background: url(../img/arrow_r_wh.svg) 0 0 no-repeat;
		background-size: 100% 100%;
		opacity: 0;
	}

	.books__btn-detail a:hover{
		background: #D7000F;
		color: #fff;
		border: 1px solid #D7000F;		
	}
	.books__btn-detail a:hover:before{
		opacity: 0;	
	}
	.books__btn-detail a:hover:after{
		opacity: 1;	
	}



/* single
================================================*/

	.books-product__contents{
		display: flex;
		width: 100%;
	}
	.books-product__main{
		padding: 0 0 0 40px;
		width: 65.7%;
	}
	.books-product__item{
		width: 34.3%;
		max-width: 440px;
	}
	.books-product__item .books-product__item-box{
		position: sticky;
		top: 150px;
		left: 0;
	}
	.books-product__item figure img{
		display: block;
		margin: auto;
		max-width: 233px;
		width: 100%;
	}

	.books-product__item figure{
		padding: 30px;
		border: 1px solid #ddd;
	}

	.books-product__buy{
		margin: 25px 0 0;
	}
	.books-product__buy dl dt{
		font-size: 18px;
		font-weight: 500;
		overflow: hidden;
	}
	.books-product__buy dl dt span{
		position: relative;
		padding: 0 20px 0 0;
	}
	.books-product__buy dl dt span:after{
		content: "";
		margin: auto;
		position: absolute;
		top: 0;
		left: 100%;
		bottom: 0;
		display: block;
		width: 100vw;
		height: 1px;
		background: #ddd;
	}
	.books-product__buy dl dd{
		margin: 15px 0 0;
	}
	.books-product__buy-list + .books-product__buy-list{
		margin-top: 18px;
	}
	.books-product__buy-list a{
		display: block;
		width: 105px;
		height: 40px;
		border: 1px solid #ddd;
		transition: opacity 500ms ease;
	}
	.books-product__buy-list a:hover{
		opacity: 0.5;
	}

	.books-product__buy-list ul{
		display: flex;
		flex-wrap: wrap;
		margin: 0 -3px;
	}
	.books-product__buy-list ul li{
		padding: 0 3px;
		margin: 0 0 8px;
	}
	.books-product__header{
		padding: 0 0 30px;
		border-bottom: 1px solid #ddd;
	}

	.books-product__header .sub-title{
		display: block;
		font-weight: 500;
		font-size: 18px;
	}
	.books-product__header .sub-title + strong,
	.books-product__header strong + .sub-title{
		margin-top: 5px;
	}
	.books-product__header strong{
		display: block;
		font-size: 32px;
		line-height: 1.3;
		font-weight: 500;
	}

	.books-product__header-author{
		margin-top: 40px;
	}
	.books-product__header-author p{
		position: relative;
		font-weight: 500;
		display: inline;
		line-height: 1.5;
	}
	.books-product__header-author p a{
		color: #D7000F;
		text-decoration: underline;
	}
	.books-product__header-author p a:hover{
		text-decoration: none;
	}
	.books-product__header-author p + p:before{
		display: inline-block;
		padding: 0 5px;
		content: "／";
	}


/* books-product__info
================================================*/

	.books-product__cat ul{
		font-size: 0;
	}
	.books-product__cat li{
		display: inline-block;
		margin: 0 5px 5px 0;
	}
	.books-product__cat a{
		display: block;
		padding: 0 15px;
		height: 24px;
		line-height: 21px;
		border: 1px solid #D7000F;
		color: #D7000F;
		border-radius: 12px;
		font-size: 16px;
		transition: color 500ms ease,background 500ms ease;
	}
	.books-product__cat a:hover{
		color: #fff;
		background: #D7000F;
	}

	.books-product__info{
		padding: 30px 0 0;
	}
	.books-product__info .books-share{
		margin: 15px 0 0;
	}
	.books-product__desc{
		margin: 30px 0 0;
	}
/*	.books-product__desc p{
		line-height: 1.7;
	}*/
	.books-product__desc *{
		line-height: 1.7;
	}
	.books-product__desc * + *{
		margin-top: 25px;
	}
	.books-product__desc strong{
		font-weight: bold;
	}

	.books-product__specification{
		margin: 30px 0 0;
	}
	.books-product__specification li + li {
		margin-top: 10px;
	}


/* books-product__detail-tab
================================================*/

	.books-product__detail{
		position: relative;
	}
	.books-detail-col{
		display: none;
	}
	.books-detail-col.on{
		display: block;
	}

	.books-product__detail-box{
		margin: 40px 0 0;
	}

	.books-product__detail-tab{
		position: relative;
	}
	.books-product__detail-tab:after{
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		display: block;
		width: 100%;
		height: 1px;
		background: #ddd;
		z-index: 10;
	}

	.books-product__detail-tab ul{
		position: relative;
		display: flex;
		z-index: 20;
	}
	.books-product__detail-tab ul li.detail-tab{
		min-width: 130px;
	}
	.books-product__detail-tab ul li + li{
		margin-left: 8px;
	}
	.books-product__detail-tab ul li.detail-tab a{
		display: flex;
		width: 100%;
		padding: 0 10px;
		height: 58px;
		justify-content: center;
		align-items: center;
		text-align: center;
		background: #f6f6f6;
		border: 1px solid #ddd;
		color: #D7000F;
		font-weight: 500;
		transition: all 500ms ease;
	}



	.books-product__detail-tab ul .detail-tab a:hover,
	.books-product__detail-tab ul .detail-tab a.active{
		background: #fff;
		border-width: 1px;
		border-color: #ddd #ddd #fff;
		border-style: solid;
		color: #333;
	}
	.books-product__detail-box .detail-trial{
		margin: 0 0 8px 8px;
		width: 250px;
	}
	.books-product__detail-box .detail-trial a{
		position: relative;
		display: block;
		width: 250px;
		line-height: 48px;
		text-align: center;
		background: #fff;
		color: #D7000F;
		font-weight: 500;
		border: 1px solid #ddd;
		transition: all 500ms ease;
	}
	.books-product__detail-box .detail-trial a:before,
	.books-product__detail-box .detail-trial a:after{
		content: "";
		position: absolute;
		display: block;
		margin: auto;
		top: 0;
		right: 16px;
		bottom: 0;
		width: 11px;
		height: 13px;
		transition: opacity 500ms ease;
	}
	.books-product__detail-box .detail-trial a:before{
		background: url(../img/arrow_r_rd.svg) 0 0 no-repeat;
		background-size: 100% 100%;
		opacity: 1;
	}
	.books-product__detail-box .detail-trial a:after{
		background: url(../img/arrow_r_wh.svg) 0 0 no-repeat;
		background-size: 100% 100%;
		opacity: 0;
	}

	.books-product__detail-box .detail-trial a:hover{
		background: #D7000F;
		color: #fff;
		border: 1px solid #D7000F;		
	}
	.books-product__detail-box .detail-trial a:hover:before{
		opacity: 0;	
	}
	.books-product__detail-box .detail-trial a:hover:after{
		opacity: 1;	
	}




/* books-detail-col
================================================*/
	.books-product__detail{
		margin: 35px 0 0;
	}
	.books-detail-col .books-detail-col__header h2{
		position: relative;
		padding: 0 0 0 12px;
		font-size: 20px;
		font-weight: 500;
	}
	.books-detail-col .books-detail-col__header h2:before{
		position: absolute;
		margin: auto;
		top: 0;
		left: 0;
		bottom: 0;
		content: "";
		display: block;
		width: 4px;
		height: 21px;
		background: #333;
	}
	.books-detail-col__txt{
		margin:  30px 0 0;
	}
	.books-detail-col__txt a{
		color: #D7000F;
		text-decoration: underline;
	}
	.books-detail-col__txt a:hover{
		text-decoration: none;
	}
	.books-detail-col__txt p,
	.books-detail-col__txt div,
	.books-detail-col__txt *{
		line-height: 1.7;
	}
	.books-detail-col__txt strong{
		font-weight: 700;
	}
	.books-detail-col__txt * + *{
		margin-top: 25px;
	}

	.books-detail-col__txt h2{
		font-size: 18px;
		font-weight: 500;
	}
	.books-detail-col__txt ul li + li{
		margin-top: 10px;
	}
	.books-product__detail-extra{
		border-top: 1px solid #ddd;
		position: relative;
	}
	.books-product__review{
		margin: 45px 0 0;
	}
	.books-product__review-form{
		margin: 30px 0 0;
	}
	.books-product__review-form p{
		line-height: 1.5;
	}
	.books-product__review-form .glsr{
		margin: 30px 0 0;
	}



}

@media screen and (min-width: 768px) and (max-width: 980px) {

	.books-list .books-list-item{
		flex-wrap: wrap;
	}
	.desc-layout1{
		display: none;
	}
	.desc-layout2{
		display: block;
	}
	.books-list .books-list-item__txt {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		padding: 0 0 0 40px;
		width: calc(100% - 250px);
	}
	.books-list .books-list-item__desc {
		margin-top: 30px;
	}
	.books-list .books-list-item__specification{
		border: none;
		padding: 30px 0 0;
		width: 100%;
	}

/* books__btn-detail
================================================*/

	.books-list .books__btn-detail{
		margin-top: 30px;
	}

}




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

	.books-list__archive-index{
		border-top: 1px solid #ddd;
	}
	.desc-layout1{
		display: none;
	}
	.desc-layout2{
		display: block;
	}

	.books-list .books-list-item{
		display: flex;
		flex-wrap: wrap;
		padding: 20px 0;
		border-bottom: 1px solid #ddd;
	}
	.books-list .books-list-item figure{
		width: 140px;
		padding: 7px 25px;
		border: 1px solid #ddd;
	}
	.books-list .books-list-item figure a{
		display: block;
	}
	.books-list .books-list-item__txt {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		padding: 0 0 0 16px;
		width: calc(100% - 140px);
	}

	.books-list .books-list-item__header .books-list-item__author{
		margin-top: 20px;
	}
	.books-list .books-list-item__header .books-list-item__author p{
		position: relative;
		font-weight: 500;
		display: inline;
		line-height: 1.5;
	}
	.books-list .books-list-item__header .books-list-item__author p a{
		color: #D7000F;
		text-decoration: underline;
	}
	.books-list .books-list-item__header .books-list-item__author p + p:before{
		display: inline-block;
		padding: 0 5px;
		content: "／";
	}
	.books-list .books-list-item__txt h2 .sub-title{
		display: block;
		font-weight: 500;
		font-size: 12px;
		line-height: 1.4;
	}
	.books-list .books-list-item__txt h2 .sub-title + strong,
	.books-list .books-list-item__txt h2 strong + .sub-title{
		margin-top: 5px;
	}
	.books-list .books-list-item__txt h2 strong{
		display: block;
		font-size: 16px;
		line-height: 1.3;
		font-weight: 500;
	}
	.books-list .books-list-item__desc {
		margin-top: 25px;
	}

	.books-list .books-list-item__desc p{
		line-height: 1.8;
	}
	.books-list .books-list-item__specification{
		position: relative;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		width: 355px;
		padding: 0 20px 0;
	}
	.books-list .books-list-item__specification{
		border: none;
		padding: 25px 0 0;
		width: 100%;
	}
	.books-list .books-list-item__specification li + li{
		margin-top: 15px;
	}


/* books__btn-detail
================================================*/

	.books-list .books__btn-detail{
		margin-top: 20px;
	}
	.books__btn-detail a{
		position: relative;
		display: block;
		line-height: 50px;
		text-align: center;
		color: #D7000F;
		font-weight: 500;
		font-size: 16px;
		border: 1px solid #ddd;
		transition: opacity 500ms ease;
	}
	.books__btn-detail a:after{
		content: "";
		position: absolute;
		display: block;
		margin: auto;
		top: 0;
		right: 15px;
		bottom: 0;
		width: 11px;
		height: 13px;
		background: url(../img/arrow_r_rd.svg) 0 0 no-repeat;
		background-size: 100% 100%;
		opacity: 1;
		transition: opacity 500ms ease;
	}


/* single
================================================*/

	.books-product__item{
		margin: 25px 0 0;
	}
	.books-product__item figure{
		margin: auto;
		padding: 24px 0;
		text-align: center;
		border: 1px solid #ddd;
	}
	.books-product__item figure img{
		max-width: 182px;
	}

	.books-product__buy{
		margin: 35px 0 0;
	}
	.books-product__buy dl dt{
		font-size: 16px;
		font-weight: 500;
		overflow: hidden;
	}
	.books-product__buy dl dt span{
		position: relative;
		padding: 0 20px 0 0;
	}
	.books-product__buy dl dt span:after{
		content: "";
		margin: auto;
		position: absolute;
		top: 0;
		left: 100%;
		bottom: 0;
		display: block;
		width: 100vw;
		height: 1px;
		background: #ddd;
	}
	.books-product__buy dl dd{
		margin: 15px 0 0;
	}
	.books-product__buy-list + .books-product__buy-list{
		margin-top: 18px;
	}

	.books-product__buy-list ul{
		display: flex;
		flex-wrap: wrap;
		margin: 0 -3px;
	}
	.books-product__buy-list ul li{
		width: 25%;
		padding: 0 3px;
		margin: 0 0 8px;
	}
	.books-product__buy-list a{
		display: block;
		width: 100%;
		border: 1px solid #ddd;
		text-align: center;
	}
	.books-product__buy-list img{
		max-height: 30px;
	}


	.books-product__header{
		padding: 0 0 25px;
		border-bottom: 1px solid #ddd;
	}

	.books-product__header .sub-title{
		display: block;
		font-weight: 500;
		font-size: 16px;
	}
	.books-product__header .sub-title + strong,
	.books-product__header strong + .sub-title{
		margin-top: 5px;
	}
	.books-product__header strong{
		display: block;
		font-size: 26px;
		line-height: 1.3;
		font-weight: 500;
	}

	.books-product__header-author{
		margin-top: 25px;
	}
	.books-product__header-author p{
		position: relative;
		font-weight: 500;
		font-size: 18px;
		display: inline;
		line-height: 1.5;
	}
	.books-product__header-author p a{
		color: #D7000F;
		text-decoration: underline;
	}
	.books-product__header-author p + p:before{
		display: inline-block;
		padding: 0 5px;
		content: "／";
	}


/* books-product__info
================================================*/

	.books-product__cat ul{
		font-size: 0;
	}
	.books-product__cat li{
		display: inline-block;
		margin: 0 5px 5px 0;
	}
	.books-product__cat a{
		display: block;
		padding: 0 15px;
		height: 24px;
		line-height: 21px;
		border: 1px solid #D7000F;
		color: #D7000F;
		border-radius: 12px;
		font-size: 14px;
	}
	.books-product__info{
		padding: 25px 0 0;
	}
	.books-product__info .books-share{
		margin: 20px 0 0;
	}
	.books-product__desc{
		margin: 25px 0 0;
	}
	.books-product__desc p{
		line-height: 2;
	}
	.books-product__desc *{
		line-height: 2;
	}
	.books-product__desc * + *{
		margin-top: 20px;
	}
	.books-product__desc strong{
		font-weight: bold;
	}

	.books-product__specification{
		margin: 25px 0 0;
	}
	.books-product__specification li + li {
		margin-top: 10px;
	}


/* books-product__detail-tab
================================================*/

	.books-product__detail{
		position: relative;
	}
	.books-detail-col{
		display: none;
	}
	.books-detail-col.on{
		display: block;
	}

	.books-product__detail-box{
		margin: 25px 0 0;
	}

	.books-product__detail-tab{
		position: relative;
	}
	.books-product__detail-tab:after{
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		display: block;
		width: 100%;
		height: 1px;
		background: #ddd;
		z-index: 10;
	}

	.books-product__detail-tab ul{
		position: relative;
		display: flex;
		z-index: 20;
		margin: 0 -3px;
	}
	.books-product__detail-tab ul li.detail-tab{
		min-width: 25%;
		padding: 0 3px;
	}
	.books-product__detail-tab ul li.detail-tab a{
		display: flex;
		width: 100%;
		padding: 0 10px;
		height: 42px;
		line-height: 1.3;
		justify-content: center;
		align-items: center;
		text-align: center;
		background: #f6f6f6;
		border: 1px solid #ddd;
		font-size: min(3.73vw,14px);
		color: #D7000F;
		font-weight: 500;
	}


	.books-product__detail-tab ul .detail-tab a.active{
		background: #fff;
		border-width: 1px;
		border-color: #ddd #ddd #fff;
		border-style: solid;
		color: #333;
	}

	.books-product__detail-box .detail-trial + .books-product__detail-tab ul{
		margin: 30px 0 0;		
	}
	.books-product__detail-box .detail-trial{
		width: 100%;
	}
	.books-product__detail-box .detail-trial a{
		position: relative;
		display: block;
		width: 100%;
		line-height: 48px;
		text-align: center;
		background: #fff;
		color: #D7000F;
		font-weight: 500;
		font-size: 16px;
		border: 1px solid #ddd;
	}
	.books-product__detail-box .detail-trial a:before,
	.books-product__detail-box .detail-trial a:after{
		content: "";
		position: absolute;
		display: block;
		margin: auto;
		top: 0;
		right: 16px;
		bottom: 0;
		width: 11px;
		height: 13px;
	}
	.books-product__detail-box .detail-trial a:before{
		background: url(../img/arrow_r_rd.svg) 0 0 no-repeat;
		background-size: 100% 100%;
		opacity: 1;
	}
	.books-product__detail-box .detail-trial a:after{
		background: url(../img/arrow_r_wh.svg) 0 0 no-repeat;
		background-size: 100% 100%;
		opacity: 0;
	}




/* books-detail-col
================================================*/
	.books-product__detail{
		margin: 25px 0 0;
	}
	.books-detail-col .books-detail-col__header h2{
		position: relative;
		padding: 0 0 0 12px;
		font-size: 18px;
		font-weight: 500;
	}
	.books-detail-col .books-detail-col__header h2:before{
		position: absolute;
		margin: auto;
		top: 3px;
		left: 0;
		bottom: 0;
		content: "";
		display: block;
		width: 4px;
		height: 20px;
		background: #333;
	}
	.books-detail-col__txt{
		margin: 30px 0 0;
	}
	.books-detail-col__txt a{
		color: #D7000F;
		text-decoration: underline;
	}
	.books-detail-col__txt p,
	.books-detail-col__txt div,
	.books-detail-col__txt *{
		line-height: 2;
	}
	.books-detail-col__txt strong{
		font-weight: 700;
	}
	.books-detail-col__txt * + *{
		margin-top: 20px;
	}

	.books-detail-col__txt h2{
		font-size: 16px;
		font-weight: 500;
	}
	.books-detail-col__txt ul li + li{
		margin-top: 5px;
	}
	.books-product__detail-extra{
		border-top: 1px solid #ddd;
		position: relative;
	}
	.books-product__review{
		margin: 35px 0 0;
	}
	.books-product__review-form{
		margin: 20px 0 0;
	}
	.books-product__review-form p{
		line-height: 1.5;
	}
	.books-product__review-form .glsr{
		margin: 20px 0 0;
	}


}


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


}




