@charset "utf-8";
/* CSS Document */
/*--------------------
          汎用
------------------*/
.material-icons {
	vertical-align:middle;
}
.clearfix {float:none;clear:both;}
.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}
* html .clearfix{ zoom: 1; } /* IE6 */
*:first-child+html .clearfix{ zoom: 1; } /* IE7 */
/*--------------------
   background-color
------------------*/
.bgbl {background-color:#7EABE2;padding:0px 2px; line-height:18px !important;}
.bggr {background-color:#a0cd2d;padding:0px 2px; line-height:18px !important;color:#fff;}
.bgor {background-color:#F77C00;padding:0px 2px; line-height:18px !important;}

/*------------------------------------------
■ color chart
------------------------------------------*/
.navy{color:#000080;}
.navy2{color:#191970;}
.red{color:#9F0000;}
.red2{color:#cd5c5c;}
.blue{color:#0000ff;}
.blue2{color:#4682b4;}
.green{color:#7ebf58;}
.green2{color:#00ff00;}
.purple{color:#c71585;}
.orange{color:#f15a24;}
/*------------------------------------------
■ font
------------------------------------------*/
.bold {font-weight:bold;}
.f47 {font-size:47px;}
/*------------------------------------------
■ position
------------------------------------------*/
.pb5 { padding-bottom:5px !important;}
.pb10 { padding-bottom:10px !important;}
.pb20 { padding-bottom:20px !important;}
.pb30 { padding-bottom:30px !important;}
.pb40 { padding-bottom:40px !important;}
.pb50 { padding-bottom:50px !important;}
.pb60 { padding-bottom:60px !important;}
.pb70 { padding-bottom:70px !important;}
.pb80 { padding-bottom:80px !important;}
.pb90 { padding-bottom:90px !important;}
.pb100 { padding-bottom:100px !important;}

.pt5 { padding-bottom:5px !important;}
.pt10 { padding-top:10px !important;}
.pt20 { padding-top:20px !important;}
.pt30 { padding-top:30px !important;}
.pt40 { padding-top:40px !important;}
.pt50 { padding-top:50px !important;}
.pt60 { padding-top:60px !important;}
.pt70 { padding-top:70px !important;}
.pt80 { padding-top:80px !important;}
.pt90 { padding-top:90px !important;}
.pt100 { padding-top:100px !important;}

.mt10 {margin-top:10px !important;}
.mt20 {margin-top:20px !important;}
.mt30 {margin-top:30px !important;}
.mt40 {margin-top:40px !important;}
.mt50 {margin-top:50px !important;}
.mt60 {margin-top:60px !important;}
.mt70 {margin-top:70px !important;}
.mt80 {margin-top:80px !important;}
.mt90 {margin-top:90px !important;}
.mt100 {margin-top:100px !important;}

.mb10 { margin-bottom:10px !important;}
.mb20 { margin-bottom:20px !important;}
.mb30 { margin-bottom:30px !important;}
.mb40 { margin-bottom:40px !important;}
.mb50 { margin-bottom:50px !important;}
.mb60 { margin-bottom:60px !important;}
.mb70 { margin-bottom:70px !important;}
.mb80 { margin-bottom:80px !important;}
.mb90 { margin-bottom:90px !important;}
.mb100 { margin-bottom:100px !important;}

.taCenter { text-align:center !important;}
.taRight { text-align:right !important;}
.fixed {position: fixed;top: 0px; left:0px;width:100%;z-index:1000;}
.clear {clear:both;}
.mb {display:none;}
b{font-weight:bold;}

body {
	font-family: "Noto Sans JP";
	font-size:14px;
	color:#000;
}
.noscript {
	max-width:960px;
	width:93%;
	margin:auto;
	border:1px solid #F00;
	padding:5px 2%;
	font-weight:bold;
	text-align:center;
	color:#F00;
}
@media screen and (max-width: 640px) {
body {
	font-size:13px;
}
p {
	margin:0 10px;
}
}
@media screen and (min-width: 641px) {
	.pc {
		display:block;
	}
	.sp {
		display:none;
	}
}
@media screen and (max-width: 640px) {
	.pc {
		display:none;
	}
	.sp {
		display:block;
	}
}
a {
	color:#000;
	text-decoration:none;
}
a:hover {
	text-decoration:none;
}
a img:hover {
	filter: alpha(opacity=80);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(opacity=70)";
    -moz-opacity: 0.8;
    opacity: 0.8;
}
img {
	max-width:100%;
	height:auto;
}
/*--------------------
      ここから
------------------*/
.logout {
	display:block;
	width:220px;
	border:2px solid #fff;
	text-align:center;
	background: #e2635d;
	background: -moz-linear-gradient(top,  #e2635d 0%, #ca3c38 100%);
	background: -webkit-linear-gradient(top,  #e2635d 0%,#ca3c38 100%);
	background: linear-gradient(to bottom,  #e2635d 0%,#ca3c38 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e2635d', endColorstr='#ca3c38',GradientType=0 );
	border-radius:3px;
	-moz-border-radius:3px;
	-webkit-border-radius:3px;
	font-family: "Noto Sans JP";
	font-weight:bold;
	font-size:16px;
	color:#fff;
	padding:20px 0;
	margin:70px auto 30px;
}
/*--------------------
      header
------------------*/
header {
	border-top:4px solid #e53747;
	max-width:100%;
	margin:10px auto 0;
}
header #headWrap {
	margin:auto;
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	padding:12px 16px;
}
header #headWrap .title {
	margin:4px 16px 4px 0;
	line-height:1;
}
header #headWrap .title img {
	max-width:210px;
	height:auto;
	display:block;
}
/* 中央: 会期・場所（赤ラベルタグ＋太字本文＋住所）*/
header #headWrap .headInfo {
	flex:1 1 auto;
	margin:4px 16px;
	color:#333;
}
header #headWrap .headInfo p {
	margin:0;
}
header #headWrap .headInfo .hi-row {
	display:flex;
	align-items:flex-start;
	margin:4px 0;
}
header #headWrap .headInfo .hi-label {
	flex:0 0 auto;
	display:inline-block;
	min-width:58px;
	background:#e53747;
	color:#fff;
	font-weight:bold;
	font-size:13px;
	text-align:center;
	padding:3px 8px;
	margin-right:10px;
	border-radius:0;
	line-height:1.4;
}
header #headWrap .headInfo .hi-text {
	font-size:16px;
	font-weight:bold;
	color:#222;
	line-height:1.4;
}
header #headWrap .headInfo .hi-addr {
	display:block;
	font-size:11px;
	font-weight:normal;
	color:#666;
	margin-top:1px;
	line-height:1.3;
}
/* 右: 公式HPに戻る（緑CTA・角丸なし）*/
header #headWrap .backLink {
	margin:4px 0 4px 10px;
}
header #headWrap .backLink a {
	display:inline-block;
	background:#3fa535;
	color:#fff;
	text-align:center;
	padding:12px 22px;
	font-size:14px;
	font-weight:bold;
	line-height:1.3;
	white-space:nowrap;
	border-radius:0;
}
header #headWrap .backLink a:hover {
	background:#358f2c;
	text-decoration:none;
}
header #headWrap a.login {
	display:block;
	float:right;
	width:200px;
	background:#e53747;
	color:#fff;
	text-align:center;
	padding:5px 0;
	font-size:16px;
	font-weight:bold;
	margin:20px 5px 0;
	line-height:25px;
}
@media screen and (min-width: 641px) {
@media screen and (min-width: 1000px) {
header {
	max-width:100%;
	min-width:1000px;
}
header #headWrap {
	width:1000px;
}
}
#menu_open {
	display:none;
}
header #headWrap .title {
}
nav#nav {
	background:#e53747;
}
nav#nav #nav_inner {
	max-width:1000px;
	margin:auto;
}
nav#nav .title {
	display:none;
}
nav#nav #nav_inner ul:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}
nav#nav #nav_inner ul li {
	float:left;
	border-right:1px solid #fff;
}
nav#nav #nav_inner ul li:first-child {
	border-left:1px solid #fff;
}
nav#nav #nav_inner ul li a {
	color:#fff;
	padding:20px 40px;
	display:block;
	font-weight:bold;
}
nav#nav #nav_inner ul li a:hover {
	background:#cc1f34;
}
}
@media screen and (max-width: 999px) {
header #headWrap .title img {
	max-width:170px;
}
header #headWrap .headInfo .hi-text {
	font-size:14px;
}
header #headWrap .headInfo .hi-label {
	min-width:52px;
	font-size:12px;
}
header #headWrap .backLink a {
	padding:10px 16px;
	font-size:13px;
}
}
@media screen and (max-width: 640px) {
/* スマホ: ロゴ(左)＋公式HPボタン(右)を上段に並べ、会期・会場は下段に全幅 */
header #headWrap {
	flex-direction:row;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	text-align:left;
}
header #headWrap .title {
	order:1;
	margin:4px 0;
}
header #headWrap .backLink {
	order:2;
	margin:4px 0;
}
header #headWrap .backLink a {
	padding:8px 12px;
	font-size:12px;
}
header #headWrap .headInfo {
	order:3;
	width:100%;
	max-width:100%;
	margin:6px 0 2px;
}
header #headWrap .title img {
	margin:0;
}
header #headWrap .headInfo .hi-row {
	justify-content:flex-start;
	flex-wrap:wrap;
	text-align:left;
}
header #headWrap .headInfo .hi-text {
	min-width:0;
	overflow-wrap:break-word;
	word-break:break-word;
}
header #headWrap .headInfo .hi-addr {
	white-space:normal;
	word-break:break-all;
}
header #headWrap a.login {
	max-width:35%;
	margin:10px 5px 0 0;
	font-size:13px;
}
nav#nav #nav_inner {
	display:none;
}
nav#nav #nav_inner ul:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}
}
/*--------------------
      wrap
------------------*/
@media screen and (min-width: 1000px) {
#wrap {
	width:1000px;
	margin:auto;
}
}
@media screen and (max-width: 999px) {
#wrap {
	width:100%;
	margin:auto;
}
#menu_open {
	width:40px;
	height:40px;
	background:url(../image/common/header/nav.png) no-repeat center center rgba(100,100,100,0.7);
	float:right;
	margin:10px 5px 0 0;
	background-size:contain !important;
}
.menu_close {
	background:url(../image/common/header/nav_close.png) no-repeat center center rgba(100,100,100,0.7) !important;
	background-size:contain !important;
}
.hidden {
	overflow:hidden;
	width:100%;
}
}
article h1,article h2 {
	font-size:30px;
	color:#e53747;
	font-weight:bold;
	margin:50px 10px 30px;
	line-height:30px;
	text-align:center;
}
@media screen and (max-width: 640px) {
article h1,article h2 {
	font-size:18px;
	margin:30px 10px 10px;
}
/* スマホ：メインコンテンツは幅96%（左右に少し余白） */
#wrap {
	width:96%;
	margin:auto;
}
}
table.myinfo {
	width:90%;
	margin:20px auto;
	background:#fff;
	padding:30px 0;
}
table.myinfo tr {
	border-bottom:1px solid #ccc;
}
table.myinfo th {
	text-align:center;
	width:30%;
	background:#FAFAFA;
	line-height:26px;
	font-weight:bold;
	padding:20px 0;
}
table.myinfo td {
	padding:20px 10px;
	line-height:30px;
	word-break:break-all;
	overflow-wrap:anywhere;
}
/*来場者*/
table.visinfo {
	width:90%;
	margin:20px auto;
	background:#fff;
	padding:30px 0;
}
table.visinfo tr {
}
table.visinfo th {
	text-align:center;
	width:15%;
	background:#FAFAFA;
	line-height:26px;
	font-weight:bold;
	padding:20px 0;
	border:1px solid #ccc;
	font-size: 13px;
}
table.visinfo td {
	text-align:center;
	border:1px solid #ccc;
	padding:10px;
	line-height:30px;
	font-size: 13px;
}
table.visinfo td a {
	display: block;
	line-height: 24px;
	background: #F7931E;
	color: #fff;
	margin: 0 auto;
	max-width: 95%;
}
table.visinfo td a:hover {
	background: #F15A24;
}
table.visinfo td:last-child a {
	background: red;
}
table.visinfo td:last-child a:hover {
	background: #E50000;
}
@media screen and (min-width: 641px) {
	table.visinfo td span {
		display: none;
	}
}
@media screen and (max-width: 640px) {
	table.visinfo tr {
		padding-bottom: 20px;
	}
	table.visinfo th {
		display: none;
	}
	table.visinfo td {
		width: 100%;
		display: inline-block;
		box-sizing: border-box;
		margin-top: -1px;
		position: relative;
		text-align: left;
		padding: 0;
	}
	table.visinfo td span {
		line-height: 40px;
		width: 35%;
		display: inline-block;
		background: #E6E6E6;
		text-align: center;
		height: 100%;
		margin: 0 10px 0 0;
		padding: 5px 0;
		font-weight: bold;
	}
	table.visinfo td a {
		padding: 5px 0;
		width: 30%;
		display: inline-block;
		margin:0;
		text-align: center;
	}
	table.visinfo td a.ml10 {
		margin-left: 10px;
	}
	table.visinfo td:last-child {
		margin-bottom: 20px;
	}
}
/*-------------------------
      パンくず
--------------------------*/
#bread:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}
#bread {
	margin:20px 5px 30px;
}
#bread li {
	float:left;
	margin-right:20px;
	font-size:11px;
	font-family: "Noto Sans JP";
}
#bread li a {
	display:inline-block;
	font-size:11px;
}
/*--------------------
      pagenation
------------------*/
#pagenation {
	text-align:center;
	margin:30px 0;
}
#pagenation ol li {
	display:inline-block;
	margin-left:10px;
	text-align:center;
	width:30px;
	line-height:30px;
}
#pagenation ol li a {
	width:30px;
	line-height:30px;
	border:1px solid #ccc;
	display:block;
    border-radius:3px;
    -webkit-border-radius:3px;
    -moz-border-radius:3px;
}
#pagenation ol li.active {
	background:#fafafa;
	border:1px solid #ccc;
    border-radius:3px;
    -webkit-border-radius:3px;
    -moz-border-radius:3px;
}
#pagenation ol li a:hover {
	background:#fafafa;
}
/******
  attentionBox
******/
.attentionBox {
	max-width:920px;
	width:93%;
	margin:30px auto;
	padding:20px 2%;
	border:1px solid #ED1C24;
	font-size:12px;
	line-height:20px;
}
.attentionBox b,
.attentionBox p span {
	font-weight:bold;
}
/******
  contactInfo
******/
#contactInfo {
	background:#F5F5F5;
	max-width:100%;
}
#contactInfo .contactBox {
	margin:auto;
}
#contactInfo .contactBox b {
	font-size:12px;
}
#contactInfo:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}
#contactInfo div.ssl img {
}
@media screen and (min-width: 1000px) {
#contactInfo {
	min-width:1000px;
	padding:20px 0;
	margin-top:100px;
}
#contactInfo .contactBox {
	width:1000px;
}
#contactInfo .contactBox b {
	font-size:12px;
}
#contactInfo .left,#contactInfo .ssl {
	width:470px;
	margin:auto;
	font-size:13px;
	float:left;
	margin-left:10px;
}
#contactInfo div.ssl {
}
#contactInfo div.ssl img {
	float:left;
	margin-right:10px;
}
}
@media screen and (min-width: 641px) and (max-width: 999px) {
#contactInfo {
	min-width:100%;
	padding:20px 0;
	margin-top:100px;
}
#contactInfo .contactBox {
}
#contactInfo .contactBox b {
	font-size:12px;
}
#contactInfo .left,#contactInfo .ssl {
	width:47%;
	margin:auto;
	font-size:13px;
	float:left;
	margin-left:10px;
}
#contactInfo div.ssl {
}
#contactInfo div.ssl img {
	float:left;
	margin-right:10px;
}
}
@media screen and (max-width: 640px) {
#contactInfo {
	width:90%;
	padding:20px 5%;
	margin-top:40px;
}
#contactInfo .contactBox {
	line-height:22px;
}
#contactInfo .contactBox b {
	font-size:11px;
}
#contactInfo .left,#contactInfo .ssl {
	width:100%;
	margin:auto;
	font-size:11px;
}
#contactInfo div.ssl {
	margin-top:5px;
}
#contactInfo div.ssl img {
	float:left;
	margin-right:5px;
}
}
/******
  footer
******/
footer {
	margin:0 0 0 0;
	border-top:20px solid #CCCCCC;
	text-align:center;
}
footer small {
	display:block;
	color:#333333;
	padding:50px 0;
	font-size:13px;
}
/* fancy */
.fancybox-slide--iframe .fancybox-content {
    max-width  : 640px;
}

