/* "header.css" */

/* ------------------------------ */
/* HTML Tag */

header {
	background-color:			white;
	box-shadow:					0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
	height:						var(--header-height);
	position:					sticky;
	width:						100%;
	z-index:					10;
}
@media screen and (min-width:1px) and (max-width:800px) {
	header {
		height:					auto;
	}
}

header.is_fixed {
	position:					fixed !important;
}
header.is_fixed .cont_wrap {
	position:					fixed !important;
}

header p {
	margin:						0;
}

header button {
	border:						none;
}

/* HTML Tag */
/* ------------------------------ */
/* header main */

/* ヘッダー上部のメインコンテンツ */
.header_main {
	align-items:				center;
	background-color:			white;
	display:					grid;
	gap:						0.5rem;
	grid-template-columns:		1fr minmax(0, var(--main-content-width)) 1fr;
	height:						4.5rem;
	max-width:					100%;
	padding:					0 0.25rem;
	position:					relative;
	width:						100%;
}
.header_main .box_for_pc {
	align-items:				center;
	display:					flex;
	gap:						1rem;
	justify-content:			space-between;
	max-width:					100%;
	width:						var(--main-content-width);
}
#logo img {
	height:						2.5rem;
	width:						7.5rem;
}
@media screen and (min-width:1px) and (max-width:800px) {
	.header_main {
		gap:					0;
		grid-template-areas:	"menu    logo   main_right"
								"search  search search";
		grid-template-columns:	1fr auto 1fr;
		grid-template-rows:		2.5rem auto;
		height:					var(--header-height);
		place-items:			center;

		/* 2px は #header_search_input の outline */
		padding:				0.25rem 0.25rem calc(0.25rem + 2px) 0.25rem;
		row-gap:				calc(0.25rem + 2px);
	}
	.menu_wrap {
		grid-area:				menu;
		justify-self:			start;
	}
	.menu_wrap .icon_wrap {
		background:				linear-gradient(to bottom, #FFFFFF 0%, var(--color-background) 100%);
		height:					2.5rem;
		width:					2.5rem;
	}
	#logo {
		align-items:			center;
		display:				flex;
		grid-area:				logo;
		justify-content:		center;
		justify-self:			center;
		width:					fit-content;
	}
	#logo img {
		height:					2.5rem;
		width:					fit-content;
	}
	.header_main_right {
		grid-area:				main_right;
		justify-self:			end;
		padding:				0;
	}
	.header_search_box {
		grid-area:				search;
		justify-self:			center;
	}
	.header_main .box_for_pc {
		display:				contents;
	}
}

/* ------------------------------ */
/* サイトメニュー */

.site_menu {
	background-color:			white;
	bottom:						0;
	display:					none;
	height:						100%;
	left:						0;
	overflow-y:					auto;
	padding-left:				0.25rem;
	position:					fixed;
	scrollbar-gutter:			stable;
	scrollbar-width:			thin;
	top:						0;
	width:						min(100vw, var(--sidebar-width-max));
	z-index:					11;
}
.site_menu_close_btn {
	background-color:			transparent;
	color:						var(--color-gray-400);
	font-size:					1.125rem;
	line-height:				1.25rem;
	left:						0;
	margin-top:					0.75rem;
	top:						0;
}
@media screen and (min-width:1px) and (max-width:800px) {
	.site_menu_close_btn {
		margin:						0.25rem 0;
	}
}

.menu_sec {
	background-color:			white;
}
.site_menu_cat_item:not(:first-child) {
	border-top:					1px solid var(--color-gray-300);
}
.site_menu_cat_btn {
	background-color:			var(--color-text-inverse);
	color:						var(--color-text-secondary);
	display:					block;
	font-weight:				bold;
	font-size:					0.875rem;
	padding:					0.75rem 1rem;
	text-align:					left;
	width:						100%;
}
.site_menu_cat_btn.unpublished {
	color:						var(--color-gray-300);
	text-indent:				1.25rem;
}
button.site_menu_cat_btn::before {
	background-color:			var(--color-gray-400);
	content:					"";
	display:					inline-block;
	width:						0.875rem;
	height:						0.875rem;
	margin-right:				0.35rem;
	mask:						url("../img/icon/arrow_down.svg") no-repeat center / contain;
	-webkit-mask:				url("../img/icon/arrow_down.svg") no-repeat center / contain;
}
.site_menu_dropdown_menu {
	display:					none;
	width:						100%;
}
.site_menu_smn_date {
	font-size:					0.875rem;
	font-weight:				500;
	margin:						0.75rem 1rem;
}
.site_menu__calendar_btn {
	background-color:			transparent;
	border:						1px solid var(--color-gray-200);
	border-radius:				9999px;
	box-shadow:					0 2px 8px rgba(0, 0, 0, 0.04);
	padding:					0.125rem 0.5rem;
}
.site_menu__calendar_btn svg {
	color:						var(--color-primary-600);
	margin-right:				0.25em;
	vertical-align:				-0.05em;
}


