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: inherit; font-size: 100%; vertical-align: baseline; }
html { line-height: 1; }
ol, ul { list-style: none; }
table { border-collapse: collapse; border-spacing: 0; }
caption, th, td { text-align: left; font-weight: normal; vertical-align: middle; }
q, blockquote { quotes: none; }
q:before, q:after, blockquote:before, blockquote:after { content: ""; content: none; }
a img { border: none; }
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }
body { position: relative; font-family: Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; background-color: #2D97D9; width: auto; min-width: 768px; }
img { display: block; }
p, h1, h2, h3, li, a { font-size: 12px; line-height: 18px; font-weight: normal; color: #FFF; }
h1 { display: block; width: 238px; height: 19px; margin-bottom: 12px; }
p.address { margin-bottom: 6px; }
a.mail { display: block; width: 13px; height: 8px; }
a.mail:hover { opacity: 0.5; }
h2 { margin-top: 18px; }
li { position: relative; padding-left: 8px; }
li:before { content: "-"; position: absolute; left: 0px; top: 0px; }
li a { text-decoration: none; }
li a:hover { background-color: #FFF; color: #2D97D9; }
#main { position: absolute; left: 63px; top: 60px; z-index: 2; }
#main .meta { margin-bottom: 22px; }
#logomark { display: block; width: 176px; height: 176px; position: fixed; left: 50%; top: 50%; margin: -96px 0 0 -88px; z-index: 1; background-image: url(../img/logomark.png); background-size: 176px 176px; background-repeat: no-repeat; background-position: center; }
@media screen and (max-width: 768px) {
  #logomark { display: block; position: absolute; left: 50%; top: 50%; top: 50vh; margin: -96px 0 0 -88px; z-index: 1; }
}
body.touch #logomark { position: absolute !important; top: 50% !important; }
body.touch a { opacity: 1 !important; color: #FFF !important; background-color: transparent !important; }
.portfolio { margin-top: 25px; }
.portfolio h2{ font-weight: bold; margin-bottom: 8px; }
.outline{ margin-top: 40px; }
.outline h2{ font-weight: bold; margin-bottom: 8px; }
.outline h3{ margin-top: 8px; padding-left: 8px; position: relative; }
.outline h3:before { content: "-"; position: absolute; left: 0px; top: 0px; }
.outline p { padding-left: 8px; }
#logomark,#landscape{ pointer-events: none;user-select: none; }

#landscape { z-index: 0;
	position: relative;
	left: 0px;
	top: 0px;
	width: 100%;
	height: auto;
	min-height: 100vh;
	min-height: calc(var(--vh, 1vh) * 100);
	background-image: url(../img/landscape.jpg);
	background-size: cover;
	background-position: top center;
	overflow: hidden;
}
#landscape:before {
	content: "";
	display: block;
	width: 100%;
	height: 0px;
	padding-top: 157.1429%;
	position: relative;
}
#landscape small { font-size: 11px; color: #FFF; position: absolute; bottom: 50px; right: 60px; }