@charset "utf-8";
@font-face {
  font-family: "fp-font";
  src:url("fonts/fp-font.eot");
  src:url("fonts/fp-font.eot?#iefix") format("embedded-opentype"),
    url("fonts/fp-font.woff") format("woff"),
    url("fonts/fp-font.ttf") format("truetype"),
    url("fonts/fp-font.svg#fp-font") format("svg");
  font-weight: normal;
  font-style: normal;
}
[data-icon]:before {
  font-family: "fp-font" !important;
  content: attr(data-icon);
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
[class^="fp-icon-"]:before,
[class*=" fp-icon-"]:before {
  font-family: "fp-font" !important;
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
[class^="fp-icon-"],
[class*=" fp-icon-"] {
  display: inline-block;
  vertical-align: top;
}
.fp-icon-fav-folder:before { content: "\61"; }
.btn2 i.fp-icon-fav-folder {
  /*line-height: 44px;*/
  /*height: 0;*/
	margin: 0 3px;
}
.fp-icon-gal-icon:before { content: "\62"; }
.fp-icon-list-grid:before { content: "\63"; }
.fp-icon-list-lines:before { content: "\64"; }
.fp-icon-arrows-h:before { content: "\65"; }
.fp-icon-arrows-v:before { content: "\66"; }
.fp-icon-search-minus:before { content: "\67"; }
.fp-icon-search-plus:before { content: "\68"; }

.btn2 i.fp-icon-fav-folder { margin: 0 3px; }
/* リセット系 */
* {
	margin: 0; padding: 0;
	-webkit-margin-before: 0;
	-webkit-margin-after: 0;
	-webkit-margin-start: 0;
	-webkit-margin-end: 0;
	-webkit-padding-start: 0;
}
body {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	margin-left:0 !important;
	margin-right: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	padding-left:0 !important;
	padding-right: 0 !important;
	width: 100%;
	height: 100%;
	min-height: 100%;
	font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'Meiryo', 'メイリオ', 'Osaka', 'MS Gothic', 'arial', 'helvetica', sans-serif;
	font-size: 14px;
	line-height:160%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	word-break: normal;
	word-wrap: break-word;
	position: relative;
}
body div {
	word-break: break-all;
	-ms-word-break: break-all;
}
ul {
	clear: both;
	overflow: hidden;
	display: block;
	position: relative;
	margin: 0;
	padding: 0;
	list-style-type: none;
}
ul li { position: relative; }
h1, h2, h3, h4 { line-height: normal; }
h3 { position: relative; }
a {
	text-decoration: none;
	transition: all 0.2s ease;
}
input:focus, select:focus, textarea:focus, button { outline: none!important; }
a:hover { text-decoration: underline; }
img { max-width: 100%; }
a img {
	zoom: 1;
	filter: alpha(opacity=100);
	opacity:1;
	-webkit-transition: opacity .2s ease-in-out;
	-moz-transition: opacity .2s ease-in-out;
	-ms-transition: opacity .2s ease-in-out;
	-o-transition: opacity .2s ease-in-out;
	transition: opacity .2s ease-in-out;
	transform: translateX(0);
	-webkit-transform: translateX(0);
	filter: blur(0);
	-webkit-filter: blur(0);
}
a:hover img {
	zoom: 1;
	filter: alpha(opacity=60);
	opacity: 0.6;
	-webkit-transition: opacity .2s ease-in-out;
	-moz-transition: opacity .2s ease-in-out;
	-ms-transition: opacity .2s ease-in-out;
	-o-transition: opacity .2s ease-in-out;
	transition: opacity .2s ease-in-out;
	transform: translateX(0);
	-webkit-transform: translateX(0);
	filter: blur(0);
	-webkit-filter: blur(0);
}
p {
	margin: 5px 0;
	padding: 0;
}
small { font-size:85%; }
hr {
	height: 0;
	width: 100%;
	margin: 15px 0;
	border: none;
	border-bottom: 1px solid #000;
}
.required {
  font-size:80%;
}
.new {
	display: inline-block;
	vertical-align:middle;
	margin: 2px 0 0 10px;
	padding: 0 8px;
	height:14px;
	line-height:14px;
	font-size: 12px;
	font-weight: normal;
	border-radius: 3px;
}
.label {
  margin-right: 3px;
}
.label_category {
	display: inline-block;
	font-size:85%;
	line-height:15px;
	padding: 0 5px;
	margin: 0 0 5px 5px;
}
button {
	-webkit-appearance: none;
	cursor: pointer;
	font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'Meiryo', 'メイリオ', 'Osaka', 'MS Gothic', 'arial', 'helvetica', sans-serif;
}
.btn {
	display: inline-block;
	min-width: 186px;
	min-height:40px;
	margin: 10px auto;
	padding: 0 10px;
	line-height:40px;
	text-align: center;
	border-width: 0;
	border-style: none;
	border-color: none;
	border-image: initial;
	border-radius: 5px;
	-webkit-appearance: none;
	box-sizing: border-box;
}
.btn2 {
	display: inline-block;
	min-width: 186px;
	min-height:40px;
	line-height:40px;
	margin: 10px auto;
	padding: 0 10px;
	font-size: 110%;
	text-align: center;
	border-width: 0;
	border-style: none;
	border-color: none;
	-webkit-appearance: none;
	border-image: initial;
	box-sizing: border-box;
}
.btn:hover, .btn2:hover {
  text-decoration: none;
  cursor: pointer;
}
.btn2 i,
.btn i {
	font-size: 18px;
	margin: 0 6px;
}
.btn2.inline-block,
.btn.inline-block {
	margin: 10px;
}
.btn_small {
	min-width: 100px;
	min-height:15px;
	line-height:15px;
	padding: 5px;
}
.dream_settings .btn.btn_small i {
	margin: 0;
}

/* フォーム系 */
select,
input[type="text"],
input[type="password"] {
	display: inline-block;
	vertical-align:top;
	width: 180px;
	height: 25px;
	padding: 2px 5px;
	margin: 0 10px 0 0;
	line-height:16px;
	font-size: 14px;
	border: none;
	box-sizing: border-box;
	-webkit-appearance: none;
	-moz-appearance: none;
	-o-appearance: none;
}
textarea {
	border: none;
	box-sizing: border-box;
	-webkit-appearance: none;
	-moz-appearance: none;
	-o-appearance: none;
}
form textarea {
	padding:8px;
}
form h5 {
	margin: 0 0 5px;
}
.search {
	margin: 30px 0 10px;
	line-height: 0;
	text-align: right;
}
.select_group {
	width: 300px;
}
.search button.btn {
	min-width: 70px;
	min-height: 23px;
	line-height: normal;
	margin: 0;
	padding: 2px 10px;
}

.search.multi select { min-width: 70px; }
.search.multi .select_group { margin: 0; width: auto; }
.search.multi .select_date_wrap { margin: 10px 0 0; }
.search.multi .select_date_wrap select { width: auto; }
.search.multi .select_date_wrap select:last-child { margin: 0; }
.search.multi .form_title {
	display: inline-block;
	height: 25px;
	line-height: 25px;
	margin-right: 10px;
}

.search.multi button.btn {
	display: block;
	margin: 10px 0 0 auto;
}

/* アバター付きユーザー名 */
.username a {
	overflow: hidden;
	display: block;
}
.username p {
	width: 80%;
	display: inline-block;
	line-height: 20px;
	margin: 0;
}
.username img {
	float: left;
	margin: 0 8px 0 0;
}
.username_right p, .username_right {
	text-align: right;
}
.username_right img {
	float: right;
	margin: 0 0 0 8px;
}
/* ユーザーアイコン */
img.avatar20{
	width: 20px;
	height: 20px;
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	border-radius: 10px;
	border-radius: 50%;
}
img.avatar70{
	width: 70px;
	height: 70px;
	-moz-border-radius: 35px;
	-webkit-border-radius: 35px;
	border-radius: 35px;
	border-radius: 50%;
}
img.avatar100{
	width: 100px;
	height: 100px;
	-moz-border-radius: 50px;
	-webkit-border-radius: 50px;
	border-radius: 50px;
	border-radius: 50%;
}

/* ダイレクトメッセージ */
.form_container {
	padding: 20px 15px;
	margin-top: 15px;
}
.form_container form {
	width: 70%;
	margin: 0 auto;
	overflow: hidden;
	padding: 5px;
}
.form_container form textarea, .form_container form input[type="text"] {
	width: 100%;
	margin: 0 0 10px;
}
.form_container form textarea {
	resize: vertical;
	height: 5em;
}
.form_container h3 {
	margin: 0 0 10px;
}
.form_container form h5 span {
	display: inline-block;
	float: right;
	text-align: right;
}
.message_confirm .form_container {
	margin: 15px 0;
	padding: 10px 15px;
}
.message_confirm .form_container h5 {
	font-weight: bold;
	margin: 15px 0 0;
}
.message_confirm .username {
	margin: 20px 0 0;
}

/* お礼画面 */
.thankyou_txt {
	margin: 0 0 30px;
}

/* ページング */
.pager {
	margin: 30px 0 0;
}
.pager ul {
	text-align: center;
	font-size: 0;
	line-height: 0;
	overflow: hidden;
}
.pager ul li {
	display: inline-block;
	vertical-align: top;
	font-size: 14px;
	height: 25px;
	min-width: 20px;
	line-height: 25px;
	padding: 0 5px;
}
.pager ul li.prev_arrow,
.pager ul li.next_arrow {
	font-size: 18px;
}
.pager ul li a {
	display: block;
}

/* 内容全て */
.wrapper {
	position: relative;
  padding: 0 0 320px;
  min-height: 100%;
  min-height: 90vh;
	min-height: calc(100vh - 180px);
	margin: 0 0 -10px;
  overflow: hidden;
  z-index: 1;
}
.premium .wrapper {
  padding-bottom: 170px;
  min-height: 800px;
  min-height: 90vh;
  min-height: calc(100vh - 160px);
}
.page-preview .wrapper {
  overflow: visible;
  min-height: 700px;
  min-height: 120vh;
	min-height: calc(100vh - 115px);
}
.page-preview .wrapper::after {
  content: "";
  display: table;
  clear: both;
}
.page-preview .preview_body {
  padding: 0 0 100px;
}
#header {
	overflow: hidden;
	min-height: 50px;
	position: relative;
/*  z-index: 20;*/
}

/* ヘッダー画像 */
.header_image {
	margin: 0;
	display: block;
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 27%;
	overflow: hidden;
/*  z-index: 10;*/
}
.header_image img {
	width: 100%;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
}

/* メイン */
.main {
	display: block;
	position: relative;
	width: 700px;
	margin: 0 auto 10px;
	padding-top:20px;
  z-index: 10;
}
.main .top_icons {
	position: relative;
	text-align: center;
	z-index: 5;
}
.main .top_icons a {
	font-size: 120%;
	display: inline-block;
	margin: 0 5px;
	padding: 5px;
	transition: all 0.2s ease;
}
.main .top_icons a i {
	transition: all 0.2s ease;
}
.main .top_icons a:hover i {
	opacity: 0.6;
	filter: alpha(opacity=60);
	transition: all 0.2s ease;
}
.wrapper > .top_kiriban {
	margin: 20px auto;
}
.premium .wrapper > .top_kiriban {
	margin: 20px auto 50px;
}
@media only screen and (max-width: 701px) {
	.main {
		width: auto;
		padding: 0 10px;
	}
}

.main.cushion {
	margin: 0 auto 10px;
	padding-top: 100px;
	text-align: center;
	overflow: hidden;
}
.premium .main.cushion {
	min-height: 40vh;
}
.main.cushion h2 {
	margin: 0 auto 50px;
}
.main.cushion h3 {
	border: none;
	margin: 0 0 20px;
}
.main.cushion p {
	margin: 0 0 1em;
}
.main.cushion form {
	width: 60%;
	padding: 50px 0 0;
	margin: 0 auto;
}
.main.cushion form h5 {
	text-align: left;
}
.main.cushion form input[type="text"],
.main.cushion form input[type="password"] {
	width: 100%;
	margin: 0 0 15px;
}
.cushion .btn.btn_register {
	margin: 15px auto;
}
.premium .cushion .btn.btn_register {
	margin: 40px auto;
}
.cushion_text h1, .cushion_text h2,
.cushion_text h3, .cushion_text h4,
.cushion_text h5, .cushion_text h6 {
	margin: 0 0 10px 0;
	padding: 5px 0;
	text-align: center;
}

/* 戻るリンク */
.main_links {
	margin: 30px 30px 0;
	position: relative;
	z-index: 5;
}
.premium .main_links {
	margin: 30px;
}
.main_links ul {
	text-align: center;
	font-size: 0;
}
.main_links ul li {
	display: inline-block;
	font-size: 14px;
}
.main_links ul li a {
	display: block;
	padding: 5px 15px;
}

/* プロフィール */
.profile {
	width: 700px;
	text-align: center;
}
.profile_avatar {
	width: 100px;
	height: 100px;
	margin: 20px 0;
	border-radius: 100px;
}
.profile h3 {
	font-weight: normal;
	text-align: center;
	padding: 20px 0;
	font-size: 120%;
}
.profile_details {
	text-align: left;
	padding: 10px;
}
.profile_details h5 {
	margin: 20px 0 0;
}
@media only screen and (max-width: 970px) {
	.profile {
		width: auto;
		padding: 0 10px;
	}
}

/* スキ返信 */
.entry_list {
	width: 700px;
}
.entry_list ul small {
	display: block;
	text-align: right;
}
.entry_list > ul li {
	overflow: hidden;
}
.entry_list > ul li .date {
	font-size: 120%;
	margin: 0 0 5px;
}
.entry_list > ul li .date .time {
	font-size: 80%;
	margin: 0 0 0 10px;
}
@media only screen and (max-width: 970px) {
	.entry_list {
		width: auto;
		padding: 0 10px;
	}
}
.year:after, .month:after {
	content:"/";
}

.comment_reply h3 {
	border: none;
	line-height: normal;
}
.comment_reply h3 small {
	display: block;
	font-weight: normal;
	color: inherit;
	font-size: 12px;
}
.comment_reply h3 small .time::before {
	content: "\00a0"
}
.comment_content {
	padding: 10px 0 5px;
	border-top: solid 1px #666A75;
	border-bottom: solid 1px #666A75;
}

/* 更新履歴 */
.update_list > ul > li {
	padding: 10px;
	overflow: hidden;
}
.update_list ul li > a {
	display: block;
	text-decoration: none;
}
.update_list ul li h4 {
	margin: 0;
}
.update_list ul li h4 a:hover {
  text-decoration: underline;
}
.update_list .toggle_more {
	margin: 5px 0 0 0;
}
.update_list .update_content {
	margin: 0 0 10px;
}
.update_list .update_content h5 {
	margin: 1.5em 0 0 0;
}
.update_list .update_note a,
.update_list .update_text a{
	display: inline;
}

/* アコーディオン */
.accordion, .accordion * {
	-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;
}
.accordion { overflow: hidden; }
.accordion-section-title {
	position: relative; display: block;
	width: 100%; padding: 10px;
	transition: all linear 0.15s;
	border-bottom: solid 1px #000;
}
.accordion-section-title:hover { text-decoration: none; }
.accordion-section-title::after {
	content: "\f078"; font-family: FontAwesome;
  display: block;
	width: 20px; height: 0;
	line-height: 0;
	position: absolute;
	top: 0; bottom: 0; right: 10px;
	margin: auto;
	font-size: 16px;
  font-style: normal!important;
	text-align: center;
}
.accordion-section-title.active::after { content: "\f077"; }
.accordion-section-title span.arrow { display: none!important; }
.accordion-section-content {
	padding: 15px;
	display: none;
}

/* 夢小説設定 */
.dream_settings {
	margin: 10px 0;
	border-radius: 8px;
}
.dream_settings h3 {
	font-size: 100%;
	padding: 10px 15px;
	border: none;
}
.dream_settings h3 .arrow {
	float: right;
	font-size: 16px;
}
.dream_settings form { margin: 10px auto 20px; }
.dream_settings form h5 { margin: 0 0 5px; }
.dream_settings form input[type="text"] {
	width: 100%;
	margin: 0 0 15px;
}
.dream_settings .accordion {
	width: 70%;
	margin: 0 auto;
	padding: 0 0 20px;
}
.dream_settings .accordion-section-content .btn {
	margin: 10px 5px;
}
.toggle { cursor: pointer; }
.toggle.active .arrow i{
	-moz-transform: translate(0, 50%);
	-ms-transform: translate(0, 50%);
	-webkit-transform: translate(0, 50%);
	transform: translate(0, 50%);
	-moz-transform: rotate(-180deg);
	-ms-transform: rotate(-180deg);
	-webkit-transform: rotate(-180deg);
	transform: rotate(-180deg);
}
.toggle_child {
	display: none;
	overflow: hidden;
}

/* 小説一覧 */
.novel_list ul li {
	flex-direction: row;
	display: flex;
	padding: 10px;
	overflow: hidden;
	border-bottom: solid 1px #666A75;
}
.novel_list ul li .novel_info {
	float: left;
	flex-grow: 1;
	width: 80%;
}
.novel_list ul li h4 {
	margin: 5px 0;
}
.novel_list .cover_image {
	width: 100px;
	float: left;
	margin: 0 10px 0 0;
}
.novel_list ul li a {
	padding-bottom: 0;
	display: block;
	text-decoration: none;
}
.novel_list ul li a:hover h4,
.novel_list ul li h4 a:hover {
	text-decoration: underline;
}
.novel_list .toggle_more {
	margin: 10px 0 0 0;
}

/* 小説トップ */
.novel_top {
	margin: 0 0 20px; overflow: hidden;
}
.novel_top .novel_info {
	position: relative; padding: 0 0 70px;
}
.novel_top .novel_info .toggle_more {
	min-height: 75px; overflow: hidden;
}
.favorite_buttons, .novel_info .buttons {
	text-align: right;
}
.favorite_buttons .btn2,
.novel_info .buttons .btn2 {
	margin: 0 0 0 10px;
}
.favorite_buttons { margin: 10px 0 0; }
.favorite_buttons .btn2.btn_off {
  opacity: 0.6; filter: alpha(opacity=60);
}
.novel_top .buttons {
	position: absolute;
	bottom: 10px; right: 0;
}
.novel_list.chapters {
	margin: 20px 0;
}
.novel_top .cover_image {
	width: 150px;
	float: left;
	margin: 0 10px 0 0;
}

/* 小説 */
.novel .buttons {
	margin: 10px 0;
	text-align: right;
	line-height: 0;
}
.novel .buttons .btn, .novel .buttons .btn2 {
	vertical-align: top;
	margin: 0 0 0 10px;
}
.novel .popup .buttons .btn {
  margin: 10px auto;
}
.novel .pager {
	position: relative;
	height: 36px;
	margin: 15px 0;
	border: solid 1px #666A75;
	border-right: none;
	border-left: none;
}
.novel .pager .total_pages {
	display: block;
	height: 36px;
	line-height: 36px;
	position: absolute;
	top: 0; bottom: 0; right: 0;
	margin: auto;
}
.novel { margin: 0 0 10px; }
.premium .novel { margin: 0 0 60px; }
.entry_text {
	padding: 1em 0;
	line-height: 150%;
}

/* なりチャ */
.narikiri_list { width: 700px; }
.narikiri_list ul{ padding: 10px; }
.narikiri_list ul li {
	display: inline-block;
	vertical-align: top;
	padding: 8px; margin: 8px;
	width: 47.3%;
	-moz-border-radius: 8px;
	-webkit-border-radius: 8px;
	border-radius: 8px;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
.narikiri_list ul li dt {
	padding: 0 0 10px;
	margin: 0 0 10px;
	border-bottom: solid 1px #666A75;
}
.narikiri_list ul li dt h4 {
	background: none;
	padding: 0;
	margin: 0 0 5px;
}
.narikiri_list ul li dt a { display: block; }
.narikiri_list ul li dt a:hover { text-decoration: none; }
.narikiri_list ul li dt a:hover h4 { text-decoration: underline; }
.narikiri_list ul li dd p.clamp { margin: 0 0 10px; }
.narikiri_list ul li dl .labels {
	margin: 5px 0 0;
	text-align: right;
}
.narikiri_list ul li dl .labels > div {
	display: inline-block;
	margin: 0 0 5px;
}
.narikiri_list ul li dt .labels > div {
	margin: 5px 0 0;
}
.narikiri_list ul li .toggle_more  p.clamp {
	margin: 0 0 5px;
}
.narikiri_list ul li dd .btn {
	width: 100%;
	margin: 10px 0 0;
}
@media only screen and (max-width: 970px) {
	.narikiri_list {
		width: auto;
		padding: 0 10px;
	}
}

/* 開閉するメッセージ */
.toggle_more .message {
	padding: 0 5px 0 0;
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.toggle_more.active .message {
	white-space: normal;
	text-overflow: initial;
}
.toggle_more .clamp a {
	display: inline;
}
.toggle_more.active .clamp {
	display: inline !important;
	-webkit-line-clamp: none;
	max-height: 0;
}
.toggle_more p.clamp {
	padding: 0; margin: 0;
}
.toggle_more .show,
.toggle_more .hide {
	text-align: right;
	margin: 0;
	cursor: pointer;
}
.toggle_more .hide { display: none; }
.toggle_more.active .show { display: none; }
.toggle_more.active .hide { display: block; }
.arrow i { font-size: 18px; }

/* 文字を１行のみ表示（…付き） */
.ellipsis {
	padding-left: 5px;
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
/* 文字を２行のみ表示（…付き） */
.clamp {
	padding: 0 5px 0 0;
  /* max-height:3em; */
  height: 45px;
	overflow: hidden;
	display: -webkit-box !important;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.text_right { text-align: right; }
.center { text-align: center;}
.block { display: block; }
.inline-block { display: inline-block; }

/* 夢小説：名前変更通知 */
.notifyjs-container .notifyjs-bootstrap-base {
	font-weight: normal;
	font-size: 14px;
	position: relative;
	padding: 5px 5px 5px 20px;
	text-shadow: none;
	background: none;
	border: 0px solid #ececec;
}
.notifyjs-container .notifyjs-bootstrap-base:before {
	display: block;
	font-family: FontAwesome;
	content: "\f05d";
	width: 20px;
	height: 20px;
	position: absolute;
	top: 4px;
	left: 5px;
	color: #56605f;
}
.notifyjs-container .notifyjs-bootstrap-success {
	background: #ececec;
	color: #56605f;
  -moz-box-shadow:    inset 0 0 1px #fff;
  -webkit-box-shadow: inset 0 0 1px #fff;
  box-shadow:         inset 0 0 1px #fff;
}
.notifyjs-wrapper .notifyjs-arrow {
	border-width: 15px;
	border-bottom: none;
}

/* 日記 */
.entry_list.diary_list ul li .date { font-weight: bold; }
.entry_list.diary_list ul li .date .weekday { font-size: 80%; }
.entry_list.diary_list ul li .date .time { margin: 0; }
.entry_list .date .new {
	margin-top: 4px;
	display: inline-block;
	vertical-align: top;
}
.entry_list.diary_list h4 .new {
	vertical-align: top;
}
.entry_list h5 { margin: 1em 0 0 0; }
span.avatar_username {
	display: inline-block;
	height: 20px;
	line-height: 20px;
}
span.avatar_username img {
	float: left;
	vertical-align: middle;
	margin: 0 5px;
}
span.avatar_username span.name {
	display: block;
	float: left;
	max-width: 21em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.entry_image {
	text-align: center;
}
.main#diary_page .buttons {
	overflow: hidden;
}
.main#diary_page .btn_like {
	float: right;
}
.main#diary_page h3 {
	border: none;
}
.main#diary_page .entry_note { margin: 1.5em 0 0 0; }
.main#diary_page .pager ul {
	border-style: solid;
	border-width: 1px;
	border-right: none;
	border-left: none;
	padding: 10px 0;
}
.diary_page_title .label_category {
  margin: 0 5px 5px 0;
}
.update_list.diary_list ul .date {
  margin: 5px 0;
}
.update_list.diary_list .new {
	margin-top: 0;
}
.update_list.diary_list ul small {
    display: block;
    text-align: right;
}
.update_list.diary_list ul li a {
	display: inline-block;
}
.update_list.diary_list ul li .entry_image a {
	display: block;
}

/* 日記：コメント */
#diary_entry_comments {
  margin: 20px 0 0;
}
#diary_entry_comments h3 {
	padding: 0;
}
.form_container.comment_form textarea {
	margin: 0 0 5px;
}
ul.entry_comment_list {
	margin: 15px 0 0;
}
ul.entry_comment_list > li {
	border-bottom: 1px solid #f0d;
	padding: 10px;
	overflow: hidden;
	min-height: 5em;
}
ul.entry_comment_list li span.avatar_username {
	float: left;
}
ul.entry_comment_list li .date {
	font-size: 12px;
	display: inline-block;
	float: left;
	line-height: 20px;
	height: 20px;
	margin: 0 0 10px 10px;
}
ul.entry_comment_list li p {
	clear: both;
	margin: 0;
}
.delete {
	cursor: pointer;
}
ul.entry_comment_list li .delete {
	font-size: 25px;
	text-align: right;
	float: right;
	margin: 0 0 5px 10px;
	display: inline-block;
}
ul.entry_comment_list li .toggle {
	display: inline-block;
	float: right;
	line-height: 25px;
	margin: 0 ;
}
ul.entry_comment_list li ul.comment_replies {
	clear: both;
	margin-left: 25px;
	padding: 0 0 0 10px;
	border-left: 1px solid #0ff;
}
ul.entry_comment_list li ul.comment_replies li {
	padding: 10px 0;
	display: block;
	overflow: hidden;
	border-bottom: 1px solid #0ff;
}
ul.entry_comment_list li ul.comment_replies li:last-child {
	border: none;
}

