@charset "utf-8";
:root {
	--mainColor: #444;
	--lightColor1: #f5c697;
	--lightColor2: #FBE5D6;
	--fa: #9089AE;
	--fe: #A987AB;
	--fh: #CA93AF;
	--d1: #A86F87;
	--d2: #6A91BF;
	--e: #99B1BC;
	--ec1: #7EDCCC;
	--q: rgba(0,118,129,0.8);
}
main{
	letter-spacing: 0.06em;
	box-sizing: border-box;
	font-size: 16px;
	line-height: 1.5em;
}
main a{
	position: relative;
	display: block;
}
main a::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	opacity: 0;
}
main a:hover::before {
	opacity: 0.3;
	transition: 0.5s;
}
a p{
	width: 100%;
}
a.linkUnderLine{
	text-decoration: underline;
	width: fit-content;
}
main a[href$=".pdf"] p::before {
	font-family: "Font Awesome 5 Free";
	content: "\f1c1";
	font-weight: 500;
	font-size: 150%;
	color: #f00;
	margin-right: 5px;
}
main a[target="_blank"] p::after {
	font-family: "Font Awesome 5 Free";
	content: "\f35d";
	font-weight: 900;
	font-size: 90%;
	color: currentColor;
	padding-left: 5px;
}
table{
	border-collapse: collapse;
}
th,td{
	box-sizing: border-box;
}

.flexBox{
	display: flex;
}
.pc{
	display: inline;
}
.sp{
	display: none;
}
.inner{
	width: min(95% ,1000px);
	margin: 0 auto;
}

.textShadow{
	line-height: 1.2em;
	color: #fff;
	text-shadow:
		2px 2px 2px #333,
		-2px -2px 2px #333,
		-2px 2px 2px #333,
		2px -2px 2px #333,
		2px 0 2px #333,
		-2px  0 2px #333,
		0 2px 2px #333,
		0 -2px 2px #333;
}
/* 見出し */
h2{
	font-size: clamp(18px, (100vw - 600px) * 6 / 600 + 24px, 30px);
	font-weight: 500;
	line-height: 1.5em;
}
/*フォントサイズ・スタイル*/
.fontLarge{
	font-size: clamp(18px, (100vw - 600px) * 6 / 600 + 21px, 25px);
}
.fontMedium{
	font-size: clamp(16px, (100vw - 600px) * 6 / 600 + 18px, 20px);
}
.fontSmall{
	font-size: 16px;
}
.annotation{
	font-size: 14px;
	line-height: 1.2em;
}
.annotation li{
	display: flex;
	gap: 5px;
}
.annotation.numbers span{
	display: block;
	width: 56px;
}
.annotation.numbers p{
	flex: 1;
}
.annotation.kome span{
	display: block;
	width: 15px;
}
.annotation.kome p{
	flex: 1;
}
.fontBold{
	font-weight: 550;
}
@media (max-width: 700px){
	.sp{
		display: inline;
	}
}