
/*カラー共通設定*/
:root {
	--base-color: #FFFFFF;
	--text-color: #000000;
	--back-color: #E3EAF6;
	--pankuzu-color: #E3E3E3;
	--link-color: var(--base-color);
	--main-color: #3261AB;
	--accent-color: #EDAB0B;
	--gray-color: gray;
}
body{ 
	font-family: "ヒラギノ角ゴシック","メイリオ","遊ゴシック",sans-serif;
	background-color: var(--back-color);
	margin:0;
	padding:0;
}
.search_button{
	font-family:'FontAwesome';
	content:'\f002';
}

figure{
	background-color: lightgray;
	text-align:center;
	margin:0.5em;
	padding:0.5em;
}
figure > img{
	max-width: 100%;
}

h2:not([class]){
	background-color: var(--back-color);
	padding:0.5em;
}
h3:not([class]){
	border:3px solid var(--back-color);
	padding:0.5em;
	background-image:
	linear-gradient(45deg, transparent 30%, transparent 45%,
		 var(--back-color) 45%, var(--back-color) 50%,
		 transparent 50%, transparent 100%),
	 linear-gradient(-45deg, transparent 30%, transparent 45%,
		 var(--back-color) 45%, var(--back-color) 50%,
		 transparent 50%, transparent 100%);
	 background-size: 10px 10px;
}
h4:not([class]){
	border-left:3px solid var(--back-color);
	border-bottom:3px solid var(--back-color);
	padding:0.5em;
	background-image:
	linear-gradient(45deg, transparent 30%, transparent 45%,
		 var(--back-color) 45%, var(--back-color) 50%,
		 transparent 50%, transparent 100%),
	 linear-gradient(-45deg, transparent 30%, transparent 45%,
		 var(--back-color) 45%, var(--back-color) 50%,
		 transparent 50%, transparent 100%);
	 background-size: 10px 10px;
}
h5:not([class]){
	border-bottom:3px solid var(--back-color);
	padding:0.5em;
	background-image:
	linear-gradient(45deg, transparent 30%, transparent 45%,
		 var(--back-color) 45%, var(--back-color) 50%,
		 transparent 50%, transparent 100%),
	 linear-gradient(-45deg, transparent 30%, transparent 45%,
		 var(--back-color) 45%, var(--back-color) 50%,
		 transparent 50%, transparent 100%);
	 background-size: 10px 10px;
}
h6:not([class]){
	padding:0.5em;
	background-image:
	linear-gradient(45deg, transparent 30%, transparent 45%,
		 var(--back-color) 45%, var(--back-color) 50%,
		 transparent 50%, transparent 100%),
	 linear-gradient(-45deg, transparent 30%, transparent 45%,
		 var(--back-color) 45%, var(--back-color) 50%,
		 transparent 50%, transparent 100%);
	 background-size: 10px 10px;
}



.footer_title{
	background-color: var(--back-color);
	color: var(--text-color);
	margin:0.5em;
	margin-left:0em;
	padding:0.5em;
}
.table_cell_title{
	background-color: var(--back-color);
	color: var(--text-color);
	margin:1px;
	padding:1px;
}

/*目次*/
.toc{
	border:1px solid #333;
	margin:0.5em auto;
	padding:0.5em;
	padding-left:0em;
	padding-right:1em;
	box-sizing: border-box;
	display:table;
	overflow-wrap:break-word;
}
.toc > h2{
	text-align: center;
}
.toc_caption{
	text-align: center;
}

.toc_math{
	display:block;
	width:auto;
	text-align:center;
	margin:0.5em;
	padding:0.5em;
	border:1px solid #333;
}
.toc_math > h2{
	text-align: center;
}
.toc_mathbox {
	display:block;
	color:var(--text-color);
	margin:0.5em;
	padding:0.5em;
	overflow-x:scroll!important;
	white-space:nowrap;
	overflow-y:hidden;
}

