@charset "UTF-8";
/* CSS Document */

/* ----------------------------------------------
	Google フォント
------------------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@100;300;400;500;700;800;900&family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap');

/* ----------------------------------------------
	基本情報
------------------------------------------------- */
html {
	scroll-behavior: smooth;
}
:target {
	scroll-margin-top: 50px;
}

header, section, footer, nav { display:block; }/*- html5タグをブロック要素にする基本設定 -*/

.clearfix:after { clear: both; content: ""; display: block; }

.clearText {
	color: transparent;
	text-align: left;
	text-indent: -200%;
	white-space: nowrap;
	overflow: hidden;
	display: inline-block;
	width: 100%;
	height: 100%;
}

a {
	vertical-align: bottom;
	text-decoration: none;
	display: inline-block;
	color: var(--base-color);
	cursor: pointer;
}

*,
*::before,
*::after{
	box-sizing: border-box;
}


/* ==============================================
	共通設定　ここから
================================================= */
/* ----------------------------------------------
	ページレイアウト
------------------------------------------------- */
body {
	font-family: "M PLUS Rounded 1c", sans-serif;
	text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	
	width: 100%;
	min-width: 320px;
	padding: 0;
}

.stageWrap {
	display: block;
	margin: 0 auto;
}

strong {
	font-weight: bold;
}



/*-
	PC版（768px以上）ここから
------------------------------------------------- */
@media screen and (min-width:768px), print{
	
	.pc_non { display:none !important; }
	
	
	:target {
		scroll-margin-top: 15px;
	}
	
	
	
	/* ----------------------------------------------
		アコーディオン
	------------------------------------------------- */
	.accordion {}
	.accordion details {
		font-size: 16px;
	}
	.accordion details summary {
		padding: 10px 30px;
	}
	.accordion details > div {
		padding: 20px;
	}
	
	
	/* ----------------------------------------------
		リスト（番号）
	------------------------------------------------- */
	ol.num_a,
	ol.num_b {
		gap : 20px;
	}
	ol.num_a > li,
	ol.num_b > li {
		width: calc((100% / 4) - (20px * (4 - 1) / 4));
		
		display: grid;
		gap: 0.5em;
		align-content: start;
	}
	
	
	/* ----------------------------------------------
		ヘッダー
	------------------------------------------------- */
	#header {}
	#header #sitetitle a {
		display: block;
		width: 650px !important;
		height: 40px !important;
		margin: 10px auto;
		
	}
	
	
	/* ----------------------------------------------
		フッター
	------------------------------------------------- */
	#footer {}
	#footer::before, #footer::after {
		background-position: left 30px center;
		
		height: 100px;
		
		top: -50px;
	}
	
	#footer #page-top a {
		border-radius: 50%;
		
		right: 50px;
		bottom: 50px;
	}
	
	#app p {}
	#app p a {
		writing-mode: vertical-rl;
		
		width: 50px;
		height: 15em;
		border-radius: 10px 0 0  10px;
		
		bottom: unset;
		right: 0;
		top: 100px;
	}
	
	
}


/*-
	SP版（767px以下）ここから
------------------------------------------------- */
@media screen and (max-width: 767px) {
	
	.sp_non { display:none !important; }
	
	
}



