@charset "utf-8";
html,body { height: 100%; }
body {
	margin: 0px;
	padding: 0px;
	font-size: 16px;
	color: #333333;
	text-align: center;
    font-family: Meiryo, "Noto Sans Japanese", "ヒラギノ角ゴシック Pro", Hiragino Kaku Gothic Pro, "游ゴシック体", Yu Gothic, YuGothic, "ＭＳ Ｐゴシック", MS PGothic, Helvetica, Arial, sans-serif;
	background-color: #fff;
}
img, form, ul, li, h1, h2, h3, p, a {
	margin: 0px;
	padding: 0px;
	border: 0px;
}
ul, li {
	list-style-type: none;
}
a {
	color: #D80000;
}
a:hover {
	text-decoration: none;
}
a:hover img {
	opacity: 0.5;
}
h1 {
	font-size: 14px;
}

/* 背景のスクロールを無効にする */
body.no-scroll {
	overflow: hidden;
	position: fixed;
	width: 100%;
}

/********** 共通 **********/
.border_all {
	border: solid 1px #ccc;
}

/********** Header **********/
header {
	border-top: solid 10px #D80000;
}

header ul {
	display: flex;
}

header ul li {
	margin: 20px;
}

header ul li.logo {
	text-align: left;
}
header ul li.logo img {
	height: 50px;
}

header ul li.logo h1{
	display: inline;
	margin-left: 10px;
}

header ul li.pc {
	display: flex;
	flex: 1;

	justify-content: flex-end;
	align-items: flex-end;

	text-align: right;
}

header ul li.pc a {
	margin: 0px 10px;

	font-weight: bold;
	color: #555555;
	text-decoration: none;
}

header ul li.pc a:hover {
	color: #D80000;
}

header ul li.pc a:last-child {
	margin-right: 0px;
}

header ul li.smp {
	display: none;
	flex: 1;
	justify-content: flex-end;
	
	margin: 0px;
	margin-right: 10px;
}

header ul li.smp a {
	display: flex;
	justify-content: center;
	align-items: center;

	color: #555;
	font-size: 40px;

	text-decoration: none;
}

header ul li.smp a:hover {
	opacity: 0.5;
}

header ul li.smp a::before {
    font-family: 'Material Symbols Rounded';
    content: '\e5d2';
}

/* スマホ用 */
@media (max-width: 900px) {
	header ul li.pc a {
		font-size: 14px;
		margin: 0px 8px;
	}
}

/* スマホ用 */
@media (max-width: 800px) {
	header ul li:first-child {
		margin: 10px 20px;
	}

	header ul li.logo h1 {
		display: flex;
		justify-content: center;
		align-items: center;
	}

	header ul li.pc {
		display: none;
	}

	header ul li.smp {
		display: flex;
	}
}


/********** スマホ用メニュー **********/
#SmpMenu {
	width: 100%;
	height: 100%;
	
	background-color: #fff;
	position: fixed;
	opacity: 0;
	transition: opacity 0.5s;

	top: 0;
	left: 0;
	z-index: -1;
	overflow: auto;

	border-top: solid 10px #D80000;
}

#SmpMenu.show {
	opacity: 0.975;
	transition: opacity 0.5s;
	z-index: 1;
}

#SmpMenu ul {
	display: flex;
}

#SmpMenu ul li {
	margin: 10px 20px;
}

#SmpMenu ul li.logo {
	text-align: left;
}

#SmpMenu ul li.logo img {
	height: 50px;
}

#SmpMenu ul li.close {
	display: flex;
	flex: 1;
	justify-content: flex-end;
	margin: 0px;
	margin-right: 10px;
}

#SmpMenu ul li.close a {
	display: flex;
	justify-content: center;
	align-items: center;

	color: #555;
	font-size: 40px;

	text-decoration: none;
}

#SmpMenu ul li.close a:hover {
	opacity: 0.5;
}

#SmpMenu ul li.close a::before {
    font-family: 'Material Symbols Rounded';
    content: '\e5cd';
}

#SmpMenu #menu-list {
	margin: 0px auto;
	max-width: 900px;
	text-align: left;
}

#SmpMenu #menu-list .content-title {
	padding-left: 5px;

	font-size: 32px;
	font-weight: bold;
	color: #333;
	line-height: 1.2em;

	border-bottom: solid 1px #D80000;
}

#SmpMenu #menu-list .content-title span {
	color: #D80000;
}

#SmpMenu #menu-list a {
	display: block;

	padding: 5px 10px;
	line-height: 3.6em;

	font-size: 18px;
	font-weight: bold;
	color: #333;
	text-decoration: none;

	border-bottom: dashed 1px #CCCCCC;
}

#SmpMenu #menu-list a span {
	border-left: solid 6px #D80000;
	display: inline-block;
	height: 30px;
	vertical-align: middle;
	padding-right: 10px;
}


/********** コンテンツ **********/
#Wrapper {
	margin: 0px auto;
	max-width: 900px;
	text-align: left;
}

#Wrapper .content-title {
	padding-left: 5px;

	font-size: 32px;
	font-weight: bold;
	color: #000;
	line-height: 1.2em;

	border-bottom: solid 1px #D80000;
}

#Wrapper .content-title span {
	color: #D80000;
}

/********** Footer **********/
footer {
	padding: 20px 10px;
	background: #D80000;
	color: #fff;

	font-size: 14px;
}

footer ul {
	display: flex;
}

footer ul li {
	margin: 0px 10px;
}

footer ul li a {
	display: block;
	margin-bottom: 5px;

	color: #fff;
	text-align: left;
}

footer ul li:last-child {
	display: flex;
	flex: 1;

	justify-content: flex-end;
	align-items: flex-end;

	text-align: right;
}
footer ul li:last-child img {
	height: 50px;
}

/* スマホ用 */
@media (max-width: 800px) {
	footer {
		padding: 0px;
		padding-bottom: 20px;
		font-size: 16px;
	}
	
	footer ul {
		display: block;
	}

	footer ul li {
		margin: 0px;
	}

	footer ul li a {
		margin-bottom: 0px;

		text-align: center;
		line-height: 50px;

		border-bottom: solid 1px #fff;

		text-decoration: none;
	}

	footer ul li:last-child {
		justify-content: center;
		align-items: center;
		margin: 20px 0px;
	}
	
	footer p {
		font-size: 14px;
	}
}