/* ===== event-gaiyo / open2026 (added 2026) ===== */
.eventGaiyo{
	max-width:960px;
	margin:20px auto;
	padding:0;
	border:1px solid #dfdfdf;
	border-radius:0;
	background:#ffffff;
	font-family:"Noto Sans JP";
}
.eventGaiyo dl{
	margin:0;
	padding:0;
	display:flex;
	flex-wrap:wrap;
}
.eventGaiyo dt{
	width:120px;
	margin:0;
	padding:12px 15px;
	box-sizing:border-box;
	background:#e53747;
	color:#ffffff;
	font-weight:bold;
	font-size:15px;
	line-height:1.6;
	border-bottom:1px solid #ffffff;
	border-radius:0;
}
.eventGaiyo dd{
	width:calc(100% - 120px);
	margin:0;
	padding:12px 15px;
	box-sizing:border-box;
	color:#333333;
	font-size:15px;
	line-height:1.6;
	border-bottom:1px solid #dfdfdf;
	border-radius:0;
}
.eventGaiyo dl dt:last-of-type{
	border-bottom:none;
}
.eventGaiyo dl dd:last-of-type{
	border-bottom:none;
}
@media screen and (max-width: 640px){
	.eventGaiyo{
		margin:15px auto;
	}
	.eventGaiyo dt,
	.eventGaiyo dd{
		width:100%;
	}
	.eventGaiyo dt{
		border-bottom:none;
	}
	.eventGaiyo dd{
		border-bottom:1px solid #dfdfdf;
	}
	.eventGaiyo dl dd:last-of-type{
		border-bottom:none;
	}
}

