/*	Less Framework 4
	http://lessframework.com
	by Joni Korpi
	License: http://opensource.org/licenses/mit-license.php	*/
	
@charset "utf-8";

/* RESET STYLES
----------------------------------------------- */

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	font-size: 100%;
	font-weight: inherit;
	font-style: normal;
	vertical-align: baseline;
	background: transparent;
	border: 0;
	outline: 0;
}

/* HTML5 RESETS FOR OLDER BROWSERS */
article, aside, figure, figure img, hgroup, footer, header, nav, section {
	display: block;
}

ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after,
q:before, q:after { content: ''; content: none; }
table { border-collapse: collapse; border-spacing: 0; }
input, select { vertical-align: middle; }
a img { border: 0; }
:focus { outline: 0; }
a:hover, a:active { outline: none; }


/* GENERAL STYLES
----------------------------------------------- */

body {
	width: 896px;
	height: 100%;
	min-height: 100%;
	margin: 0 auto;
	padding: 50px 48px 0;
	line-height: 1;
	color: #393939;
	background: #FFF;
	font-family: "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	-webkit-text-size-adjust: 100%;
}

img,
embed,
object,
video { 
	max-width: 100%; 
}

.hide { display: none;  }
.clear { clear: both; }

/* ----- SELECTION COLORS ----- */

::selection 	 	{ background: rgba(174,174,174,.9); }
::-moz-selection 	{ background: rgba(174,174,174.9); }
img::selection 		{ background: transparent; }
img::-moz-selection	{ background: transparent; }
body { -webkit-tap-highlight-color: rgb(239,248,247); }

/* ----- LINKS ----- */

a, a:link, a:visited {
	text-decoration: none;
	color: #000;
}
a:hover, a:focus { color: #aeaeae; }

#content a {
	-webkit-transition: all .2s ease;
	   -moz-transition: all .2s ease;  
   	     -o-transition: all .2s ease;  
        	transition: all .2s ease; 
}
#content p a { border-bottom: 1px dashed #E5E5E5; }
#content p a:hover { background: #EFF8F7; }

/* BUTTONS */
.button {
	display: block;
	padding: 10px 20px;
	background: #FFF;
	border-radius: 5px;
	border: 1px solid #E5E5E5;
	-webkit-box-shadow: 1px 1px 2px #F5F5F5;
	   -moz-box-shadow: 1px 1px 2px #F5F5F5;
	        box-shadow: 1px 1px 2px #F5F5F5;
	-webkit-transition: all .2s ease;
	   -moz-transition: all .2s ease;
	     -o-transition: all .2s ease;
	        transition: all .2s ease;
}
.button:hover { 
	background-color: #EFF8F7;
	border-color: #D3EDE9;
	color: #EC6635; 
}
#content p a.button { border-bottom-style: solid; } 




/* PAGE STRUCTURE
----------------------------------------------- */

#wrap {
	position: relative;
	width: 100%;
	height: 100%;
	margin: 0 auto;
	background: #FFF;
}
#content {
	position: relative;
	float: right;
	width: 712px;
}
#content #main {
	float: left;
	margin-bottom: 40px;
}


/* HEADER
----------------------------------------------- */

header[role="masthead"] {
	float: left;
	width: 160px;
	margin-bottom: 25px;
}
h1#branding {
	display: block;
	width: 120px;
	height: 120px;
	text-indent: -999em;
	background: url(../imgs/sitelogo.png) no-repeat 0 0;
	-webkit-transition: all .3s ease;
	   -moz-transition: all .3s ease;
	     -o-transition: all .3s ease;
	        transition: all .3s ease;
}
h1#branding a {
	display: block;
	width: 120px;
	height: 120px;
}
h1#branding:hover {
	opacity: .85;
}

/* ----- MAIN NAVIGATION ----- */

nav {
	position: absolute;
	top: 158px;
	left: 0;
	width: 160px;
}
nav li {
	display: block;
	margin-bottom: 18px;
	line-height: 1.3em;
}
nav li:last-child { margin: 0; }

nav a {
	display: block;
	height: 28px;
	padding: 4px 0 0 44px;
	color: #000;
	-webkit-transition: all .2s ease;
	   -moz-transition: all .2s ease;
	     -o-transition: all .2s ease;
	        transition: all .2s ease;
}
nav a:hover { color: #aeaeae; }

nav li a { 
	background-position: 0 65%; 
	background-repeat: no-repeat; 
}
nav li a:hover { background-position: 5px 65%; }

li#t-profile a { background-image: url(../imgs/nav_profile.png); }
li#t-novels a { background-image: url(../imgs/nav_novels.png); }
li#t-blog a { background-image: url(../imgs/nav_blog.png); }
li#t-vendors a { background-image: url(../imgs/nav_working.png); }
li#t-link a { background-image: url(../imgs/nav_link.png); }

/* ACTIVE STATE */
#profile-page li#t-profile a,
#novels-page li#t-novels a,
#blog-page li#t-blog a,
#vendors-page li#t-vendors a,
#link-page li#t-link a {
	color: #95d4c9;
}



