@charset "utf-8";




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, hr,
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;
	border: 0;
	outline: 0;
	vertical-align: baseline;
	background: transparent;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
	margin: 0;
}

body {
	-webkit-text-size-adjust: 100%; /* for iOS, Android */
}

li {
	list-style: none;
}

a {
	-webkit-tap-highlight-color: transparent; /* for iOS, Android */
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: top;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

caption, th {
	text-align: left;
}

button {
	padding: 0;
	border-style: none;
	border-radius: 0;
	background-color: transparent;
	outline: none;
	cursor: pointer;
	appearance: none;
	line-height: 1;
}

.clearfix::after {
	content: "";
	display: table;
	clear: both;
}

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

html {
	font-size: 62.5%;
}

body {
	background-color: #fff;
	background-image: url(../img/bg.jpg);
	background-size: cover;
	background-position: 50% 100%;
	background-attachment: fixed;
	font-family: sans-serif;
	font-size: 1.6rem;
	font-weight: normal;
	line-height: 1;
}

a { text-decoration: none; color: #502cac; }
a:link { color: #502cac; }
a:visited { color: #502cac; }
a:hover { text-decoration: underline; color: #502cac; }
a:active { text-decoration: underline; color: #502cac; }




h1 {
	padding: 80px 0 0;
	text-align: center;
}

h1 img {
	width: 12%;
	max-width: 280px;
}

section {
	width: 80%;
	max-width: 1000px;
	margin: 90px auto 0;
	padding: 60px 80px;
	border-radius: 5px;
	background-color: rgba(250,250,250,.6);
	box-shadow: 0 0 80px rgba(12,4,144,.2);
}

h2 {
	text-align: center;
}

h2 span {
	display: inline-block;
	padding: 0 0 6px;
	border-bottom: 4px solid #502cac;
	color: #666;
	font-size: 2rem;
	letter-spacing: .05em;
	line-height: 1.5;
}

h2 br {
	display: none;
}

dt {
	margin-top: 40px;
	text-align: center;
}

dt span {
	display: inline-block;
	padding: 4px 10px 3px;
	border-radius: 100px;
	background-color: rgba(80,44,172,.8);
	color: #fff;
	font-size: 1.3rem;
	letter-spacing: .1em;
}

dd {
	margin-top: 20px;
	text-align: center;
	color: #666;
	font-size: 1.4rem;
	letter-spacing: .05em;
	line-height: 1.9;
}

dd span {
	display: none;
}

footer {
	position: relative;
	margin-top: 120px;
	padding: 30px 0;
	background-color: #fff;
}

.copyright {
	color: #000;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1.2rem;
	letter-spacing: .1em;
	text-align: center;
}




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

body {
	background-image: none;
}

body:before{
	content: "";
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100vh;
	background-image: url(../img/bg.jpg);
	background-size:cover;
	background-position: 50% 0;
}

h1 img {
	width: 20%;
}

dd.left {
	text-align: left;
}

dd span {
	display: inline;
	color: #A298CF;
}

dd br.sp-hidden {
	display: none;
}

}




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

h1 {
	padding: 13vw 0 0;
}

h1 img {
	width: 30%;
}

section {
	width: 90%;
	margin: 13vw auto 0;
	padding: 30px 15px;
}

h2 span {
	padding-bottom: 15px;
	font-size: 1.6rem;
	letter-spacing: .1em;
}

h2 br {
	display: inline;
}

h2 i {
	display: none;
}

dt {
	margin-top: 8vw;
}

dd {
	margin-top: 12px;
}

footer {
	margin-top: 20vw;
	padding: 7vw 0;
}

}