/* ------------------------------------------------------ */
/* ▼ 命名 CSS */
/* ------------------------------------------------------ */
@charset "utf-8";

/*fonts*/
@import url('../../css/novel-fonts.css');

/*EB Garamond*/
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400..800;1,400..800&display=swap');
/* ------------------------------------------------------ */
/* ▼ CSSリセット */
/* ------------------------------------------------------ */
* {
	margin: 0;
	padding: 0;
}

html {
	font-size: 62.5%;
}

/* ------------------------------------------------------ */
/* ▼CSS変数 */
/* ------------------------------------------------------ */
:root {
	/* 基本 */
	--main-color: #313130;
	--main-font-family: "Noto Sans JP", sans-serif;
	--main-line-height: 1.8em;
	
	--link-color: #874A71;
	--link-hover-color: #FF8A8A;
	
	--header-accent-color: #92718E;
	--header-color: #918FB3;
	
	--heading-out-color: #B69D8A;
	--caution-color: #C28E98;
	
	--footer-background: #727AA9;
	--navi-background: #FFFFFF00;
	--navi-color: #FFFFFFFF;
	--navi-border: #FFFFFFFF;
	
	--navi-background-hover: #FFFFFF66;

	--navi-background-current: #FFFFFF33;
}

/* ------------------------------------------------------ */
/* ▼ 基礎 */
/* ------------------------------------------------------ */
body {
	background: url("bg.webp") center center / cover no-repeat fixed;
	color: var(--main-color) !important;
	font-family: var(--main-font-family) !important;
}

a {
	color: var(--link-color);
	text-decoration: underline;
}

a:hover {
	color: var(--link-hover-color);
	text-decoration: none;
}

/* ------------------------------------------------------ */
/* ▼ ヘッダー */
/* ------------------------------------------------------ */
header {
	margin: 0px;
	padding: 30px 20px 0 20px;
}

header ul {
	margin-left: 0px;
	list-style: none;
	line-height: 12px;
	float: left;
}

header ul:before {
	padding: 0 .4rem;
	font-family: "remixicon";
	font-weight: normal;
	content: "\ef0a";
	color: var(--header-accent-color);
	font-size: 1.4rem;
	line-height: 1em;
}

header li {
	display: inline-block;
	color: var(--header-color);
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1em;
}

header li + li:before{
	padding: 0 .2em;
	font-family: "remixicon";
	content: "\ea6e";
	color: var(--header-accent-color);
	font-size: 1.2rem;
	line-height: 1em;
}

header a {
	color: var(--link-color);
	text-decoration: underline;
}

header a:hover {
	color: var(--link-hover-color);
	text-decoration: none;
}

/* ------------------------------------------------------ */
/* ▼ 見出し */
/* ------------------------------------------------------ */

/* ロゴ */
h1 {
	margin: 50px auto 80px auto;
	width: 106px;
	height: 82px;
	background: url("logo.webp") top center / contain no-repeat;
	text-indent: -1000000px;
	display: block;
}

/* 注意書き */
h2 {
	margin-bottom: 1em;
	padding-top: 2.5rem;
	display: brock;
	position: relative;
	color: var(--caution-color);
	font-size: 1.5rem;
	font-family: "EB Garamond", serif;
	font-weight: 500;
	line-height: 1em;
	letter-spacing: .1rem;
	text-align: center;
}

/* 注意書きアイコン */
h2:before {
	position: absolute;
	top: 0%;
	left: 45%;
	content: "\ea20";
	color: var(--caution-color);
	font-family: "remixicon";
	font-weight: normal;
	font-size: 3rem;
}

/* 小説タイトル */
h3 {
	display: block;
	font-size: 4rem;
	line-height: 1.1em;
	font-family: "EB Garamond", serif;
	font-weight: 450;
	text-decoration: none;
	text-align: center;
	
	background: linear-gradient(180deg, #0B278E 25%, #92718E 85%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
	text-fill-color: transparent;
}

/* 小説サブタイトル */
h4 {
	margin-bottom: 4em;
	color: var(--header-color);
	font-size: 1.4rem;
	font-weight: 500;
	text-align: center;
}

h4:before {
	margin-right: .5em;
	content: "//";
	color: var(--heading-out-color);
}

h4:after {
	margin-left: .5em;
	content: "//";
	color: var(--heading-out-color);
}

/* 小説のちっこい見出し */
h5 {
	margin-top: 1em;
	font-size: var(--main-font-size);
	font-weight: 800;
}

/* ------------------------------------------------------ */
/* ▼ インデックス: 注意書き */
/* ------------------------------------------------------ */
article#index {
	margin: 0 auto 100px auto;
	padding: 0;
	display: block;
	width: 26em;
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1.8em;
}

article#index ul {
	list-style: none;
	margin-left: 1em;
}

article#index li {
	padding-bottom: .8em;
	text-indent: -1.2em;
	font-family: "Noto Sans JP", sans-serif;
}

article#index li:before {
	content: "\EA6D";
	font-family: "remixicon";
	color: var(--caution-color);
	font-size: 1.4rem;
}

