html,body,div,ul,li,div,dl,dd,dt,hr,p,h1,h2,h3,h4,h5
{
	margin:0;
	padding:0;
	box-sizing:border-box
}

html
{
	font-size:62.5%;
	height:100%
}

body
{
	font-family:'Hiragino Kaku Gothic ProN',Meiryo,sans-serif;
	width:100%;
	height:100%;
	text-align:left
}

.wrapper
{
	width:100%
}

a
{
	color:#111;
	text-decoration:none
}

a:hover
{
	text-decoration:underline;
	transition-duration:.5s;
	-moz-transition-duration:.5s;
	-webkit-transition-duration:.5s;
	-o-transition-duration:.5s;
	-ms-transition-duration:.5s
}

a:hover img
{
	opacity:.7;
	transition-duration:.5s;
	-moz-transition-duration:.5s;
	-webkit-transition-duration:.5s;
	-o-transition-duration:.5s;
	-ms-transition-duration:.5s
}

h1
{
	font-size:24px
}

p
{
	text-align:left
}

@media all and (min-width: 801px) {
	p
	{
		font-size:14px
	}
}

@media all and (max-width: 520px) {
	p
	{
		font-size:12px;
		line-height:1.2
	}
}

@media all and (max-width: 800px) and (min-width: 521px) {
	p
	{
		font-size:14px;
		line-height:1.4
	}
}

.red
{
	color:#C00
}

.strong
{
	font-weight:700
}

ul
{
	list-style:none
}

.md-48
{
	font-size:48px
}

@media all and (max-width: 800px) and (min-width: 521px) {
	.md-48
	{
		font-size:32px
	}
}

@media all and (max-width: 520px) {
	.md-48
	{
		font-size:28px
	}
}

.container
{
	margin-left:auto;
	margin-right:auto
}

@media all and (min-width: 801px) {
	.container
	{
		width:100%;
		max-width:1120px
	}
}

@media all and (max-width: 800px) and (min-width: 521px) {
	.container
	{
		width:100%;
		max-width:100%
	}
}

@media all and (max-width: 520px) {
	.container
	{
		width:100%;
		max-width:100%
	}
}

.center
{
	text-align:center
}

.hide
{
	display:none
}

.more-btn
{
	margin-left:auto;
	margin-right:auto;
	padding:8px;
	border:0 solid #111;
	background:#F0F0F0;
	text-align:center;
	font-size:14px;
	letter-spacing:2px;
	font-weight:700;
	border-radius:2px;
	color:#111
}

@media all and (min-width: 801px) {
	.more-btn
	{
		width:100%
	}
}

@media all and (max-width: 800px) and (min-width: 521px) {
	.more-btn
	{
		width:90%;
		margin-left:auto;
		margin-right:auto
	}
}

@media all and (max-width: 520px) {
	.more-btn
	{
		width:90%;
		margin-left:auto;
		margin-right:auto
	}
}

.more-btn:hover,.btn:hover
{
	color:#111;
	background:#CCC;
	transition-duration:.2s;
	-moz-transition-duration:.2s;
	-webkit-transition-duration:.2s;
	-o-transition-duration:.2s;
	-ms-transition-duration:.2s
}

.btn.active
{
	color:#FFF;
	background:#111
}

@media all and (min-device-width: 801px) {
	.sp
	{
		display:none
	}
}

@media all and (max-device-width: 800px) and (min-device-width: 521px) {
	.pc
	{
		display:none
	}
}

@media all and (max-device-width: 520px) {
	.pc
	{
		display:none
	}
}

#page-top
{
	color:#FFF;
	background:#333;
	position:fixed;
	bottom:40px;
	width:40px;
	height:40px;
	text-align:center;
	z-index:65536
}

#page-top .material-icons
{
	font-size:32px
}

@media all and (min-width: 801px) {
	#page-top
	{
		left:51%;
		margin-left:calc(1120px / 2)
	}
}

@media all and (max-width: 520px) {
	#page-top
	{
		right:0;
		bottom:100px
	}
}

@media all and (max-width: 800px) and (min-width: 521px) {
	#page-top
	{
		right:0;
		bottom:100px
	}
}

#page-top
{
	display:none
}

.title-label
{
	font-size:2.2rem;
	letter-spacing:.1rem;
	border-bottom:1px solid #111;
	margin-bottom:16px;
	padding-left:.2rem
}

.title-label .en
{
	font-family:'Lato',sans-serif
}

.title-label .label-text
{
	font-size:14px;
	padding-left:14px;
	letter-spacing:.1rem
}

.title-label .label-text:before,.title-label .label-text:after
{
	content:"-"
}

.footer-wrapper
{
	background:#F0F0F0;
	font-size:14px;
	font-size:14px
}

@media all and (max-width: 800px) and (min-width: 521px) {
	.footer-wrapper .container
	{
		width:98%;
		margin-left:auto;
		margin-right:auto
	}
}

@media all and (max-width: 520px) {
	.footer-wrapper .container
	{
		width:98%;
		margin-left:auto;
		margin-right:auto
	}
}

.footer-wrapper h1
{
	margin:32px auto 24px;
	overflow:hidden;
	font-size:32px
}

@media all and (max-width: 800px) and (min-width: 521px) {
	.footer-wrapper h1
	{
		padding-bottom:.5rem
	}
}

@media all and (max-width: 520px) {
	.footer-wrapper h1
	{
		padding-bottom:.5rem
	}
}

.footer-wrapper h1 .h1
{
	float:left;
	display:block
}

@media all and (min-width: 801px) {
	.footer-wrapper h1 .h1
	{
		padding-bottom:1rem;
		font-size:3.6rem
	}
}