.form_container textarea {
	resize: vertical;
	position: relative;
}
/* 日記：コメント返信 */
.form_container.reply_form {
	padding: 15px 15px 10px;
	margin: 10px auto;
	display: none;
	clear: both;
}
.form_container.reply_form form {
	width: 100%;
	margin: 0 auto;
}
.form_container.reply_form .right,
.form_container.reply_form .left {
	display: inline-block;
	vertical-align: bottom;
	width: 70%;
}
.form_container.reply_form .right {
	width: 29%;
	padding-left: 10px;
	line-height: 0;
	text-align: right;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.form_container.reply_form .right .btn {
	margin: 0 0 10px;
	width: 100%;
	min-width: auto;
	max-width: 100%;
}
.form_container.reply_form .avatar_username {
	margin: 0 0 10px;
}
.form_container.reply_form textarea {
	height: 40px;
	margin: 0 0 5px;
}

/*ギャラリー：表示切り替えアイコン*/
.main#gallery_list h3 {
	position: relative;
}
ul.gal_view_btn {
  height: 35px;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	overflow: hidden;
  font-size: 0;
}
ul.gal_view_btn li {
	vertical-align: bottom;
	display: inline-block;
	font-size: 16px;
}
ul.gal_view_btn li a {
  width: 35px;
  height: 35px;
  line-height: 35px;
	opacity:0.6;
	filter: alpha(opacity=60);
	display: block;
  outline: none;
  text-align: center;
}
ul.gal_view_btn li.active a {
	opacity:1;
	filter: alpha(opacity=100);
	pointer-events: none;
	cursor: default;
}
ul.gal_view_btn li a:hover {
	opacity:1;
	filter: alpha(opacity=100);
	transition: all .2s ease-in-out;
  text-decoration: none;
}
ul.gal_view_btn li a:active,
ul.gal_view_btn li a:focus,
ul.gal_view_btn li a:hover {
  outline: none;
}

