@charset "utf-8";

.pc{
	display: none;
}
.wrap{
	width:95vw;
	/* width:100%; */
	overflow: hidden;
}
main section{
	padding:3vw 0 0;
}
img{
	max-width:100%;
	height:auto;
}

/* ========================================================
	共通ヘッダー
	======================================================== */
header{
	padding:20px;
	height:auto;
	overflow: hidden;
	position: relative;
}
header h1{
	width:32vw;
}
header nav{
	padding:2vw 0;
	float:right;
}
header li a{
	font-size:18px;
}
header li img{
	width:10vw;
	height:auto;
}
header .search{
	position: absolute;
	background-color:#354935;
	top:0;
	left:0;
	right:0;
	bottom:0;
	padding:7vw;
}
header .search .close-search{
	float:left;
	width:10vw
}
header .search #searchform{
	margin: 0 0 0 5vw;
	box-sizing: border-box;
	padding:3vw 12vw 3vw 3vw;
	width: 70vw;
	font-size:16px;
}
header .search #searchbtn {
    border: 0;
    background: none;
    position: absolute;
    right: 10vw; top: 7vw;
    display: block;
    width: 40px;
    height: auto;
    overflow: hidden;
    white-space: nowrap;
    z-index: 1;
    padding:8px 0 0;
}
/* ========================================================
	共通ナビゲーション
	======================================================== */
#global .wrap{
	width:100%;
}
#global ul{
	border-left:none;
}
#global ul li:last-child{
	border-right:none;
}
#global li.new span,
#global li.wadai span,
#global li.bunko span,
#global li.search span{
	background:none;
	padding:0;
	font-size:5vw;
	line-height:1.2;
}
/* ========================================================
	共通フッター
	======================================================== */
footer{
	padding:0 3vw 3vw;
}
footer .contact{
	position: relative;
	width:100%;
	left:0;
	margin-bottom:30px;
}
footer .contact a{
	display:block;
	text-align: center;
}
footer #pagetop {
    right: 5vw;
}
#pagetop img{
	width:20vw;
}
footer .site-id {
    font-size: 7vw;
}
footer li {
    font-size: 13px;
    margin-right: 8px;
}
footer li.sep-l::before {
    margin: 0 8px 0 0;
}
nav.link{
	background-color:#39503b;
	padding:5vw 3vw;
}
nav.link ul{
	display: flex;
	justify-content: space-between;
}
nav.link li{
	text-align: center;
	line-height:1.2;
	border:solid 1px #fff;
}
nav.link li img{
	width:10vw;
}
nav.link li a{
	display: block;
	
	padding:3vw 5vw;
	color:#fff;
}

/* ========================================================
	TOPページ
	======================================================== */
/* スライド
--------------------------- */
#slide{
	height:100vw;
}
#slide h2{
	position: relative;
	top:auto;
	right:auto;
	text-align: center;	
}
#slide h2 img{
	margin:30px auto;
}
#slide .books{
	padding:0 15vw;
}
#slide .books li{
	height:46vw;
	display:inline-block;
	text-align: center;
}
#slide .books li img{
	/* width:90%; */
	height:auto;
	width:90%;
}
#slide .books li img.banner{
	height:auto;
	width:195%;
	min-width:195%;
	z-index:1000;
}
#slide .books .slick-next{
	top:12vw;
	right:3vw;
}
#slide .books .slick-prev{
	top:12vw;
	left:3vw;
}
/* TOP BANNER
--------------------------- */
#top-banner ul{
	flex-wrap: wrap;
	margin:15px auto;
}
#top-banner li{
	width:49%;
}
#top-banner li:first-child{
	margin-bottom:15px;
	width:100%;
}
/* 特設
--------------------------- */
#future .item-box{
	width:100%;
}
#future .item-box .item-ttl{
	margin:5vw;
}
#future .item-box .item-txt{
	margin:0 5vw 20px;
}
/* TOPICS
--------------------------- */
#topics{
	font-size:14px;
}
#topics dd{
	padding:20px 30px 20px 100px;
	text-indent:-90px;
	background:url('../images/top/tp-close.png') right 4px top 20px no-repeat;
}
#topics dd.open{
	background:url('../images/top/tp-open.png') right 4px top 20px no-repeat;
}
#topics dd span{
	padding-right:10px;
}
#topics dt{
	padding:20px;
}
.teisei-nazope p:not(:first-of-type),
.teisei-nazope img{
	width:100%;
	margin-top:20px;
	-webkit-backface-visibility: hidden;
}
/* SNS
--------------------------- */
#sns {
	margin-bottom:0;
}
#sns ul{
	display: flex;
	justify-content: center;
}
#sns ul li{
	padding:2px;
}
#sns ul .twitter a{
	background-color:#3fa0f1;
	color:#fff;
	border-radius:3px;
	font-size:12px;
	font-weight:500;
	width:68px;
	height:40px;
	display: block;
	padding:10px 0;
}
#sns ul .evernote a{
	border-radius:3px;
	border:solid 1px #ccc;
	width:68px;
	height:40px;
	display: block;
	padding:3px 0;
}
#sns + section{
	margin-bottom:30px;
}
#sns + section li{
	font-size:20px;
	text-align: center;
	padding:16px;
	border:solid 1px;
	margin-bottom:10px;
}