/*利用規約、プライバシーポリシーのリスト*/
.license_list{
	counter-reset: number; /* カウンターの初期値を０にセット */
}
.license_list h2:before {
	counter-increment: number; /* カウンターの値を増加させる */
	content: "第" counter(number,cjk-ideographic) "条"; /* 表示形式を指定 */
}
.license_child_list{
	counter-reset: number; /* カウンターの初期値を０にセット */
}
.license_child_list h3:before {
	counter-increment: number; /* カウンターの値を増加させる */
	content: "第" counter(number,cjk-ideographic) "項"; /* 表示形式を指定 */
}
.license_number_list{
	counter-reset: number; /* カウンターの初期値を０にセット */
}
.license_number_list h2:before {
	counter-increment: number ; /* カウンターの値を増加させる */
	content: "(" counter(number) ")"; /* 表示形式を指定 */
}
.license_number_list h3:before {
	counter-increment: number ; /* カウンターの値を増加させる */
	content: "(" counter(number) ")"; /* 表示形式を指定 */
}
.license_number_list ol > li:after {
	counter-increment: number ; /* カウンターの値を増加させる */
	content: "(" counter(number) ")"; /* 表示形式を指定 */
}


/*公式リスト形式のテーブル*/
.mathlist_table {
	table-layout:fixed;
	border-collapse: collapse;
	border:1px solid #333;
	width:100%;
}
.mathlist_table a {
	background-color: transparent;
	color:var(--text-color);
}
.mathlist_table th {
	border-collapse: collapse;
	border:1px solid #333;
	background-color:var(--back-color);
	color:var(--text-color);
	text-align:center;
	vertical-align:center;
}
.mathlist_table th:nth-child(1) {
	width:25%;
	max-width:8em;
}
.mathlist_table td {
	display:block;
	border-collapse: collapse;
	border:1px solid #333;
	background-color:var(--base-color);
	color:var(--text-color);
	text-align:left;
	overflow-x:scroll;
	white-space:nowrap;
	overflow-y:hidden;
}
.mathbox {
	border-collapse: collapse;
	border:1px solid #333;
	background-color:var(--base-color);
	color:var(--text-color);
	text-align:left;
	vertical-align:top;
	overflow-x:scroll;
	white-space:nowrap;
	overflow-y:hidden;
}

/*位置関係明示形式のテーブル*/
.relation_table {
	table-layout:fixed;
	border-collapse: collapse;
	width:100%;
}
.relation_table a {
	background-color: transparent;
	color:var(--text-color);
}
.relation_table th {
	border-collapse: collapse;
	background-color:var(--back-color);
	color:var(--text-color);
	text-align:center;
	vertical-align:center;
}
.relation_table td {
	border-collapse: collapse;
	background-color:var(--base-color);
	color:var(--text-color);
	text-align:center;
	vertical-align:center;
}

/*リスト形式のテーブル*/
.list_table {
	table-layout:fixed;
	border-collapse: collapse;
	border:1px solid #333;
	width:100%;
}
.list_table a {
	background-color: transparent;
	color:var(--text-color);
}
.list_table th {
	border-collapse: collapse;
	border:1px solid #333;
	background-color:var(--back-color);
	color:var(--text-color);
	text-align:center;
	vertical-align:center;
}
.list_table th:nth-child(1) {
	width:25%;
	max-width:8em;
}
.list_table td {
	border-collapse: collapse;
	border:1px solid #333;
	background-color:var(--base-color);
	color:var(--text-color);
	text-align:left;
	vertical-align:top;
	overflow-wrap:break-word;
	word-break:break-word;
}

/*コンテンツ一覧用テーブル*/
.content_table {
	table-layout:fixed;
	border-collapse: collapse;
	border:1px solid #333;
	width:100%;
}
.content_table a {
	background-color: transparent;
	color:var(--text-color);
}
.table_vhcaption {
	border-collapse: collapse;
	border:1px solid #333;
	background-color:var(--back-color);
	color:var(--text-color);
	text-align:center;
	vertical-align:center;
}
.content_table th:not(.table_vhcaption) {
	border-collapse: collapse;
	border:1px solid #333;
	background-color:var(--back-color);
	color:var(--text-color);
	text-align:left;
	vertical-align:top;
}
.content_table td {
	border-collapse: collapse;
	border:1px solid #333;
	background-color:var(--base-color);
	color:var(--text-color);
	text-align:left;
	vertical-align:top;
}

