@charset "UTF-8";

/* -------------------------------------------------------------------
common
------------------------------------------------------------------- */

* {
	box-sizing: border-box;
	-webkit-appearance: none;
}

html,
body,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
p,
section,
header,
footer,
nav,
form,
input,
div {
	margin: 0;
	padding: 0;
}

body {
	background-color: #3A3A3A;
}

.flexbox {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

li,
ol {
	list-style: none;
}

a {
	text-decoration: none;
}

a:link,
a:visited,
a:hover,
a:active {
	text-decoration: none;
}

img {
	display: block;
	width: 100%;
	height: auto;
}

p {
	margin: 10px auto;
}

header div#common_navi {
	width: 96%;
	max-width: 1000px;
}

.PC {
	display: block;
}

.SP {
	display: none;
}


/* -------------------------------------------------------------------
main
------------------------------------------------------------------- */

main {
	color: #000;
	max-width: 1000px;
	padding: 0 2%;
	margin: 0 auto;
}

.top-img {
	max-width: 1000px;
	text-align: center;
	margin: 0 auto;

}

/* -------------------------------------------------------------------
contents
------------------------------------------------------------------- */

.contents {
	background-color: #fff;
	box-sizing: border-box;
	padding: 60px 3% 76px;
	max-width: 1000px;
	margin: 0 auto;
}

/* -------------------------------------------------------------------
新刊紹介
------------------------------------------------------------------- */

.subtitle {
	background-color: #000000;
	border: 2px solid #F6AB00;
	color: #F6AB00;
	margin-bottom: 12px;
	padding: 2% 1%;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
}

.subtitle span {
	font-size: 2rem;
	font-weight: bold;
}

.latest-content {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding: 52px 0 25px;
	position: relative;
}

.left {
	max-width: 376px;
	width: 39%;
}
@media screen and (max-width: 640px) {
    .left {
        min-width: 312px;
        width: 100%;
    }
}

.left a img:hover {
	opacity: 0.6;
}

.latest-icon {
	position: absolute;
	z-index: 50;
	top: 0;
	left: -3%;
	width: 70px;
	height: 70px;
}

.right {
	width: 58%;
}
@media screen and (max-width: 640px) {
    .right {
        width: 100%;
    }
}
.right h4.hx__catchtxt {
	font-size: 24px;
}
@media screen and (max-width: 640px) {
	.right h4.hx__catchtxt {
		font-size: 24px;
	}
}

.text-line{
	display: inline-block;
    width: 50px;
    border-bottom: solid 0.5px #000;
    vertical-align: middle;
    margin-left: 6px;
    position: relative;
		top: -0.1em;
}

.right h3 {
	font-size: 1.6rem;
	margin-bottom: 36px;
    margin-left: -20px;
}

.right p {
	line-height: 1.5;
    font-size: 1rem;
    font-weight: 200;
}

.purchase a {
	color: #fff;
	background-color: #F6AB00;
	display: inline-block;
	font-size: 1.3rem;
	font-weight: 300;
	padding: 1.5% 0;
	text-align: center;
	width: 100%;
}

.purchase a:hover {
	opacity: 0.6;
}

/* -------------------------------------------------------------------
MAP
------------------------------------------------------------------- */

.map {
	margin-top: 60px;
}

.map .subtitle {
	color: #fff;
	margin-bottom: 22px;
}

.txt-wrapper {
	padding: 20px 0 50px;
	width: 100%;
}

.year {
	margin: 5px 0 0;
	text-align: right;
	font-size: 0.8rem;
}

/* -------------------------------------------------------------------
Author
------------------------------------------------------------------- */

.author {
	margin-top: 60px;
}