.menu_sec_info {
	border-top:					2px solid var(--color-gray-300);
	padding-top:				1rem;
}


/* サイトメニュー */
/* ------------------------------ */

.header_main_right {
	align-items:				center;
	display:					flex;
}
.header_cta_box, .header_user_menu {
	align-items:				center;
	display:					flex;
	gap:						0.5rem;
}
/* @media screen and (min-width:1px) and (max-width:800px) {
	.header_cta_box, .header_user_menu {
		flex-direction:			column;
		gap:					0.25rem;
	}
} */

.header_cta_box::before, .header_user_menu::before {
	content:					"";
	background-color:			var(--color-gray-300);
	display:					inline-block;
	height:						1.5rem;
	margin:						0 10px;
	width:						1px;
}
@media screen and (min-width:1px) and (max-width:800px) {
	.header_cta_box::before, .header_user_menu::before {
		content:				none;
		display:				none;
	}
}

.header_nav_type {
	align-items:				center;
	display:					flex;
}
@media screen and (min-width:1px) and (max-width:800px) {
	.header_nav_type {
		display:				none;
	}
}
.header_ul_type {
	display:					flex;
}
.header_a_type {
	display:					inline-block;
	font-size:					1rem;
	padding:					0.25rem 1rem;
	white-space:				nowrap;
}


/* 新規購読、ログインボタン */
#entry_btn {
	background-color:			var(--color-primary-600);
	color:						white;
}
#login_open_btn {
	border:						1px solid var(--color-primary-600);
	color:						var(--color-primary-600);
}
@media screen and (min-width:501px) and (max-width:800px) {
	#entry_btn, #login_open_btn {
		font-size:				1rem;
		min-height:				40px;
		padding:				0.5rem 1rem;
	}
}
@media screen and (min-width:1px) and (max-width:500px) {
	#entry_btn {
		display:				none;
	}
	#login_open_btn {
		background-color:		var(--color-primary-600);
		border:					none;
		color:					white;
		font-size:				1rem;
		min-height:				40px;
		padding:				0.5rem 1rem;
	}
}


/* 検索ボックス */
.header_search_box {
	flex:						1;
	width:						100%;
}
@media screen and (min-width:1px) and (max-width:800px) {
	.header_search_box {
		/* 4px は #header_search_input の outline */
		width:					calc(100% - 4px);
	}
}
.header_search_input_wrap {
	align-items:				center;
	display:					flex;
	position:					relative;
	gap:						0.5rem;
	max-width:					40rem;
}
/* 検索ボックス | 入力欄 */
#header_search_input {
	background-color:			var(--color-background);
	border:						1px solid transparent;
	border-radius:				1.5rem;
	display:					inline-block;
	font-size:					1rem;
	height:						3rem;
	max-height:					100%;
	outline:					none;
	padding:					0.5rem 4.25rem 0.5rem 2.5rem;
	width:						100%;
}
#header_search_input:focus {
	outline:					2px solid var(--color-primary-400);
}
/* input[type="search"] で入力時に右端に出てくる × ボタン */
#header_search_input::-webkit-search-cancel-button {
	/* デフォルトの見た目を解除 */
	appearance:					none;
	-webkit-appearance:			none;

	/* サイズを指定 */
	background-color:			var(--color-primary-400);
	cursor:						pointer;
	height:						1rem;
	width:						1rem;

	mask:						url("../img/icon/close.svg") no-repeat center / contain;
	-webkit-mask:				url("../img/icon/close.svg") no-repeat center / contain;
}
@media screen and (min-width:1px) and (max-width:800px) {
	.header_search_input_wrap {
		max-width:				100%;;
	}
	#header_search_input {
		border-radius:			0.315rem;
		font-size:				1rem;
		height:					2.5rem;
		outline:				2px solid var(--color-gray-200);
		padding:				0.25rem 4.25rem 0.25rem 1.5rem;
	}
}
/* 検索ボックス | 虫眼鏡アイコン */
.header_search_input_wrap #header_search_icon {
	background-color:			transparent;
	border:						none;
	left:						0.75rem;
	padding:					0.5rem 0.25rem;
	position:					absolute;
	top:						50%;
	transform:					translateY(-50%);
}
.header_search_input_wrap img {
	height:						1.25rem;
	width:						1.25rem;
}
@media screen and (min-width:1px) and (max-width:800px) {
	.header_search_input_wrap #header_search_icon {
		left:					0.5rem;
	}
	.header_search_input_wrap img {
		height:					0.875rem;
		width:					0.875rem;
	}
}
/* 検索ボックス | 詳細検索ボタン */
.srchset_open_btn {
	background-color:			transparent;
	border-left:				1px solid var(--color-gray-200);
	padding:					0.375rem 0.875rem;
	position:					absolute;
	top:						50%;
	right:						0.75rem;
	transform:					translateY(-50%);
}
.srchset_open_btn svg {
	color:						var(--color-primary-400);
}
.srchset_open_btn:hover svg {
	stroke:						var(--color-info-muted);
}