/* CONTENT
----------------------------------------------- */

/* BASE TYPOGRAPHY */
#content h2 {
	margin-bottom: 20px;
	line-height: 1.4em;
	font-size: 1.3125em;
	font-weight: bold;
}
#content #main h3 {
	margin-bottom: 20px;
	line-height: 1.3em;
	font-size: 1.125em;
	font-weight: bold;
}
#content #main h4 {
	margin-bottom: 20px;
	line-height: 1.5em;
	font-weight: bold;
}
#content #main h4.underline {
	padding-bottom: 9px;
	border-bottom: 1px dotted #E5E5E5;
}
#content #main pre + h4 {
	margin-top: 40px;
}
#content #main h5 {
	margin-bottom: 20px;
	font-weight: bold;
	font-style: italic;
}
#content #main p + h2,
#content #main p + h3,
#content #main p + h4,
#content #main p + h5 {
	margin-top: 30px;
}
#content #main p {
	margin-bottom: 20px;
	line-height: 1.5em;
}
#content #main p:last-child { margin-bottom: 0; }

#content #main ul {
	margin-bottom: 30px;
	line-height: 1.5em;
}
#content #main ol {
	margin: 0 0 30px 48px;
	list-style: decimal;
	line-height: 1.5em;
}
#content #main dl {
	margin-bottom: 30px;
	line-height: 1.5em;
}
#content #main dd + dt { margin-top: 10px; }
#content #main dd { font-style: italic; }

#content blockquote {
	margin-bottom: 20px;
	padding-left: 20px;
	color: #777;
	border-left: 1px solid #CCC;
	line-height: 1.5em;
}
#content #main hr {
	margin: 30px 0 30px;
	border-style: dashed;
	color: #E5E5E5;
}
#content del, #content strike { text-decoration: line-through; }
#content u { text-decoration: underline; }
#content small { font-size: .75em; }
#content .lite { color: #999; }

#content section.mokuji{
	float: none;
	width: 90%;
	padding-right: 5%;
	padding-left: 5%;
}
#content section.mokuji a:visited{
	text-decoration: none;
	color: #32C3E1;
	!important
}

/* IMAGES */
#content article img { 
	max-width: 100%;
	height: auto;
}
#content .right {
	float: right;
	margin: 0 0 20px 20px;
}
#content .left {
	float: left;
	margin: 0 20px 20px 0;
}
#content img.border {
	padding: 9px;
	background: #FFF;
}

#content.blog article img { margin-bottom: 20px; }
#content.blog article .img-wrap img { margin-bottom: 0; }
#content img.border.large { width: 95%; }

#content article a img {
	-webkit-transition: opacity .2s ease;
	   -moz-transition: opacity .2s ease;
	     -o-transition: opacity .2s ease;
	        transition: opacity .2s ease;
}
#content article a:hover img { opacity: .75; }



/* ----- RECENT (BLOG HOMEPAGE) ----- */

#recent {
	width: 100%;
	clear: both;
	margin-bottom: 18px;
	overflow: hidden;
}
#recent article {
	border: 1px #000 solid;
	float: left;
	width: 220px;
	margin: 7px 7px;
	-moz-box-shadow: 1px 1px 2px #555;
	-webkit-box-shadow: 1px 1px 2px #555;
}
#recent article img {
	height: 15px;
	margin: 0 auto;
	background: #FFF;
	overflow: hidden;
}

#recent article:nth-child(4) { margin-right: 0; }

#recent article h1.main {
	text-align: right;
	margin: 5px 0 5px 0;
	padding-right: 10px;
	line-height: 1.3em;
}
#recent article h1.tp {
	text-align: right;
	border-bottom: 1px #000 solid;
	font-weight: bold;
	padding-right: 10px;
	margin-top: 10px;
	line-height: 1.3em;
}
#recent article h1.tag{
	color: #fff;
	font-weight: bold;
	font-size: 11px;
	background-color: #000;
	padding: 2px 10px 2px 2px;
}
#recent article p {
	margin: 5px 5px 5px 5px;
	font-size: .875em;
	line-height: 1.45em;
}
#recent article h1.gon {
	border-top: 1px #000 solid;
	padding-top: 5px;
	text-align: center;
	margin-top: 10px;
	color: #393939;
	line-height: 1.3em;
}

/* ----- PAGE HEADERS ----- */

#content header[role="page"],
#content header[role="post"] {
	width: 100%;
}
#content header[role="post"] {
	padding: 10px 0 18px;
}
#content header[role="page"] h1,
#content header[role="post"] h1 {
	margin-bottom: 0;
	padding: 10px 0 14px;
	line-height: 1.25em;
	font-size: 2.25em;
	color: #111;
	text-align: right;
}
#content header[role="post"] h1 {
	padding: 15px 0 15px;
}


