@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;800&display=swap');

.columnIndex{
	padding: 10vw 4vw;
	min-height: 85vh;
	background: linear-gradient(to top,#ffffff 0vw,#f7f8fa 25vw,#f7f8fa 50vw);
}
.columnIndex hgroup{
	text-align: center;
	color: var(--base);
	position: relative;
	padding: 1.67vw 3.33vw;
	margin-bottom: 3vw;
}
.columnIndex h1{
	font-size: 3.25vw;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.2em;
}
.columnIndex hgroup span{
	margin-top: 1vw;
	font-size: 1.3vw;
	font-weight: 700;
	letter-spacing: 0.24em;
}
.columnList{
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 3vw 1vw;
}
.columnList article{
	background: var(--ink2);
	box-shadow: 0 0.6vw 1.8vw rgba(0,0,0,0.08);
}
.columnList a{
	display: block;
	height: 100%;
	text-decoration: none;
	transition: transform .25s ease, box-shadow .25s ease;
}
.columnList article img{
	display: block;
	width: 100%;
	aspect-ratio: 1 / 0.69;
	object-fit: cover;
}
.columnList article h6{
	margin: 0;
	color: var(--base);
	padding: 2vw 1.65vw 0.5vw;
	font-size: 1.2vw;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0.14em;
}
.columnList article h5{
	margin: 0;
	color: var(--ink);
	padding: 0 1.65vw 2vw;
	font-size: 1.4vw;
	line-height: 1.75;
	font-weight: 700;
	letter-spacing: 0.02em;
}
.btnTop{
	display: flex;
	width: fit-content;
	align-items: center;
	justify-content: center;
	margin: 6vw auto 0;
	padding: 1.5vw 2vw 1.5vw 1.75vw;
	border-bottom: 0.22vw solid var(--base);
	color: var(--base);
	font-size: 1.7vw;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.16em;
	text-decoration: none;
	background: transparent;
	transition: all .25s ease;
	width: fit-content;
}
.btnTop::before{
	content: "";
	display: inline-block;
	width: 0.9vw;
	height: 0.9vw;
	margin: 0.3vw 1.6vw 0 0;
	border-top: 0.25vw solid currentColor;
	border-left: 0.25vw solid currentColor;
	transform: rotate(-45deg);
}
@media screen and (min-width: 1051px){
	.columnIndex{
		padding: 6.56rem 2.63rem;
		min-height: 55.80rem;
		background: linear-gradient(to top,#ffffff 0rem,#f7f8fa 16.41rem,#f7f8fa 32.81rem);
	}
	.columnIndex hgroup{
		padding: 1.09rem 2.19rem;
		margin-bottom: 1.97rem;
	}
	.columnIndex h1{
		font-size: 2.14rem;
	}
	.columnIndex hgroup span{
		margin-top: 0.66rem;
		font-size: 0.86rem;
	}
	.columnList{
		gap: 1.97rem 0.66rem;
	}
	.columnList article{
		box-shadow: 0 0.39rem 1.18rem rgba(0,0,0,0.08);
	}
	.columnList article h6{
		padding: 1.31rem 1.09rem 0.32rem;
		font-size: 0.79rem;
	}
	.columnList article h5{
		padding: 0 1.09rem 1.31rem;
		font-size: 0.92rem;
	}
	.btnTop{
		margin: 3.94rem auto 0;
		padding: 0.99rem 1.31rem 0.99rem 1.16rem;
		border-bottom: 0.15rem solid var(--base);
		font-size: 1.11rem;
	}
	.btnTop::before{
		width: 0.59rem;
		height: 0.59rem;
		margin: 0.19rem 1.05rem 0 0;
		border-top: 0.17rem solid currentColor;
		border-left: 0.17rem solid currentColor;
	}
}
@media screen and (max-width: 768px){
	.columnIndex{
		padding: 20vw 2.75vw;
	}
	.columnIndex hgroup{
		margin-bottom: 7vw;
	}
	.columnIndex h1{
		font-size: 5.6vw;
	}
	.columnIndex hgroup span{
		margin-top: 0.56vw;
		font-size: 2.79vw;
	}
	.columnList{
		grid-template-columns: repeat(2,1fr);
		gap: 5vw 1.5vw;
	}
	.columnList article h6{
		padding: 4.25vw 3vw 1vw;
		font-size: 2.8vw;
	}
	.columnList article h5{
		padding: 0 3vw 4vw;
		font-size: 3vw;
	}
	.btnTop{
		margin: 13vw auto 0;
		padding: 3vw 4vw 3vw 3.5vw;
		border-bottom: 0.5vw solid var(--base);
		font-size: 3.75vw;
	}
	.btnTop::before{
		width: 1.8vw;
		height: 1.8vw;
		margin: 0.7vw 3.2vw 0 0;
		border-top-width: 0.5vw;
		border-left-width: 0.5vw;
	}
}
@media screen and (min-width: 769px){
	.columnList article a:hover{
		transform: translateY(-0.3vw);
	}
	.btnTop:hover{
		border-color: var(--bright);
		color: var(--bright);
	}
}


/* 下層 */

.columnArticle{
	background: linear-gradient(to bottom,#f7f8fa 0rem,#f7f8fa 6rem,#ffffff 30rem);
}
.columnArticle .commonInner{
	width: 760px;
	padding: 11vw 0;
}
.columnArticle img{
	display: block;
	width: 100%;
	height: auto;
}
.columnArticle p,
.columnArticle li,
.columnArticle th,
.columnArticle td{
	color: var(--ink);
	font-size: 0.9rem;
	font-weight: 400;
	line-height: 1.9;
	letter-spacing: 0.04em;
}
.columnArticle p + p{
	margin-top: 0.9rem;
}
.columnArticle ul,
.columnArticle ol{
	margin-bottom: 0.96rem;
	padding-left: 0;
	list-style: none;
}
.columnArticle li{
	position: relative;
	padding-left: 1.6em;
}
.columnArticle li + li{
	margin-top: 0.3rem;
}
.columnArticle ul li::before{
	content: "・";
	position: absolute;
	left: 0;
	top: 0;
}
.columnArticle ol{
	counter-reset: num;
}
.columnArticle ol li{
	counter-increment: num;
}
.columnArticle ol li::before{
	content: counter(num) ".";
	position: absolute;
	left: 0;
	top: 0;
}
.columnArticle .columnLead p:first-child{
	font-weight: 700;
	font-size: 1.08rem;
	line-height: 1.8;
}
.columnArticle h1,
.columnArticle h2,
.columnArticle h3,
.columnArticle h4,
.columnArticle h5,
.columnArticle h6{
	color: var(--base);
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.06em;
}
.columnArticle h1{
	margin: 0 0 2.1rem;
	padding-bottom: 1.5rem;
	font-size: 1.68rem;
	font-weight: 800;
	line-height: 1.5;
	letter-spacing: 0.04em;
	text-align: left;
	border-bottom: 0.15rem solid var(--base);
	position: relative;
}
.columnArticle h2{
	margin: 0 0 1.5rem;
	padding: 0.9rem 1.05rem;
	font-size: 1.2rem;
	line-height: 1.7;
	border-left: 0.42rem solid var(--base);
	background: var(--pale);
}
.columnArticle h3{
	display: inline-block;
	margin: 1.2rem 0 0.6rem;
	padding-bottom: 0.12rem;
	font-size: 1.08rem;
	font-weight: 700;
	border-bottom: 0.12rem solid var(--base);
}
.columnArticle h4{
	margin: 1.8rem 0 0.72rem;
	padding-left: 1.4em;
	position: relative;
	font-size: 1.05rem;
	line-height: 2;
	font-weight: 600;
}
.columnArticle h4::before{
	content: "■";
	position: absolute;
	left: 0;
	top: 0.06rem;
	color: var(--base);
}
.columnArticle strong{
	font-weight: 700;
	font-size: 1.05em;
	padding: 0 0.3rem;
	background: linear-gradient(transparent 60%, var(--yellow) 60%);
}
.columnArticle span{
	font-size: 0.9em;
	display: inline-block;
}
.columnArticle section{
	margin-top: 4.2rem;
}
.columnArticle .columnLead{
	margin-top: 2.1rem;
}
.columnArticle table{
	width: 100%;
	margin: 1.08rem 0 0.9rem;
	border-collapse: collapse;
	background: #ffffff;
}
.columnArticle th,
.columnArticle td{
	padding: 0.84rem 0.72rem;
	border: 0.05rem solid #cfd6dc;
	text-align: center;
	vertical-align: middle;
}
.columnArticle th{
	background: var(--pale);
	font-weight: 700;
	color: var(--ink);
}
.columnArticle td{
	background: #ffffff;
}
.columnPoint{
	margin: 4.2rem auto 0;
	padding: 1.92rem 1.68rem 1.68rem;
	border-radius: 0.48rem;
	font-weight: 500;
	border: 0.18rem solid var(--base);
	color: var(--base);
	font-size: 1.02rem;
	line-height: 1.8;
	text-align: center;
}
.columnPoint .commonBtn{
	transform: scale(0.7);
}
.columnArticle .btnTop{
	margin-top: 6rem;
}
@media screen and (min-width: 769px){
	.columnPoint .commonBtn{
		margin: 1.2rem auto 0;
		gap: 0.9rem;
		transform: scale(0.7);
	}
	.columnPoint .commonBtn a{
		min-height: 4.38rem;
		padding-left: 2.4rem;
		font-size: 1.48rem;
	}
	.columnPoint .commonBtn a::before{
		left: 1.68rem;
		width: 1.96rem;
		height: 1.96rem;
	}
}
@media screen and (max-width: 768px){
	.columnArticle{
		background: linear-gradient(to bottom,#f7f8fa 0vw,#f7f8fa 20.4vw,#ffffff 61.2vw);
	}
	.columnArticle .mainInner{
		width: 92vw;
		padding: 20vw 0;
	}
	.columnArticle p,
	.columnArticle li,
	.columnArticle th,
	.columnArticle td{
		font-size: 3.23vw;
		line-height: 1.8;
		letter-spacing: 0.03em;
	}
	.columnArticle p + p{
		margin-top: 5vw;
	}
	.columnArticle li{
		padding-left: 1.6em;
	}
	.columnArticle li + li{
		margin-top: 1.25vw;
	}
	.columnArticle .columnLead p:first-child{
		font-size: 3.74vw;
	}
	.columnArticle h1{
		margin: 0 0 6.12vw;
		padding-bottom: 4vw;
		font-size: 4.76vw;
		border-bottom: 0.51vw solid var(--base);
	}
	.columnArticle h2{
		margin: 0 0 5vw;
		padding: 3.8vw 3.2vw;
		font-size: 3.85vw;
		line-height: 1.5;
		font-weight: 800;
		border-left: 1.02vw solid var(--base);
	}
	.columnArticle h3{
		margin: 6.5vw 0 2.5vw;
		font-size: 3.4vw;
		font-weight: 800;
		border-bottom: 0.43vw solid var(--base);
	}
	.columnArticle h4{
		margin: 5vw 0 2vw;
		font-size: 3.4vw;
	}
	.columnArticle h4::before{
		top: 0.25vw;
	}
	.columnArticle strong{
		font-size: 1.05em;
		padding: 0 0.85vw;
		background: linear-gradient(transparent 65%, var(--yellow) 65%);
	}
	.columnArticle section{
		margin-top: 10.2vw;
	}
	.columnArticle .columnLead{
		margin-top: 6.12vw;
	}
	.columnArticle th,
	.columnArticle td{
		padding: 3vw 1.2vw;
		font-size: 2.89vw;
		border: 0.2vw solid #cfd6dc;
	}
	.columnPoint{
		margin: 14vw auto 0;
		padding: 7vw 5vw;
		border-radius: 4vw;
		border: 0.5vw solid var(--base);
		font-size: 3.4vw;
		line-height: 2;
	}
	.columnPoint .commonBtn{
		margin: 4vw auto 0;
		transform: scale(0.87);
	}
	.columnArticle .btnTop{
		margin-top: 14.28vw;
	}
}