.author .subtitle {
	color: #fff;
	margin-bottom: 22px;
}
.author .profile {
	border: 2px solid #F6AB00;
	padding: 3%;
}
.author .profile p{
	font-weight: 200;
	margin: 0;
	font-size: 18px;
}
@media screen and (max-width: 640px) {
    .author .profile p{
        font-size: 16px;
    }
}
.author .person{
	margin-top: 30px;
}
.author .person__profile{
	background-color: #F6AB00;
	color: #333;
	font-size: 1rem;
	font-weight: bold;
	padding: 1% 5%;
	text-align: center;
}
@media screen and (max-width: 640px) {
	/* .author .person__profile{
		font-size: 30px;
	} */
}
.author .profile .name{
	background-color: #fff;
	color: #333;
	font-weight: 500;
	padding: 0;
	margin-bottom: 33px;
}
.author .profile__container{
	display: flex;
}
.author .profile__container .text{
	margin-left: 30px;
}
.author .profile__container .text p{
	/* font-family: Meiryo, sans-serif; */
	margin: 0;
}
.author .profile__image img{
	width: 112px;
	height: auto;
}
.author .hx__bookttl {
	text-align: center;
	font-size: 28px;
	font-weight: 700;
	color: #ff6c00;
	padding-bottom: 3%;
}
.author .hx__author_name {
	text-align: right;
	font-size: 22px;
	font-weight: 600;
	padding-top: 3%;	
}
@media screen and (max-width: 640px) {
	.author .profile .name{
		display: none;
	}
	.profile__container{
		flex-direction: column;
		align-items: center;
	}
	.author .profile__container .text{
		margin-left: 0px;
	}
	.author .profile__image img{
		margin-bottom: 15px;
	}

	.author .hx__author_name {
		font-size: 20px;	
	}
}

/* -------------------------------------------------------------------
登場人物紹介
------------------------------------------------------------------- */

.intro {
	margin-top: 38px;
}

.intro .subtitle {
	color: #fff;
	margin-bottom: 40px;
    font-size: 36px;
}

.intro ul {
	margin: 0;
	padding: 0;
}

.person {
	font-size: 1rem;
	margin-bottom: 40px;
}

.person .name {
	background-color: #F6AB00;
	color: #4B0003;
	font-size: 2.2rem;
	font-weight: bold;
	padding: 1% 5%;
}

.person .name span {
	font-size: 1.3rem;
}

.person .profile {
	border: 2px solid #F6AB00;
	border-top: none;
	padding: 3%;
}

.person .profile p {
	font-weight: 200;
	font-size: 18px;
}
@media screen and (max-width: 640px) {
	.person .profile p {
		font-size: 14px;
	}
}

.pdl-6pc {
	padding-left: 6%;
}
@media screen and (max-width: 640px) {
	.pdl-6pc {
	    padding-left: 6%;
        padding-right: 6%;
    }
}

/* -------------------------------------------------------------------
作品一覧
------------------------------------------------------------------- */

.novel-list .subtitle {
	color: #fff;
	margin-bottom: 40px;
}

.novel-list ul {
	margin: 0;
	padding: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-line-pack: justify;
	align-content: space-between;
}

.novel-list ul li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	width: 32%;
	max-width: 284px;
	margin-bottom: 60px;
}

.novel-list ul li p {
	margin: 0;
	padding: 10px 0 30px;
}

.novel-list ul li a img:hover {
	opacity: 0.6;
}

.purchase-btn {
	width: 100%;
	max-width: 284px;
	display: block;
	background: rgba(246, 171, 0, 1);
	color: #fff;
	margin: auto auto 0;
	text-align: center;
	padding: 5% 3%;
	cursor: pointer;
}

.purchase-btn:hover {
	opacity: 0.5;
}

/* -------------------------------------------------------------------
オンライン
------------------------------------------------------------------- */

.online {
	margin: 0 auto;
}

.online:hover {
	opacity: 0.6;
}



