@import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Noto+Sans+JP:wght@100..900&display=swap");
:root{
	--button-font-size: 1em;
	--button-font-size--responsive: 1.5vw;
	--primary--main-color: #009DFF;
	--primary--sub-color: #8a2be2;
	--accent-color: #ffcc00;
	--text--main-color: #FFFFFF;
	--text--sub-color: #000000;
	--back--main-color: #5B554E;
	--back--sub-color: #f5f5f5;
	--sub-color: #b0a0d6;
	--text--hover-color: #FF971D;
	--border-color: #DDDDDD;
	--header-height: 0px;
}
html{
	scroll-behavior: smooth;
	scroll-padding-top: var(--header-height);
}
body{
	container-type: inline-size;
	container-name: sp;
}
.link_text a{
	position: relative;
	text-decoration: underline;
}
.link_text a:hover{
	color: var(--text--hover-color);
}
main {
	width: 1200px;
	margin: 0 auto;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 14px;
	padding: 20px 0;
}
.productoverview-main--title{
	font-weight: 700;
	color: var(--text--sub-color);
	margin-bottom: 1em;
}
.button-cover{
	top: 0;
	z-index: 100;
	margin-bottom: 60px;
}
.button-section{
	width: 100%;
}
.button-cover--height{
	visibility: hidden;
	font-size: var(--button-font-size);
	height: 10em;
}
.button-contents{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	background-color: #ffffff;
}
.button-contents .productoverview-button{
	@container scroll-state(stuck: top) {
		width: calc(100% / 9);
		margin: .25vw;
	}
	flex: 1;
	margin: 0 10px;
}
.button-contents .productoverview-button a {
	@container scroll-state(stuck: top) {
		font-size: .75em;
		border-radius: 0;
		padding: 0 .5em;
	}
}
.productoverview-button a {
    box-sizing: border-box;
    height: 4em;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--text--sub-color);
    background-color: var(--back--sub-color);
    font-weight: 500;
    font-size: var(--button-font-size);
    border-radius: 3px;
    text-align: center;
    padding: 0 .75em;
    text-decoration: none!important;
    border: 1px solid var(--border-color);
}
.past-year{
	cursor: pointer;
	position: relative;
	background-color: #f5f5f5;
	padding: .5em;
}
.past-year:hover {
	opacity: .5;
}
.past-year + div {
	max-height: 0;
	overflow: hidden;
	transition: max-height .5s linear;
}
.past-year::after {
    font-family: 'Material Symbols Outlined';
    content: "\e313";
    font-size: 2em;
    position: absolute;
    right: .1em;
    top: 50%;
    transform: translateY(-50%);
    transition: content 0.5s ease;
}
.past-year.open {
	border-radius: 5px 5px 0 0;
}
.past-year.open::after {
    content: "\e316";
}
.past-table--cover {
	border: 1px solid #DDDDDD;
}
.past-table > div {
	padding: 2em;
}
.past-table .page_table td{
	background-color: #FFF;
}
@container sp (max-width: 768px) {
	#header{
		position: sticky;
		z-index: 200;
	}
	main{
		width: 100%;
		padding-left: 10px;
		padding-right: 10px;
		padding-top: 10px;
	}	
	.productoverview-main--title{
		padding: .5em 1em;
	}
	.button-cover{
		top: 100px;
	}
	.button-section {
		text-align: center;
		font-size: 1.5em;
	}
	.button-cover--height{
		font-size: 2vw;
	}
	.productoverview_section{
		padding: 0;
	}
	.button-contents {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr)); /* 3列 */
		gap: 8px;
		justify-items: center; /* 中央寄せしたい場合 */
		background-color: #ffffff; /* 既存の色を踏襲 */
	}
	.button-contents .productoverview-button {
		width: 100%;
		box-sizing: border-box;
	}
	.productoverview-button a{
		border-radius: 0;
		font-size: .75em;
		padding: .5em .25em;
	}
	.button-contents .productoverview-button{
		margin: .4vw;
	}
	.button-contents .productoverview-button a {
		font-size: 2.4vw;
	}
	.productoverview-button a:hover{
		opacity: 1;
	}
	.productoverview-button a.productoverview-button--current{
		padding: .25em;
	}
	.productoverview-title{
		padding: 0.5em 3em .7em 1em;
	}
	.productoverview-title:hover{
		text-shadow: none;
		opacity: 1;
	}
	.button-contents .productoverview-button{
		@container scroll-state(stuck: top) {
			width: calc(100% / 4);
		}
	}
	.toggle-productoverview {
		line-height: 2;
	}
	span.link_text {
		display: inline;
	}
	.past-year {
		font-size: 1.25em;
	}
	.sp-table th, .sp-table td {
		font-size: 1em;
	}
	.past-table .page_table td.exam-name {
		font-size: 1em;
		background: #5B554E;
		color: #fff;
	}
}