/*ギャラリー：詳細表示一覧*/
ul.gallery_list li {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
ul.gallery_list .image {
	width: 120px;
	float: left;
	position: relative;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	line-height: 0;
}
ul.gallery_list .image img.thumb {
	width: 100%;
}
ul.gallery_list .details {
	width: 80%;
	width: calc(100% - 130px);
	float: left;
	padding: 0 0 0 15px;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
ul.gallery_list .details h4 {
	margin: 5px 0 0;
}
ul.gallery_list .details .new {
	margin: 0;
}

/*ギャラリー：サムネイル一覧*/
ul.gallery_list.thumb_list {
	margin: 15px 0;
}
ul.gallery_list.thumb_list li {
	display: inline-block;
	float: left;
	width: 20%;
	padding: 5px;
}
ul.gallery_list.thumb_list li .image {
	width: 100%;
}

/*ギャラリー一覧：枚数表示*/
.item_counter {
	display: block;
	position: absolute;
	z-index: 100;
	bottom: 10px;
	right: 0;
	height: 25px;
	padding: 0 5px;
	line-height: 25px;
	font-size: 14px;
	text-align: right;
	color: #949494;
	background: rgba(255, 255, 255, 0.8);
	border-radius: 3px 0 0 3px;
}
.item_counter i {
	float: left;
	margin: 5px 0 0;
	color: #FFE256;
}
.item_counter span {
	display: inline-block;
	padding: 0 0 0 5px;
	position: relative;
}
.item_counter span::before {
	display: inline-block;
	vertical-align: middle;
	content: "";
	width: 14px;
	height: 14px;
	background: url(../../img/gal_icon01.svg) center center no-repeat;
	background-size: 14px;
	margin: 0 5px 0 0;
}

/*作品ページ*/
.favorite_buttons {
  margin: 10px 0 0;
}
.favorite_buttons .btn2 {
  margin: 0 5px;
  display: inline-block;
  vertical-align: top;
}
ul.gallery_page_images li {
	text-align: center;
	margin: 0 0 100px;
	position: relative;
}
ul.gallery_page_images li:first-child {
	margin-top: 20px;
}
ul.gallery_page_images li:last-child {
	margin-bottom: 20px;
}
ul.gallery_page_images li img {
	max-width: 100%;
	display: block;
	margin: auto;
}
ul.gallery_page_images li a {
	display: inline-block;
	position: relative;
	z-index: 1;
}
ul.gallery_page_images li a::after {
	content: "\f00e";
  font-family: FontAwesome;
	font-size: 25px;
  font-style: normal;
	text-align: center;
  background: rgba(0, 0, 0, 0.5);
	color:#fff;
	display: block;
	position: absolute;
	top: 10px; right: 10px;
	height: 45px; width: 45px;
	padding: 10px; margin: auto;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border-radius: 100%;
	opacity: 0;
	filter: alpha(opacity=0);
	transition: all 0.2s ease;
}
@media screen and (max-width: 1030px) {
  ul.gallery_page_images li a::after {
    display: none;
  }
}
ul.gallery_page_images li a:hover::after {
	opacity: 1;
	filter: alpha(opacity=1);
	transition: all 0.2s ease;
	text-decoration: none;
}

ul.share_buttons {
	margin: 0;
	text-align: right;
}
ul.share_buttons li {
	display: inline-block;
	padding: 0;
	margin: 0 5px;
	box-sizing: border-box;
}
ul.share_buttons li:first-child {
	margin-left: 0;
}
ul.share_buttons li .sns_btn {
	display: inline-block;
	width: 40px;
	height: 40px;
	padding: 0 5px;
	margin: 0 auto 10px;
	line-height: 42px;
	border-radius: 20px;
	text-align: center;
	box-sizing: border-box;
	background: #fff;
	overflow: hidden;
	border: 1px solid #cccccc;
}
ul.share_buttons li .sns_btn i {
	font-size:20px;
	margin: 0 6px;
}
ul.share_buttons li .btn_twitter {
	color: #57aced;
}
ul.share_buttons li .btn_facebook {
	color: #3c5a96;
}
ul.share_buttons li .btn_line {
	line-height: 35px;
	padding-left: 6px;
}
ul.share_buttons li .sns_btn:hover {
	background: #e8e8e8;
}
ul.share_buttons li .btn_line img {
	display: inline-block;
	max-width: 25px;
	vertical-align: middle;
}
ul.share_buttons li .btn_line:hover img {
	opacity: 1;
}

/* ポップアップ */
.popup {
	text-align:left;
	display: none;
	width:500px;
	height:330px;
	position:fixed;
	top: 0;
	bottom: 0;
	left:0;
	right: 0;
	margin: auto;
	padding: 0;
	z-index:1010;
	background:#fff;
	-webkit-border-radius:10px;
	-moz-border-radius:10px;
	border-radius:10px;
	line-height: 160%;
}
.popup_bg {
	display: none;
	background:rgba(0,0,0,0.6);
	width: 100%;
	height: 200%;
	position:fixed;
	top: 0;
	left:0;
	z-index:1000;
}
.popup h2 {
	position: relative;
	line-height: 50px;
	margin: 0;
	border-bottom: 1px solid #000;
}
.popup p {
	margin: 10px 0 0 0;
	padding: 0 15px 10px;
}
.popup form {
	margin: 10px 0 15px 0;
	padding: 0 15px;
}
.popup form input[type="text"] {
	width: 50%;
}
.popup form p {
	padding: 0 0 1em;
}
.popup .buttons {
	text-align: center;
	margin:40px 0 0 0;
}
.popup .popup_close {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	padding: 0 10px;
	font-size:30px;
	cursor: pointer;
}
.popup .buttons {
	position: relative;
	width: 100%;
	overflow: hidden;
	text-align: center;
}

.popup#notice_kiriban,
.popup#shiori {
	width: 500px;
	height: auto;
	top: 100px;
	bottom: auto;
}
.popup#notice_kiriban h2,
.popup#shiori h2 {
	min-height: 28px;
	padding: 10px 45px;
	line-height: normal;
}
.popup#notice_kiriban .content,
.popup#shiori .content {
	max-height: 500px;
	margin: 0 0 10px;
	padding: 10px 10px 30px;
	overflow-y: auto;
	box-sizing: border-box;
}