/* ----- LINK PAGE ----- */

.linkpage article {
	overflow: hidden;
	width: 100%;
	margin: 0 24px 29px 0;
	padding-bottom: 30px;
	font-size: .875em;
	border-bottom: 1px dotted #E5E5E5;
}
.linkpage article:last-child { border-bottom: none; }

.linkpage article img {
	float: left;
	max-width: 100%;
	margin: 0 5px 5px 5px 3%;
}

.linkpage article .group {
	float: left;
}

.linkpage article p.note {
	float: right;
	width: 70%;
}

.linkpage article header { 
	margin-bottom: 10px;
	line-height: 1.4em;
	font-size: 1.3125em;
}
.linkpage article .button {
	float: left;
	width: 158px;
	margin-top: 5px;
	margin-bottom: 20px;
	font-size: .875em;
}
.ie7 .linkpage article .button { float: none; }


/* ----- CONTENT > ASIDE ----- */

#content aside[role="sub"] {
	float: right;
	width: 26%;
	margin-bottom: 40px;
	color: #888;
}
#content aside h4 {
	clear: left;
	margin-bottom: 9px;
	padding-bottom: 5px;
	line-height: 1.3em;
	border-bottom: 1px dashed #E5E5E5;
	font-style: italic;
}
#content aside p {
	margin-bottom: 10px;
	line-height: 1.7em;
	font-size: .75em;
}
#content aside p + h4 { margin-top: 30px; }
#content aside ul { margin-bottom: 30px; }

#content aside li {
	font-size: .875em;
	line-height: 1.45em;
}


/* ASIDE
----------------------------------------------- */

aside[role="social"] {
	position: absolute;
	top: 452px;
	left: 0;
	width: 160px;
}
aside[role="social"] section {
	display: block;
	margin-bottom: 32px;
	padding-right: 20px;
}
aside[role="social"] section h1 {
	margin: 0 0 9px;
	padding-bottom: 5px;
	text-transform: uppercase;
	font-size: .75em;
	border-bottom: 1px dashed #E5E5E5;
}
aside[role="social"] section p {
	margin-bottom: 15px;
	line-height: 1.75em;
	font-size: .6825em;
	font-style: italic;
	overflow: hidden;
}
aside[role="social"] a.button {
	width: 110px;
	height: 24px;
	padding: 4px 0 0 28px;
	background: no-repeat 6px 6px;
}

/* FOOTER 
----------------------------------------------- */

footer[role="siteinfo"] {
	clear: both;
	position: relative;
	min-height: 70px;
	padding-top: 10px;
	color: #393939;
}
footer[role="siteinfo"] p {
	line-height: 1.5em;
	font-size: .75em;
	text-align: center;
}
footer[role="siteinfo"] .social {
	position: absolute;
	top: 20px;
	right: 0;
}
footer .social li {
	float: left;
	display: inline;
	margin-left: 5px;
}
footer .social li a {
	display: block;
	width: 32px;
	height: 32px;
	text-indent: -999em;
	opacity: .4;
	-webkit-transition: opacity .3s ease;
	   -moz-transition: opacity .3s ease;
	        transition: opacity .3s ease;
}
footer .social li a:hover { opacity: 1; }


/* TABLET LAYOUT ●●●●●
----------------------------------------------- */

@media only screen and (min-width: 768px) and (max-width: 991px) {
	
body {
	width: 712px;
	padding: 20px 28px 0;
}

/* HEADER */
header[role="masthead"] {
	width: 712px;
	margin-bottom: 20px;
}

/* NAV */
nav {
	position: absolute;
	top: 70px;
	left: auto;
	right: 0;
	width: 528px;
	margin: 0;
}
nav ul { float: right; }
nav li { display: inline-block; }
nav a { display: inline; padding: 35px 15px 0 15px; }
nav li a { background-position: 50% 0; }
nav li a:hover { background-position: 50% 3px; }

/* MISC */
#content header[role="page"] { padding-top: 0; }
aside[role="social"] { display: none; }
#content iframe { height: 850px; }

} /* CLOSE TABLET LAYOUT */


/* MOBILE LAYOUT (PORTRAIT/320PX) ●●●●●
----------------------------------------------- */

