@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP');
@import url('https://fonts.googleapis.com/css?family=Josefin+Sans');
@import url('https://fonts.googleapis.com/css?family=Bangers&display=swap');
* {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
	font-family: 'Noto Sans JP', sans-serif;
}
body {
	text-align: justify;
	word-break: break-all;
	background-color: #f6f6f6;
	line-height: 1.7;
	letter-spacing: 0.1em;
	font-size: 13px;
	color: #606060;
}
a {
	text-decoration: none;
	color: #a47cbe;
}
a:hover {
	background-color: #ddbcc9;
  border-radius: 20px;
}
header, h1 span {
	background: url('bg.png') left;
}
header {
	margin: 35vh auto 0;
	display: inline-block;
	padding: 0.5em;
	animation-name: SlideDown;
	animation-duration: 1s;
}
h1 {
	background-color: #f6f6f6;
}
h1 span {
	padding: 0 0.5em;
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-family: 'Bangers', cursive;
	font-style: normal;
}
h1 span, h2, h3 {
	font-weight: normal;
}
nav {
	margin: 1.5em auto 50vh;
	animation-name: FadeIn;
	animation-duration: 3s;
}
nav a, aside, h2, h3 {
	font-family: 'Josefin Sans', sans-serif;
}
nav a {
	margin: 0 0.8em;
  padding: 3px 13px;
}
aside, section mark {
	padding: 0 0.3em;
	background: linear-gradient(to right, #ddbcc9, #b4afc8);
}
aside {
	display: inline-block;
	margin-top: 1.5em;
	font-size: 11px;
}
section {
	margin: 4em 0;
	padding: 2em;
	background-color: #fff;
}
section a {
	font-weight: bold;
}

h2{ margin-bottom:20px; }

h3 {
	display: inline-block;
	line-height: 1;
	background: linear-gradient(transparent 70%, #ddbcc9 30%);
}
section p {
	margin: 0.5em auto 1em;
}
section span {
	border-bottom: thin dashed #000;
}
.line {
	margin-left: 1em;
	padding-left: 1em;
	border-left: thin dashed #000;
}
.center {
	text-align: center;
}
textarea, input[type] {
	-webkit-appearance: none;
	padding: 0.2em 0.5em;
	border: 2px solid #a47cbe;
	border-radius: 0;
	background-color: #fff;
	color: #a47cbe;
}
input[type=text] {
	width: 100px;
	height: 1.2em;
}
input[type=submit] {
	width: auto;
	height: 1.2em;
}
textarea {
	width: 200px;
	height: 70px;
}

article {
	max-width: 500px;
	background-color: #fff;
}
article a {
	display: inline-block;
	margin: 0 1em;
	width: 40%;
	border: thin solid #000;
}
article p {
	margin: 1.5em auto;
}



/* 上に戻るボタン着地点 */
#Top {
    height: 1px;
}

/* 上に戻るボタン */
#PageTop {
    position: fixed;
    bottom: 4%;
    right: 5%;
}

/* 上に戻るボタンリンク部分 */
#PageTop a {
    display: block;
    z-index: 100;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #f7f7f7;
    box-shadow: -1px -1px 8px #a47cbe, 1px 1px 8px #a47cbe;
}


@keyframes SlideDown {
	0% {
		opacity: 0;
		transform: translateY(-100px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}
@keyframes FadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@media screen and (min-width:768px) {
	#wrap {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		max-width: 700px;
		margin: 0 auto;
	}
	h1 span {
		font-size: 65px;
	}
	nav a {
		font-size: 1.5em;
	}
	aside {
		font-size: 1em;
	}
	.columns {
		flex-basis: 100%;
		columns: auto 2;
	}
	.columns h2 {
		column-span: all;
	}
	section {
		flex-basis: 50%;
	}