/* 詳細検索 */
.outer_srchset {
	background-color:			white;
	box-shadow:					inset 0 6px 10px -10px rgba(0, 0, 0, 0.2);
	display:					none;
	left:						0px;
	position:					absolute;
	top:						100%;
	width:						100%;
	z-index:					10;
}
.outer_srchset table {
	margin:						1.5rem auto;
	max-width:					var(--main-content-width);
	width:						100%;
}


/* ---------- モーダル本体 ---------- */
.srchset {
	display:        flex;
	flex-direction: column;
	margin:			0 auto;
	max-width:      var(--main-content-width);
	overflow:       hidden;
	width:          100%;
}
/* ---------- ヘッダー ---------- */
.srchset_header {
	align-items:     center;
	border-bottom:   1px solid var(--color-primary-200);
	display:         flex;
	justify-content: space-between;
	padding:         12px 16px;
}
.srchset_title {
	color:          var(--color-primary-700);
	font-size:      13px;
	font-weight:    600;
	letter-spacing: 0.02em;
}
.srchset_close {
	appearance:		none;
	background:		none;
	border:			none;
	border-radius:	0.315rem;
	color:			 var(--color-gray-400);
	padding:		0.25rem;
	transition:		background 0.15s, color 0.15s;
}
.srchset_close:hover {
	background:		var(--color-primary-200);
	color:			var(--color-primary-700);
}
/* ---------- ボディ：3カラム ---------- */
.srchset_body {
	display:               grid;
	flex:                  1;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 0.75fr);
}
@media screen and (min-width:1px) and (max-width:800px) {
	.srchset_body {
		grid-template-columns:	0.8fr 1.2fr;
		grid-template-areas:	"cat priod"
								"cat order";
	}
	.srchset_col__cat {
		grid-area:				cat;
	}
	.srchset_col__period {
		grid-area:				priod;
	}
	.srchset_col__order {
		grid-area:				order;
	}
}