@media all and (max-width: 800px) and (min-width: 521px) {
	.footer-wrapper h1 .h1
	{
		line-height:1;
		font-size:2.4rem
	}
}

@media all and (max-width: 520px) {
	.footer-wrapper h1 .h1
	{
		line-height:1;
		font-size:2.4rem
	}
}

.footer-wrapper h1 p.detail.btn
{
	float:right;
	border:0 solid #111;
	background:#e0e0e0;
	padding:.5rem 1rem .5rem 2.3rem
}

@media all and (min-width: 801px) {
	.footer-wrapper h1 p.detail.btn
	{
		margin-top:1rem
	}
}

.footer-wrapper h1 p.detail.btn .material-icons
{
	vertical-align:middle
}

.footer-wrapper .footer-menu-1,.footer-wrapper .guid-block
{
	margin-top:16px;
	display:-webkit-flex;
	display:flex;
	-webkit-flex-direction:row;
	flex-direction:row;
	flex-wrap:wrap;
	-webkit-flex-wrap:wrap;
	align-items:stretch;
	justify-content:space-between;
	-webkit-justify-content:space-between;
	-webkit-align-items:stretch;
	align-content:stretch;
	-webkit-align-content:stretch
}

.footer-wrapper .footer-menu-1 li,.footer-wrapper .guid-block li
{
	width:19%;
	line-height:1.4;
	padding: 4px 0;
	border:0 solid #111;
	background:#e0e0e0
}

.footer-wrapper .footer-menu-1 li p,.footer-wrapper .guid-block li p
{
	text-align:center;
	padding:.5rem 0
}

.footer-wrapper .footer-menu-1 .title,.footer-wrapper .guid-block .title
{
	font-weight:700
}

.footer-wrapper .guid-block
{
	overflow:hidden
}

.footer-wrapper .guid-block a
{
	text-decoration:underline
}

.footer-wrapper .guid-block .box
{
	background:#FFF;
	margin-bottom:16px;
	float:left;
	padding:1.5rem
}

@media all and (min-width: 801px) {
	.footer-wrapper .guid-block .box
	{
		width:32.5%
	}
}

@media all and (max-width: 800px) and (min-width: 521px) {
	.footer-wrapper .guid-block .box
	{
		width:49%
	}
}

@media all and (max-width: 520px) {
	.footer-wrapper .guid-block .box
	{
		width:98%;
		margin-left:auto;
		margin-right:auto
	}
}

.footer-wrapper .guid-block .box h2
{
	border-bottom:1px solid #111;
	margin-bottom:1rem;
	font-size: 16px;
}

.footer-wrapper .guid-block .box p
{
	padding-left:8px;
	font-size:12px;
	line-height: 1.6;
	letter-spacing: 0.8px;
}

.footer-wrapper .guid-block .box h3
{
	margin-top:12px;
	font-size: 14px;
}

.footer-wrapper .guid-block .box .marker
{
	background:-moz-linear-gradient(transparent 70%,#fbd 30%);
	background:-webkit-linear-gradient(transparent 70%,#fbd 30%);
	background:-webkit-gradient(linear,0 0,0 100%,color-stop(0.3,transparent),color-stop(0.3,#fbd));
	background:-o-linear-gradient(transparent 70%,#fbd 30%);
	background:linear-gradient(transparent 70%,#fbd 30%)
}

.footer-wrapper .guid-block .box .small
{
	font-size:1rem
}

.footer-wrapper .guid-block .box .material-icons
{
	vertical-align:middle;
	margin-right:1rem
}

.footer-wrapper .guid-block .box div#calendar
{
	margin-top:3rem
}

.footer-wrapper .footer
{
	width:80%;
	display:-webkit-flex;
	display:flex;
	-webkit-flex-direction:row;
	flex-direction:row;
	flex-wrap:wrap;
	-webkit-flex-wrap:wrap;
	align-items:stretch;
	justify-content:space-between;
	-webkit-justify-content:space-between;
	-webkit-align-items:stretch;
	align-content:stretch;
	-webkit-align-content:stretch;
	margin:1.5rem auto
}

.footer-wrapper .copyright
{
	text-align:center;
	margin-bottom:1rem;
	letter-spacing:.2rem;
	margin-top:1rem
}

.footer-wrapper .info
{
	margin-top:32px
}

.footer-wrapper .info .title-label
{
	margin-bottom:0
}

.footer-wrapper .info .infomation
{
	width:100%;
	height:100px;
	overflow-y:scroll;
	margin-left:auto;
	margin-right:auto;
	padding:0 1rem;
	border:1px solid #F0F0F0;
	background:#FFF
}

.footer-wrapper .info .infomation a
{
	text-decoration:underline
}

.footer-wrapper .info .infomation .title
{
	letter-spacing:.1rem;
	font-size:1.6rem;
	font-weight:700;
	margin-top:1.5rem;
	padding-left:.5rem
}

.footer-wrapper .info .infomation .title .updt
{
	padding-left:1rem;
	font-size:1.2rem;
	font-weight:400
}

.footer-wrapper .info .infomation .title .updt:before
{
	content:" ( "
}

.footer-wrapper .info .infomation .title .updt:after
{
	content:" )"
}

.footer-wrapper .info .infomation .description
{
	padding-left:2rem;
	line-height:1.5;
	margin-bottom:1.5rem;
	font-size:1.3rem;
	font-family:Meiryo,'Hiragino Kaku Gothic ProN',sans-serif
}

.footer-wrapper .info .infomation article
{
	border-bottom:1px dotted #CCC
}