/*--------------------
   secondary button（パスワードリセット等・スクエア）
--------------------*/
.btn_sub {
	display:inline-block;
	background:#6b6f76;
	color:#fff;
	text-align:center;
	padding:10px 26px;
	font-size:14px;
	font-weight:bold;
	line-height:1.4;
	border:none;
	border-radius:0;
	cursor:pointer;
	text-decoration:none;
}
.btn_sub:hover {
	background:#565a60;
	color:#fff;
	text-decoration:none;
}

/*==================================================================
  共通ボタン（2026-07-27）  主 / 副 / 危険 の3系統
  ・全ページで使い回す。<a> にも <button>/<input type=submit> にも付けられる。
  ・.btn 単体は付けず、必ず .btn-main / .btn-sub / .btn-danger と併用する。
  ・サイズ違い: .btn-sm（一覧内など小さめ）/ .btn-block（幅100%）。
==================================================================*/
.btn {
	display: inline-block;
	border: none;
	border-radius: 4px;            /* 軽い角丸 */
	padding: 11px 22px;
	font-family: inherit;
	font-size: 15px;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: background .15s;
}
.btn:hover { text-decoration: none; }
/* 主ボタン（送信・確定系）＝キーカラー赤 */
.btn-main { background: #e53747; color: #fff; }
.btn-main:hover { background: #cf2f3e; color: #fff; }
/* 副ボタン（戻る・再送系）＝控えめグレー */
.btn-sub { background: #6b6f76; color: #fff; }
.btn-sub:hover { background: #565a60; color: #fff; }
/* 危険ボタン（削除）＝濃い赤で主ボタンと区別 */
.btn-danger { background: #c0392b; color: #fff; }
.btn-danger:hover { background: #a93226; color: #fff; }
/* サイズ調整 */
.btn-sm { padding: 6px 14px; font-size: 13px; border-radius: 4px; }
/* 無効ボタン（押せない・薄グレー）。span.btn に付与して不活性表示にする */
.btn.is-disabled { background: #d5d8dd !important; color: #fff !important; cursor: not-allowed; pointer-events: none; opacity: .8; box-shadow: none; }

/* エラー表示ボックス（登録フォーム・管理画面など）。赤枠2px＋文言太字で目立たせる。
   各所のインライン border:1px を上書きするため !important。 */
.error_box { border: 2px solid #e53747 !important; color: #e53747; font-weight: bold; border-radius: 6px; }
.error_box li, .error_box p, .error_box ul { font-weight: bold; }
.btn-block { display: block; width: 100%; box-sizing: border-box; }
.btn:disabled, .btn.is-disabled { opacity: .5; cursor: default; }

/*==================================================================
  共通データ表（2026-07-27）  招待一覧・送信結果など全ページで再利用
  ・.table_scroll でラップすると項目が多くてもスマホは横スクロール（崩さない）。
  ・状態バッジ .badge_* / 成否セル .cell-ok / .cell-ng。
==================================================================*/
.table_scroll {
	max-width: 100%;
	margin: 8px auto 32px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}
/* 管理コンテンツの各ブロック間を広めに（front側 #wrap には影響させない） */
.admin_nav + article #wrap > p { margin: 16px 0; }
.admin_nav + article #wrap > h1 { margin-top: 24px; }
.admin_nav + article #wrap > h2 { margin: 34px 0 12px; }
.admin_nav + article #wrap > form.admin_search { margin-top: 20px; margin-bottom: 22px; }
.data_table {
	width: 100%;
	min-width: 720px;              /* これ未満はスクロール */
	border-collapse: collapse;
	background: #fff;
	font-size: 14px;
}
.data_table thead th {
	background: #e9ecef;
	color: #333;
	font-weight: bold;
	text-align: left;
	padding: 12px 14px;
	border-bottom: 2px solid #d0d4d9;
	white-space: nowrap;
}
.data_table tbody td {
	padding: 12px 14px;
	border-bottom: 1px solid #e6e8eb;
	vertical-align: middle;
	line-height: 1.5;
	/* メール・受付番号など長い英数字を折り返し、表崩れを防ぐ */
	word-break: break-all;
	overflow-wrap: anywhere;
}
.data_table tbody tr:nth-child(even) { background: #f7f8fa; }   /* ゼブラ */
.data_table tbody tr:hover { background: #eef1f4; }
.data_table td.ops { white-space: nowrap; }
.data_table td.ops form { margin: 0 2px; }

/* 成否セル（送信結果の「結果」列など） */
.data_table td.cell-ok { color: #1e7a2e; font-weight: bold; }
.data_table td.cell-ng { color: #c0392b; font-weight: bold; }

/* 状態バッジ（色＋テキスト。色覚配慮でラベルも併記） */
.badge {
	display: inline-block;
	padding: 3px 12px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: bold;
	line-height: 1.7;
	white-space: nowrap;
}
.badge_pending { background: #fbe6c0; color: #8a5300; }   /* 登録待ち：黄〜オレンジ */
.badge_expired { background: #e2e4e7; color: #666666; }   /* 期限切れ：グレー */
.badge_active  { background: #d5efd8; color: #1e7a2e; }   /* 登録済み：緑 */

/*==================================================================
  管理画面（2026）  2026-07-27
==================================================================*/
.admin_bar { background: #2b2f36; }
.admin_bar_inner {
	max-width: 1000px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 16px;
}
.admin_logo { color: #fff; font-weight: bold; font-size: 16px; text-decoration: none; }
a.admin_logo:hover { color: #fff; text-decoration: none; }
.admin_user { display: flex; align-items: center; }
.admin_who { font-size: 13px; color: #cfd3d8; margin-right: 12px; }
.admin_nav { background: #3a3f47; }
.admin_nav ul {
	max-width: 1000px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	padding: 0 8px;
}
.admin_nav li a,
.admin_nav li .soon {
	display: block;
	padding: 12px 16px;
	color: #fff;
	text-decoration: none;
	font-size: 14px;
	font-weight: bold;
}
.admin_nav li a:hover { background: #4a5058; color: #fff; text-decoration: none; }
.admin_nav li .soon { color: #9aa0a8; font-weight: normal; }
.admin_nav li .soon em { font-style: normal; font-size: 11px; margin-left: 4px; color: #ef8a8a; }

/* ダッシュボードのサマリカード */
.admin_cards {
	max-width: 820px;
	margin: 24px auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.admin_card {
	flex: 1 1 160px;
	max-width: 200px;
	margin: 7px;
	background: #fff;
	border: 1px solid #d7dade;
	border-radius: 8px;
	padding: 16px;
	text-align: center;
}
.admin_card .num { display: block; font-size: 28px; font-weight: bold; color: #e53747; line-height: 1.2; }
.admin_card .lbl { display: block; font-size: 13px; color: #555; margin-top: 4px; }

/* メニュー（準備中） */
.admin_menu { max-width: 600px; margin: 10px auto 30px; }
.admin_menu li { border-bottom: 1px solid #e6e8eb; }
.admin_menu li a,
.admin_menu li .soon { display: block; padding: 14px 6px; }
.admin_menu li .soon { color: #888; }
.admin_menu li .soon em { font-style: normal; font-size: 12px; color: #c0392b; margin-left: 8px; }

/* アイコン付きメニュー（ダッシュボード） */
.icon_menu { max-width: 640px; }
.icon_menu li { border-bottom: 1px solid #e6e8eb; }
.icon_menu li a {
	display: flex; align-items: center; gap: 14px;
	padding: 16px 10px; color: #2a2f36; text-decoration: none;
	transition: background .12s;
}
.icon_menu li a:hover { background: #f5f7fa; }
.icon_menu .mi_icon {
	width: 26px; height: 26px; flex: 0 0 26px;
	fill: none; stroke: #e53747; stroke-width: 1.8;
	stroke-linecap: round; stroke-linejoin: round;
}
.icon_menu .mi_txt { flex: 1 1 auto; font-size: 15px; }
.icon_menu .mi_arrow { flex: 0 0 auto; color: #b7bdc6; font-size: 20px; line-height: 1; }
.icon_menu li a:hover .mi_arrow { color: #e53747; }

@media screen and (max-width: 640px) {
	.admin_nav li a, .admin_nav li .soon { padding: 10px 12px; font-size: 13px; }
	.admin_bar_inner { padding: 8px 12px; }
}

/* 管理: 検索フォーム / ページャ（2026-07-27 stage2） */
.admin_search { max-width: 1000px; margin: 12px auto; text-align: center; }
.admin_search input[type="text"], .admin_search select {
	font-size: 14px; padding: 8px 10px; border: 1px solid #b9bdc4;
	border-radius: 6px; margin: 3px; background: #fff;
}
.admin_search input[type="text"] { min-width: 240px; }
.admin_pager { margin: 16px 0; }

/* プライバシー・個人情報 同意ブロック（2026-07-29） */
.privacy_box {
	max-width: 760px;
	width: 92%;
	height: 200px;
	overflow-y: scroll;
	margin: 18px auto 8px;
	padding: 14px 16px;
	border: 1px solid #ccc;
	background: #fafafa;
	font-size: 13px;
	line-height: 1.7;
	color: #333;
	-webkit-overflow-scrolling: touch;
}
.privacy_box p { margin: 0; }
.consent_row { text-align: center; margin: 6px auto 16px; }
.consent_label {
	display: inline-block;
	font-weight: bold;
	color: #f15a24;
	cursor: pointer;
	line-height: 1.8;
}
.consent_label input[type="checkbox"] {
	width: 18px; height: 18px; vertical-align: -3px; margin-right: 6px; accent-color: #e53747; cursor: pointer;
}