/* アラートメッセージ */
.alert_message {
	background: #fff;
	color: #ff3915;
	font-family: sans-serif;
	font-weight: bold;
	border: 1px solid #FE9582;
	padding: 10px 15px;
	margin-top: 15px;
}
.alert_message ul {
    overflow: visible;
    padding-left: 20px;
}
.alert_message ul li {
    margin: 10px 0;
    list-style-type: disc;
}
/* 通知 */
.notifyjs-corner {
  position: absolute;
  left: 0!important;
  right: 0;
  top: 10px!important;
}
.notifyjs-forest-base {
  text-align: center;
  padding: 15px;
  background: #fff!important;
  border: 1px solid #A9B2B1!important;
  color: #56605f!important;
  margin-bottom: 15px;
}
.notifyjs-forest-base span.red {
  color: #FE9582;
}

/* 広告 */
.ad_bottom {
	width:300px !important;
	height: auto !important;
	margin: 0 auto !important;
	padding: 10px 0 !important;
	display: block !important;
	opacity: 1 !important;
  filter: alpha(opacity=100); /* For IE8 and earlier */
	position: relative !important;
	left: auto !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
/*  z-index: 40;*/
}
.popup_ad_area {
	text-align: center;
	margin-top: 15px;
}
.ad_content {
	text-align: center;
	margin: 10px auto;
}
.ad_header {
	text-align: center;
	margin: 10px auto 0;
}
.ad_update {
	position: relative;
	background: #fff;
	border-bottom: 1px solid #d6d6d6;
	font-size: 80%;
	color: #56605F;
	padding: 10px;
	text-align: center;
}
.ad_update a,
.ad_update a:hover {
	color: #78CFC7;
	background: transparent;
}
.ad_update div {
	text-align: center;
	margin: 0 auto 10px;
}
div.base:last-of-type {
  display: block !important;
  height: auto !important;
}