#sns + section li.blog a{
	color:#000;
}
#sns + section li.fb{ border-color:#505994;}
#sns + section li.fb a{
	color:#505994;
}
#sns + section li.tw{ border-color:#399dee;}
#sns + section li.tw a{
	color:#399dee;
}
/* ========================================================
	下層ページ
	======================================================== */
/* ページ共通マージン */
main .inner{
	padding:0 3vw;
	margin-bottom:20px;
}
.page main h1{
	background-position: 3vw 26px;
	padding-left:50px;
}

/* 2カラム共通
--------------------------- */
.page main #left-column{
	width:100%;
	float:none;
}
.page main #right-column{
	width:100%;
	margin:0;
}

/* 本を探す
--------------------------- */
.book_search main form td{
	padding:3vw;
}
.book_search main input[type="text"]{
	width:100%;
	padding:4px;
}
.book_search main input[type="submit"]{
	padding:3vw;
	width:80%;
}
.book_search main .flex{
	display: block;
}
.book_search main li{
	padding:4px 0;
}
.book_search #right-column .pager{
	margin-bottom:0;
}
.book_search #right-column .pager li{
	background-color: #fff;
	width:50%;
	padding:0;
	
}
.book_search #right-column .pager li:first-child{
	text-align: left;
}
.book_search #right-column .pager li:last-child{
	text-align: right;
}
.book_search #right-column .pager li a{
	background-color: #fff;
	padding:0;
}
.book_search #left-column{
	border-top:solid 1px #000;
}
/* 最新刊・既刊
--------------------------- */
.book_new .inner{
	padding:0;
}
.book_new #right-column{
	padding:0 3vw;
}
.page main .sp.pager{
	display: flex;
}
.page main .sp.pager li{
	width:30%;
	background-color: #d3dad2;
	text-align: center;
	padding:3vw 1vw;
}
.page main .sp.pager .open{
	width:40%;
	border-left:solid 1px #fff;
	border-right:solid 1px #fff;
}
.page main .sp.pager .open::after{
	content:' ▼';
	font-size:10px;
}
.page main .sp.pager .close::after{
	content:' ×';
	font-size:14px;
}
#right-column .pager:not(.sp){
	display: none;
}
.page main h2 {
    margin:20px 0 10px;
}
#right-column .intro .image{
	width:25vw;
}
#right-column .intro .image img{
	width:20vw;
}
#right-column .intro .ttl{
	font-size:4.7vw;
}
#right-column .intro .sub{
	font-size:4vw;
}
#right-column .intro .auth{
	font-size:4vw;
}
#right-column .intro .text{
	font-size:12px;
}
/* 書籍詳細
--------------------------- */
/* タイトル、著者、75文字 */
.book_detail h1{
	margin-bottom:30px;
}
.book_detail .auth a{
	color:#000;
}
.book_detail .sral{
	font-size:12px;
}
.book_detail .ttl{
	font-size:20px;
	font-weight:bold;
	letter-spacing:-0.02em;
}
.book_detail .sub{
	font-size:14px;
	letter-spacing:-0.03em;
}
.book_detail .auth{
	color:#354935;
	margin:10px 0;
}
.book_detail #bookimg{
	text-align: center;
	margin-bottom:20px;
}
.book_detail #bookimg img{
	width:50vw;
}
.book_detail  .sum{
	font-size:13px;
	margin-bottom:30px;
}
/* 著者情報 */
.book_detail #bookauthor{
	border-top:solid 1px #354935;
	padding-top:20px;
}
.book_detail #bookauthor .itm{
	color:#354935;
	background:url('../images/book_search/ico-auther.png') top left no-repeat;
	padding-left:20px;
}
.book_detail #bookauthor .itm2{
	font-size:14px;
	margin-bottom:20px;
	line-height:1.6;
}
/* データ */
.book_detail #bookdetail table{
	width:100%;	
	font-size:13px;
	border-top:solid 1px #354935;
	margin-bottom:30px;
}
.book_detail #bookdetail tr td{
	padding:3px 0;
	border-bottom:solid 1px #354935;
}
.book_detail #bookdetail .itm{
	font-weight:bold;
}
.book_detail main #bottom-column{
	margin-bottom:0;
	padding-bottom:0;
}
.book_detail #bottom-column #bikou{
	overflow: hidden;
	padding-bottom:20px;
	margin-bottom:20px;
	border-bottom:solid 2px #354935; 
}
.book_detail #bottom-column a.mail{
	display: block;
	text-align: center;
	border:solid 1px #354935;
	padding:6px;
	color:#354935;
	margin-bottom:20px;
}
.book_detail #bottom-column a.mail span{
	background:url('../images/book_search/letter.png') 0 2px no-repeat;
	padding-left:26px;
}
#bottom-column .afi-link li a{
	padding:2px 31px 2px 15px;
	background:url('../images/common/ico_blank2.png') top 6px right 6px no-repeat;
}
/* 話題の本
--------------------------- */
.book{
	padding:5vw 0;
	margin:0;
}
.book figure{
	width:25vw;
}
.book figure img{
	width:20vw;
	margin-top:5vw;
}
.book .bookdetail{
	margin-left:25vw;
}
.book .bookdetail h2{
	font-size:4.5vw;
	margin:0 0 1vw;
}
.book .bookdetail .ttl{
	font-size:4vw;
}
.book .bookdetail .sub{
	font-size:3.5vw;
}
.book .bookdetail .auth{
	font-size:3.2vw;
}
.book + .btn{
	margin-top:30px;
}
.book + .btn a{
	display: block;
	padding:3vw;
	font-size:4.2vw;
	background:url('../images/common/ico_blank2.png') top 8vw right 12vw no-repeat;
}
.book_wadai #left-column{
	display: none;
}
.book_wadai #right-column h2{
	font-size:6vw;
	color:#481719;
	margin-bottom:10px;
	padding:0;
}
.book_wadai #right-column .book{
	position: static;
	padding:0;
}
.book_wadai #right-column .bookdetail{
	position: static;
	margin:0 0 10px 0;
}
.book_wadai #right-column .book figure{
	margin:0 0 30px;
	width:100%;
	text-align: center;
}
.book_wadai #right-column .book figure img{
	width:50%;
}
.book_wadai #right-column #foot-link ul{
	display: block;
}
.book_wadai #right-column #foot-link ul li{
	width:100%;
	margin-bottom:14px;
}
.book_wadai #right-column #bottom-column{
	padding:10px;
}
/* 会社案内
--------------------------- */
.cmpny main dl{
	font-size:14px;
}
.cmpny main #map{
	height:50vh;
	width:94vw;
	overflow: hidden;
}
.cmpny main #map iframe{

}
.cmpny main .wide dt{
	width:50vw;
}
.cmpny main .wide dd{
	padding:10px 0 10px 50vw;
}
/* メール */
.cmpny main .inner > p{
	margin:20px 0;
	font-size:14px;
}
.cmpny main .wide.mail{
	margin:0 0 30px 0;
	font-size:14px;
}
.cmpny main .wide.mail dt{
	width:100%;
	padding:10px 0 4px;
	float:none;
}
.cmpny main .wide.mail dd{
	padding:0 0 10px;
}
.cmpny main .wide.mail input[type="text"]{
	font-size:18px;
	width:100%;
}
.cmpny main .wide.mail select{
	font-size:18px;
}
.cmpny main .wide.mail input.age{
	width:100px;
}
.cmpny main .wide.mail textarea{
	font-size:18px;
	width:100%;
	height:100px;
}
.cmpny main .submit{
	margin:30px auto 50px;
	text-align: center;
}
.cmpny main .submit input{
	border-style: none;
	background-color: #354935;
	color:#fff;
	padding:10px;
	text-align: center;
	width:40%;
	font-size:16px;
	cursor: pointer;
	margin:10px;
}
/* 求人
--------------------------- */
.cmpny.recruit main dl dt{
	width:100px;
	float:left;
	padding:10px 0;
}
.cmpny.recruit main dl dd{
	padding:10px 0 10px 100px;
}
/* プライバシーポリシー
--------------------------- */
.policy main p{
	margin:10px 0;
	font-size:4vw;
}
.policy main ol li{
	font-size:4vw;
	margin-left:0;
}

/* 話題の本
--------------------------- */
.book figure{
	min-height: 120px;
}