/* ---------- 各セクション（列） ---------- */
.srchset_col {
	padding:			0.5rem 0.5rem 1rem;
	width:				100%;
}
.srchset_col + .srchset_col {
	border-left:		1px solid var(--color-gray-200);
}
/* ---------- fieldset リセット ---------- */
.search_fieldset {
	border:				none;
	display:			flex;
	flex-direction:		column;
	gap:				8px;
	height	:			100%;
	margin:				0;
	min-width:			0;
	padding:			0;
}
.search_period_range:has(select:disabled) {
	/* disabled が一見分かりにくいため、文字ごと薄くする */
	opacity:			0.4;
}
/* ---------- legend / label 共通見出し ---------- */
.search_legend,
.search_label {
	border-bottom:		1px solid var(--color-primary-300);
	color:				var(--color-primary-500);
	display:			block;
	font-size:			11px;
	font-weight:		600;
	letter-spacing:		0.06em;
	margin-bottom:		4px;
	padding-bottom:		8px;
	text-transform:		uppercase;
	width:				100%;
}
/* ---------- カテゴリー絞り込みinput ---------- */
.search_cat_input {
	background:			var(--color-background);
	border:				1px solid var(--color-primary-200);
	border-radius:		6px;
	color:				var(--color-text-primary);
	font-family:		inherit;
	font-size:			0.875rem;
	height:				30px;
	outline:			none;
	padding:			0.5rem;
	transition:			background 0.15s, border-color 0.15s;
	width:				100%;
}
.search_cat_input::placeholder {
	color:				var(--color-gray-400);
}
.search_cat_input:focus {
	background:			var(--color-text-inverse);
	border-color:		var(--color-primary-400);
}
/* ---------- カテゴリーリスト ---------- */
.search_cat_list {
	display:			flex;
	flex:				1;
	flex-direction:		column;
	gap:				1px;
	overflow-y:			auto;
}
/* 動的生成される .cat_item 向けスタイル */
@media screen and (min-width:1px) and (max-width:800px) {
	.srchset .cls_sel {
		max-width:		10rem;
	}
	.srchset .cls_sel li {
		overflow:		hidden;
		text-overflow:	ellipsis;
		white-space:	nowrap;
	}
}
.search_cat_list .cat_item {
	align-items:	center;
	border-radius:	6px;
	color:			var(--color-gray-700);
	cursor:			pointer;
	display:		flex;
	font-size:		13px;
	gap:			8px;
	padding:		6px 8px;
	transition:		background 0.1s;
	user-select:	none;
}
.search_cat_list .cat_item:hover {
	background:		var(--color-primary-100);
}
.search_cat_list .cat_item.is_selected {
	background:		var(--color-primary-200);
	color:			var(--color-primary-700);
	font-weight:	500;
}
.search_cat_list .cat_item input[type="checkbox"] {
	accent-color:	var(--color-primary-600);
	flex-shrink:	0;
	height:			13px;
	pointer-events:	none;
	width:			13px;
}
/* ---------- セレクトボックス共通 ---------- */
.search_select {
	background:    var(--color-text-inverse);
	border:        1px solid var(--color-gray-300);
	border-radius: 0.315rem;
	color:         var(--color-text-primary);
	cursor:        pointer;
	font-family:   inherit;
	font-size:     13px;
	height:        32px;
	outline:       none;
	padding:       0 8px;
	transition:    border-color 0.15s;
	width:         100%;
}
.search_select:hover {
	border-color: var(--color-primary-400);
}
.search_select:focus {
	outline:			2px solid var(--color-primary-500);
}
/* ---------- 期間：開始〜終了セレクト ---------- */
.search_period_range {
	align-items:		center;
	display:			flex;
	flex-direction:		column;
	gap:				6px;
}
@media screen and (min-width:1px) and (max-width:800px) {
	.search_period_range {
		font-size:		0.75rem;
	}
}
.search_period_select_wrap {
	flex:      1;
	min-width: 0;
}
.search_period_select_wrap .search_select {
	font-size: 12px;
}
.search_period_sep {
	color:       var(--color-gray-400);
	flex-shrink: 0;
	font-size:   12px;
}
/* ---------- 補足テキスト ---------- */
.search_note_text {
	color:			var(--color-gray-500);
	font-size:		0.75rem;
	line-height:	1.5;
	padding:		0.25rem 0.5rem;
}
/* ---------- 表示順フィールド ---------- */
.search_field {
	display:        flex;
	flex-direction: column;
}
/* ---------- フッター ---------- */
.srchset_footer {
	align-items:     center;
	border-top:      1px solid var(--color-primary-200);
	display:         flex;
	gap:             8px;
	justify-content: flex-end;
	padding:         10px 14px;
}
.search_stat_text {
	align-items:		center;
	color:				var(--color-success-muted);
	display:			flex;
	font-size:			11px;
	font-weight:		500;
	gap:				5px;
}
.search_stat_text::before {
	background-color:	var(--color-success-muted);
	border-radius:		50%;
	content:			"";
	display:			inline-block;
	flex-shrink:		0;
	height:				6px;
	width:				6px;
}
.srchset_footer_btns {
    display: flex;
    gap:     8px;
}
/* ---------- ボタン共通 ---------- */
.search_btn {
	font-size:     0.875rem;
}
/* リセットボタン */
.search_btn__reset {
	background: transparent;
	border:     1px solid var(--color-gray-300);
	color:      var(--color-gray-500);
}
/* 検索ボタン */
.search_btn__search {
	background: var(--color-primary-600);
	border:     1px solid transparent;
	color:      var(--color-text-inverse);
}