@media screen and (max-width: 640px) {
	.PC {
		display: none !important;
	}

	.SP {
		display: block !important;
	}

	main {
		padding: 0;
	}

	.contents {
		padding: 4% 3% 8%;
	}

	.latest-content {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.left {
		width: 100%;
	}

	.right {
		width: 100%;
	}

	.right h3 {
		font-size: 5vw;
		margin: 32px 0 25px;
        margin-left: -8px;
	}


	.purchase a {
		padding: 2% 0;
		font-size: 1.5rem;
	}

	.map {
		margin-top: 50px;
	}

	.map .subtitle {
		font-size: 1.8rem;
	}

	.year {
		font-weight: 200;
	}

	.intro .subtitle {
		font-size: 1.6rem;
	}

	.novel-list ul {
		display: block;
	}

	.novel-list ul li {
		width: 100%;
		margin: 0 auto 50px;
	}

	.novel-list ul li p {
		font-size: 1.5rem;
		padding: 5px 0 20px;
	}

	.purchase-btn {
        width: 439px;
        max-width: 100%;
		font-size: 1.5rem;
	}

	.left a img {
		display: block;
		width: 75%;
		height: auto;
		
	}
}

@media screen and (max-width: 480px) {
	.latest-icon {
		width: 60px;
		height: 60px;
	}
}



/* -------------------------------------------------------------------
新刊
----------------------------------------------------------------------
既刊一覧
------------------------------------------------------------------- */

/*
article#BOOKS {
	width: 100%;
	padding: 1% 0;
	margin: 0 auto 0;
	position: relative;
}

article#BOOKS section {
	max-width: 1000px;
	width: 100%;
	padding: 0;
	margin: 0 auto 0 auto;
	position: relative;
	clear: both;
	zoom: 1;
}

article#BOOKS section h3 {
	max-width: 940px;
	width: 100%;
	padding: 0;
	margin: 3% auto 2% auto;
	display: block;
	box-sizing: border-box;
	z-index: 50;
	position: relative;
}

article#BOOKS section h3 em {
	width: 96%;
	height:100%;
	padding: 1.5% 1% 1.5% 1%;
	margin: 1%;
	display: block;

	background: rgba(255, 255, 255, 1);
	z-index: 50;
	position: relative;
}

article#BOOKS section h5 {
	max-width: 800px;
	width: 100%;
	height:100%;
	padding: 0;
	margin: 0 auto 1% auto;
	display: block;
	z-index: 50;
	position: relative;
}

article#BOOKS section h6 {
	max-width: 800px;
	width: 100%;
	height: auto;
	padding: 0;
	margin: 0 auto 2% auto;
	display: block;
	z-index: 50;
	position: relative;
}

article#BOOKS section i {
	max-width: 300px;
	width: 100%;
	padding: 0;
	margin: 0;
	display: block;
	position: absolute;
	top: -28%;
	left: -4%;
}

article#BOOKS section i img {
	width: 100%;
	height: auto;
	padding: 0;
	margin: 0;
}

article#BOOKS section ul.INFO {
	max-width: 940px;
	width: 100%;
	height: auto;
	display: block;
	z-index: 100;
	list-style: none;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction:column;
	flex-direction:column;
	overflow: hidden;
	zoom: 1;
	position: relative;
}

article#BOOKS section ul.INFO li {
	max-width: 1000px;
	width: 100%;
	height: auto;
	padding: 0;
	margin: 0 auto 0 auto;
	display: block;

	overflow: hidden;
	zoom: 1;
}

article#BOOKS section ul.INFO {
	margin-bottom: 5%;
	padding: 0;
}

article#BOOKS section ul.INFO li {
	display: block;
	width: 100%;
	clear: both;
	overflow: hidden;
	zoom: 1;
	padding: 0;
	margin: 0;
}

article#BOOKS section ul.INFO ol {
	margin-left: 0;
	padding-left: 0;
	display: block;
	width: 100%;
	clear: both;
	overflow: hidden;
	zoom: 1;
	padding: 0;
	margin: 0;
	list-style: none;
}

article#BOOKS section ul.INFO ol li.left {
	text-align: center;
	width: 100%;
	clear: both;
	overflow: hidden;
	zoom: 1;
	padding: 0;
	margin: 0;
	max-width: inherit;
	margin: 20px auto;
}

article#BOOKS section ul.INFO ol li.right {
	text-align: left;
	width: 100%;
	clear: both;
	overflow: hidden;
	zoom: 1;
	padding: 0;
	margin: 0;
	max-width: inherit;
	margin: 10px auto;
}

article#BOOKS section ul.INFO ol li.right h3 {
	margin: 10px auto 0;
}

article#BOOKS section ul.INFO ol li.right div p {
	text-align: left;
	width: 100%;
	clear: both;
	overflow: hidden;
	zoom: 1;
	padding: 0;
	margin: 0;
	max-width: inherit;
	font-size: 1em;
}

article#BOOKS section ul.INFO ol li.left span {
	max-width: 210px;
	width: 28%;
	height: auto;
	padding: 0;
	margin: 0 0.2%;
	display: inline-block;
	z-index: 100;
	list-style: none;
	color: #fff;
	font-size: 0;
	line-height: 0;
}

article#BOOKS section ul.INFO ol li.left span img {
	width: 100%;
	height: auto;
	font-size: 0;
	line-height: 0;
	margin: 0;
	padding: 0;
}

article#BOOKS strong {
	max-width: 800px;
	width: 100%;
	height: auto;
	padding: 0 0 1% 0;
	display: block;
}

article#BOOKS strong.new {
	max-width: 120px;
	width: 100%;
	height: auto;
	padding: 0 0 1% 5%;
	margin: 0;
	display: block;
}

article#BOOKS strong img {
	width: 100%;
	height: auto;
	padding: 0;
	margin: 0;
}

article#BOOKS section ul.INFO li a,
article#BOOKS section ul.INFO li span {
	width: 100%;
	height: auto;
	padding: 0;
	margin: 0 auto 0 auto;
	display: block;
	z-index: 30;
}

article#BOOKS section ul.INFO li a:hover {
	opacity: 0.6;
}

article#BOOKS section ul.INFO li .btn001 {
	text-align: center;
	display: block;
	clear: both;
	padding: 1em;
}

article#BOOKS section ul.INFO li .btn001 a {
	background: #eebb14;
	border: 3px solid #eebb14;
	color: #000;
	padding: 0.3em 0;
	width: 430px;
	display: inline-block;
	line-height: 1.8em;
	box-sizing: border-box;
	border-radius: 3px;
}

article#BOOKS section ul.INFO li ol,
article#BOOKS section ul.INFO li span ol {
	max-width: 100%;
	width: 100%;
	height: auto;
	padding: 0;
	margin: 0 auto 2% auto;
	z-index: 100;
	list-style: none;

	display: -webkit-box;
	display: -webkit-flex;
	display: flex;

	clear: both;
	overflow: hidden;
	zoom: 1;
	position: relative;
}

article#BOOKS section ul.INFO li ol li.left,
article#BOOKS section ul.INFO li span ol li.left {
	max-width: 30%;
	height: auto;
	padding: 0 2% 0 0;
	margin: 0;
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	flex: 1;
	position: relative;
}

article#BOOKS section ul.INFO li ol li.left span,
article#BOOKS section ul.INFO li span ol li.left span {
	max-width: 100%;
	width: 100%;
	height:100%;
	padding: 0;
	margin: 0;
	display: block;
	overflow: hidden;
	zoom: 1;
}

article#BOOKS section ul.INFO li ol li.left span img,
article#BOOKS section ul.INFO li span ol li.left span img {
	width: 100%;
	max-width: 260px;
	height: auto;
	padding: 0;
	margin: 0;
	display: block;
	border:1px solid rgba(100,37,178,1);
	box-sizing: border-box;
	box-shadow: 0 0 7px 3px rgba(75,75,75,1);
}

article#BOOKS section ul.INFO li ol li.right {
	max-width: 100%;
	width: 68%;
	height: auto;
	padding: 0;
	margin: 0 0 1% 0;
	display: -webkit-box;
	display: -webkit-flex;
	flex-wrap: wrap;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-flex-justify-content: space-between;
	justify-content: space-between;
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	flex: 1;
}

article#BOOKS section ul.INFO li ol li.right div,
article#BOOKS section ul.INFO li span ol li.right div {
	width: auto;
	height: auto;
	padding: 0 0 30px;
	margin: 0;
	display: block;
	background: none;
	align-self: flex-start;
}

article#BOOKS section ul.INFO li ol li.right div h3,
article#BOOKS section ul.INFO li span ol li.right div h3 {
	width: 95%;
	height: auto;
	padding: 0 0 0.7em 0;
	margin: 0 0 0 0;
	display: block;
}

article#BOOKS section ul.INFO li ol li.right div h3 small,
article#BOOKS section ul.INFO li span ol li.right div h3 small {
	display: block;
}

article#BOOKS section ul.INFO li ol li.right h3 span,
article#BOOKS section ul.INFO li span ol li.right h3 span {
	padding: 0 0 0 0;
	margin: 0;
	display: block;
}

article#BOOKS section ul.INFO li ol li.right div h3 br.sp,
article#BOOKS section ul.INFO li span ol li.right div h3 br.sp {
	display: none;
}

article#BOOKS section ul.INFO li ol li.right div strong,
article#BOOKS section ul.INFO li span ol li.right div strong {
	padding: 0;
	margin: 0.5% 0 0 0;
	display: block;
}

article#BOOKS section ul.INFO li ol li.right div s,
article#BOOKS section ul.INFO li span ol li.right div s {
	padding: 0;
	margin: 0.5% 0 1% 0;
	display: block;
}

article#BOOKS section ul.INFO li ol li.right div b,
article#BOOKS section ul.INFO li span ol li.right div b {
	max-width: 560px;
	padding: 0;
	margin: 0 0 1em 0;
	display: block;
}

article#BOOKS section ul.INFO li ol li.right div p,
article#BOOKS section ul.INFO li span ol li.right div p {
	padding: 1% 0;
	margin: 0 0 0 0;
	display: block;
	width: 100%;
}

article#BOOKS section ul.INFO li ol li.right em.pc,
article#BOOKS section ul.INFO li a em.sp {
	width: 100%;
	height: auto;
	padding: 2% 0;
	margin: 2% 0 0 0;
	display: block;
	background: #0F89B0;
	font-size: 1.3rem;
	border-radius: 2px;
	box-shadow: 0 0 0 2px rgba(238,187,20,1);
	align-self: flex-end;
}

article#BOOKS section ul.INFO li ol li.right em.book02,
article#BOOKS section ul.INFO li a em.book02 {
	background: rgba(138, 170, 130, 1);
}

article#BOOKS section ul.INFO li ol li.right em.book03,
article#BOOKS section ul.INFO li a em.book03 {
	background: rgba(217, 136, 103, 1);
}

article#BOOKS section ul.INFO li ol li.right em.book04,
article#BOOKS section ul.INFO li a em.book04 {
	background: rgba(95, 104, 171, 1);
}






article#BOOKS section ul.RECENT li a ol li.right em.pc,
article#BOOKS section ul.RECENT li a em.sp,
article#BOOKS section ul.RECENT li span ol li.right em.pc,
article#BOOKS section ul.RECENT li span em.sp {
	background: rgba(1, 127, 190, 1);
}

article#BOOKS section ul.INFO li a em.sp {
	margin: 0 0 0 0;
	display: none;
}

article#BOOKS section ul.INFO.PUBLICATIONS2 li em {
	font-size: 1rem;
	font-style: normal;
}

article#BOOKS section ul.INFO.PUBLICATIONS2 li em a {
	width: 100%;
	height: auto;
	padding: 2% 0;
	margin: 2% 0 0 0;
	display: block;
	background: rgba(0, 0, 0, 1);

	border-radius: 2px;
	box-shadow: 0 0 0 2px rgba(238,187,20,1);
	border: 2px solid #eebb14;
	color: #eebb14;
	box-sizing: border-box;
	text-align: center;
}




@media screen and (max-width: 800px) {
	article#BOOKS section {}

	article#BOOKS section ul.INFO,
	article#BOOKS section ul.INFO li {
		max-width: auto;
	}

	article#BOOKS section ul.INFO li .btn001 a {
		width: 60%;
	}

	article#BOOKS section ul.INFO.PUBLICATIONS2 li.left span {
		max-width: auto;
	}
}

article#WBOOKS section ol li em.pc,
article#WBOOKS section ol li a ul li.right em.pc,
article#WBOOKS section ol li a em.sp {
	width: 95%;
	position: absolute;
}

.TEXThidden {
	text-align: center;
	cursor: pointer;
}

.TEXThidden img {
	width: 100%;
}
*/


/* -------------------------------------------------------------------
Q E D　恵比寿の漂流のスタイル
------------------------------------------------------------------- */	
.ruby-dot {
  position: relative;
}

.ruby-dot::before {
  content: "•";
  position: absolute;
  top: -6px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 10px;
}

.kuwabara-rubi {
	position: relative;
}
.kuwabara-rubi::before {
	content: "くわばらたかし";
	position: absolute;
	width: 150%;
	top: -24%;
	left: 76%;
	transform: translateX(-50%);
	font-size: 8px;
	letter-spacing: -0.6px;
}
@media screen and (max-width: 499px) {
	.kuwabara-rubi::before {
		content: "くわばらたかし";
		position: absolute;
		width: 150%;
		top: -24%;
		left: 80%;
		transform: translateX(-50%);
		font-size: 6px;
		letter-spacing: -0.6px;
	}
}


@media screen and (max-width: 800px) {
	.book-description {
		margin-top: 32px;
	}
}

@media screen and (max-width: 640px) {
    .pdl-tb-1 {
        margin-top: 26px;
        margin-bottom: 17px;
    }

    .pdl-t-1 {
        margin-top: 12px;
    }
    .pdl-b-1 {
        margin-bottom: 16px;
    }
}

.shokugyou {
    margin-top: 32px;
}
@media screen and (max-width: 640px) {
    .shokugyou {
        margin-top: 16px;
    }
}