
/* home-header */
.home-header {
	width: 90%;
	max-width: 800px;
	margin: 40px auto;
	text-align: center;
}
.home-header .logo-mark {
	display: inline-block;
	width: 20%;
}
.home-header h1 {
	display: inline-block;
	width: 60%;
	margin-left: 3%;
}
.home-header .logo-text {
	width: 100%;
}


.date-venue {
	text-align: center;
	line-height: 1.6em;
	margin: .5em 0 3em 0;
	padding: .5em 0;
	color: #212121;
}
.date-venue h2 {
	width: 9em;
	background-color: hsl(0, 71%, 55%);
	color: white;
	margin: .5em auto;
}
.date-venue span {
	display: block;
}
.date-venue b {
	font-size: 1.4em;
	margin: 0 .2em;
}
.date-venue .linking a {
	margin-left: .4em;
	color: #222;
	padding: .1em .4em;
	text-decoration: none;
	vertical-align: middle;
	background-color: hsl(49, 91%, 63%);
}
.date-venue a i {
	margin-left: .3em;
}
.date-venue .app-period {
	margin-top: .7em;
	color: hsl(28, 100%, 50%);
}
.date-venue-box {
	margin: 2em 0 4em 0;
	position: relative;
}
.date-venue .linking {
	margin-top: .7em;
	line-height: 1.2em;
	font-size: .8em;
	color: hsl(125, 78%, 35%);
}
@media screen and (min-width: 606px) {
	.date-venue span {
		display: inline;
	}
}


.sns-link {
	text-align: center;
}
.sns-link a {
	display: inline-block;
	width: 2em;
	margin: 0 .5em;
	line-height: 2em;
	text-align: center;
	border-radius: 50%;
	color: #777;
	font-size: 32px;
	text-decoration: none;
	transition: all .3s;
}
.sns-link a:hover {
	box-shadow: 0 0 10px #AAA;
	color: white;
}
.sns-link a:first-child:hover {
	background-color: #000000;
}
.sns-link a:nth-child(2):hover {
	background-color: #CF2E92;
}
.sns-link a:nth-child(3):hover {
	background-color: #1877f2;
}
.sns-link div {
	width: 90%;
	max-width: 600px;
	margin: 1em auto;
	color: hsl(32, 93%, 48%);
	font-size: 14px;
	line-height: 1.6em;
	font-family: 'Yusei Magic';
}

.information-home {
	padding: 2em 1em;
}
.information-home p {
	text-align: justify;
	text-justify: distribute;
	width: 90%;
	max-width: 768px;
	margin: 0 auto;
	line-height: 2em;
}

.catch-words {
	background-color: hsl(98, 80%, 94%);
	line-height: 1.5em;
}
.catch-words {
	display: block;
}
.catch-words figure {
	box-sizing: border-box;
	width: 100%;
	padding: 5%;
	margin: 0;
	font-size: 14px;
	text-align: left;
	display: flex;
	align-items: center;
}
.catch-words figure i {
	display: block;
	width: 13%;
	text-align: center;
	font-size: 4em;
	color: hsl(125, 78%, 35%);
	margin-right: 8%;
}
.catch-words > div {
	width: 79%;
}
.catch-words figcaption {
	margin: 0 0 1em 0;
}

@media screen and (min-width: 606px) {
	.catch-words {
		display: flex;
	}
	.catch-words figure {
		width: 30%;
		padding: 0;
		margin: 5%;
		text-align: center;
		display: block;
	}
	.catch-words figure i {
		width: 100%;
		margin-right: 0;
	}
	.catch-words > div {
		width: 100%;
	}
	.catch-words figcaption {
		margin: 1em 0;
	}
}

.sign-up {
	padding-top: 2.5em;
	border-radius: .5em;
}

@media screen and (min-width: 1000px) {
	.sign-up {
		text-align: center;
	}
}


.contents a {
	width: 66%;
	height: 10em;
	margin: 30px auto;
	display: block;
	border-radius: 8px;
	overflow: hidden;
	position: relative;
	transition: all .3s;
}
.contents a img {
	width: 100%;
}
.contents a div {
	display: block;
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 2em;
	line-height: 2em;
	text-align: center;
	font-family: 'Yusei Magic', sans-serif;
	font-size: 1.2em;
	color: #333;
	transition: all .3s;
}
.contents-main a {
	border: 2px solid hsl(200, 100%, 89%);
	box-shadow: 0 0 8px hsl(200, 100%, 79%);
}
.contents-main a div {
	background-color: hsl(200, 100%, 89%);
}
.contents-main a:hover,
.contents-main a:active {
	border: 2px solid hsl(200, 100%, 79%);
	box-shadow: 0 0 8px hsl(200, 0%, 69%);
}
.contents-main a:hover div {
	background-color: hsl(200, 100%, 79%);
}
.contents-multiple a {
	border: 2px solid hsl(61, 100%, 89%);
	box-shadow: 0 0 8px hsl(61, 100%, 79%);
}
.contents-multiple a div {
	background-color: hsl(61, 100%, 89%);
}
.contents-multiple a:hover,
.contents-multiple a:active {
	border: 2px solid hsl(61, 100%, 79%);
	box-shadow: 0 0 8px hsl(61, 0%, 69%);
}
.contents-multiple a:hover div {
	background-color: hsl(61, 100%, 79%);
}

.contents-main div {
	text-align: center;
	line-height: 1.8em;
}

@media screen and (min-width: 796px) {
	.contents-main a {
		width: 30%;
		max-width: 350px;
	}
	.contents-multiple {
		display: flex;
		justify-content: center;
	}
	.contents-multiple a {
		width: 30%;
		max-width: 350px;
		margin: 3%;
	}
}


.greeting .banner-box {
	width: 80%;
	margin: 2em auto 0 auto;
	text-align: center;
}
.greeting .banner-box a {
	display: inline-block;
	width: 60%;
	max-width: 220px;
	margin: 0 1em 1em 1em;
	vertical-align: middle;
}
.greeting .banner-box a img {
	width: 100%;  
}


.contact p {
	font-size: 14px;
	text-align: center;
}

.terms-and-agreements {
	text-align: center;
}


.osaka-link {
	box-sizing: border-box;
	position: fixed;
	bottom: 10px;
	right: 10px;
	width: 160px;
	height: 120px;
	padding: 16px;
	text-align: center;
	line-height: 44px;
	background-color: hsl(50, 71%, 47%);
	border-radius: 20px;
	box-shadow: 0 0 6px #AAA;
	color: white;
	font-size: 18px;
	text-decoration: none;
	transition: all .3s;
}
.osaka-link:hover {
	transform: scale(1.05);
	box-shadow: 0 0 12px #888;
}