@media only screen and (max-width: 767px) {

body {
	width: 320px;
	padding: 0;
}

/* HEADER */

header[role="masthead"] {
	width: 100%;
	margin: 69px 0 20px;
}
header h1#branding { margin: 0 auto; }

/* NAV */
nav {
	top: 0;
	left: 0;
	width: 100%;
	height: 49px;
	font-size: .75em;
	border-bottom: 1px solid #E5E5E5;
	-webkit-box-shadow: 0 1px 0 #F5F5F5;
	   -moz-box-shadow: 0 1px 0 #F5F5F5;
	        box-shadow: 0 1px 0 #F5F5F5;
}
.wf-inactive nav { font-size: .6875em; }
nav li {
	display: inline;
	margin: 0;
}
nav a {
	float: left;
	margin: 0;
	padding: 16px 8px 6px;		
}
nav li#t-profile a, 
nav li#t-novels a, 
nav li#t-blog a, 
nav li#t-vendors a, 
nav li#t-link a, 
nav li#t-about a {
	background-image: none;
}

/* --- CONTENT --- */
#content { width: 100%; }


/* BLOG RECENT */
#recent {
	width: 100%;
	margin: 0 auto 20px;
}
#recent article {
	width: 280px;
	margin-right: 0px;
}
#recent article img { height: 20px; }
#recent article p.abst { margin: 0 0 0 10px; }

/* MAIN */

#content #main,
#content header[role="page"],
#content header[role="post"],
#content aside[role="sub"] {
	float: none;
	width: 90%;
	padding-right: 5%;
	padding-left: 5%;	
}
#content header[role="page"] {
	padding-top: 0;
	background-position: 5% 8px; 
}
#content header[role="page"] p { width: 100%; }
#content.gallery #main { width: 90%; }

#content.gallery article {
	width: 266px;
	height: 480px;
}
#content.recipe article img { width: 266px; }

.linkpage article p.note { 
	float: left;
	width: 100%;
	padding-top: 5px;
}


#content .right,
#content.blog article .post-image {
	float: left;
	margin: 0 40px 20px 0;
}
#content aside input[type="search"] {
	width: auto;
}
#content iframe { height: 1350px; }

/* MISC */
aside[role="social"] { display: none; }

/* FOOTER */

footer[role="siteinfo"] p {
	padding-left: 10px;
	line-height: 1.5em;
	font-size: .625em;
}
footer[role="siteinfo"] .social { right: 5px; }

} /* CLOSE MOBILE LAYOUT */


/* WIDE MOBILE LAYOUT (LANDSCAPE/480PX) ●●●●●
----------------------------------------------- */

@media only screen and (min-width: 480px) and (max-width: 767px) {
	
body {
	width: 480px;
	padding: 0;
}

/* HEADER */
header[role="masthead"] {
	width: 100%;
	margin: 20px 0;
}
header h1#branding { margin-left: 20px; }

#content header[role="page"] p { width: 100%; }

/* NAV */
nav {
	top: 65px;
	left: auto;
	right: 25px;
	width: 315px;
	height: 20px;
	font-size: .75em;
	background: transparent;
	border-bottom: none;
	-webkit-box-shadow: none;
	   -moz-box-shadow: none;
	        box-shadow: none;
}
.wf-inactive nav { right: 15px; }

nav ul {
	position: absolute;
	right: 0;
}
nav li {
	display: inline;
	margin: 0;
}
nav a {
	float: left;
	margin: 0 0 0 4px;
	padding: 5px 5px 0 5px;		
}


/* FOR ACTIVE PAGE */
#profile-page li#t-recipes a, 
#novels-page li#t-novels a, 
#blog-page li#t-blog a, 
#vendors-page li#t-marketplace a, 
#link-page li#t-link a, 
#about-page li#t-about a {
	border-bottom: 2px solid #F5F5F5;
}

/* BLOG RECENT */
#recent { width: 456px; }

#recent article {
	width: 200px;
	margin-right: 24px;
}
#recent article img { height: 14px; }
#recent article:nth-child(2) { margin-right: 0; }

/* MAIN */
#content.gallery article { 
	width: 182px;
	height: 430px;
	margin-right: 24px;
}
#content .right,
#content.blog article .post-image {
	float: right;
	margin: 0 0 20px 20px;
}


.linkpage article p.note {
	float: right;
	width: 50%;
	padding-top: 0px;
}


} /* CLOSE WIDE MOBILE LAYOUT */


/*	RETINA OVERRIDES ●●●●●
----------------------------------------------- */

@media 
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (min-device-pixel-ratio: 2) {

header h1#branding {
	background-position: left bottom;
	background-size: 120px auto;
}
/* SOCIAL ICONS */
.social li.twitter a {
	background-position: 50% bottom; 
	background-size: 32px auto;
}
/* PAGE ICONS */
header h1.alist { 
	background-position: -30px 11px; 
	background-size: 72px;
}
header h1.novels,
header h1.blog,
header h1.about { 
	background-position: -30px 13px; 
	background-size: 72px;
}
header h1.profile,
header h1.link,
header h1.faqs { 
	background-position: -23px 12px; 
	background-size: 72px;
}
	
} /* CLOSE RETINA MEDIA QUERY */