/*比較一覧用テーブル*/
.compare_table {
	table-layout:fixed;
	border-collapse: collapse;
	border:1px solid #333;
	width:100%;
}
.compare_table a {
	background-color: transparent;
	color:var(--text-color);
}
.compare_table th {
	border-collapse: collapse;
	border:1px solid #333;
	background-color:var(--back-color);
	color:var(--text-color);
	text-align:center;
	vertical-align:center;
}
.compare_table td {
	border-collapse: collapse;
	border:1px solid #333;
	background-color:var(--base-color);
	color:var(--text-color);
	text-align:center;
	vertical-align:center;
}

@media screen and (max-height:384px){
	/*縦幅が少ない*/
	.menu_enable_p{
		display:none!important;
	}
	.menu_enable_l{
		display:block;
	}
}
@media screen and (min-height:384px){
	/*縦幅が一定以上ある*/
	.menu_enable_p{
		display:block;
	}
	.menu_enable_l{
		display:none!important;
	}
}

/*LP用ボタン*/
.lp_button{
	padding:0.5em 1em;
	border-radius:0.5em;
	border:1px solid #333;
	background-color:var(--accent-color);
	color:var(--text-color);
	text-align:center;
	vertical-align:center;
}

/*カバーイメージ共通設定*/
.cover_image{
	object-fit:contain;
	background-size:contain;
	max-width:100%;
	height:auto; 
}

/*カード共通設定*/