/* ------------------------------------------------------ */
/* ▼ インデックス: メニュー */
/* ------------------------------------------------------ */
nav {
	margin: 0 auto;
	padding: 0;
	text-align: left;
	
	dl {
		text-align: center
	}
	
	dt {
		margin-bottom: 1em;
	}
	
	dt > b {
		margin-bottom: .2em;
		display: block;
		color: #4F5553;
		font-family: "EB Garamond", sans-serif;
		font-size: 1.8rem;
		font-weight: 600;
		line-height: 1.6em;
	}
	
	dt > del {
		background: none;
		padding: 0 .2em;
		color: #FEFEFEAA;
		font-family: "EB Garamond", sans-serif;
		font-size: 2.2rem;
		font-weight: 500;
		line-height: 1em;
		text-decoration: 2px solid line-through;
		text-shadow: 0px 0px 5px rgba(124, 136, 144, .6);
	}
	
	dd {
		margin-bottom: 4em;
		color: var(--header-color);
		font-size: 1.3rem;
		font-weight: 500;
	}
	
	dd:before {
		margin-right: .5em;
		content: "//";
		color: var(--heading-out-color);
	}

	dd:after {
		margin-left: .5em;
		content: "//";
		color: var(--heading-out-color);
	}
}

nav a {
	background: none;
	padding: 0 .2em;
	color: var(--link-color);
	font-family: "EB Garamond", sans-serif;
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1em;
	text-decoration: none;
	transition: 0.3s ease-in-out;
}

nav a:hover {
	background: rgba(153, 121, 172, .1);
	color: var(--link-hover-color);
	transition: 0.3s ease-in-out;
}

/* ------------------------------------------------------ */
/* ▼ 文字表示枠 */
/* ------------------------------------------------------ */
article.text {
	background-color: #F9F9F9AA;
	text-align: left;
	border-radius: 2rem;
	box-shadow:
		0px 0px 6px #6F5E7C10,
		inset 0px 0px 3px #FFFFFFCC
	;
}

/* ------------------------------------------------------ */
/* ▼ ページトップボタン */
/* ------------------------------------------------------ */
.pagetotop {
	position: fixed;
	right: 10px;
	bottom: 20px;
	z-index: 10;
	display: none;
	text-align: center;
	overflow: hidden;
}

.pagetotop a {
	margin: auto;
	width: 30px;
	height: 30px;
	background: var(--navi-background);
	color: var(--navi-text-color);
	font-size: 20px;
	line-height: 26px;
	text-decoration: none;
	display: block;
	transition: 0.3s ease-in-out;
}

.pagetotop a:hover {
	background: var(--navi-hover-background);
	color: var(--navi-hover-text-color);
	cursor: pointer;
}

/* ------------------------------------------------------ */
/* ▼ 区切り線 */
/* ------------------------------------------------------ */
hr {
	margin: 4em auto;
	padding: 0;
	border: none;
	text-align: center;
	width: 100%;
	height: auto;
	&:after{
		content: "◇　　◇　　◇";
		font-size: 16px;
		color: var(--header-color);
	}
}

/* ------------------------------------------------------ */
/* ▼ フッター */
/* ------------------------------------------------------ */
footer {
	background-color: var(--footer-background);
	margin: 12em 0em 0em 0em;
	padding: 6em 1em;
	text-align: center;
	font-family: "EB Garamond", "Noto Serif JP", serif;
	font-weight: 500;
	font-size: 1.4rem;
	line-height: 1em;
}

footer a.index {
	display: inline-block;
	padding: 0 2em;
	line-height: 28px;
	background: var(--navi-background);
	color: var(--navi-color);
	border: 1px solid var(--navi-border);
	text-decoration: none;
	transition: 0.3s ease-in-out;
}

footer a.index:hover {
	background: var(--navi-background-hover);
	color: var(--navi-color);
	text-decoration: none;
}


footer ul {
	margin: 0;
}

footer li {
	margin: 0 .3em;
	display: inline-block;

	/* ナビ: リンク */
	a {
		display: inline-block;
		width: 28px;
		height: 28px;
		line-height: 28px;
		background: var(--navi-background);
		color: var(--navi-color);
		border: 1px solid var(--navi-border);
		text-decoration: none;
		transition: 0.3s ease-in-out;
	}

	/* ナビ: マウスオーバー */
	a:hover {
		background: var(--navi-background-hover);
		color: var(--navi-color);
		text-decoration: none;
	}

	/* ナビ: 現在のページ */
	span.current {
		display: inline-block;
		width: 28px;
		height: 28px;
		line-height: 28px;
		background: var(--navi-background-current);
		color: var(--navi-color);
		border: 1px solid var(--navi-border);
		text-decoration: none;
		transition: 0.3s ease-in-out;
	}

	/* ナビ: 選択不可 */
	span.grayout {
		display: inline-block;
		width: 28px;
		height: 28px;
		line-height: 28px;
		background: var(--navi-background);
		color: var(--navi-color);
		border: 1px solid var(--navi-border);
		opacity: .4;
		text-decoration: none;
	}
}

/* ------------------------------------------------------ */
/* レスポンシブ */
/* ------------------------------------------------------ */
/* スマホ　最大幅768px */
@media screen and (max-width: 768px) {
	header{
		padding: 10px;
	}
	
	main {
		margin-top: 80px;
	}

	article {
		margin: 3rem auto;
		padding: 2rem 1rem;
	}
	
	.pc {
		display: none;
	}
	
	.mobile {
		display: inline-block;
	}
}

/* PC,タブレット　最小幅769px */
@media screen and (min-width: 769px) {
	main {
		margin-top: 130px;
	}
	
	article {
		margin: 5rem auto !important;
		padding:  4em 3em !important;
	}
	
	.pc {
		display: inline-block;
	}
	
	.mobile {
		display: none;
	}
}
/* ------------------------------------------------------ */
/* ▼ カスタム機能まわり */
/* ------------------------------------------------------ */
/* テーマカラー選択を非表示に */
#custom-theme {
	display: none !important;
}
/* アイコンカラーを固定 */
#customicon {
	color: #6F5E7C !important;
}
#customicon:hover {
	background-color: #6F5E7C22 !important;
	color: #6F5E7C !important;
}
