:root{
	--main-color:#629038;
	--sub-color:#8fc078;
	font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
	line-height: 1.5;
	scroll-behavior: smooth;
}
img{
	max-width: 100%;
	display: block;
}
header,
main,
footer{
	max-width: 1000px;
	width: 100%;
	margin: auto;
	padding-left: 2.5rem;
	padding-right: 2.5rem;
}
h1{
	font-size: 1.6rem;
	line-height: 1.8;
	margin-bottom: 2rem;
	font-weight: bold;
}
h1 span{
	display: block;
	padding: .4rem;
	font-size: 1rem;
	color: #FFF;
	background-color: var(--main-color);
}
h2{
	border-left:5px solid var(--main-color);
	padding-left: .8rem;
	font-size: 1.5rem;
	line-height: 1.2;
	font-weight: bold;
	margin-bottom: 2rem;
}
h3{
	font-size: 1.3rem;
	font-weight: bold;
	margin-bottom: 1.5rem;
}
p{
	line-height: 2;
}
p,
.mb-3{
	margin-bottom: 1.5rem;
}
figure{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.dummy{
	width: 100%;
	aspect-ratio:16/7;
	background-color: #CCC;
}
.caption{
	margin-top: .6rem;
	text-align: center;
	color: #575757;
}
.main-visual{
	display: block;
	margin-bottom: 2.5rem;
}
table{
	border-collapse: collapse;
	width: 100%;
	margin-bottom: 2.5rem;
	& th{
		background-color:var(--sub-color);
		text-align: center;
		color: #FFF;
	}
	& th[colspan]{
		background-color:var(--main-color);
	}
	& th,& td{
		padding: .7rem;
		border:1px solid #c4c4c4;
	}
}
.archuve-link{
	margin: 1.5rem 0;
}
.archuve-link ul{
	display: flex;
	flex-wrap: wrap;
}
.archuve-link ul li{
	padding: .2rem .6rem;
}
.archuve-link ul li:not(:first-child){
	border-left: 1px solid rgba(0, 0, 0, 0.5);
}
.toc{
	background-color: #eeeeee;
	padding: 1.5rem;
	margin-bottom: 2.5rem;
}
.toc-title{
	text-align: center;
	font-weight: bold;
	padding-bottom: 1rem;
	margin-bottom: 1rem;
	border-bottom: 1px dotted rgba(0, 0, 0, 0.2);
}
.toc ol{
	padding-left: 1rem;
	list-style: decimal;
}
.toc ol li{
	border-bottom: 1px solid rgba(0, 0, 0, 0.2);
	padding: .6rem 0;
}
.box-profile{
	border:3px solid var(--sub-color);
	border-radius: 10px;
	margin-bottom: 2.5rem;
}
.box-profile .profile-title{
	background-color:  var(--sub-color);
	color: #FFF;
	font-weight: bold;
	font-size: 1.3rem;
	padding: .4rem;
	text-align: center;
	margin-bottom: 1.5rem;
}
.box-profile h4{
	font-size: 1.4rem;
	font-weight: bold;
	padding-bottom: 1rem;
	margin-bottom: 1rem;
	border-bottom: 3px solid var(--sub-color);
}
.box-profile h4 small{
	font-size: 1rem;
	font-weight: normal;
}
.box-profile .profile-history{
	margin-top: 1.5rem;
	background-color: #e4fad9;
	padding: 1.5rem;
	line-height: 1.8;
	border-radius:0 0 10px 10px;
}
.box-profile .profile-detail{
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}
.box-profile .profile-ul li{
	font-size: .8rem;
	padding: .1rem;
	display: flex;
	align-items: center;
}
.box-profile .profile-ul li:before{
	content:"・";
	display: block;
}
@media screen and (){
	
}
@media screen and (min-width:769px){
	.box-profile .profile-ul{
		display: flex;
		flex-wrap: wrap;
	}
	.box-profile .profile-ul li{
		display: flex;
		flex-basis: 50%;
	}
	.flex{
		display: flex;
		gap:1.5rem;
	}
	.float-left{
		float: left;
		margin-right: 1.5rem;
		margin-bottom: 1rem;
	}
	.float-right{
		float: right;
		margin-left: 1.5rem;
		margin-bottom: 1rem;
	}
	.basis-20{
		flex-basis: 20%;
	}
	.basis-25{
		flex-basis: 25%;
	}
	.basis-30{
		flex-basis: 30%;
	}
	.basis-35{
		flex-basis: 35%;
	}
	.basis-45{
		flex-basis: 45%;
	}
	.basis-55{
		flex-basis: 75%;
	}
	.basis-65{
		flex-basis: 65%;
	}
	.basis-70{
		flex-basis: 70%;
	}
	.basis-75{
		flex-basis: 75%;
	}
	.basis-80{
		flex-basis: 80%;
	}
	.sp-br{
		display: none;
	}
}
@media screen and (max-width:768px){
	.flex{
		flex-direction: column;
	}
	.float-left,
	.float-right{
		display: flex;
		justify-content: center;
		margin-bottom: 1.5rem;
	}
	header,
	main,
	footer{
		padding-left: 1rem;
		padding-right: 1rem;
	}
	table{
		& td, & th{
			display: block;
		}
	}
	.caption{
		margin-bottom: 1.5rem;
	}
}