@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;
}
html{
	scroll-behavior: smooth;
}
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;
}
.faq-main--title{
	font-weight: 700;
	color: var(--text--sub-color);
	margin-bottom: 1em;
}
.button-cover{
	top: 0;
	z-index: 100;
	/* position: sticky;
	container-type: scroll-state; */
}
.button-section{
	width: 100%;
	/* position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 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 .faq-button{
	@container scroll-state(stuck: top) {
		width: calc(100% / 9);
		margin: .25vw;
	}
}
.button-contents .faq-button a {
	@container scroll-state(stuck: top) {
		font-size: .75em;
		border-radius: 0;
		padding: 0 .5em;
	}
}
.faq-button{
	width: calc(100% / 4.5);
	margin: .3vw;
}
.faq-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;
	border: 1px solid var(--border-color);
}
.faq-button a:hover{
	text-decoration: none;
	opacity: .5;
}
.faq_section{
	margin-bottom: 3em;
	padding: 0 1.5em;
}
div.faq-cover {
	margin-top: 3em;
}
.faq-cover.faq-show {
	opacity: 1;
}
.faq_section--title{
	font-weight: 500;
	display: flex;
	align-items: center;
	margin-bottom: .5em;
	padding-left: 1em;
	font-size: 1.25em;
}
.faq_section--title:before{
	content: "";
	width: .25em;
	height: 1.25em;
	display: inline-block;
	background-color: var(--primary--main-color);
	margin-right: .25em;
	border-radius: 9999px;
}
.faq-content{
	border: 1px solid var(--border-color);
	margin: 0 2em;
}
.faq-content:not(:last-child){
	margin-bottom: 1em;
}
.faq-title{
	background-color: var(--back--sub-color);
	color: var(--text--sub-color);
	padding: 0.5em 1em .7em 1em;
	font-size: 1em;
	font-weight: 500;
	display: block;
	position: relative;
	cursor: pointer;
	transition: color 0.3s ease, text-shadow 0.3s ease;
}
.faq-title::after{
	font-family: 'Material Symbols Outlined';
	content: "\e313";
	font-size: 2em;
	position: absolute;
	right: .25em;
	top: 50%;
	transform: translateY(-50%);
	transition: content 0.5s ease;
}
.faq-title:hover{
	opacity: .5;
}
.faq-title.open::after{
	content: "\e316";
}
.faq-wrapper{
	overflow: hidden;
	max-height: 0;
	box-sizing: border-box;
	transition: max-height .5s linear;
}
.toggle-faq{
	padding: 1em;
	word-break: break-all;
}
span.link_text{
	display: inline-flex;
	align-items: center;
}
.link_text:has(.link_text--blank)::after{
	content: "";
	background-image: url(../../../img/icon/icn_lnk_blank01.gif);
	display: inline-block;
	background-size: contain;
	width: 1em;
	height: 1em;
}
@container sp (max-width: 768px) {
	#header{
		position: sticky;
		z-index: 200;
	}
	main{
		width: auto;
		padding-left: 0;
		padding-right: 0;
		padding-top: 0;
	}	
	.faq-main--title{
		padding: .5em 1em;
	}
	.button-cover{
		top: 100px;
	}
	.button-section {
		text-align: center;
		font-size: 1.5em;
	}
	.button-cover--height{
		font-size: 2vw;
	}
	.faq_section{
		padding: 0;
	}
	.faq-button a{
		border-radius: 0;
		font-size: .75em;
		padding: .5em .25em;
	}
	.button-contents .faq-button{
		margin: .4vw;
	}
	.button-contents .faq-button a {
		font-size: 2.4vw;
	}
	.faq-button a:hover{
		opacity: 1;
	}
	.faq-button a.faq-button--current{
		padding: .25em;
	}
	.faq-title{
		padding: 0.5em 3em .7em 1em;
	}
	.faq-title:hover{
		text-shadow: none;
		opacity: 1;
	}
	.button-contents .faq-button{
		@container scroll-state(stuck: top) {
			width: calc(100% / 4);
		}
	}
	.toggle-faq {
		line-height: 2;
	}
	span.link_text {
		display: inline;
	}
}