@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c&display=swap');
:root { --fontcolor: #302833; --bcolor:#cfdedf; --bgbase:#fbfaf3; }

/* start reset */
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
  line-height: 1;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* end reset */
body {
	background: var(--bcolor);
	color:black;
	font-family: "Helvetica Neue",
	Arial,
	"Hiragino Kaku Gothic ProN",
	"Hiragino Sans",
	Meiryo,
    sans-serif;
	user-select:none;
	-webkit-user-select:none;
	-moz-user-select:none;
	-khtml-user-select:none;
	}

h1  {
	font-size:90%;
	font-family: "M PLUS Rounded 1c", sans-serif; font-weight: 400;  font-style: normal; color:var(--fontcolor);
}

h2,h3 {
	font-family: "M PLUS Rounded 1c", sans-serif; font-weight: 400;  font-style: normal;
	color:var(--fontcolor);
}
h2 {font-size:130%; padding:0; margin-bottom:0.3em !important ; }
h3 {font-size:110%; margin:0.8em 0 0.5em 0 !important ; }

body.novel pre { white-space: pre-wrap; line-height:1.7em; margin-bottom:1em; }
body.toppage header { text-align:center; font-size:130%; border-bottom: 1px dashed var(--fontcolor); margin-bottom:0.5em; }
body.toppage header h1 { margin:0 0 0.5em 0 !important ; }

a:link,a:active,a:hover,a:visited,a:focus {
	color:var(--fontcolor);
	text-decoration: none;
	border-bottom:1px dashed #4d4398;
}

a:active,a:hover,a:focus {
	opacity: 0.8;
}

footer {padding-top:1em; border-top: 1px dashed var(--fontcolor); font-size:80%; line-height:1.3em; text-align: right; }

p,
ul,dl {
	text-align: left;
	line-height: 1.5em;
	margin-bottom:1em;
}

ul {
	margin-bottom: 1em;
	margin-left: 1em;
}

dt {
	margin-bottom:0.3em ;
	border-left:0.5em solid var(--bcolor);
	padding-left:0.5em;
	font-size:90%;
	font-weight:bold;
}

dd { margin:0 1.5em 1em 1.5em ; }

ul li ul {
	margin-bottom:0.3em !important ;
}

img.emoji { height: 1em !important ; width: 1em !important ; margin: 0 .05em 0 .1em; vertical-align: -0.1em; }

p.dl,p.ukagakathumb { text-align: center; }
p.topimage img {  border-radius:10px; }

p.dl a { font-size:120%; font-weight: bold; }

summary { display: block; list-style: none; font-size:120%; cursor:pointer; margin-bottom:0.2em; }
summary::before { content: "▼"; }
/* 一部ブラウザで消えなかった場合は以下も追記 */
summary::-webkit-details-marker {display:none;}
details { line-height:1.5em; margin-bottom:0.5em; }

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

	body {padding:1.5em;}
	#container {
		margin:0 auto;
		background-color: var(--bgbase);
		border-radius: 10px;
		max-width:700px;
		border:2px solid var(--fontcolor);
		padding:2.5em 2.5em;
		border-radius:20px;
	}

}

@media (max-width: 767px){

	body {background-color: var(--bgbase); padding:1em;}
	h1 { margin-bottom:2em;}
	p.ukagakathumb img { width:100%; }
 }

@media print { body { display: none } }