.card_link{
	display:block;
	margin:0.5em;
	text-decoration:none;
}
.card_box{
	display:table;
	table-layout:fixed;
	width:100%;
	height:75px;
	border:1px solid silver;
	border-radius:1em;
	margin:0;
}
.card_image{
	display:block;
	overflow: hidden;
	border-right:1px solid silver;
	object-fit:contain;
	background-size:contain;
	height:75px;
	width:150px;
	border-radius:1em 0 0 1em;
}
.card_imagebox{
	display: table-cell;
	overflow: hidden;
	height:75px;
	width:150px;
	border-right:1px solid silver;
	border-radius:1em 0 0 1em;
	margin:0;
}
.card_textbox{
	font-size:10px;
	line-height:14px;
	color:black;
	display: table-cell;
	vertical-align: top;
	text-align:left;
	height:75px;
	width:calc(100%-75px);
	overflow: hidden;
}
.card_textbox p{
	margin:8px;
	width:calc(100%-75px);
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.card_title{
	font-weight:bold;
}
.card_site{
	font-size:smaller;
	color:gray;
}

/*モバイル向け*/
@media screen and (max-width: 759px) {
	.cp_mobilebar{
		margin:0rem;
		padding:0rem;
	}
	/*メニューヘッダー*/
	.headernavi_top{
		background-color:var(--base-color);
		color:var(--text-color);
		margin:0rem;
		padding:0rem;
	}
	.headernavi_top > a{
		line-height:0rem;
		margin:0rem;
		padding:0rem;
	}
	.headernavi_logo{
		vertical-align: top;
		box-shadow: 0 2px 2px -1px rgba(0, 0, 0, 0.055);
		border: 1px solid #dedede;
		margin:0;
		padding:0;
		width:2rem;
		height:2rem;
	}
	.headernavi_name{
		display:none;
	}
	.headernavi_item{
		flex:1;
		padding:0.25em 0;
		text-align:right;
		margin: 0 0 0 auto;
		display:inline-block;
	}
	.headernavi_item > input[type=text] {
		width: 8em;
	}
	/*メニュー*/
	.cp_menu {
		/*background-color: var(--main-color);*/
		color: var(--link-color);
		background-color: transparent;
		/*border: 1px solid #dedede;*/
		/*box-shadow: 0 2px 2px -1px rgba(0, 0, 0, 0.055);*/
		box-sizing:border-box;
		margin: 0;
		padding:0;
		left:0;
		right:0;
		overflow: hidden;
		position:fixed;
	}
	.cp_menu ul {
		display: flex;
		justify-content: space-between;
		margin: 0;
		padding: 0;
		list-style-type: none;
		-webkit-transition: all 0.2s;
				transition: all 0.2s;
	}
	.cp_menu ul > li {
		display: inline-block;/**/
		list-style-type: none;
		-webkit-transition: all 0.2s;
				transition: all 0.2s;
		margin: 0;
		padding: 0;
	}
	.cp_menu > ul > li > input {
		position: absolute;
		z-index: -1;
		opacity: 0;
	}
	.cp_menu > ul > li > label {
		color: var(--accent-color);
		position: relative;
		display: block;
		cursor: pointer;
		padding:0.25rem;/**/
		text-align:right;
		line-height:1.5rem;
		font-size:1.5rem;
	}
	.cp_menu > ul > li > input:checked ~ div {
		display: block;
		opacity: 1;
		visibility: visible;
	}
	/*メニュー本体*/
	.cp_navi {
		background-color: var(--main-color);
		color: var(--link-color);
		border: 1px solid #dedede;
		box-shadow: 0 2px 2px -1px rgba(0, 0, 0, 0.055);
		border-top: 0;
		margin:0;
		padding: 0;
		position: fixed;
		display: none;
		opacity: 0;
		visibility: hidden;
		left:0;
		right:0;
	}
	.cp_navi > ul {
		margin: 0;
		padding: 0;
		display: block;
		list-style: none;
		margin-left: 0;
		padding-left: 0;
	}
	.cp_navi > ul > li {
		margin: 0;
		padding: 0;
		display: block;
		list-style: none;
		margin-left: 0.5em;
		padding-left: 0;
	}
	.cp_navi > ul > li >label {
		position: relative;
		display: block;
		padding: 0 0 0 0em;
		cursor: pointer;
		margin: 0 0 1px 0;
	}
	.cp_navi > ul > li > input {
		display: none;
		position: absolute;
		z-index: -1;
		opacity: 0;
	}
	.cp_navi > ul > li > input:checked ~ div {
		max-height: 50em;
		opacity: 1;
	}
	.cp_navi > ul > li > input[type=checkbox] + label::after {
		content: '∨';
	}
	.cp_navi > ul > li > input[type=checkbox]:checked + label::after {
		content: '∧';
	}
	.cp_navi > ul > li > label > a {
		color: var(--link-color);
	}
	.cp_navi > ul >li > div {
		overflow-y: hidden;
		max-height: 0;
		transition: all 0.5s;
		margin: 0;
		padding: 0;
	}
	.cp_navi > ul > li > div > ul  {
		display: block;
		list-style: none;
		margin-left: 0.5em;
		padding-left: 0;
	}
	.cp_navi > ul > li > div > ul > li {
		display: block;
		list-style: none;
		margin-left: 0;
		padding-left: 0;
	}
	.cp_navi > ul > li > div > ul > li > a {
		color: var(--link-color);
		/*padding: 12px 24px;
		text-decoration: none;
		display: block;*/
	}
	.cp_navi > ul > li > div > ul > li > .gray {
		color: var(--gray-color);
		/*padding: 12px 24px;
		text-decoration: none;
		display: block;*/
	}
	/*ヘッダー画像*/
	.header-spacer{
		width:100%;
		background-color: var(--main-color);
		margin: 0;
		padding:0;
		height:2rem;
	}
	.header-terms{
		color:var(--text-color);
		background-color:var(--accent-color);
		margin:0;
		line-height:1.5em;
	}
	.header-image {
		margin: 0;
		padding:0;
		width:100%;
		object-fit:contain;
		display:block;
	}
	.pankuzu{
		margin: 0;
		line-height:1.5em;
		background-color:var(--pankuzu-color);
		color:var(--text-color);
	}
	/*ボディ部*/
	.cp_body {
		background-color: var(--link-color);
		color: var(--text-color);
		display: block;
		overflow-x:hidden;
		margin: 0;
		padding: 0.5em 0.5em;
		width:95%;
	}
	.wrap {
		background-color: var(--link-color);
		color: var(--text-color);
		display: block;
		margin: 0;
		padding: 0;
		width:100vw;
		overflow-x:hidden;
	}
	.ptn_navi{
		background-color: var(--base-color);
		color: var(--text-color);
		margin:0;
		table-layout:fixed;
		width:100%;
		border-top: 1px solid var(--pankuzu-color);
		border-bottom: 1px solid var(--pankuzu-color);
	}
	/*フッター部*/
	.footer_navi{
		background-color: var(--main-color);
		color: var(--link-color);
		display: block;
		margin: 0;
		padding: 1em 1em;
	}
	.footer_item > ul > li > a{
		background-color: var(--main-color);
		color: var(--link-color);
	}
	.footer_top{
		display: flex;
		flex-direction: column;
		padding-bottom:2em;
	}
	.footer_menu{
		display: flex;
		flex-direction: column;
	}
	.footer_item {
		margin:0;
		padding:0;
		overflow: auto;
		width: 100%;
	}
	.footer_item > ul {
		list-style:none;
		margin:0;
		padding:0;
		margin-top:0.5em;
	}
	.footer_item > ul > li {
		list-style:none;
		margin:0;
		/*margin-bottom:0.5em;*/
		padding:0;
	}
	/*.footer_menu:nth-child(2){
		display: none;
	}*/
	.footer_footer{
		text-align:center;
	}
	.footer_footeritem{
		display:inline-block;
	}
	.footer_footeritem > a{
		background-color: var(--main-color);
		color: var(--link-color);
	}
}
/*タブレット機器向け*/
@media screen and (min-width:760px) and (max-width:959px) {
	.cp_mobilebar{
		display:none;
	}
	/*メニューヘッダー*/
	.headernavi_top{
		margin:0;
		padding:0;
		display:flex;
		flex-direction: row;
		background-color:var(--base-color);
		color:var(--text-color);
		height:2em;
	}
	.headernavi_logo{
		margin:0;
		padding:0;
		width:2em;
		height:2em;
	}
	.headernavi_name{
		margin:0;
		padding:0.25em;
		height:2em;
		text-align:left;
	}
	.headernavi_item{
		flex:1;
		padding:0.25em;
		text-align:right;
		margin: 0 0 0 auto;
		display:inline-block;
	}
	.headernavi_item > input[type=text] {
		width: 16em;
	}
	/*メニュー*/
	.cp_menu {
		margin: 0;
		padding: 0;
		left:0;
		right:0;
	}
	.cp_menu > ul {
		margin: 0;
		padding: 0;
	}
	.cp_menu > ul > li {
		margin: 0;
		padding: 0;
		list-style-type: none;
	}
	.cp_navi {
		background-color: var(--main-color);
		color: var(--link-color);
		margin: 0;
		padding:0.25em 1%;
		display: block;
		overflow: hidden;
		top:0;
		left:0;
		right:0;
		text-align:center;
	}
	.cp_navi > ul > li > input {
		position: absolute;
		z-index: -1;
		opacity: 0;
	}
	.cp_navi > ul > li > label {
		position: relative;
		display: block;
		padding: 0 0 0 1em;
		cursor: pointer;
		margin: 0 0 1px 0;
	}
	.cp_navi > ul > li > label > a {
		color: var(--link-color);
	}
	.cp_navi ul {
		margin: 0;
		padding: 0;
	}
	.cp_navi ul li {
		display: inline-block;
		list-style-type: none;
		-webkit-transition: all 0.2s;
				transition: all 0.2s;
	}
	.cp_navi > ul > li > div {
		background-color: var(--main-color);
		color: var(--link-color);
		border: 1px solid #dedede;
		box-shadow: 0 2px 2px -1px rgba(0, 0, 0, 0.055);
		border-top: 0;
		display: none;
		margin: 0;
		opacity: 0;
		position: absolute;
		visibility: hidden;
		-webkit-transiton: opacity 0.2s;
			   transition: opacity 0.2s;
		left:0;
		right:0;
		margin: 0;
		padding: 0;
		text-align:left;
	}
	.cp_navi > ul > li > input:checked ~ div {
		display: block;
		opacity: 1;
		visibility: visible;
	}
	.cp_navi > ul > li > div > ul > li {
		display: block;
	}
	.cp_navi > ul > li > div > ul > li > a {
		color: var(--link-color);
		display: block;
		padding: 12px 24px;
		text-decoration: none;
	}
	.cp_navi > ul > li > div > ul > li > .gray {
		color: var(--gray-color);
		display: block;
		padding: 12px 24px;
		text-decoration: none;
	}
	.cp_navi > ul > li > div ul > li > input:checked > a {
		background-color: rgba( 255, 255, 255, 0.1);
	}
	.cp_navi > ul > li > input[type=checkbox] + label::after {
		content: '∨';
	}
	.cp_navi > ul > li > input[type=checkbox]:checked + label::after {
		content: '∧';
	}
	/*ヘッダー画像*/
	.header-spacer{
		display:none;
	}
	.header-terms{
		color:var(--text-color);
		background-color:var(--accent-color);
		margin:0;
		line-height:1.5em;
	}
	.header-image {
		margin: 0;
		padding:0;
		width:100%;
		object-fit:scale-down;
		display:block;
	}
	.pankuzu{
		margin: 0;
		background-color:var(--pankuzu-color);
		color:var(--text-color);
	}
	/*ボディ部*/
	.cp_body {
		background-color: var(--link-color);
		color: var(--text-color);
		margin: 0;
		padding: 1em 1em;
	}
	.ptn_navi{
		background-color: var(--base-color);
		color: var(--text-color);
		margin:0;
		width:100%;
		table-layout:fixed;
		border-top: 1px solid var(--pankuzu-color);
		border-bottom: 1px solid var(--pankuzu-color);
	}
	/*フッター部*/
	.footer_navi{
		background-color: var(--main-color);
		color: var(--link-color);
		display: block;
		margin: 0;
		padding: 1em 1em;
	}
	.footer_item > ul > li > a{
		background-color: var(--main-color);
		color: var(--link-color);
	}
	.footer_top{
		display: flex;
		flex-direction: column;
		padding-bottom:2em;
	}
	.footer_menu{
		display: flex;
		flex-direction: row;
		width: 100%;
	}
	.footer_item {
		margin:0;
		padding:0;
		overflow: auto;
		width: 100%;
	}
	.footer_item > ul {
		list-style:none;
		margin:0;
		padding:0;
		margin:0.5em;
	}
	.footer_item > ul > li {
		list-style:none;
		margin:0;
		padding:0;
	}
	.footer_footer{
		text-align:center;
	}
	.footer_footeritem{
		display:inline-block;
	}
	.footer_footeritem > a{
		background-color: var(--main-color);
		color: var(--link-color);
	}
}

/*PC向け*/
@media screen and (min-width: 960px) {
	.cp_mobilebar{
		display:none;
	}
	/*メニューヘッダー*/
	.headernavi_top{
		margin:0 10vw;
		padding:0;
		display:flex;
		flex-direction: row;
		background-color:var(--base-color);
		color:var(--text-color);
		height:2em;
	}
	.headernavi_logo{
		margin:0;
		padding:0;
		width:2em;
		height:2em;
	}
	.headernavi_name{
		margin:0;
		padding:0.25em;
		height:2em;
		text-align:left;
	}
	.headernavi_item{
		flex:1;
		padding:0.25em;
		text-align:right;
		margin: 0 0 0 auto;
		display:inline-block;
	}
	.headernavi_item  > input[type=text] {
		width: 32em;
	}
	/*メニュー*/
	.cp_menu {
		margin: 0;
		padding: 0;
		left:0;
		right:0;
	}
	.cp_menu > ul {
		margin: 0;
		padding: 0;
	}
	.cp_menu > ul > li {
		margin: 0;
		padding: 0;
		list-style-type: none;
	}
	.cp_navi {
		background-color: var(--main-color);
		color: var(--link-color);
		display: block;
		margin: 0 10%;
		padding: 0.25em 0%;
		left:0;
		right:0;
		overflow: hidden;
		text-align:center;
	}
	.cp_navi > ul > li > input {
		position: absolute;
		z-index: -1;
		opacity: 0;
	}
	.cp_navi > ul > li > label {
		position: relative;
		display: block;
		padding: 0 0 0 1em;
		cursor: pointer;
		margin: 0 0 1px 0;
	}
	.cp_navi > ul > li > label > a {
		color: var(--link-color);
	}
	.cp_navi ul {
		margin: 0;
		padding: 0;
	}
	.cp_navi ul li {
		display: inline-block;
		list-style-type: none;
		-webkit-transition: all 0.2s;
				transition: all 0.2s;
	}
	.cp_navi > ul > li > div {
		background-color: var(--main-color);
		color: var(--link-color);
		border: 1px solid #dedede;
		box-shadow: 0 2px 2px -1px rgba(0, 0, 0, 0.055);
		border-top: 0;
		display: none;
		margin: 0;
		opacity: 0;
		position: absolute;
		visibility: hidden;
		-webkit-transiton: opacity 0.2s;
			   transition: opacity 0.2s;
		left:10%;
		right:10%;
		margin: 0;
		padding: 0;
		text-align:left;
	}
	.cp_navi > ul > li > input:checked ~ div {
		display: block;
		opacity: 1;
		visibility: visible;
	}
	.cp_navi > ul > li > div > ul > li {
		display: block;
	}
	.cp_navi > ul > li > div > ul > li > a {
		color: var(--link-color);
		display: block;
		padding: 12px 24px;
		text-decoration: none;
	}
	.cp_navi > ul > li > div > ul > li > .gray {
		color: var(--gray-color);
		display: block;
		padding: 12px 24px;
		text-decoration: none;
	}
	.cp_navi > ul > li > input[type=checkbox] + label::after {
		content: '∨';
	}
	.cp_navi > ul > li > input[type=checkbox]:checked + label::after {
		content: '∧';
	}
	/*ヘッダー画像*/
	.header-spacer{
		display:none;
	}
	.header-terms{
		color:var(--text-color);
		background-color:var(--accent-color);
		margin: 0 10%;
		width: 80%;
		left:10%;
		right:10%;/**/
		line-height:1.5em;
	}
	.header-image {
		margin: 0 10%;
		padding:0;
		width:80%;
		object-fit:contain;
		display:block;
	}
	.pankuzu{
		margin: 0 10%;
		background-color:var(--pankuzu-color);
		color:var(--text-color);
	}
	/*ボディ部*/
	.cp_body {
		background-color: var(--link-color);
		color: var(--text-color);
		display: block;
		padding: 1em 1em;
		margin: 0 10%;
		overflow: hidden;
	}
	.ptn_navi{
		background-color: var(--base-color);
		color: var(--text-color);
		margin:0 10%;
		width:80%;
		table-layout:fixed;
		border-top: 1px solid var(--pankuzu-color);
		border-bottom: 1px solid var(--pankuzu-color);
	}
	/*フッター部*/
	.footer_navi{
		background-color: var(--main-color);
		color: var(--link-color);
		display: block;
		margin: 0 10%;
		padding: 1em 1em;
	}
	.footer_item > ul > li > a{
		background-color: var(--main-color);
		color: var(--link-color);
	}
	.footer_top{
		display: flex;
		flex-direction: row;
		padding-bottom:2em;
	}
	.footer_menu{
		display: flex;
		flex-direction: row;
		width: 100%;
	}
	.footer_item {
		margin:0;
		padding:0;
		overflow: auto;
		width: 50%;
	}
	.footer_item > ul {
		list-style:none;
		margin:0.5em;
		padding:0;
	}
	.footer_item > ul > li {
		list-style:none;
		margin:0;
		padding:0;
	}
	.footer_footer{
		text-align:center;
	}
	.footer_footeritem{
		display:inline-block;
	}
	.footer_footeritem > a{
		background-color: var(--main-color);
		color: var(--link-color);
	}
}