/*スタイリング*/
.text-right { text-align: right; }
.text-center { text-align: center; }

/* キリ番ポップアップ用 */
.stopscroll { /* 本サイトがスクロールしないJQuery */
	overflow-y:hidden;
	height: 100%;
	height: 100vh;
	margin: 0;
	padding: 0;
	-webkit-overflow-scrolling: none;
}
/* 夢小説ポップアップ */
.dream_settings h3.js__open_popup_dream_story {
	cursor: pointer;
}
.dream_settings_popup .accordion-section-title {
	padding: 10px 40px 10px 10px;
}
.dream_settings_popup .accordion-section-content .btn {
	margin: 10px 5px;
}
.dream_settings_popup .accordion-section-content {
	width: 80%;
	margin: 0 auto;
}
.popup .dream_settings_popup .accordion-section-content .buttons.no-margin {
	margin-top: 0;
}
.popup .dream_settings_popup form {
	margin: 0;
}
.popup.popup_full {
	width: 500px;
	height: auto;
	top: 100px;
	bottom: auto;
}
.popup.popup_full .content {
	max-height: 460px;
	margin: 0 0 10px;
	padding: 10px 10px 30px;
	overflow-y: auto;
	box-sizing: border-box;
}
.popup.popup_full form input[type="text"] {
	width: 100%;
}