/* ログイン時のプロファイル */
.profile {
	position:					relative;
}
.profile_btn {
	align-items:				center;
	background-color:			white;
	border-radius:				0.25rem;
	cursor:						pointer;
	display:					inline-flex;
	font-size:					0.875rem;
	font-weight:				500;
	gap:						0.375rem;
	height:						3rem;
	justify-content:			center;
	min-width:					6rem;
}
.profile_btn:hover {
	background-color:			var(--color-primary-100);
}
.profile_btn:hover icon {
	filter:						var(--color-primary-600);
}
.profile_label {
	color:						var(--color-text-secondary);
	font-size:					0.65rem;
}
.profile_btn #user_name {
	color:						var(--color-text-secondary);
	font-size:					0.85rem;
	min-width:					6.25rem;
}
@media screen and (min-width:1px) and (max-width:800px) {
	.profile_btn {
		gap:					0.125rem;
		height:					2.5rem;
		padding:				0.125rem 0;
	}
	.profile_btn .icon {
		display:				none;
	}
	.profile_btn #user_name {
		min-width:				0;
	}
}
.profile_menu {
	background-color:			white;
	box-shadow:					0 4px 4px rgba(0, 0, 0, .25);
	display:					none;
	padding:					0.5rem;
	position:					absolute;
	right:						0;
	top:						100%;
	width:						max-content;
	z-index:					10;
}
.profile_menu span {
	color:						var(--color-primary-500);
	display:					block;
	font-size:					0.625rem;
	font-weight:				500;
	margin:						0.25rem;
}
.profile_menu_item:not(:first-child){
	border-top:					1px solid var(--color-gray-200);
	margin-top:					0.25rem;
	padding-top:				0.25rem;
}
.profile_menu_item a,
.profile_menu_item button {
	background-color:			transparent;
	border-radius:				0.375rem;
	display:					block;
	font-size:					0.875rem;
	min-width:					12rem;
	padding:					0.5rem 1rem;
	text-align:					left;
	width:						100%;
}
.profile_menu_item_sub a {
	font-size:					0.75rem;
}
.profile_menu_item a:hover,
.profile_menu_item button:hover {
	background-color:			var(--color-primary-100);
	color:						var(--color-text-dark);
	font-weight:				bold;
}

/* カテゴリーナビゲーション | 全体*/
.header_nav_cat {
	background-color:			var(--color-primary-600);
	height:						2.25rem;
	width:						100%;
}
/* .header_nav_cat.mode_shimen {
	background-color:			var(--color-primary-500);
}
.header_nav_cat.mode_data {
	background-color:			var(--color-info-bold);
} */
@media screen and (min-width:1151px) {
	.header_nav_cat.pc_only {
		display:				block;
	}
	.header_nav_cat.sp_only {
		display:				none;
	}
}
@media screen and (min-width:1px) and (max-width:1150px) {
	.header_nav_cat {
		height:					1.75rem;
		overflow-x:				hidden;
		overflow-y:				hidden;
		scrollbar-width:		thin;
	}
	.header_nav_cat::-webkit-scrollbar {
		height: 4px;
	}
	.header_nav_cat.pc_only {
		display:				none;
	}
	.header_nav_cat.sp_only {
		align-items:			center;
		display:				grid;
		grid-template-columns:	1fr 1fr 1fr;
	}
	.header_nav_cat.sp_only > :nth-child(1) {
		justify-self: start;
	}
	.header_nav_cat.sp_only > :nth-child(2) {
		justify-self: center;
	}
	.header_nav_cat.sp_only > :nth-child(3) {
		justify-self: end;
	}
}
.header_ul_cat, .header_ul_shimen, .header_ul_data {
	display:					flex;
	justify-content:			center;
	margin:						0 auto;
	max-width:					80rem;
}
@media screen and (min-width:1px) and (max-width:1279px) {
	.header_ul_cat, .header_ul_shimen, .header_ul_data {
		justify-content:		flex-start;
		margin:					0;
	}
}

