@charset "UTF-8";

/* ===BASIC=== */
*, *::before, *::after {
    box-sizing: border-box;
}

* {
    margin: 0;
}

html {
	height: 100%;
}

body {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
	line-height: 1.5;
	color: #333;
}

a {
	color: blue;
	text-decoration: none;
}

img, picture, video, canvas, svg {
    display: block;
    max-width: 100%;
}

input, button, textarea, select {
    font: inherit;
}

p, h1, h2, h3, h4, h5, h6 {
    overflow-wrap: break-word;
}

.br:before{
	content: "\A";
	white-space: pre;
}

small {
	font-size: .75rem;	
}

/* ===HEADER PC=== */

header {
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
}

header #headerwrap{
	margin: 0 auto;
	padding: 0;
	width: 94%;
	max-width: 1024px;
}

header #headerwrap h1{
	font-size: 1.125rem;
	line-height: 3;
}

header #headerwrap h1 a{
    color: #333;
}

/* ===NAV PC=== */

nav{
	margin: 0;
	padding: 0;
	line-height: 1.5;
}

nav ul{
	margin: 0 auto;
	padding: 0;
	list-style-type: none;
}

nav ul li{
	display: inline-block;
	margin: 0 2rem 0 0;
	padding: 0;
	box-sizing: border-box;
}

nav ul li a{
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	color: #333;
	text-decoration: none;
}

body#index nav ul li.index a,
body#about nav ul li.about a,
body#works nav ul li.works a,
body#contact nav ul li.contact a {
	margin: 0;
	padding: 0;
	color: #D90000;
	text-decoration: none;
}

nav ul li a:hover{
	color: #dadada;
}

/* ===TOPBANNER=== */
#topbanner {
	width: 100%;
	margin: 0;
	padding: 0;
}

#topbanner img{
	margin: 0 auto;
	padding: 0;
	width: 100%;
	max-width: 1024px;
	height: auto;
}
#topbanner p {
	margin: .5rem auto 2rem;
	padding: 0;
	text-align: right;
	width: 94%;
	max-width: 1024px;
	font-size: .75rem;
}

/* ===CONTENT=== */
main {
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

#content {
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

main h1,
main h2,
main h3,
main h4,
main h5,
main h6 {
	margin: 0 0 .75rem 0;
	padding: 0;
	font-size: 1.125rem;
}

main ul.update{
	margin: 0 0 2rem 2rem;
	padding: 0;
}

main ul.update li{
	list-style-position: outside;
}

main ul.update li::marker{
	color: #d90000;
}

main ul.update img{
	max-width: 50%;
	height: auto;
}

/* ===MAIN-INFO=== */

article.main {
	margin: 0 auto 2rem;
	padding: 0;
	width: 94%;
	max-width: 1024px;
}

article.main .twitter {
	margin: 0 auto 2rem;
	padding: 0;
	overflow-y: scroll;
	width: 100%;
	height: 15rem;
	box-sizing: border-box;
}

article.main section p{
	margin: 0 0 2rem 0;
}

article.main section p:last-child{
	margin: 0 0 4rem 0;
}

/* ===MAIN UL,DL=== */

main dl {
	margin: 0 0 2rem 0;
	padding: 0;
}

main dt {
	margin: .5rem 0 0 0;
	padding: 1rem 1rem 0;
	background-color: #fafafa;
}

main dd {
	margin: 0;
	padding: 0 1rem 1rem;
	background-color: #fafafa;
}

main a.link {
	display: block;
	margin: 0 0 .75rem 0;
	font-size: 1.125rem;
}

main a#top{
	position: fixed;
	display: block;
	right: 0;
	bottom: 0;
	margin: 0;
	padding: 0;
	width: 3rem;
	height: 3rem;
	font-size: 1.25rem;
	line-height: 3rem;
	text-align: center;
	color: #fff;
	background-color: #D90000;
	z-index: 10;
}

/* ===FOOTER=== */
footer {
	position: relative;
	width: 100%;
	bottom: 0;
	margin: 0;
	padding: 0;
}

#footernav{
	margin: 0 auto;
	padding: 5rem 0 0 0;
	width: 94%;
	max-width: 1024px;
}

#footernav ul{
	margin: 0 0 3rem 0;
	padding: 0;
	list-style-type: none;
	line-height: 3;
}

#footernav li{
	margin: 0;
	padding: 0;
}

#footernav li a{
	color: #333;
}