.popup .dream_settings_popup .dream_icon {
	margin-bottom: 10px;
	cursor: pointer;
}
.popup .dream_settings_popup .dream_icon img.avatar70 {
	display: inline-block;
	vertical-align: middle;
	margin-right: 15px;
}
.popup .dream_settings_popup .dream_icon:hover p {
	text-decoration: underline;
}
.chat_icon_slider {
	margin: 0;
	width: 100%;
}
.chat_icon_slider > div {
	width: 90vw;
	display: block;
	margin: 0 auto;
}
.chat_icon_slider > div { /* for PC */
	width: 450px;
}
.chat_icon_slider div {
	margin: 0;
}
.chat_icon_slider .slick-list {
	margin: 0 auto;
}
.slick-active:focus,
.slick-active:active {
	outline: none;
}
.chat_icon_slider ul.select_chat_icon {
	position: relative;
	text-align: center;
}
.chat_icon_slider ul.select_chat_icon li {
	position: relative;
	display: inline-block;
	width: 27%;
	padding: 3px;
	margin: 0 5px 10px 5px;
	vertical-align: top;
	cursor: pointer;
}
.chat_icon_slider ul.select_chat_icon li input {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.chat_icon_slider ul.select_chat_icon li label {
	display: inline-block;
}
.chat_icon_slider ul.select_chat_icon li label:hover img {
	opacity: 0.8;
	transition: all 0.2s ease;
	pointer-events: none;
}
.chat_icon_slider ul.select_chat_icon img {
	margin: 0 auto;
	position: relative;
	border: 1px solid #fff;
	transition: all 0.2s ease;
}
.chat_icon_slider ul.select_chat_icon input[type=radio] {
	visibility: hidden;
	position: absolute;
}
.chat_icon_slider ul.select_chat_icon span.img_cover {
	display: inline-block;
	position: relative;
	border-radius: 35px;
	transition: all 0.2s ease;
	cursor: pointer;
}
.chat_icon_slider ul.select_chat_icon span.img_cover:after {
	content: "\f00c";
	font-family: FontAwesome;
	display: none;
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	margin: -10px auto 0;
	color: #fff;
	font-size: 25px;
}
.chat_icon_slider ul.select_chat_icon input[type=radio]:checked ~ span.img_cover {
	background: #000;
	border-radius: 35px;
	transition: all 0.2s ease;
}
.chat_icon_slider ul.select_chat_icon input[type=radio]:checked ~ span.img_cover img {
	opacity: 0.5;
		transition: all 0.2s ease;
}
.chat_icon_slider ul.select_chat_icon input[type=radio]:checked ~ span.img_cover:after {
	display: block;
}
.chat_icon_slider ul.select_chat_icon h5 {
	display: block;
	font-size: 85%;
	margin-top: 5px;
}
.chat_icon_slider .slick-prev,
.chat_icon_slider .slick-next {
	display: block;
	width: 30px;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	padding: 0;
	border: none;
	outline: none;
	text-align: center;
	cursor: pointer;
	z-index: 10;
}
.chat_icon_slider .slick-prev {
	left: 10px;
}
.chat_icon_slider .slick-next {
	right: 10px;
}
.chat_icon_slider .slick-prev i,
.chat_icon_slider .slick-next i {
	display: block;
	width: 30px;
	height: 30px;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	font-size: 20px;
	text-align: center;
}

/* エラーページ */
.wrapper.errorpage {
  background: #EFE5D9;
}
#error_wrap {
}
#error_notice {
  width: 600px;
  margin: 30px auto;
  background: #fff;
  padding: 20px 28px;
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  border-radius: 12px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  color: #55605f;
  font-size: 14px;
  line-height: 120%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  word-wrap: break-word;
}
#error_notice h2 {
  font-size: 16px;
  height: 45px;
  line-height: 45px;
  padding: 0;
  margin: 0;
  color: #56605F;
  text-align: center;
  position: relative;
  overflow: hidden;
}
#error_notice .btn_green {
  display: inline-block;
  margin: 0 0 10px 0;
  padding: 0 10px;
  min-width: 60px;
  text-align: center;
  font-size: 100%;
  color: #FFF;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
  background: #78CFC7;
  -moz-border-radius: 8px;
  -webkit-border-radius: 8px;
  border-radius: 8px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