/* メニュー、カテゴリーナビゲーション | 大カテゴリー*/
.header_nav_cat .header_cat_item {
	position:					relative;
}
.header_cat_btn {
	align-items:				center;
	background-color:			inherit;
	display:					flex;
	font-size:					0.875rem;
	font-weight:				bold;
	padding:					0.5rem 1rem;
	white-space:				nowrap;
}
.header_nav_cat .header_cat_btn {
	color:						var(--color-text-inverse);
	padding:					0.5rem 1rem;
}
/* クリック時 */
.header_cat_btn.active {
	background-color:			white;
	color:						var(--color-primary-600);
	font-weight:				bold;
}
/*
	以下の２つの時に、大カテゴリーの背景を白にする CSS。

	１．大カテゴリーと小カテゴリーのホバー時
		※クリック時でドロップダウンメニュー表示中のホバーは新たに表示しないため、
	　	　JavaScript で .hover をつけて制御
	２．大カテゴリーのフォーカス時
*/
.header_cat_btn.hover,
.header_nav_cat .header_cat_item .header_cat_btn:focus {
	background-color:			white;
	color:						var(--color-primary-600);
	font-weight:				bold;
}



/* メニュー、カテゴリーナビゲーション | ドロップダウンメニュー*/
.header_dropdown_menu {
	background-color:			white;
	display:					none;
	padding:					0.5rem;
}
.header_nav_cat .header_dropdown_menu {
	box-shadow:					0 4px 4px rgba(0, 0, 0, .25);
	position:					absolute;
	top:						100%;
	min-width:					12rem;
	width:						max-content;
	z-index:					9;
}
.header_nav_cat .header_dropdown_menu.right {
	right:						0;
}
.header_dropdown_item {
	border-radius:				0.375rem;
	color:						var(--color-gray-700);
	display:					block;
	font-size:					0.875rem;
	padding:					0.5rem 1rem;
	width:						100%;
}
.header_dropdown_item::after {
	color:						transparent;
	content:					attr(data-text);
	display:					block;
	font-weight:				bold;
	height:						1px;
	height:						0;
	margin-bottom:				-1px;
	overflow:					hidden;
	visibility:					hidden;
}
.header_dropdown_item:hover {
	background-color:			var(--color-primary-100);
	color:						var(--color-text-secondary);
	font-weight:				bold;
}
/* PC | 大カテゴリーと小カテゴリーのホバー時に、小カテゴリーの一覧を表示する */
/* @media screen and (min-width:1280px) {
	.header_nav_cat .header_cat_item:hover .header_dropdown_menu {
		display:				block;
	}
} */
/* カテゴリーナビゲーション | 小カテゴリー（連載） */
.header_rensai_wrap {
	display: 					grid;
	grid-template-columns:		repeat(5, 12rem);
}
.header_rensai_span {
	display:					block;
	font-size:					0.875rem;
	font-weight:				bold;
	padding:					0.5rem 1rem 1rem 1rem;
}
.nav-rensai-cat {
	font-size:					0.875rem;
	font-weight:				bold;
}

/* header */
/* ------------------------------ */
/* header_nav_cat shimen*/

.header_nav_cat_inner {
	align-items:			center;
	display:				flex;
	height:					100%;
	justify-content:		space-between;
	margin:					0 auto;
	max-width:				var(--main-content-width);
	width:					100%;
}

.header_nav_cat_inner .backward_mark::before,
.header_nav_cat_inner .forward_mark::after {
	background-color:		var(--color-text-inverse);
}
.smn_date_time {
	color:					white;
	font-weight:			bold;
}
.smn_date_prev, .smn_date_next {
	align-items:			center;
	color:					white;
	display:				flex;
	gap:					0.25rem;
}
@media screen and (min-width:1px) and (max-width:800px) {
	.smn_date_prev, .smn_date_next {
		font-size:			0.75rem;
	}
}


.header_cat_btn.unpublished {
	color:					var(--color-gray-400);
	cursor:					default;
}

/* header_nav_cat shimen*/
/* ------------------------------ */
/* class */

/* .is_open クラスは状態を上書きする必要があるため、ファイルの一番下に置く */
.is_open {
	display:					block;
}

/* class */
/* ------------------------------ */

