@import url('https://fonts.googleapis.com/css2?family=Raleway:wght@200;400;700;800&display=swap');

*, *:after, *:before { -webkit-box-sizing: border-box; box-sizing: border-box; }

html,
body,
.container,
.content-wrap {
	overflow: hidden;
	width: 100%;
	height: 100%;
}

*:focus {
  outline: none;
}
button {
	border: none;
}

body {
	font-weight: 400;
	font-size: 1em;
	font-family: 'Raleway', Arial, sans-serif;
	color: #121213;
}

a {
	color: inherit;
	outline: none;
}

.card {
	color: #121213;
	border: solid 1px #121213;
	background-color: #ffffff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	text-decoration: none;
}
.card div {
	height: 100%;
	font-size: 1.2em;
	line-height: 4.9em;
	text-align: center;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.container {
	position: relative;
	background: #ffffff;
}

.content-wrap {
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
}

.content {
	position: relative;
	width: 768px;
	margin: 8px auto;
}

.logo {
	padding: 0.5em;
}
.logo img {
	height: 74px;
}

.more {
	font-size: 1.4em;
	font-weight: 200;
	text-align: center;
	margin-top: -0.5em;
	margin-bottom: 1.5em;
}

h2 { /* ページの見出し：罫線付き */
	position: relative;
	text-align: left;
	font-weight: 200;
	margin-top: 1.5em;
	margin-bottom: 1.5em;
}
h2::after {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	border-bottom: 1px solid #121213;
	content: '';
}

h3 { /* 章の見出し：中央 */
	font-weight: 400;
	text-align: center;
	margin: 4em 0 2em;
}

h4 { /* 節（箇条書き）のタイトル：左詰め */
	font-weight: 400;
	text-align: left;
	margin: 0;
	padding: 1em 10% 0;
}

section {
	clear: both;
	margin: 0 0 1.5em;
}
section article {
	width: 480px;
	margin: 1em auto;
}
section p {
	text-align: justify;
	font-size: 0.8em;
}
section p.description {
	text-align: center;
	font-weight: 200;
	margin: 0.5em;
}

/* プロジェクト */
.projects {
	overflow: hidden;
}
/* プロジェクトカード */
.projects article {
	float: left;
	width: 50%;
	padding: 0 1.2em;
	-webkit-transition: opacity 0.3s;
	transition: opacity 0.3s;
}
.projects article:hover {
	opacity: 0.7;
}
.projects article div {
	margin: 0.6em;
	height: 2.8em;
}
.projects article img {
	width: 100%;
}

ul {
	list-style-type: none;
	margin: 1em 10% 2em;
	padding: 0 5%;
}
ul li {
	font-size: 0.8em;
	margin: 1em 0;
}

footer {
	clear: both;
	position: relative;
	text-align: center;
	font-size: 0.8em;
	font-weight: 200;
	background-color: #121213;
	color: #ffffff;
	border-top: solid 1px #777a7a;
	margin-top: 0.5em;
}
footer span.copy {
	line-height: 3em;
}
footer span.icons {
	position: absolute;
	top: 0.6em;
	right: calc(50% - 372px);
}
footer span.icons img {
	height: 1.6em;
}

@media screen and (max-width: 768px) {
	body {
		font-size: 70%;
	}
	.content {
		width: auto;
		margin: 0;
		padding: 0.5em 4%;
	}
	.logo img {
		height: 5.5em;
	}
	.top p {
		font-size: 0.9em;
	}
	h3 {
		margin: 2em 0 0;
	}
	section article {
		width: 100%;
		margin: 0;
		padding: 1em 10%
	}
	.projects article {
		width: 100%;
		padding: 1em 5%;
	}
	.projects article div {
		margin: 1em;
	}
	.projects article p {
		font-size: 1.0em;
	}
	footer span.icons {
		right: 2.4em;
	}
}