.jumbo_title {
	color: #EFE5D9;
	font-weight: 900;
	font-size: 30px;
  text-align: center;
  margin: 0 0 20px;
}
.for_sp {
  display: none;
}
.mochiri_hyakka {
	overflow: hidden;
	margin: 20px 0 50px;
	position: relative;
}
.mochiri_hyakka h4 {
  padding: 0;
  margin: 0 0 5px;
}
.mochiri_hyakka h4 img {
  max-width: 210px;
}
.mochiri_hyakka > .left {
  float: left;
	position: absolute;
	bottom: 0; left: 0;
	width: 65%;
	height: auto;
}
.mochiri_hyakka > .left h4 {
	padding: 0;
}
.mochiri_hyakka .right {
  float: right;
  width: 35%;
  display: inline-block;
  vertical-align: bottom;
  font-size: 0; line-height: 0;
}
.mochiri_hyakka .image {
  text-align: center;
  max-width: 230px;
  padding-left: 10px;
  box-sizing: border-box;
}
.mochiri_hyakka .right .image {
	text-align: right;
}
.mochiri_hyakka .image img {
	max-height: 180px;
}
.mochiri_hyakka .mochiri_namebox {
  border: 1px solid #e0e0e0;
  padding: 6px 5px 6px 10px;
  box-shadow: inset 4px 0 #FFE758;
  overflow: hidden;
}
.mochiri_hyakka .mochiri_namebox h5 {
  font-size: 18px;
  font-weight: bold;
  font-family: serif;
  margin: 0;
  padding: 5px 0;
}
.mochiri_hyakka .mochiri_namebox .left {
  width: 100%;
}
.mochiri_hyakka .mochiri_namebox .image {
  display: none;
}

.no-margin { margin: 0;}
.spacer25 { clear: both; height: 25px; }
