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

/*
Theme Name: ガンプラはじめました Ver.4.0
Theme URI:
Description:
Version: Ver.4.0
Author: UG
Author URI:
Tags:
*/



.wrap_80 {
	width: 100% !important;
	margin: 0 auto;
}


/* リンクボタン設定 */
.link_bt1 {
	position: relative;
	padding: 7px 15px;
    font-weight: bold;
	font-size: 1em;
	border: solid 1px #ddd;
	border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
	background: #fff;
	color: #111;
	cursor: pointer;
}
.link_bt1:hover {
	background: #111;
	color: #fff;
}

.link_bt2 {
	position: relative;
	padding: 7px 15px;
    font-weight: bold;
	font-size: 1em;
	border: solid 1px #ddd;
	border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
	background: #111;
	color: #fff;
	cursor: pointer;
}
.link_bt2:hover {
	background: #eee;
	color: #111;
}

.link_bt3 {
	position: relative;
	padding: 7px 15px;
    font-weight: bold;
	font-size: 1em;
	border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
	background: #3b82f6;
	color: #fff;
	cursor: pointer;
}
.link_bt3:hover {
	background: #619dff;
	color: #111;
}

.ranking-tabs {
	margin-bottom: 16px;
}
.ranking-tabs .tab-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 12px;
	padding: 0;
}
.ranking-tabs .tab-btn {
	position: relative;
	padding: 7px 14px;
	font-weight: bold;
	font-size: 1em;
	line-height: 1.2;
	border: solid 1px #ddd;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	background: #fff;
	color: #111;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.ranking-tabs .tab-btn:hover {
	background: #f0f0f0;
	color: #111;
}
.ranking-tabs .tab-btn:focus-visible {
	outline: 2px solid #3892d2;
	outline-offset: 1px;
}
.ranking-tabs .tab-btn.active {
	background: #111;
	color: #fff;
	border-color: #111;
}
.ranking-tabs .tab-content {
	display: none;
}
.ranking-tabs .tab-content.active {
	display: block;
}
@media screen and (max-width: 799.98px) {
	.ranking-tabs .tab-btn {
		font-size: 0.92em;
		padding: 6px 10px;
	}
}

.reset_ms{
    position: relative;
    background: #FF0000;
    width: auto;
    height: 25px;
    font-size: 12px;
    font-weight: bold;
    color: #fff;
    padding: 3px 15px;
    border: 1px solid #DDD;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    display: inline-block;
	cursor: pointer;
}


.cart_bt_s {
	background: url(images/icon/cart_btn.png) no-repeat #ff9900;
	background-size:  30px auto;
	background-position: 5px 5px;
	position: relative;
	padding: 7px 15px;
	padding-left: 40px;
    font-weight: bold;
	font-size: 1.2em;
	border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
	color: #fff;
	cursor: pointer;
}


/* リンクボタン設定 END */




/* 見出し設定 */
.midashi_d1 {
    background: #135b8e;
    color: #FFFFFF;
    font-size: 1.1em;
    font-weight: bold;
    line-height: 1.1em;
    padding: 20px 30px;
    margin-bottom: 15px;
	
	/* border-radius */
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
}
.midashi_d1 a, .midashi_d1 span {
	color: #fff;
}
.midashi_d2 {
    background: #3892d2;
    color: #FFFFFF;
    font-size: 1.1em;
    font-weight: bold;
    line-height: 1.1em;
    padding: 10px 30px;
    margin-bottom: 15px;
	
	/* border-radius */
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
}
.midashi_d2 a,.midashi_d2 span {
	color: #fff;
}


.midashi_s1 {
    background: #135b8e;
    color: #FFFFFF;
    font-size: .8em;
    font-weight: bold;
    line-height: 10px;
    padding: 10px;
    margin-bottom: 5px;
	
	/* border-radius */
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
}
.midashi_s1 a {
	color: #fff;
}

.midashi_s2 {
    background: #3892d2;
    color: #FFFFFF;
    font-size: .8em;
    font-weight: bold;
    line-height: 10px;
    padding: 10px;
    margin-bottom: 5px;
	
	/* border-radius */
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
}
.midashi_s3 {/* 再販関連CSS */
    background: #3c8b22;
    color: #FFFFFF;
    font-size: .8em;
    font-weight: bold;
    line-height: 10px;
    padding: 10px;
    margin-bottom: 5px;
	
	/* border-radius */
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
}

.midashi_s4 {/* レジ関連CSS */
    background: #ff9900;
    color: #000;
    font-size: .8em;
    font-weight: bold;
    line-height: 10px;
    padding: 10px;
    margin-bottom: 5px;
	
	/* border-radius */
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
}
/* 見出し設定 END */





.shop_text {
	position: relative;
	width: 80%;
	height: auto;
    background: #fff;
    padding: 15px;
    border: solid 1px #ccc;
    border-radius: 20px;
    -moz-border-radius: 20px;
    -webkit-border-radius: 20px;
	margin: 0 auto;
    margin-bottom: 40px;
}
.shop_text_max {
	position: relative;
	width: 100%;
	height: auto;
    background: #fff;
    padding: 15px;
    border: solid 1px #ccc;
    border-radius: 20px;
    -moz-border-radius: 20px;
    -webkit-border-radius: 20px;
	margin: 0 auto;
    margin-bottom: 40px;
}
.shop_text_maxs {
	position: relative;
	width: 100%;
	height: auto;
    background: #fff;
    padding: 15px;
    border: solid 1px #ccc;
    border-radius: 20px;
    -moz-border-radius: 20px;
    -webkit-border-radius: 20px;
	box-sizing: border-box;
	margin: 0 auto;
	margin-right: 20px;
}


.shop_box {
	background: #fff;
	padding: 15px;
	margin-bottom: 20px;
	border: solid 1px #ccc;
    border-radius: 8px;
}
.shop_box .title {
	font-size: 1.1em;
	font-weight: bold;
	border-bottom: solid 1px #ccc;
	margin-bottom: 10px;
}



/* =========================
 * info_table：シンプル設計
 * ========================= */
table.info_table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #e5e5e5;
  border-radius: 10px;
  overflow: hidden; /* 角丸を効かせる */
  background: #fff;
}

/* 行区切り */
table.info_table tr + tr th,
table.info_table tr + tr td{
  border-top: 1px solid #eee;
}

/* th/td共通 */
table.info_table th,
table.info_table td{
  padding: 12px 14px;
  vertical-align: top;
  font-size: 14px;
  line-height: 1.6;
}

/* 左列（見出し） */
table.info_table th{
  background: #fafafa;
  font-weight: 600;
  color: #222;
  white-space: nowrap; /* PCはラベルを1行優先 */
}

/* 右列（本文） */
table.info_table td{
  color: #333;
}

/* 長文が詰まる箇所の読みやすさ */
table.info_table td br{
  line-height: 1.9;
}

/* リンクがあれば自然に */
table.info_table a{
  color: inherit;
  font-weight: bold;
}

/* =========================
 * SP：あなたのHTMLは th行→td行に分割されるので、
 * 各セルをブロック化して縦に見せる
 * ========================= */
@media (max-width: 640px){
  table.info_table{
    border-radius: 8px;
  }

  table.info_table th,
  table.info_table td{
    display: block;
    width: 100% !important;
    box-sizing: border-box;
  }

  table.info_table th{
    white-space: normal;
    padding: 10px 12px;
  }

  table.info_table td{
    padding: 10px 12px 14px;
  }

  /* th行とtd行の境界を少し強調 */
  table.info_table tr + tr th,
  table.info_table tr + tr td{
    border-top: 1px solid #eaeaea;
  }
}




.saihan_ms {/* 再販関連CSS */
	position: relative;
    background: #3c8b22;
	font-size: 12px;
	font-weight: bold;
	color: #fff;
	padding: 0px 5px;
	border: 1px solid #DDD;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	display: inline-block;
}

.price_ms {/* 価格関連CSS */
	position: relative;
	top: -3px;
    background: red;
	font-weight: bold;
	color: #fff !important;
	padding: 0 10px;
	border: 1px solid #DDD;
	border-radius: 30px;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	display: inline-block;
}
.price_de_ms {/* 価格関連CSS */
	position: relative;
	top: -3px;
    background: #000;
	font-weight: bold;
	color: #fff !important;
	padding: 0 10px;
	border: 1px solid #DDD;
	border-radius: 30px;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	display: inline-block;
}
.price_re_ms {/* 価格関連CSS */
	position: relative;
	top: -3px;
    background: #333;
	font-weight: bold;
	color: #fff !important;
	padding: 0 10px;
	border: 1px solid #DDD;
	border-radius: 30px;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	display: inline-block;
}

.icon_ms0 {
	background: #000;
	position: relative;
	padding: 2px 7px;
	font-size: .9em;
	border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
	color: #fff !important;
}
.icon_ms1 {
	background: #135b8e;
	position: relative;
	padding: 2px 7px;
	font-size: .9em;
	border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
	color: #fff !important;
	white-space: nowrap;
}
.icon_ms2 {
	background: #3892d2;
	position: relative;
	padding: 2px 7px;
	font-size: .9em;
	border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
	color: #fff !important;
	white-space: nowrap;
}



.s_taten_link_box a {
	display: inline-block;
	margin-bottom: 5px;;
}




/* =========================
 * item_search: filter bar
 * ========================= */

.gbx-filterbar{
  display: flex;
  align-items: center;
  gap: 10px;
}

.gbx-filterbar__group{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

/* selectの操作性（既存 .f_size2 を壊さず上書き） */
.gbx-filterbar__select{
  min-height: 42px;          /* タップしやすい高さ */
  padding: 8px 34px 8px 12px;/* 右は矢印スペース */
  border: 1px solid #cfcfcf;
  border-radius: 8px;
  background: #fff;
  color: inherit;
  line-height: 1.2;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  box-shadow: 0 1px 0 rgba(0,0,0,.03);
}

/* 右側の▼を見やすく（疑似矢印） */
.gbx-filterbar__group{
  position: relative;
}
.gbx-filterbar__select{
  background-image: linear-gradient(45deg, transparent 50%, #666 50%),
                    linear-gradient(135deg, #666 50%, transparent 50%);
  background-position: calc(100% - 18px) 50%, calc(100% - 12px) 50%;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}

.gbx-filterbar__select:focus{
  outline: none;
  border-color: #8aaae5;
  box-shadow: 0 0 0 3px rgba(138,170,229,.25);
}

/* 表示件数など小さめにしたい場合 */
.gbx-filterbar__select--small{
  min-width: 140px;
}

/* スマホ：縦積みで幅を確保 */
@media (max-width: 640px){
  .gbx-filterbar{
    align-items: stretch;
  }
  .gbx-filterbar__group{
    width: 100%;
    gap: 8px;
  }
  .gbx-filterbar__select{
    width: 100%;
    min-height: 46px;
  }
}




/* --- ヘッダー部分の設定 --- */
.header {
	background: #5c4d3e;
	width: auto;
}
.header > .wrap {
	display: flex;
	align-items: center;
}
.h_logo {
	width: 350px;
}
.h_logo img {
	width: auto;
	height: 50px;
	padding-left: 10px;
}

.h_serch_form {
	width: 100%;
	padding-top: 5px;
}

.account_box {
	padding: 0 20px;
	box-sizing: border-box;
	width: 400px;
	border-right: solid 1px #fff;
	text-align: center;
}

.cart_box {
	width: 200px;
}
.cart_bt {
	position: relative;
	background: url(images/icon/cart_btn.png) no-repeat;
	background-size:  60px auto;
	background-position: 10px 5px;
	width: 150px;
	height: 70px;
	display: block;
}
.cart_su {
	position: absolute;
	top: 10px;
	left: 45px;
	width: 19px;
	height: 19px;
	background-color: #ff0000;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	font-weight: bold;
	text-align: center;
	color: #fff;
	font-size: .8em;
	line-height: 20px;
}
.cart_text {
	position: absolute;
	bottom: 10px;
	left: 65px;
	color: #fff;
	font-size: 1em;
	font-weight: bold;
}


/* --- ヘッダー部分の設定 --- */



/* --- 検索関連の設定 --- */
.b_serch_form {
	position: relative;
	width: 80%;
	margin: 0 auto;
}
.b_box {
	position: relative;
	top: -5px;
	width: 150px;
}

/* 全体ボックス */
.serch_box {
	display: flex;
	align-items: center;
	position: relative;
	width: 100%;
	max-width: 100%;
}

/* 投稿タイプセレクト */
.search-type-select {
	position: relative;
	top: -5px;
	background: #DDD;
	height: 40px;
	min-width: 200px;            /* 必要に応じて幅を調整 */
	padding: 0 10px;
	border: 1px solid #999;
	border-right: none;          /* テキストボックスと連結 */
	border-radius: 5px 0 0 5px;  /* 左端角丸 */
	font-size: 1em;
	box-sizing: border-box;
	appearance: auto;
	cursor: pointer;
}
.search-type-select option {
	background: #fff;
}

/* 入力ラッパー */
.search-input-wrap {
	position: relative;
	width: 100%;
}

/* テキストボックス */
.serch_textform {
	background: #fff;
	width: 100%;
	height: 40px;
	border: 1px solid #999;
	border-radius: 0;            /* 左の角丸削除 */
	padding: 4px 28px 4px 8px;   /* ×ボタン分の余白を右に確保 */
	font-size: 1em;
	box-sizing: border-box;
}

/* ×ボタン */
.search-clear {
	position: absolute;
	right: 8px;
	top: 40%;
	transform: translateY(-50%);
	width: 18px;
	height: 18px;
	line-height: 18px;
	text-align: center;
	font-size: 14px;
	color: #666;
	background: #ccc;
	border-radius: 50%;
	cursor: pointer;
	user-select: none;
	display: none; /* 入力時のみ表示（JS制御） */
}
.search-clear:hover {
	background: #e0e0e0;
	color: #333;
}

/* 検索ボタン */
#searchBtn {
	position: relative;
	top: -5px;
	background: url(images/icon/search_icon.png) #999 center no-repeat;
	background-size: 25px 25px;
	width: 100px;
	height: 40px;
	border: none;
	border-radius: 0 5px 5px 0;  /* 右端角丸 */
	cursor: pointer;
}

/* ホバー効果 */
#searchBtn:hover {
	background-color: #777;
}

/* 一体化見栄え（フォーカス時） */
.search-type-select:focus,
.serch_textform:focus,
#searchBtn:focus {
	outline: 2px solid rgba(0,0,0,0.25);
	outline-offset: 0;
}

/* 既存：送信ボックス系 */
#submit_box {
	text-align: right;
	padding-bottom: 30px;
}
#submit_box table {
	margin: 0 auto;
}
#submit_box button {
	position: relative;
	background: #fff;
}
/* --- 検索関連の設定 END --- */





/* --- TOPナビ --- */
.top_nav {
	display: flex;
	justify-content: space-between;
	background: #fff;
	padding: 5px 0;
	border-bottom: solid 1px #aaa;
}
.top_nav > .wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	flex: 1;
	gap: 20px;
}
.main_menu {
	margin-right: auto;
}

.nav_bt{
	position: relative;
	padding: 5px 15px;
    font-weight: bold;
	font-size: 1em;
	border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
	display: inline-block;
}

.nav1 {
	background: #804715;
	color: #fff;
	font-weight: bold;
}
.nav2 {
	background: #69b4fb;
	color: #fff;
	font-weight: bold;
}
.nav3 {
	background: #d1868b;
	color: #fff;
	font-weight: bold;
}
.nav4 {
	background: #eb9441;
	color: #fff;
	font-weight: bold;
}
.nav5 {
	background: #E92A2D;
	color: #fff;
	font-weight: bold;
}
.nav6 {
	background: #333333;
	color: #EBE200;
	font-weight: bold;
}
.nav7 {
	background: #89b1b1;
	color: #fff;
	font-weight: bold;
}
.nav8 {
	background: #b6b632;
	color: #fff;
	font-weight: bold;
}
.nav9 {
	background: #000;
	color: #ff0000;
	font-weight: bold;
}


#menu-btn {
	position: relative;
	display: flex;
	justify-content: space-between;
	padding: 5px 15px;
	padding-right: 60px;
	cursor: pointer;
	border-right: solid 1px #aaa;
}

#menu-btn .nav_img {
	background: url(images/icon/nav_bt.png) no-repeat;
	background-size: 30px auto;
	background-position: 0 0;
	width: 30px;
	height: 30px;
	align-items: center;
}
#menu-btn .nav_text {
	font-size: .9em;
	align-items: center;
	padding-top: 3px;
	padding-left: 10px;
}

#side-menu {
	position: fixed;
	top: 0;
	left: -350px; /* 非表示位置 */
	width: 350px;
	height: 100%;
	background: #fff;
	box-shadow: 2px 0 10px rgba(0,0,0,0.3);
	transition: left 0.3s ease;
	z-index: 100001;
	overflow-y: auto;
}
#side-menu .wrap {
	padding: 20px;
}

#overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.5);
	z-index: 1000;
}

/* ×ボタン（オーバーレイ左上） */
#close-btn {
	position: absolute;
	top: 20px;
	left: 360px;
	font-size: 30px;
	color: #fff;
	cursor: pointer;
	font-weight: bold;
}
/* 表示時 */
#side-menu.active {
	left: 0;
}

#overlay.active {
	display: block;
}


.side_login_st {
	background-color: #135b8e;
	padding: 5px 30px;
	align-items: center;
}
.side_login_st p {
	color: #fff;
	font-size: 1.2em;
	font-weight: bold;
	text-align: center;
}


/* --- TOPナビ END --- */


#content {
	position: relative;
	padding: 30px 0;
}


#content >.wrap {
  display: flex;
  flex-direction: row-reverse; /* ← 視覚的な左右を反転 */
}


.left {
  width: 300px;     /* 固定幅（左側に表示される） */
}

.right {
  flex: 1;          /* 残りを全て取る */
  padding-right: 15px;
}


.footer {
	position: relative;
	background: #cccccc;
	width: auto;
	border-top: solid 1px #777;
	padding: 30px;
}

.footer > .wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	flex: 1;
	gap: 20px;
}

.view-post-area {
	padding: 20px;
}

.view-post-area__inner {
	transform: none;
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
}

.view-post-area .shop_sam {
	flex: 0 0 auto;
	width: 192px;
	margin-right: 16px;
	margin-bottom: 16px;
	font-size: 0.8em;
}

.view-post-area .shop_sam .img_box img {
	width: 192px;
	height: 192px;
}

.view-post-area .shop_sam .staff_cart {
	gap: 6px;
}

.view-post-area .shop_sam .staff_cart .bt_def {
	padding: 5px 8px;
	font-size: 0.75em;
	line-height: 1.2;
}

.view-post-area .shop_sam .cart_bt_s {
	background-size: 20px auto;
	background-position: 4px 4px;
	padding: 5px 8px 5px 28px;
	font-size: 0.75em;
}

.view-post-area .shop_sam .zaiko_form_240 {
	width: 100%;
	padding: 6px;
}

.view-post-area .shop_sam .zaiko_grid {
	gap: 6px;
	margin-bottom: 6px;
}

.view-post-area .shop_sam .zaiko_label {
	font-size: 10px;
}

.view-post-area .shop_sam .zaiko_form_240 input[type="number"] {
	height: 30px;
	padding: 0 6px;
	font-size: 12px;
}

.view-post-area .shop_sam .zaiko_form_240 .zaiko_btn {
	height: 30px;
	font-size: 12px;
}

.view-post-area .shop_sam .s_icon_box {
	gap: 6px;
}

.view-post-area .shop_sam .s_icon_box p {
	margin: 0;
	font-size: 0.8em;
	line-height: 1.3;
}

.view-post-area .shop_sam .price_ms,
.view-post-area .shop_sam .price_de_ms,
.view-post-area .shop_sam .price_re_ms {
	top: -2px;
	padding: 0 6px;
	border-radius: 20px;
	font-size: 0.75em !important;
}

.view-post-area .shop_sam .s_icon_box .f_size3 {
	font-size: 1.2em !important;
}

.view-post-area .shop_sam .s_icon_box .f_size-1 {
	font-size: 0.7em !important;
}

.view-post-area .shop_sam .sam_own_bt {
	margin-bottom: 8px;
}

.view-post-area .shop_sam .sam_own_bt,
.view-post-area .shop_sam .sam_own_bt * {
	font-size: 12px !important;
	line-height: 1.3;
}

.view-post-area .shop_sam .sam_own_bt button,
.view-post-area .shop_sam .sam_own_bt a,
.view-post-area .shop_sam .sam_own_bt input,
.view-post-area .shop_sam .sam_own_bt select {
	padding: 4px 6px !important;
	min-height: 26px;
}

@media screen and (max-width: 799.98px) {
	.view-post-area {
		padding: 15px;
	}
}



.toTop {
	position: fixed;
	bottom: 20px;
	right: 20px;
}









.shop_sam {
	width: 240px;
	height: auto;
	vertical-align: top;
	display: inline-block;
	margin-right: 20px;
	margin-bottom: 20px;
}
.shop_sam .img_box {
	position: relative;
	margin-bottom: 10px;
}
.shop_sam .img_box img {
	background-color: #fff;
	width: 240px;
	height: 240px;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
	object-fit: contain;
}
.shop_sam .title {
	font-size: 1em;
	font-weight: 700;
	line-height: 1.3em;
	margin-bottom: 5px;
}

.s_icon_box{
	display: flex;
	justify-content: space-between; /* 左右に配置 */
	align-items: center;            /* 縦位置を揃える（任意） */
}








.side_menu_box {
	position: relative;
    background: #fff;
    border-radius: 8px;
    border: 1px solid #ddd;
}


.menu-list {
  list-style: none;
  padding: 0;
}

.menu-list li {
	position: relative;
}
.menu-list .cat_bt {
	position: relative;
	width: 100%;
	height: 50px;
	display: inline-block;
    text-decoration: none;
    font-size: 1em;
    color: #333;
	line-height: 50px;
	padding-left: 20px;
	border-bottom: solid 1px #bbb;
	box-sizing: border-box;
}
.border_non {
	border: none !important;
}
.menu-list .cat_bt:hover {
	background: #e0f0ff;
}
.menu-list .cat_bt::after {
  content: "›";
  position: absolute;
  right: 15px;          /* 右端からの余白 */
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.1em;
  color: #888;
}


.popup {
	position: absolute;
	left: 245px; /* ボタンの右横に表示 */
	top: -30px;
	background: #fff;
	padding: 20px;
	display: none;
	z-index: 100002;
	width: 800px;
	height: auto;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
}

li:hover .popup {
  display: block;
}

.popup .title {
	margin-bottom: 20px;
}

.popup .link_box {
	padding: 30px 0;
	text-align: center;
}



/* ===============================
 * cont_box内：3列固定＋600px幅対応（精査後）
 * =============================== */
.cont_box {
  overflow-y: auto;
  max-height: 400px;     /* 400px以上でスクロール */
  margin-bottom: 20px;
}

/* 3列固定（親 .popup 幅600px想定） */
.term-links-grid1{
  display: grid;
  grid-template-columns: repeat(1, 1fr); /* 列の調整部分 */
  gap: 8px 12px;
  width: 100%;
  box-sizing: border-box;
  padding-right: 6px;    /* スクロールバー余白 */
}
.term-links-grid2{
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 列の調整部分 */
  gap: 8px 12px;
  width: 100%;
  box-sizing: border-box;
  padding-right: 6px;    /* スクロールバー余白 */
}
.term-links-grid3{
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 列の調整部分 */
  gap: 8px 12px;
  width: 100%;
  box-sizing: border-box;
  padding-right: 6px;    /* スクロールバー余白 */
}
.term-links-grid_f{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 300px));
  gap: 8px 12px;
  width: 100%;
  box-sizing: border-box;
  padding-right: 6px;
  justify-content: center;
}

.term-link-item {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  background: #fafafa;
  border: 1px solid #ccc;
  border-radius: 5px;
  padding: 6px 8px;
  transition: background .15s ease, border-color .15s ease;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  min-height: 42px;
}

.term-link-item:hover {
  background: #f0f0f0;
  border-color: #999;
}

/* 疑似要素で右端に「>」マークを追加 */
.term-link-item::after {
  content: "›";               /* 見やすい右向き矢印（>よりデザイン的） */
  font-size: 1.1em;
  color: #888;
  margin-left: 6px;
  flex-shrink: 0;
}

/* ホバー時に色を変える */
.term-link-item:hover::after {
  color: #333;
}

/* 画像：30px固定（存在しない場合はPHP側で未出力） */
.term-link-item img{
  width: 100px;
  height: auto;
  object-fit: cover;
  border-radius: 4px;
  flex-shrink: 0;
}

/* ターム名（長文折り返しで横スクロール抑止） */
.term-link-name{
  display: block;
  font-size: .95em;
  color: #333;
  line-height: 1.4;
  overflow: hidden;
  word-break: break-all;   /* 英数字も折り返し可 */
  white-space: normal;     /* nowrap解除 */
  flex: 1 1 auto;
  min-width: 0;            /* flex内での縮小許可 */
}

/* スクロールバー（任意） */
.term-links-grid::-webkit-scrollbar{ width: 8px; }
.term-links-grid::-webkit-scrollbar-thumb{
  background-color: #bbb;
  border-radius: 4px;
}
.term-links-grid::-webkit-scrollbar-thumb:hover{ background-color: #999; }

/* 空表示時 */
.term-links-empty{
  margin: 10px 0;
  color: #666;
  font-size: .95em;
  text-align: center;
}

/* 年代＋ターム名の縦並び用 */
.term-link-text{
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1 1 auto;
  min-width: 0; /* 既存の折り返し制御を維持 */
}

/* 年代表示（任意調整） */
.term-link-year{
  font-size: .8em;
  color: #777;
  line-height: 1.2;
}




.side_links li {
	position: relative;
	padding-bottom: 10px;
}
.side_links li a {
	position: relative;
	background: #e0f0ff;
	width: 100%;
	padding: 10px;
	display: inline-block;
	border-radius: 5px;
	box-sizing: border-box;
}



.staff_cart {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  gap: 10px;
}



/* 在庫フォーム：240px最適化 */
.zaiko_form_240{
  width: 240px;
  padding: 8px;
  border: 1px solid #ddd;
  border-radius: 8px;
  background: #fafafa;
  box-sizing: border-box;
}

/* 2列グリッド */
.zaiko_grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 8px;
}

.zaiko_field{
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.zaiko_label{
  font-size: 11px;
  font-weight: 700;
  color: #333;
}

/* 入力：指で押しやすく・数字は右寄せ */
.zaiko_form_240 input[type="number"]{
  width: 100%;
  height: 34px;
  padding: 0 8px;
  border: 1px solid #bbb;
  border-radius: 6px;
  background: #fff;
  font-size: 14px;
  text-align: right;
  box-sizing: border-box;
}

.zaiko_form_240 input[type="number"]:focus{
  outline: none;
  border-color: #666;
  box-shadow: 0 0 0 2px rgba(0,0,0,.08);
}

/* 更新ボタン：全幅 */
.zaiko_form_240 .zaiko_btn{
  width: 100%;
  height: 36px;
  border-radius: 6px;
  border: 1px solid #666;
  background: #fff;
  font-weight: 700;
  cursor: pointer;
}

.zaiko_form_240 .zaiko_btn:hover{
  background: #f0f0f0;
}





/* taxonomy: 子カテゴリselect(左) + 件数select(右) */
.gbx-tax-toolbar{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.gbx-tax-toolbar__left{
  flex: 1 1 auto;
  min-width: 0; /* selectのはみ出し防止 */
}

.gbx-tax-toolbar__right{
  flex: 0 0 auto;
}

.gbx-tax-toolbar__select{
  box-sizing: border-box;
}

/* 右側は必要幅だけにしたい場合（既存のsmallクラス等が効いていれば不要） */
.gbx-tax-toolbar__right .gbx-tax-toolbar__select{
  width: auto;
}

/* 狭い幅は縦積み */
@media (max-width: 560px){
  .gbx-tax-toolbar{
    flex-direction: column;
    align-items: stretch;
  }
  .gbx-tax-toolbar__right .gbx-tax-toolbar__select{
    width: 100%;
  }
}




/* taxonomy/archive 共通：子カテゴリselect(左) + 件数select(右) */
.gbx-tax-toolbar{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.gbx-tax-toolbar__left{ flex: 1 1 auto; min-width: 0; }
.gbx-tax-toolbar__right{ flex: 0 0 auto; }
.gbx-tax-toolbar__select{ box-sizing: border-box; }
.gbx-tax-toolbar__right .gbx-tax-toolbar__select{ width: auto; }
@media (max-width: 560px){
  .gbx-tax-toolbar{ flex-direction: column; align-items: stretch; }
  .gbx-tax-toolbar__right .gbx-tax-toolbar__select{ width: 100%; }
}

/* ブログ一覧（カード） */
.blog_list_box{
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin: 12px 0 24px;
}

.blog_card{
  border: 1px solid #ddd;
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}

.blog_card__link{
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 10px;
  text-decoration: none;
  color: inherit;
}

.blog_card__thumb{
  width: 120px;
  height: 90px;
  background: #f3f3f3;
  overflow: hidden;
}
.blog_card__thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.blog_card__noimg{
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  color: #777;
}

.blog_card__body{
  padding: 10px 10px 10px 0;
  min-width: 0;
}
.blog_card__title{
  font-size: 1.1em;
  line-height: 1.3;
  font-weight: bold;
  margin: 0 0 6px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.blog_card__meta{
  font-size: 12px;
  color: #666;
  margin-bottom: 6px;
}
.blog_card__excerpt{
  font-size: 13px;
  color: #333;
  line-height: 1.5;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

@media (max-width: 560px){
  .blog_card__link{
    grid-template-columns: 110px 1fr;
  }
  .blog_card__thumb{
    width: 110px;
    height: 82px;
  }
}



.s_leftset_box {
  display: flex;
  align-items: center;
  justify-content: start;

  /* 2要素の間隔 */
  gap: 30px;
  margin-bottom: 10px;
}

.s_leftset_box>.box1 {
  /* 右側に表示 */
  order: 1;
  flex: 0 0 auto !important;
}
.s_leftset_box>.box2 {
  /* 左側に表示 */
  order: 2;
  flex: 0 0 auto !important;
}
.s_leftset_box>.box3 {
  /* 左側に表示 */
  order: 3;
  flex: 0 0 auto !important;
}
.s_leftset_box>.box4 {
  /* 左側に表示 */
  order: 4;
  flex: 0 0 auto !important;
}



.item_spec_box {
  display: flex;
  align-items: flex-start;

  /* 2要素の間隔 */
  gap: 30px;
}

.item_spec_box>.box1 {
  /* 右側に表示 */
  order: 1;

  flex: 0 0 65% !important;
  width: 65% !important;
}
.item_spec_box>.box2 {
  /* 左側に表示 */
  order: 2;

  /* 残り全部を使う */
  flex: 1 1 auto;
  width: auto;
}



.item_spec_box2 {
  display: flex;
  align-items: flex-start;

  /* 2要素の間隔 */
  gap: 30px;
}

.item_spec_box2>.box1 {
  /* 右側に表示 */
  order: 1;

  flex: 0 0 38% !important;
  width: 38% !important;
}
.item_spec_box2>.box2 {
  /* 左側に表示 */
  order: 2;

  /* 残り全部を使う */
  flex: 1 1 auto;
  width: auto;
}



.msinfo_link {
	padding: 20px;
	background: #fff;
	border: solid 1px #ccc;
}



.side_img {
    width: 105px;
    height: auto;
    margin-bottom: 5px;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    box-shadow: 0 2px 2px 0 rgb(0 0 0 / 14%), 0 1px 5px 0 rgb(0 0 0 / 12%), 0 3px 1px -2px rgb(0 0 0 / 20%);
}



/* --- 店舗紹介 --- */
.shop_info_box {
  display: flex;
  align-items: flex-start;

  /* 2要素の間隔 */
  gap: 40px;
}

.shop_info_box .box2 {
  /* 左側に表示 */
  order: 1;

  /* 残り全部を使う */
  flex: 1 1 auto;
  width: auto;
}

.shop_info_box .box1 {
  /* 右側に表示 */
  order: 2;

  /* 幅30%固定 */
  flex: 0 0 30%;
  width: 30%;
}


/* --- 店舗紹介　END --- */




/* ===============================
 * 月ナビ：tuki_nav 専用
 * =============================== */

.tuki_nav .mb30{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.tuki_nav .mb30 > a{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 44px;
  min-width: 72px;
  padding: 10px 14px;

  border: 1px solid #cfcfcf;
  border-radius: 10px;
  background: #fff;

  color: #111;
  text-decoration: none;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .02em;

  transition: background .15s ease, border-color .15s ease, transform .05s ease;
}

.tuki_nav .mb30 > a:hover{
  background: #f3f3f3;
  border-color: #999;
}

.tuki_nav .mb30 > a:focus-visible{
  outline: 3px solid rgba(0,0,0,.25);
  outline-offset: 2px;
  border-color: #666;
}

.tuki_nav .mb30 > a:active{
  transform: translateY(1px);
}

/* スマホ：3列 */
@media (max-width: 600px){
  .tuki_nav .mb30{
    gap: 8px;
  }
  .tuki_nav .mb30 > a{
    flex: 1 1 calc(33.333% - 8px);
    min-width: 0;
  }
}

/* さらに狭い端末：2列 */
@media (max-width: 380px){
  .tuki_nav .mb30 > a{
    flex-basis: calc(50% - 8px);
  }
}

/* 現在月（ハイライト） */
.tuki_nav .mb30 > a.is-current{
  background: #111;
  border-color: #111;
  color: #fff;
}

/* 現在月はhoverしても崩さない（任意） */
.tuki_nav .mb30 > a.is-current:hover{
  background: #111;
  border-color: #111;
}

.cart_img img {
	background-color: #fff;
	width: 150px;
	height: 150px;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
}




.index-section {
	margin-bottom: 30px;
}

.index-section .midashi_d2 {
	margin-bottom: 12px;
}

.index-scroll-row {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: 20px;
	overflow-x: auto;
	overflow-y: hidden;
	padding-bottom: 8px;
	-webkit-overflow-scrolling: touch;
}

.index-scroll-row > .shop_sam,
.index-scroll-row > .sakurei-card {
	flex: 0 0 auto;
}

.index-scroll-row > .shop_sam {
	margin-right: 0;
	margin-bottom: 0;
}

.index-scroll-row > .sakurei-card {
	width: 240px;
	max-width: 240px;
}

.index-scroll-row > .sakurei-card .sakurei_img_box,
.index-scroll-row > .sakurei-card .sakurei-thumb {
	width: 240px;
}

.index-scroll-row > .sakurei-card .sakurei-thumb img {
	width: 240px;
	height: 240px;
	object-fit: cover;
}

.latest-posts {
	display: flex;
	flex-wrap: nowrap;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.latest-post {
	flex: 0 0 auto;
	width: 200px;
}

.latest-post > a {
	display: flex;
	flex-direction: column;
	gap: 8px;
	color: inherit;
	text-decoration: none;
}

.latest-post .thumb {
	display: block;
	width: 200px;
	height: 200px;
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
}

.latest-post .thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.latest-post .title {
	font-weight: 700;
	line-height: 1.4;
	word-break: break-word;
}

.latest-post .date {
	font-size: 0.85em;
	color: #555;
	line-height: 1.3;
}

.gunpla_index_list{
  display: flex;
  gap: 20px;
  margin-bottom: 30px;
}

.gunpla_index_list .box1{
  flex: 0 0 300px; /* 固定300px */
}

.gunpla_index_list .img_box img {
	background-color: #fff;
	width: 300px;
	height: 300px;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
	object-fit: contain;
}

.gunpla_index_list .box2{
  flex: 1 1 auto;  /* 残り全部 */
  min-width: 0;    /* はみ出し防止（重要） */
}

.gunpla_index_list .box3{
  flex: 0 0 300px; /* 固定300px */
}






.gbx-own-bulkbar{
  display:flex; gap:.5rem; margin: 0; margin-bottom: 20px;
}
.gbx-own-bulkbar button{
  appearance:none; border:1px solid #cbd5e1; background:#fff; padding:.45rem .8rem; border-radius:.5rem; cursor:pointer;
  font-size: 105%; font-weight: 700;
}
.gbx-own-bulkbar button:hover{ background:#f8fafc; }




.sakurei-sort {
	padding-bottom: 20px;
	border-bottom: solid 1px #bbb;
}




/* ===============================
 * フォーム入力：クラス指定専用
 * =============================== */

input.form_input,
textarea.form_input,
select.form_input{
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;

  font-size: 16px;
  line-height: 1.6;
  padding: 10px 12px;

  color: #111;
  background: #fff;

  border: 1px solid #cfcfcf;
  border-radius: 6px;

  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

textarea.form_input{
  min-height: 120px;
  resize: vertical;
}

input.form_input:focus,
textarea.form_input:focus,
select.form_input:focus{
  outline: none;
  border-color: #666;
  box-shadow: 0 0 0 2px rgba(0,0,0,.08);
}





/* ===== Design System ===== */
:root{
  --c-bg:#fff; --c-card:#fff; --c-border:#e5e7eb; --c-muted:#6b7280; --c-text:#111827; --c-link:#1f2937;
  --c-badge-bg:#eef2ff; --c-badge-fg:#4338ca; --c-accent:#111827;
  --r-12:12px; --r-16:16px;
  --shadow:0 1px 2px rgba(0,0,0,.06), 0 8px 24px rgba(0,0,0,.06);
}
@media (prefers-color-scheme: dark){
  :root{
    --c-bg:#0b0f14; --c-card:#0e141a; --c-border:#1f2937; --c-muted:#9aa4b2; --c-text:#e5e7eb; --c-link:#e5e7eb;
    --c-badge-bg:#1e293b; --c-badge-fg:#93c5fd; --c-accent:#e5e7eb;
    --shadow:0 1px 2px rgba(0,0,0,.2),0 8px 24px rgba(0,0,0,.24);
  }
}

/* ===== コメントセクション ===== */
.gbx-cmts{ margin-top:2rem; color:var(--c-text); }
.gbx-cmts__title{ font-weight:700; margin-bottom:1rem; font-size:1.125rem; }
.gbx-cmts__list{ list-style:none; margin:0; padding:0; }

/* カード＋スレッド線 */
.gbx-cmt{ margin:0; }
.gbx-cmt + .gbx-cmt{ margin-top:12px; }
.gbx-cmt__card{
  background:var(--c-card); border:1px solid var(--c-border); border-radius:var(--r-16);
  box-shadow:var(--shadow); padding:12px 12px 12px 8px; position:relative; overflow:hidden;
}
.gbx-cmt__grid{ display:grid; grid-template-columns:48px 1fr; gap:12px; }
.gbx-cmt__rail{ position:absolute; left:24px; top:64px; bottom:12px; width:2px;
  background:linear-gradient(180deg, rgba(107,114,128,.25), rgba(107,114,128,0)); border-radius:2px; }

/* アバター */
.gbx-cmt__avatarwrap{ display:block; border-radius:9999px; outline:none; }
.gbx-cmt__avatar{ display:block; border-radius:9999px; }

/* ヘッダ */
.gbx-cmt__head{ display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
.gbx-cmt__meta{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.gbx-cmt__no{ font-weight:700; padding:.1rem .5rem; border-radius:999px; background:rgba(17,24,39,.05); color:var(--c-link); text-decoration:none; }
@media (prefers-color-scheme: dark){ .gbx-cmt__no{ background:rgba(229,231,235,.08); } }
.gbx-cmt__author{ font-weight:700; }
.gbx-cmt__badge{ font-size:12px; background:var(--c-badge-bg); color:var(--c-badge-fg); padding:.1rem .5rem; border-radius:999px; }
.gbx-cmt__dot{ color:var(--c-muted); }
.gbx-cmt__time{ color:var(--c-muted); font-size:12px; }

/* 本文 */
.gbx-cmt__body{ margin-top:.25rem; }
.gbx-cmt__pending{ color:#b45309; margin:0 0 .25rem; font-size:.9rem; }
.gbx-cmt__content{ line-height:1.7; font-size:1rem; word-wrap:break-word; }

/* 操作（#comments 内でスコープ） */
#comments.gbx-cmts .gbx-cmt__actions{ display:flex; gap:8px; flex-wrap:wrap; }
#comments.gbx-cmts .gbx-cmt__actions a{
  display:inline-flex; align-items:center; gap:6px; padding:.35rem .6rem;
  border-radius:999px; border:1px solid var(--c-border); text-decoration:none; color:var(--c-link); font-size:.875rem;
}
#comments.gbx-cmts .gbx-cmt__actions a:hover{ background:rgba(17,24,39,.04); }
#comments.gbx-cmts .gbx-cmt__actions a:focus-visible{ outline:2px solid var(--c-accent); outline-offset:2px; }

/* いいね／通報ボタン（#comments 内でスコープ） */
#comments.gbx-cmts .gbx-cmt__actions .gbx-cmt__like,
#comments.gbx-cmts .gbx-cmt__actions .gbx-cmt__report{
  display:inline-flex; align-items:center; gap:6px; padding:.35rem .6rem;
  border-radius:999px; border:1px solid var(--c-border);
  background:var(--c-card); color:var(--c-link); cursor:pointer; font-size:.875rem;
}
#comments.gbx-cmts .gbx-cmt__actions .gbx-cmt__like:hover,
#comments.gbx-cmts .gbx-cmt__actions .gbx-cmt__report:hover{ background:rgba(17,24,39,.04); }
#comments.gbx-cmts .gbx-like__num, #comments.gbx-cmts .gbx-report__num{ font-weight:700; }
#comments.gbx-cmts .gbx-cmt__like.is-liked{ border-color:#4f46e5; color:#4f46e5; }

/* ページャ */
.gbx-cmts__pager{ margin-top:12px; }

/* 入力フォーム（中央寄せ PC70% / SP100%） */
.gbx-cmtform{ margin-top:24px; border-top:1px solid var(--c-border); padding-top:16px; }
.gbx-cmtform__form{ width:70%; margin-left:auto; margin-right:auto; }
@media (max-width:800px){ .gbx-cmtform__form{ width:100%; } }
.gbx-cmtform__form p{ margin:0 0 12px; }
.gbx-cmtform__form label{ display:block; font-weight:600; margin-bottom:6px; }
.gbx-cmtform__form input,
.gbx-cmtform__form textarea{
  width:100% !important; max-width:100% !important; box-sizing:border-box;
  background:var(--c-card); color:var(--c-text); border:1px solid var(--c-border); border-radius:12px; padding:10px 12px; line-height:1.6;
}
.gbx-cmtform__form input:focus, .gbx-cmtform__form textarea:focus{ outline:2px solid var(--c-accent); outline-offset:2px; }
.gbx-cmtform__hint{ display:inline-block; margin-top:6px; color:var(--c-muted); }
.gbx-cmtform__count{ float:right; margin-top:6px; color:var(--c-muted); }

/* Cookie 同意行（簡略） */
.gbx-cmtform__cookies{
  align-items:center; gap:8px; margin:8px 0 0; color:var(--c-muted); font-size:.95rem; text-align: center !important;
}
.gbx-cmtform__cookies input[type="checkbox"]{ width:18px !important; height:18px !important; accent-color:var(--c-accent); flex:0 0 auto; display: inline-block !important; }
.gbx-cmtform__cookies label{ margin:0; line-height:1.4; display: inline-block !important; font-size: 1.3em; }

/* ===== ボタンのグローバル衝突対策 ===== */
/* 1) もし他所で .gbx-btn / .gbx-btn--primary が使われていても崩さない中立値 */
.gbx-btn{ cursor:auto; } /* 初期化（念のため） */
.gbx-btn--primary{ width:auto; display:inline-block; background:initial; color:inherit; border:initial; padding:initial; border-radius:initial; font-weight:inherit; }

/* 2) コメント欄内だけの見た目（ここで改めて上書き） */
#comments.gbx-cmts .gbx-btn{ cursor:pointer; }
#comments.gbx-cmts .gbx-btn--primary{
  margin-top:8px; background:var(--c-accent); color:#fff; border:0;
  padding:.7rem 1rem; border-radius:12px; font-weight:700; width:auto;
}
#comments.gbx-cmts .gbx-btn--primary:hover{ opacity:.92; }
#comments.gbx-cmts .gbx-btn--primary:focus-visible{ outline:2px solid var(--c-accent); outline-offset:2px; }
/* 送信ボタンだけ横いっぱい */
#comments.gbx-cmts .gbx-cmtform .gbx-cmtform__form .gbx-btn--primary{ width:100%; display:block; }
/* オプション：小サイズ */
#comments.gbx-cmts .gbx-btn--tiny{ padding:.35rem .6rem; font-size:.8125rem; border-radius:10px; }

/* 通報モーダル */
.gbx-report[hidden]{ display:none; }
.gbx-report{ position:fixed; inset:0; z-index:999; display:grid; place-items:center; }
.gbx-report__backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.35); z-index:1; }
.gbx-report__dialog{
  position:relative; z-index:2; background:var(--c-card); color:var(--c-text);
  border:1px solid var(--c-border); border-radius:16px; box-shadow:var(--shadow);
  padding:16px; width:min(540px, 92vw);
}
.gbx-report__dialog h3{ margin:0 0 8px; font-size:1.05rem; font-weight:700; }
.gbx-report__desc{ margin:0 0 8px; color:var(--c-muted); }
#gbx-report-reason{
  width:100%; border:1px solid var(--c-border); border-radius:12px; background:var(--c-card);
  color:var(--c-text); padding:10px 12px; line-height:1.6; box-sizing:border-box;
}
.gbx-report__actions{ margin-top:10px; display:flex; gap:8px; justify-content:flex-end; }

/* 自分のコメント・投稿者の視覚的強調（任意） */
.bypostauthor .gbx-cmt__card{ border-color:rgba(67,56,202,.5); }
.comment-author-admin .gbx-cmt__card{ border-color:rgba(59,130,246,.45); }

/* （任意）絵文字フォントのフォールバック */
.gbx-cmt__content, .gbx-cmtform__form textarea, .gbx-cmtform__form input{
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,
               "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji",sans-serif;
}

/* レスポンシブ最適化 */
@media (max-width: 480px){
  .gbx-cmt__grid{ grid-template-columns:40px 1fr; gap:10px; }
  .gbx-cmt__no{ display:none; }
  .gbx-cmt__content{ font-size:.975rem; }
}

/* ===== 追記：フォロー系ボタンはグローバルで“プライマリ”に戻す ===== */
.gbx-btn--primary[data-gbx-follow]{
  background: var(--c-accent);
  color: #fff;
  border: 0;
  padding: .55rem 1rem;
  border-radius: 12px;
  font-weight: 700;
  width: auto;          /* コメント欄の送信のように100%にはしない */
  display: inline-block;
  cursor: pointer;
}
.gbx-btn--primary[data-gbx-follow]:hover{ background: #2563eb; }
.gbx-btn--primary[data-gbx-follow]:focus-visible{
  outline: 2px solid var(--c-accent);
  outline-offset: 2px;
}
/* 無効状態（disabled/aria-disabled） */
.gbx-btn--primary[data-gbx-follow][disabled],
.gbx-btn--primary[data-gbx-follow][aria-disabled="true"]{
  opacity: .6;
  cursor: not-allowed;
}

/* “あなたです”表示など、自己ボタンの見た目を少し落ち着かせたい場合（任意） */
.gbx-btn--primary[data-gbx-follow].is-self{
  background: linear-gradient(0deg, rgba(0,0,0,.04), rgba(0,0,0,.04)) , var(--c-accent);
}

/* 固定ページフォーム：関連商品サジェスト */
.rcs-swk-rel { margin: 12px 0 16px; }
.rcs-swk-rel__box { position: relative; }
.rcs-swk-rel__input {
  width:100%; padding:.6rem .7rem; border:1px solid #ccc; border-radius:8px; font-size:14px; box-sizing:border-box;
}
.rcs-swk-rel__list{
  position:absolute; left:0; right:0; top:100%; z-index:9990;
  background:#fff; border:1px solid #ddd; border-radius:8px; margin-top:6px;
  max-height:260px; overflow:auto; list-style:none; padding:6px 0;
  box-shadow:0 6px 18px rgba(0,0,0,.12);
}
.rcs-swk-rel__item{ padding:.5rem .75rem; cursor:pointer; display:flex; gap:.5rem; }
.rcs-swk-rel__item:hover{ background:#f6f7fb; }
.rcs-swk-rel__item-title{ font-weight:600; }
.rcs-swk-rel__item-type{ color:#777; font-size:12px; }


/* RCS SWK - scoped */
.rcs-swk{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Hiragino Sans","Noto Sans JP","Helvetica Neue",Arial,sans-serif;color:#111}
.rcs-swk-form {
  max-width: 80%;
  margin: 0 auto; /* 中央寄せ */
}


/* カード内の著者ボックス（一覧・詳細と構造合わせ） */
.rcs-swk-authorbox{
  display:grid; grid-template-columns:auto 1fr; gap:10px; align-items:center;
  margin:.35rem 0 .5rem;
}
.rcs-swk-avatar{
  width:40px; height:40px; border-radius:999px; object-fit:cover; display:block; background:#f1f1f1;
}
.rcs-swk-authorwrap{ display:flex; flex-direction:column; gap:2px; }
.rcs-swk-authorname{ font-size:13px; font-weight:600; line-height:1.1; }
.rcs-swk-date{ font-size:12px; color:#666; }


/* Toggle button centered & larger */
.rcs-swk-toggle-wrap{display:flex;justify-content:center;margin:10px 0 14px}
.rcs-swk--form .rcs-swk-toggle{padding:16px 28px;font-size:1.15rem;border:0;border-radius:12px;background:#111;color:#fff;cursor:pointer}
.rcs-swk--form .rcs-swk-form.is-collapsed{display:none}

.rcs-swk--form .rcs-swk-form{border:1px dashed #cbd5e1;border-radius:12px;padding:14px;background:#fafafa}
.rcs-swk-field{margin-bottom:14px}
.rcs-swk-field--row{display:flex;gap:12px}
.rcs-swk-label{display:block;font-size:.9rem;margin-bottom:6px;font-weight:600}
.rcs-swk-input,.rcs-swk-textarea{width:100%;box-sizing:border-box;border:1px solid #d1d5db;border-radius:10px;padding:10px;font-size:14px;background:#fff}
.rcs-swk-textarea{min-height:120px;resize:vertical}
.rcs-swk-upload{border:2px dashed #cbd5e1;border-radius:12px;background:#fff;padding:16px;text-align:center;cursor:pointer}
.rcs-swk-upload.dragover{background:#eef6ff;border-color:#60a5fa}
.rcs-swk-upload__hint{font-size:.85rem;color:#555}
.rcs-swk-previews{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.rcs-swk-previews .rcs-swk-thumbwrap{position:relative}
.rcs-swk-previews img{width:80px;height:80px;object-fit:cover;border-radius:8px;border:1px solid #e5e7eb}
.rcs-swk-previews .rcs-swk-del{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;border:0;background:#ff4d6d;color:#fff;cursor:pointer;font-size:.8rem;line-height:22px;text-align:center}
.rcs-swk-previews .rcs-swk-rot{right:20px;background:#2563eb}

.rcs-swk-submit{justify-content:flex-end;align-items:center;gap:10px}
.rcs-swk-btn{appearance:none;border:0;border-radius:10px;background:#2563eb;color:#fff;padding:10px 16px;font-size:.95rem;cursor:pointer}
.rcs-swk-msg{font-size:.9rem;color:#155724}

/* Grid */
.rcs-swk--grid .rcs-swk-grid{display:grid;gap:16px}
.rcs-swk--grid.cols-5 .rcs-swk-grid{grid-template-columns:repeat(5,1fr)}
.rcs-swk--grid.cols-4 .rcs-swk-grid{grid-template-columns:repeat(4,1fr)}
.rcs-swk--grid.cols-3 .rcs-swk-grid{grid-template-columns:repeat(3,1fr)}
.rcs-swk--grid.cols-2 .rcs-swk-grid{grid-template-columns:repeat(2,1fr)}
@media(max-width:1200px){.rcs-swk--grid .rcs-swk-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.rcs-swk--grid .rcs-swk-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.rcs-swk--grid .rcs-swk-grid{grid-template-columns:1fr}}

/* Slider */
.rcs-swk--slider{position:relative}
.rcs-swk-slider{position:relative}
.rcs-swk-track{display:flex;gap:16px;overflow:hidden;scroll-behavior:smooth}
.rcs-swk--slider .rcs-swk-card{flex:0 0 calc((100% - (var(--gap,16px) * (var(--cols,4) - 1))) / var(--cols,4));}
.rcs-swk-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;border:0;background:#111;color:#fff;width:38px;height:38px;border-radius:50%;cursor:pointer;opacity:.9}
.rcs-swk-prev{left:-6px}
.rcs-swk-next{right:-6px}

.rcs-swk-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.rcs-swk-thumb{position:relative;display:block;width:100%;aspect-ratio:16/9;background:#f4f4f4;overflow:hidden}
.rcs-swk-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.rcs-swk-noimg{display:flex;align-items:center;justify-content:center;height:100%;color:#aaa;font-size:.9rem}
.rcs-swk-body{padding:12px}
.rcs-swk-h3{font-size:1rem;margin:0 0 6px}
.rcs-swk-h3 a{text-decoration:none;color:#111}

/* 解説 2行省略（line-clamp） */
.rcs-swk-ex{
  font-size:.9rem;color:#333;margin:0 0 10px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; text-overflow:ellipsis;
}

.rcs-swk-meta{display:flex;align-items:center;gap:6px;font-size:.85rem;color:#555}
.rcs-swk-mini{margin-top:6px; display:flex; align-items:center; gap:8px; font-size:.8rem; color:#444}
.rcs-swk-like{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border:1px solid #e5e7eb;border-radius:999px;background:#fff;cursor:pointer}
.rcs-swk-like[aria-pressed="true"], .rcs-swk-like.is-liked{background:#ffe6ea;border-color:#ffafbf}
.rcs-swk-like-icon{font-size:.85rem;line-height:1}
.rcs-swk-like-count{font-variant-numeric:tabular-nums}
.rcs-swk-mini-sep{opacity:.6}




/* === v1.3.2-r1: responsive tuning & slider snap === */
@media (max-width: 800px){
  .rcs-swk--grid.cols-5 .rcs-swk-grid{grid-template-columns:repeat(3,1fr)}
  .rcs-swk--grid.cols-4 .rcs-swk-grid{grid-template-columns:repeat(2,1fr)}
  .rcs-swk--grid.cols-3 .rcs-swk-grid{grid-template-columns:repeat(2,1fr)}
  .rcs-swk--grid.cols-2 .rcs-swk-grid{grid-template-columns:repeat(1,1fr)}
  .rcs-swk--grid.cols-1 .rcs-swk-grid{grid-template-columns:repeat(1,1fr)}
  .rcs-swk-h3{font-size:.95rem}
  .rcs-swk-ex{font-size:.85rem}
  .rcs-swk-meta{font-size:.8rem}
  .rcs-swk-mini{font-size:.78rem}
  .rcs-swk--form .rcs-swk-toggle{font-size:1rem;padding:14px 22px}
}

/* Snap each card at start */
.rcs-swk-track{scroll-snap-type:x mandatory}
.rcs-swk-track .rcs-swk-card{scroll-snap-align:start}


/* === v1.3.2-r3: robust mobile columns + fonts === */
@media (max-width: 800px){
  /* Grid shortcode (class-based cols) */
  .rcs-swk .rcs-swk--grid.cols-5 .rcs-swk-grid{grid-template-columns:repeat(3,1fr) !important}
  .rcs-swk .rcs-swk--grid.cols-4 .rcs-swk-grid{grid-template-columns:repeat(2,1fr) !important}
  .rcs-swk .rcs-swk--grid.cols-3 .rcs-swk-grid{grid-template-columns:repeat(2,1fr) !important}
  .rcs-swk .rcs-swk--grid.cols-2 .rcs-swk-grid{grid-template-columns:repeat(1,1fr) !important}
  .rcs-swk .rcs-swk--grid.cols-1 .rcs-swk-grid{grid-template-columns:repeat(1,1fr) !important}

  /* Slider shortcode (attribute-based cols) */
  .rcs-swk [data-rcs-swk-slider][data-cols="5"] .rcs-swk-grid{grid-template-columns:repeat(3,1fr) !important}
  .rcs-swk [data-rcs-swk-slider][data-cols="4"] .rcs-swk-grid{grid-template-columns:repeat(2,1fr) !important}
  .rcs-swk [data-rcs-swk-slider][data-cols="3"] .rcs-swk-grid{grid-template-columns:repeat(2,1fr) !important}
  .rcs-swk [data-rcs-swk-slider][data-cols="2"] .rcs-swk-grid{grid-template-columns:repeat(1,1fr) !important}
  .rcs-swk [data-rcs-swk-slider][data-cols="1"] .rcs-swk-grid{grid-template-columns:repeat(1,1fr) !important}

  /* Font tuning on mobile */
  .rcs-swk .rcs-swk-h3{font-size:0.95rem !important; line-height:1.35}
  .rcs-swk .rcs-swk-ex{font-size:0.85rem !important; line-height:1.5}
  .rcs-swk .rcs-swk-meta{font-size:0.8rem !important}
  .rcs-swk .rcs-swk-mini{font-size:0.78rem !important}
  
  .rcs-swk-form {
    max-width: 100%;
    width: 100%;
    padding: 0 10px; /* 端がくっつかないように余白 */
    box-sizing: border-box;
   }
}
/* viewport 800 aligned */


/* シェアボタンの基本 */
.domestic-share{ display:flex; gap:8px; align-items:center; margin:0; }
.domestic-share .ds-btn{ display:inline-flex; align-items:center; gap:8px; padding:8px 10px; border-radius:8px; text-decoration:none; font-size:14px; line-height:1; border:1px solid rgba(0,0,0,0.06); background:white; box-shadow:0 1px 2px rgba(0,0,0,0.03); color:inherit; transition:transform .08s ease, box-shadow .08s ease; }
.domestic-share .ds-btn svg{ display:block; width:18px; height:18px; }

/* 色分け（好みで調整） */
.domestic-share .ds-x{ color:#1d9bf0; border-color: rgba(29,155,240,0.12); }
.domestic-share .ds-fb{ color:#1877f2; border-color: rgba(24,119,242,0.12); }
.domestic-share .ds-line{ color:#00c300; border-color: rgba(0,195,0,0.12); }
.domestic-share .ds-mail{ color:#555; border-color: rgba(0,0,0,0.06); }

/* hover */
.domestic-share .ds-btn:hover{ transform: translateY(-2px); box-shadow: 0 6px 18px rgba(0,0,0,0.06); }

/* ラベル（必要なら非表示にできる） */
.domestic-share .ds-label{ display:none; } /* アイコンだけで良ければ hidden、表示したければ block に */
@media (min-width: 900px) {
  .domestic-share .ds-label{ display:inline-block; font-size:13px; color:inherit; }
}



.gbx-badge{display:inline-block;margin-left:6px;padding:2px 6px;border-radius:999px;font-size:12px;background:#eef2ff}
.gbx-badge-main{background:#fde68a}
.gbx-badge-count{background:#e0f2fe}


/* カード本体 */
.eventListItem{
  width: 60%; min-width: 600px;
  margin: 10px auto !important;
  position:relative; display:flex; gap:16px; align-items:flex-start;
  padding:14px 44px 14px 16px; margin:10px 0;
  border:1px solid #e5e7eb; border-radius:12px; background:#fff;
  text-decoration:none; color:inherit;
}
.eventListItem:hover{ box-shadow:0 8px 20px rgba(0,0,0,.06); border-color:#dbe0e6 }

/* 左側：日付・時間・県 */
.eventListItem .left{ min-width:190px; display:flex }
.eventListItem .eventDate .date{ font-weight:700; font-size:1.15rem; line-height:1.15 }
.eventListItem .eventDate .day{ letter-spacing:.5px }
.eventListItem .eventDate .time{ margin-left:8px; font-size:.95rem; color:#333 }
.eventListItem .eventDate .pref{
  display:inline-block; margin-top:4px; padding:2px 8px; border-radius:999px;
  background:#f3f4f6; color:#374151; font-size:.85rem;
}

/* 右側：タイトル・詳細・住所 */
.eventListItem .right{ flex:1 1 auto }
.eventListItem .title{ font-weight:700; font-size:1.05rem; margin-bottom:6px; color:#111827 }
.eventListItem .detail{ font-size:.95rem; color:#374151 }
.eventListItem .detail .regulation{ font-weight:600 }
.eventListItem .address-box{ margin-top:6px; color:#4b5563; line-height:1.4 }
.eventListItem .shop{ font-weight:600; margin-bottom:2px }

/* 右端の山括弧（＞） */
.eventListItem .chevron{
  position:absolute; right:14px; top:50%; transform:translateY(-50%);
  font-size:20px; color:#9ca3af;
}

/* モバイル調整 */
@media (max-width:640px){
  .eventListItem{ flex-direction:column; padding:12px 38px 12px 12px }
  .eventListItem .left{ min-width:auto }
  .eventListItem .eventDate .time{ display:inline-block; margin-left:6px }
  .eventListItem .eventDate .pref{ margin-top:6px }
}


.gbx-pager{display:flex;gap:12px;align-items:center;justify-content:center;margin:14px 0}
.gbx-pager a{padding:.4rem .7rem;border:1px solid #d1d5db;border-radius:.5rem;text-decoration:none;background:#fff;color:#111}
.gbx-pager .disabled{padding:.4rem .7rem;border:1px dashed #e5e7eb;border-radius:.5rem;color:#9ca3af}
.gbx-pager .page-now{min-width:90px;text-align:center;color:#374151}


/* ===== Pokeka Single (gbx_pokeka_event) ===== */
body.single-gbx_pokeka_event {
  --gbx-bg: #fff;
  --gbx-text: #111827;
  --gbx-sub: #374151;
  --gbx-muted: #6b7280;
  --gbx-border: #e5e7eb;
  --gbx-pill: #f3f4f6;
  --gbx-head: #f8fafc;
  --gbx-gold: #f59e0b;
  --gbx-silver: #9ca3af;
  --gbx-bronze: #d97706;
  --gbx-link: #2563eb;
}

/* = Header block (event info) = */
.single-gbx_pokeka_event .eventListItem{
  width: 60%; min-width: 600px;
  margin: 10px auto !important;
  display:flex; gap:16px; align-items:flex-start;
  padding:16px; margin:12px 0 18px;
  background:var(--gbx-bg); color:var(--gbx-text);
  border:1px solid var(--gbx-border); border-radius:12px;
  box-shadow: 0 1px 0 rgba(17,24,39,.03);
}
.single-gbx_pokeka_event .eventListItem .left{ min-width:200px }
.single-gbx_pokeka_event .eventDate .date{ font-weight:700; font-size:1.15rem; line-height:1.2 }
.single-gbx_pokeka_event .eventDate .time{ margin-left:8px; color:var(--gbx-sub) }
.single-gbx_pokeka_event .eventDate .pref{
  display:inline-block; margin-top:6px; padding:2px 10px;
  border-radius:999px; background:var(--gbx-pill); color:var(--gbx-text);
  font-size:.9rem;
}
.single-gbx_pokeka_event .eventListItem .right{ flex:1 1 auto }
.single-gbx_pokeka_event .eventListItem .title{ font-weight:800; font-size:1.2rem; margin:2px 0 8px }
.single-gbx_pokeka_event .eventListItem .detail{ color:var(--gbx-sub); font-size:.95rem }
.single-gbx_pokeka_event .eventListItem .detail > span + span{ margin-left:.6em }
.single-gbx_pokeka_event .address-box{ margin-top:8px; color:var(--gbx-muted); font-size:.95rem }
.single-gbx_pokeka_event .address-box .shop{ font-weight:600; color:var(--gbx-text) }
.single-gbx_pokeka_event .address-box .building{ white-space:normal; word-break:break-word }

/* = Rank table = */
.single-gbx_pokeka_event .rankSection{ margin:8px 0 24px; overflow-x:auto }
.single-gbx_pokeka_event .c-rankTable{
  width:60%; min-width:500px; border-collapse:collapse;
  background:var(--gbx-bg); border:1px solid var(--gbx-border);
  border-radius:10px; overflow:hidden;
  margin: 0 auto;
}
.single-gbx_pokeka_event .c-rankTable thead th{
  background:var(--gbx-head); text-align:left; font-weight:700;
  padding:10px 12px; font-size:.95rem; color:var(--gbx-text);
  border-bottom:1px solid var(--gbx-border);
}
.single-gbx_pokeka_event .c-rankTable td{
  padding:10px 12px; border-bottom:1px solid var(--gbx-border);
  vertical-align:middle; color:var(--gbx-text);
}
.single-gbx_pokeka_event .c-rankTable tbody tr:nth-child(odd){ background:#fbfdff }

/* rank badge */
.single-gbx_pokeka_event td.rank span{
  display:inline-block; min-width:2.1em; text-align:center; font-weight:800;
  padding:.1em .4em; border-radius:8px; background:var(--gbx-pill);
}
.single-gbx_pokeka_event td.rank.rank-1 span{ background:rgba(245,158,11,.15); color:var(--gbx-gold) }
.single-gbx_pokeka_event td.rank.rank-2 span{ background:rgba(156,163,175,.18); color:var(--gbx-silver) }
.single-gbx_pokeka_event td.rank.rank-3 span{ background:rgba(217,119,6,.15);  color:var(--gbx-bronze) }

.single-gbx_pokeka_event td.point{ color:var(--gbx-sub) }
.single-gbx_pokeka_event td.user .user-name{ font-weight:700; margin-right:.4em }
.single-gbx_pokeka_event td.user .user-id,
.single-gbx_pokeka_event td.user .user-area{ color:var(--gbx-muted); margin-left:.4em }
.single-gbx_pokeka_event td.area{ color:var(--gbx-text) }

/* deck link → button-ish */
.single-gbx_pokeka_event .deck-link{
  display:inline-block; text-decoration:none; color:#fff; background:var(--gbx-link);
  padding:.45em .8em; border-radius:8px; font-weight:700; line-height:1.1;
  box-shadow: 0 1px 0 rgba(37,99,235,.2);
}
.single-gbx_pokeka_event .deck-link:hover{ filter:brightness(0.95) }

/* utility: hide <br> on desktop, show on sp like official */
.single-gbx_pokeka_event .u-display-sp{ display:none }
@media (max-width: 768px){
  .single-gbx_pokeka_event .eventListItem{ flex-direction:column; gap:10px; padding:14px }
  .single-gbx_pokeka_event .eventListItem .left{ min-width:auto }
  .single-gbx_pokeka_event .eventDate .date{ font-size:1.05rem }
  .single-gbx_pokeka_event .eventListItem .title{ font-size:1.05rem }
  .single-gbx_pokeka_event .u-display-sp{ display:inline }
  .single-gbx_pokeka_event .c-rankTable{ min-width:600px }
}

/* dark mode (任意) */
@media (prefers-color-scheme: dark){
  body.single-gbx_pokeka_event{
    --gbx-bg:#0b0e15; --gbx-text:#e5e7eb; --gbx-sub:#c7cbd1; --gbx-muted:#9aa0a6;
    --gbx-border:#1f2937; --gbx-pill:#111827; --gbx-head:#0f1420;
  }
  .single-gbx_pokeka_event .deck-link{ color:#0b0e15 }
}



/* ===== Breadcrumb ===== */
.breadcrumb{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;                    /* 余白 */
  font-size:.92rem;
  line-height:1.6;
  color:#6b7280;              /* グレー */
}
.breadcrumb a{
  color:#2563eb;              /* ブルー */
  text-decoration:none;
  transition:opacity .15s ease;
}
.breadcrumb a:hover{ opacity:.8; text-decoration:underline; }

/* 区切り（›）を CSS で自動挿入 */
.breadcrumb a + a::before,
.breadcrumb a + span::before{
  content:"›";
  color:#9ca3af;              /* 区切りは薄め */
  margin:0 6px 0 2px;
}

/* 現在地は強調＆黒寄り */
.breadcrumb [aria-current="page"]{
  color:#111827;
  font-weight:600;
}

/* モバイルは中間を省略（例：トップ › … › 詳細） */
@media (max-width: 480px){
  .breadcrumb a:nth-of-type(2){
    display:none;
  }
  .breadcrumb a:nth-of-type(1)::after{
    content:"…";
    color:#9ca3af;
    margin:0 6px;
  }
}

.breadcrumb{
  display:flex; align-items:center; flex-wrap:wrap; gap:6px;
  font-size:.92rem; line-height:1.6; color:#6b7280;
}
.breadcrumb a{ color:#2563eb; text-decoration:none }
.breadcrumb a:hover{ text-decoration:underline }
.breadcrumb .sep{ color:#9ca3af; margin:0 4px }  /* 矢印は非リンク */
.breadcrumb [aria-current="page"]{ color:#111827; font-weight:600 }

.img_box {
  position: relative;
}

.card-meta .card-qty{
  position: absolute; bottom: 10px; right: 10px;
  display:inline-block; margin-top:6px; padding:2px 10px;
  border-radius:999px; background: #1877f2; color: #fff;
  font-size:.9rem; font-weight: 700;
  z-index: 999 !important;
  pointer-events: none;
}
@media screen and (max-device-width: 799.98px){ .card-meta .card-qty{font-size:2rem !important;}; }



@media screen and (max-device-width: 799.98px){ 
  .gbx-btn {font-size: 1.5rem !important; font-weight: 700;}
  #gbx_deck_desc {font-size: 1.5rem !important;}
  .sakurei-sort a {font-size: 1.3rem !important;}
  .sakurei-title a {font-size: 1.3rem !important; font-weight: 700;}
  .sakurei-authorname {font-size: 1.2rem !important;}
  .sakurei-date {font-size: 1.2rem !important;}
  .sakurei-related {font-size: 1.2rem !important;}
  .item_list_box2 .title { margin-bottom: 10px;}
  .domestic-share .ds-btn svg { width: 25px; height: 25px;}
  .gbx-qa__btn {font-size: 1.5rem !important; font-weight: 700;}
  .gbx-qa__field input[type=text], .gbx-qa__field input[type=email], .gbx-qa__field textarea  {font-size: 1.5rem !important; font-weight: 700;}
  .rcs-label {font-size: 1.2rem !important;}
  .rcs-percent {font-size: 1.2rem !important;}
  .rcs-count-lg {font-size: 1.2rem !important;}
  .rcs-stars-input {font-size: 2rem !important;}
  #respond.rcs-respond label {font-size: 1.2rem !important;}
  .eventListItem{ width: 100% !important; box-sizing: border-box;}
  .single-gbx_pokeka_event .c-rankTable{width: 100% !important; box-sizing: border-box;}
  .single-gbx_pokeka_event .eventListItem .title {font-size: 1.5rem !important;}
  .single-gbx_pokeka_event .address-box .shop span {font-size: 1rem !important;}
  .eventListItem .title {font-size: 1.5rem !important;}
  .eventListItem .shop {font-size: 1rem !important;}
  .gbx-deck__grid{grid-template-columns:repeat(auto-fill,minmax(600px,1fr)) !important;}
}







/* --- 解像度 1980*1080 フルHDディスプレイ 以上 PC設定 1980以上～ --- */
@media screen and (min-width: 1920px) {
}

@media screen and (min-device-width: 799.98px){
}

@media (min-width:800px){ 
}

@media screen and (max-device-width: 799.98px){
}




#resito {
	position: relative;
	background: #FFFFFF;
	z-index: 100000;
}
#resito td,#resito th,#resito span,#resito p {
	color: #000;
}
#resito .title {
	font-size: 26px;
	font-weight: bold;
	text-align: center;
}
#resito .add {
	font-size: 14px;
}
#resito .tel {
	font-size: 14px;
}
#resito .ryosyu {
	font-size: 26px;
	font-weight: bold;
	text-align: center;
}
#resito .time {
	font-size: 14px;
}


@media print{
	.print { display: none !important; }
}



/* ===============================
 * GBX Image Gallery (common)
 * =============================== */

.gbx-imgblock{
  margin-bottom: 20px;
}

.gbx-imggrid{
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: flex-start;
}

.gbx-imgcard{
  width: 240px;
}

.gbx-imgitem{
  display: block;
  text-decoration: none;
}

/* 正方形サムネ枠 */
.gbx-imgthumb {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;   /* 正方形 */
  overflow: hidden;
  border-radius: 8px;
  background: #fff;
}

/* 中の画像を正方形にフィット */
.gbx-imgthumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;     /* はみ出す分はトリミング */
  object-position: center;
  display: block;
}

.gbx-imgthumb{
  display: block;
  width: 240px;
  height: 240px;
  overflow: hidden;
}

.gbx-imgthumb img{
  width: 240px;
  height: 240px;
  object-fit: cover;
  display: block;
}

/* メイン画像のみ正方形に収める */
.gbx-imgthumb--main {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.gbx-imgthumb--main > img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  object-position: center;
  display: block;
}


.gbx-imgtext{
  margin-top: 8px;
  font-size: 13px;
  line-height: 1.4;
}

.gbx-imglabel{
  font-weight: 600;
  text-align: center;
}

.gbx-imgcredit{
  margin-top: 2px;
  font-size: 12px;
  opacity: .8;
}

.gbx-pairblock{
  margin-bottom: 30px;
}

.gbx-pairgrid{
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}




/* item_box 2カラム：左(box1) / 右(box2) */
.item_box{
  display: flex;
  gap: 50px;
  align-items: flex-start;
}

.item_box .box1{
  flex: 0 0 35%;
  min-width: 0;
}

.item_box .box2{
  flex: 1 1 auto;
  min-width: 0;
}

/* SPは縦積み */
@media (max-width: 900px){
  .item_box{
    display: block;
  }
  .item_box .box1,
  .item_box .box2{
    width: 100%;
  }
}

/* =========================================
 * GBX v2 Image Block（このブロック専用）
 * - 1枚目：box1幅いっぱい
 * - 2〜5枚目：4列サムネ
 * - 画像下ラベル非表示
 * ========================================= */

.gbx-imgblock.gbx-v2img{
  width: 100%;
}

.gbx-imgblock.gbx-v2img .gbx-imggrid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}

/* 1枚目をフル幅 */
.gbx-imgblock.gbx-v2img .gbx-imgcard:first-child{
  grid-column: 1 / -1;
}

/* 画像は枠にフィット */
.gbx-imgblock.gbx-v2img .gbx-imgthumb img{
  display: block;
  width: 100%;
  height: auto;
}

/* サムネ（2枚目以降）は正方形トリムで小さく見せる */
.gbx-imgblock.gbx-v2img .gbx-imgcard:not(:first-child) .gbx-imgthumb{
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
.gbx-imgblock.gbx-v2img .gbx-imgcard:not(:first-child) .gbx-imgthumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 画像下の「公式画像」等ラベルを消す（クレジットは残す） */
.gbx-imgblock.gbx-v2img .gbx-imglabel{
  display: none !important;
}

/* ラベルが消えて余白が気になる場合 */
.gbx-imgblock.gbx-v2img .gbx-imgtext{
  margin-top: 6px;
}

/* --- gbx-imgcard の固定幅（240px等）をこのブロック内だけ無効化 --- */
.gbx-imgblock.gbx-v2img .gbx-imggrid{
  /* 既存指定を上書きできるように念のため */
  width: 100%;
}

.gbx-imgblock.gbx-v2img .gbx-imgcard{
  width: auto !important;
  max-width: none !important;
  flex: none !important;          /* flex前提の既存実装があっても崩さない */
  display: block;                 /* card自体はブロックでOK */
  box-sizing: border-box;
}


/* =========================================
 * v2img 内だけ .gbx-imgthumb の干渉を無効化
 * - 固定幅/固定高さ/float 等を上書き
 * - 1枚目は可変（フル幅）
 * - 2枚目以降は正方形トリム
 * ========================================= */

.gbx-imgblock.gbx-v2img .gbx-imgthumb{
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;

  /* 既存が flex/inline/float でも崩れないように */
  display: block !important;
  float: none !important;

  /* 既存で position/overflow を変えてるケース吸収 */
  position: relative;
  overflow: hidden; /* サムネトリムに必要。1枚目も問題ない */
  box-sizing: border-box;
}

/* 1枚目（メイン）は縦横比は画像に任せる */
.gbx-imgblock.gbx-v2img .gbx-imgcard:first-child .gbx-imgthumb{
  aspect-ratio: auto !important;
}

/* 2枚目以降（サムネ）は正方形にしてトリム */
.gbx-imgblock.gbx-v2img .gbx-imgcard:not(:first-child) .gbx-imgthumb{
  aspect-ratio: 1 / 1 !important;
}

/* img自体の干渉も潰す（固定幅/固定高さ/position 等） */
.gbx-imgblock.gbx-v2img .gbx-imgthumb img{
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  position: static !important;
}

/* サムネだけはトリム表示 */
.gbx-imgblock.gbx-v2img .gbx-imgcard:not(:first-child) .gbx-imgthumb img{
  height: 100% !important;
  object-fit: cover;
}



/* ===== ガンプラ系譜 ===== */
.keifu-wrap{ width:100%; }
.keifu-grid{
  display: grid;
  grid-template-columns: 1fr 50px 1fr 50px 1fr;
  gap: 0;
  align-items: start;
}

.keifu-arrow{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding-top: 30px;
  font-size: 20px;
  line-height: 1;
}
.keifu-arrow--empty{ opacity:0; }

.keifu-group{ margin-bottom: 18px; }
.keifu-group__title{ margin: 0 0 6px; }

.keifu-card{
	display: inline-block;
	margin-right: 10px;
	margin-bottom: 10px;  
}
.keifu-card__thumb{ display:block; max-width: 150px; }
.keifu-thumb{
}
.keifu-thumb img{
  display:block;
  width:100%;
  height:auto;
}

.keifu-card__title{
  display:block;
  margin-top: 6px;
  text-decoration: none;
}
.keifu-card__edit{ margin-top: 4px; font-size: 12px; opacity: .75; }




#keifu_ti {
  display: flex;
  align-items: flex-start;

  /* 2要素の間隔 */
  gap: 30px;
}
#keifu_ti img {
    border-radius: 8px;
}

#keifu_ti>.box1 {
  /* 右側に表示 */
  order: 1;

  flex: 0 0 300px !important;
  width: 300px !important;
}
#keifu_ti>.box1>.keifu-card {
	display: block;
	width: 100% !important;
	height: auto !important;
}
#keifu_ti>.box2 {
  /* 左側に表示 */
  order: 2;

  /* 残り全部を使う */
  flex: 1 1 auto;
  width: auto;
}
/* ===== 系譜：右側の一覧（box2）をグリッド化 ===== */
#keifu_ti > .box2 .keifu-group{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 12px 12px;           /* 行/列の間隔 */
  align-items: start;
}

/* box2内のカードはグリッドの1マスとして扱う */
#keifu_ti > .box2 .keifu-card{
  display: block;
  margin: 0;                /* inline-blockの余白を殺す */
}

/* 画像リンクはブロック */
#keifu_ti > .box2 .keifu-card__thumb{
  display: block;
  width: 100%;
  max-width: none;
}

/* サムネは正方形トリム（商品画像がバラついても整列） */
#keifu_ti > .box2 .keifu-thumb{
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 8px;       /* 既にimgに付けてるなら不要 */
}
#keifu_ti > .box2 .keifu-thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* タイトルは2行固定で揃える（長いときは省略） */
#keifu_ti > .box2 .keifu-card__title{
  margin-top: 6px;
  line-height: 1.35;
  font-size: 13px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
/* ===== 当キット（box1） ===== */
#keifu_ti > .box1 .keifu-card__thumb{
  width: 100%;
  max-width: none;
}
#keifu_ti > .box1 .keifu-thumb{
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
#keifu_ti > .box1 .keifu-thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#keifu_ti > .box1 .keifu-card__title{
  font-size: 14px;
  line-height: 1.4;
  margin-top: 8px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}


/* ===============================
 * 素組：1ブロック=1塊 を 3列で並べる
 * =============================== */
.gbx-sugumi-grid.gbx-sugumi-grid--3col{
  /* 中の直下要素（カード群）を3列にする */
}

/* 直下にカードが並んでるケース */
.gbx-sugumi-grid.gbx-sugumi-grid--3col > .gbx-pairgrid,
.gbx-sugumi-grid.gbx-sugumi-grid--3col > .gbx-imggrid,
.gbx-sugumi-grid.gbx-sugumi-grid--3col{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px;
}

/* “1ブロック”相当の要素をグリッドアイテムとして扱う（想定クラスに幅広く対応） */
.gbx-sugumi-grid.gbx-sugumi-grid--3col .gbx-paircard,
.gbx-sugumi-grid.gbx-sugumi-grid--3col .gbx-imgcard,
.gbx-sugumi-grid.gbx-sugumi-grid--3col .pair-card{
  width: auto !important;
  max-width: none !important;
}

/* 追加したメタ表示 */
.gbx-sugumi-grid .sugumi-meta{
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.3;
  opacity: .85;
}
.gbx-sugumi-grid .sugumi-meta__label{
  font-weight: 700;
}
.gbx-sugumi-grid .sugumi-desc{
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.45;
}
.gbx-sugumi-grid .sugumi-html{
  margin-top: 6px;
}


/* ===== 素組のブロック内：文字順序用 ===== */
.gbx-sugumi-grid .sugumi-title{
  font-weight: 700;
  margin: 0 0 6px;
  font-size: 14px;
  line-height: 1.35;
}

.gbx-sugumi-grid .sugumi-setting{
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.35;
  margin-bottom: 10px;
}


/* 公式画像説明（単発画像） */
.gbx-nagaimg{
  text-align: center; /* センター寄せ用 */
  margin-bottom: 40px;
}

.gbx-nagaimg img{
  display: inline-block;
  width: 60%;     /* 親要素の70% */
  height: auto;   /* 高さは自動 */
  max-width: 100%;/* 念のためはみ出し防止 */
}



/* 一覧全体 */
.msinfo_list{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 20px;
  margin-bottom: 40px;
}

/* カード */
.msinfo-item{
  text-align: center;
}

/* 画像 */
.msinfo-item__img{
  display: block;
  width: 240px;
  height: 240px;
  margin: 0 auto 8px;
}

.msinfo-item__img img{
	background-color: #fff;
	width: 240px;
	height: 240px;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
	object-fit: contain;
}

/* タイトル */
.msinfo-item__title{
  font-size: 14px;
  line-height: 1.4;
}

/* 編集リンク */
.msinfo-item__edit{
  font-size: 12px;
  opacity: .6;
}



/* ===============================
 * msinfo main image
 * =============================== */

.msinfo-mainimg{
  margin-bottom: 14px;
}

.msinfo-mainimg__link{
  display: block;
  text-decoration: none;
}

.msinfo-mainimg__frame{
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid #ccc;
}

.msinfo-mainimg__frame img{
  width: 100%;
  height: 100%;
  object-fit: contain; /* 切らない */
  object-position: center;
  display: block;
}

.msinfo-mainimg__meta{
  margin-top: 8px;
}

.msinfo-mainimg__note{
  font-size: 12px;
  margin-bottom: 4px;
}

.msinfo-mainimg__inyo{
  font-size: 12px;
  line-height: 1.4;
}

.msinfo-mainimg__inyo a{
  text-decoration: underline;
}

.msinfo-mainimg__credit{
  margin-top: 6px;
  font-size: 12px;
  opacity: .8;
}

/* ===============================
 * msinfo thumbs (240px横並び)
 * =============================== */

.msinfo-thumbs{
  margin-top: 10px;
}

.msinfo-thumbs__grid{
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: flex-start;
}

.msinfo-thumbs__card{
  width: 240px;
}

.msinfo-thumbs__item{
  display: block;
  text-decoration: none;
}

.msinfo-thumbs__thumb{
  display: block;
  width: 240px;
  height: 240px;
  overflow: hidden;
  border-radius: 10px;
  background: #fff;
  border: 1px solid #ccc;
}

.msinfo-thumbs__thumb img{
  width: 240px;
  height: 240px;
  object-fit: cover; /* サムネは切る */
  object-position: center;
  display: block;
}

.msinfo-thumbs__text{
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.4;
}

.msinfo-thumbs__label{
  font-weight: 600;
  text-align: center;
  margin-bottom: 4px;
}

.msinfo-thumbs__desc{
}
.msinfo-thumbs__desc a{
}

.msinfo-thumbs__credit{
  margin-top: 4px;
  opacity: .8;
}

/* ===============================
 * msinfo sub thumbs（強制適用版）
 * =============================== */

.msinfo-sub__grid{
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 20px;
}

/* msinfo sub: 枠が画像を確実に囲う（最終上書き） */
.msinfo-sub__thumb{
  display: block;
  box-sizing: border-box;
  width: 100%;
  aspect-ratio: 1 / 1;
  border: 1px solid #ccc;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  line-height: 0;          /* inline画像の隙間対策 */
}

.msinfo-sub__thumb img{
  display: block;          /* inlineの隙間対策 */
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center;
}



/* =========================================================
 * 開発系譜（ms-keifu 専用CSS）
 * ========================================================= */

.ms-keifu-wrap {
  margin: 40px 0;
}

/* 上段3列 */
.ms-keifu-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 160px minmax(0, 1fr); /* ★中央を160px固定 */
  gap: 24px;
  margin-bottom: 40px;
}

.ms-keifu-top__col {
  display: block;
}

.ms-keifu-top__col--center {
  width: 160px;
  text-align: center;
}

/* 下段 */
.ms-keifu-bottom {
  display: block;
}

/* グループ */
.ms-keifu-group {
  margin-bottom: 32px;
}

.ms-keifu-group__list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

/* カード */
.ms-keifu-card {
  width: 160px;
  text-align: center;
}

.ms-keifu-thumb img {
	background: #fff;
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    object-position: center;
    display: block;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
}

.ms-keifu-card__title {
  display: block;
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.4;
}

.ms-keifu-card__edit {
  font-size: 11px;
  color: #888;
}



/* =========================================================
 * 素組再現可能キット（PC版）
 * ========================================================= */
.ms-meka-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
}

.ms-meka-col__head{
  margin-bottom: 10px;
}

.ms-meka-card__img img{
	background: #fff;
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    object-position: center;
    display: block;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
}

.ms-meka-card__title{
  display: block;
  margin-top: 8px;
  line-height: 1.4;
}

.ms-meka-card__price{
  margin-top: 8px;
}

.ms-meka-card__shops{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}

.ms-meka-empty{
  color: #888;
  font-size: 13px;
  margin: 0;
}

/* =========================================================
 * 素組再現（前後画像）PC版
 * ========================================================= */
.ms-saigen-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.ms-saigen-grid img{
  width: 100%;
  height: auto;
  display: block;
}



.msinfo_mainimg_pirot {
}
.msinfo_mainimg_pirot img {
	width: 100%;
	height: auto;
}
.msinfo_mainimg_pirot .box1 img {
	width: 73px;
	height: auto;
	margin-bottom: 5px;
}

.msinfo_mainimg div {
	position: relative;
}


.msinfo_cat_text {
	position: relative;
	top: -2px;
	background: #327cb0;
	border: 1px solid #DDD;
	color: #fff;
	font-size: 10px;
	text-align: center;
	padding: 3px 8px;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	display: inline-block;
}


.book_cat_text {
	position: relative;
	top: -2px;
	width: 80px;
	border: 1px solid #DDD;
	color: #fff;
	font-size: 10px;
	text-align: center;
	padding: 2px 5px;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	display: inline-block;
}
.cat_web { background: #327cb0; }
.cat_game { background: #3c32b0; }
.cat_anime { background: #b08532; }
.cat_comic { background: #69b032; }
.cat_inc { background: #b03241; }
.cat_book { background: #32b0a1; }
.cat_media { background: #99d000; }
.cat_all { background: #135b8e; }


.msinfo_spec_box {
  display: flex;
  align-items: flex-start;

  /* 2要素の間隔 */
  gap: 30px;
}

.msinfo_spec_box>.box1 {
  /* 右側に表示 */
  order: 1;

  flex: 0 0 80% !important;
  width: 80% !important;
}
.msinfo_spec_box>.box2 {
  /* 左側に表示 */
  order: 2;

  /* 残り全部を使う */
  flex: 1 1 auto;
  width: auto;
}


.gbx-v2img__img{
	background: #fff;
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    object-position: center;
    display: block;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
}


/* ===============================
 * D&D spell card (small)
 * =============================== */
.dnd-spell{
  border: 1px solid #ddd;
  border-radius: 8px;
  background: #fff;
  padding: 10px 12px;
}

.dnd-spell__link{
  display: block;
  text-decoration: none;
  color: inherit;
}

.dnd-spell__head{
  display: grid;
  gap: 6px;
  margin-bottom: 8px;
}

.dnd-spell__lv{
  font-size: 12px;
  line-height: 1.2;
  opacity: .85;
}

.dnd-spell__title{
  font-size: 14px;
  line-height: 1.35;
  font-weight: 700;

  /* 2行で省略（対応ブラウザ前提） */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.dnd-spell__chips{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  margin-bottom: 8px;
}

.dnd-chip{
	background: #3892d2;
	display: inline-flex;
	align-items: center;
	padding: 0 7px;
	font-size: .8em;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	color: #fff !important;
	border-radius: 999px;
	white-space: nowrap;
}

.dnd-chip--link{
  text-decoration: none;
  color: inherit;
}

.dnd-spell__material{
  font-size: 12px;
  opacity: .85;
}

.dnd-spell__dl{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 10px;
  margin: 0 0 8px;

  /* 追加：左右余白（上の見た目と揃える） */
  padding: 0 2px;
}

.dnd-spell__kv{
  display: grid;
  grid-template-columns: 44px 1fr; /* ラベル固定 */
  gap: 6px;
  align-items: baseline;
}

.dnd-spell__kv dt{
  margin: 0;
  font-size: 12px;
  opacity: .75;
}

.dnd-spell__kv dd{
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  word-break: break-word;
}

.dnd-spell__book{
  margin-top: 2px;
  font-size: 12px;
}

.dnd-spell__edit{
  margin-top: 6px;
  font-size: 12px;
  opacity: .85;
}

.dnd-spell__class{
  font-size: 12px;
  line-height: 1.2;
  opacity: .85;
}

.dnd-spell__class{
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 10px;
}

.dnd-spell__class-item{
  font-size: 11px;
  line-height: 1.2;
  padding: 2px 6px;
  border-radius: 10px;
  background: #f1f1f1;
  white-space: nowrap;
}



.card_icon0 {
	position: relative;
	background: #171717;
	padding: 2px 7px;
	font-size: .9em;
	color: #fff;
	border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
}
.card_icon1 {
	position: relative;
	background: #E38C1E;
	padding: 2px 5px;
	font-size: .9em;
	color: #fff;
	border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
	display: inline-block;
    white-space: nowrap;
}
.card_icon2 {
	position: relative;
	background: #369EFF;
	padding: 2px 5px;
	font-size: .9em;
	color: #fff;
	border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
}
.card_icon3 {
	position: relative;
	background: #2D9A12;
	padding: 2px 5px;
	font-size: .9em;
	color: #fff;
	border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
}
.card_icon4 {
	position: relative;
	background: #8D1CA6;
	padding: 2px 5px;
	font-size: .9em;
	color: #fff;
	border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
}
.card_icon5 {
	position: relative;
	background: #323232;
	padding: 2px 5px;
	font-size: .9em;
	color: #fff;
	border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
}
.card_icon6 {
	position: relative;
	background: #FF3DA9;
	padding: 2px 5px;
	font-size: .9em;
	color: #fff;
	border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
}
.card_icon7 {
	position: relative;
	background: #FFFFFF;
	padding: 2px 5px;
	font-size: .9em;
	color: #000;
	border: solid 1px #000;
	border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
}
.card_icon8 {
	position: relative;
	background: #733C1B;
	padding: 2px 5px;
	font-size: .9em;
	color: #fff;
	border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
}

.typecss0 {/*レインボー*/
	position: relative;
	background: linear-gradient(to right,#e60000,#f39800,#fff100,#009944,#0068b7,#1d2088,#920783);
	padding: 2px 7px;
	font-size: .9em;
	color: #fff;
	border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
}
.typecss1 {/*ライトグレー*/
	position: relative;
	background: #E8E8E8;
	padding: 2px 7px;
	font-size: .9em;
	color: #000;
	border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
}
.typecss2 {/*レッド*/
	position: relative;
	background: #ff3300;
	padding: 2px 7px;
	font-size: .9em;
	color: #fff;
	border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
}
.typecss3 {/*グリーン*/
	position: relative;
	background: #33cc00;
	padding: 2px 7px;
	font-size: .9em;
	color: #fff;
	border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
}
.typecss4 {/*ブルー*/
	position: relative;
	background: #3399cc;
	padding: 2px 7px;
	font-size: .9em;
	color: #fff;
	border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
}
.typecss5 {/*イエロー*/
	position: relative;
	background: #ffff33;
	padding: 2px 7px;
	font-size: .9em;
	color: #000;
	border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
}
.typecss6 {/*パープル*/
	position: relative;
	background: #cc6699;
	padding: 2px 7px;
	font-size: .9em;
	color: #fff;
	border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
}
.typecss7 {/*オレンジ*/
	position: relative;
	background: #ff9900;
	padding: 2px 7px;
	font-size: .9em;
	color: #fff;
	border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
}
.typecss8 {/*ダークブルー*/
	position: relative;
	background: #336699;
	padding: 2px 7px;
	font-size: .9em;
	color: #fff;
	border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
}
.typecss9 {/*グレー*/
	position: relative;
	background: #cccccc;
	padding: 2px 7px;
	font-size: .9em;
	color: #000;
	border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
}
.typecss10 {/*オールドイエロー*/
	position: relative;
	background: #cccc66;
	padding: 2px 7px;
	font-size: .9em;
	color: #fff;
	border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
}
.typecss11 {/*ピンク*/
	position: relative;
	background: #ff66cc;
	padding: 2px 7px;
	font-size: .9em;
	color: #fff;
	border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
}
.typecss12 {/*グレー*/
	position: relative;
	background: #cccccc;
	padding: 2px 7px;
	font-size: .9em;
	color: #000;
	border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
}
.typecss13 {/*オレンジ*/
	position: relative;
	background: #ff3300;
	padding: 2px 7px;
	font-size: .9em;
	color: #fff;
	border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
}
.typecss14 {/*ブルー*/
	position: relative;
	background: #0066ff;
	padding: 2px 7px;
	font-size: .9em;
	color: #fff;
	border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
}
.typecss15 {/*パープル*/
	position: relative;
	background: #cc00ff;
	padding: 2px 7px;
	font-size: .9em;
	color: #fff;
	border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
}
.typecss16 {/*グリーン*/
	position: relative;
	background: #00cc00;
	padding: 2px 7px;
	font-size: .9em;
	color: #fff;
	border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
}


.rainbow {
	position: relative;
	width: auto;
	height: auto;
	z-index: 180;
}
.rainbow:before {
	content: "";
    position: absolute;
	top: 5px;
	left: 5px;
    width: 390px;
    height: 340px;
	background: url(images/reinbow.png) center no-repeat;
	background-size: contain;
	vertical-align: middle;
    z-index: 190;
    display: block;
	z-index: 180;
}

.rainbow_s {
	position: relative;
	width: auto;
	height: auto;
	z-index: 180;
}
.rainbow_s:before {
	content: "";
    position: absolute;
    width: 200px;
    height: 200px;
	background: url(images/reinbow.png) center no-repeat;
	background-size: contain;
	vertical-align: middle;
	z-index: 189 !important;
    display: block;
	border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
	z-index: 180;
}

.rainbow_sy {
	position: relative;
	width: auto;
	height: auto;
	z-index: 180;
}
.rainbow_sy:before {
	content: "";
    position: absolute;
    width: 200px;
    height: 200px;
	background: url(images/reinbow.png) center no-repeat;
	background-size: contain;
	transform:rotate(90deg);
	vertical-align: middle;
	z-index: 189 !important;
    display: block;
	border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
	z-index: 180;
}

.rainbow_s2 {
	position: relative;
	width: auto;
	height: auto;
	z-index: 180;
}
.rainbow_s2:before {
	content: "";
    position: absolute;
    width: 150px;
    height: 150px;
	background: url(images/reinbow.png) center no-repeat;
	background-size: contain;
	vertical-align: middle;
	z-index: 189 !important;
    display: block;
	border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
	z-index: 180;
}




.coldf {
	position: relative;
	width: auto;
	height: auto;
}
.coldf:before {
	content: "";
    position: absolute;
	top: 5px;
	left: 5px;
    width: 390px;
    height: 340px;
	background: url(images/coldf.png) center no-repeat;
	background-size: contain;
	vertical-align: middle;
	z-index: 189 !important;
    display: block;
}

.coldf_s {
	position: relative;
	width: auto;
	height: auto;
}
.coldf_s:before {
	content: "";
    position: absolute;
    width: 200px;
    height: 200px;
	background: url(images/coldf.png) center no-repeat;
	background-size: contain;
	vertical-align: middle;
    z-index: 190;
    display: block;
	border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
}

.coldf_s2 {
	position: relative;
	width: auto;
	height: auto;
}
.coldf_s2:before {
	content: "";
    position: absolute;
    width: 150px;
    height: 150px;
	background: url(images/coldf.png) center no-repeat;
	background-size: contain;
	vertical-align: middle;
    z-index: 190;
    display: block;
	border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
}


.item_list_box2 {
	width: 240px;
	height: auto;
	vertical-align: top;
  display: inline-block;
  margin-right: 20px;
  margin-bottom: 20px;
}
.item_list_box2 .img_box {
	margin-bottom: 10px;
}
.item_list_box2 .img_box img {
	background: #fff;
	width: 240px;
	height: 240px;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
	object-fit: contain;
}
.item_list_box2 .title {
	font-size: 1em;
  font-weight: 700;
	line-height: 1.3em;
}
.item_list_box2 .price {
	font-size: 18px;
	font-weight: bold;
	color: #FF0000;
	line-height: 1em;
}
.item_list_box2 .price span {
	font-size: 12px;
	color: #FF0000;
	font-weight: normal;
}

/* flex 2カラムで「中身に引っ張られて main が膨らむ」対策 */
.wrap .main_cont.right{
  min-width: 0;          /* 重要：これが無いと押し出しが起きる */
}

/* suii_box 側も念のため shrink 許可 */
#suii_box,
#suii_box .cont_mb,
#suii_box .chart-wrapper,
#suii_box .chart-container{
  min-width: 0;
  max-width: 100%;
}

/* Canvasが親を突き破らない保険 */
#suii_box canvas{
  max-width: 100% !important;
  height: auto;
}


/* 関連カード：横スクロール */
.gbx-rel__scroller{
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  border: 1px solid #ddd;
  background: #fff;
  padding: 10px;
  max-height: 500px; /* ここが「縦幅固定」 */
}

.gbx-rel__row{
  display: flex;
  gap: 12px;
  align-items: flex-start;
  flex-wrap: nowrap;
}

.gbx-rel__row > .item_list_box2{
  flex: 0 0 auto;
  width: 220px; /* カード幅（必要なら調整） */
}

.gbx-rel__fallback{
  flex: 0 0 auto;
  width: 220px;
  padding: 10px;
  border: 1px solid #ddd;
  background: #fafafa;
}

/* 関連カード：横スクロール（縦幅固定） */
.gbx-card-scroller{
  height: auto;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}
.gbx-card-scroller__row{
  display: flex;
  gap: 12px;
  align-items: stretch;
}
.gbx-card-scroller__item{
  flex: 0 0 auto;
  width: 240px;      /* カード幅（必要なら調整） */
  max-width: 240px;
}
.gbx-card-scroller__item .item_list_box2{
  height: 100%;
}


.fab_icon {
	display: inline;
    margin-left: 2px;
    margin-right: 3px;
    transform: translateY(0px);
    width: 20px;
	height: auto;
}

.card_sam-illustrator{
  margin-top: 4px;
  font-size: 12px;
  line-height: 1.4;
}

.card_sam-illustrator__link{
  color: #555;
  text-decoration: none;
}

.card_sam-illustrator__link:hover{
  text-decoration: underline;
}


.rainbow {
	position: relative;
	width: auto;
	height: auto;
	z-index: 180;
}
.rainbow:before {
	content: "";
    position: absolute;
	top: 5px;
	left: 5px;
    width: 390px;
    height: 340px;
	background: url(images/noimage/reinbow.png) center no-repeat;
	background-size: contain;
	vertical-align: middle;
    z-index: 190;
    display: block;
	z-index: 180;
}

.rainbow_s {
	position: relative;
	width: auto;
	height: auto;
	z-index: 180;
}
.rainbow_s:before {
  content: "";
  position: absolute;
  width: 240px;
  height: 240px;
  background: url(images/noimage/reinbow.png) center no-repeat;
  background-size: contain;
  vertical-align: middle;
  z-index: 189 !important;
  display: block;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
}

.rainbow_sy {
	position: relative;
	width: auto;
	height: auto;
	z-index: 180;
}
.rainbow_sy:before {
	content: "";
    position: absolute;
    width: 240px;
    height: 240px;
	background: url(images/noimage/reinbow.png) center no-repeat;
	background-size: contain;
	transform:rotate(90deg);
	vertical-align: middle;
	z-index: 189 !important;
    display: block;
	border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
	z-index: 180;
}

.rainbow_s2 {
	position: relative;
	width: auto;
	height: auto;
	z-index: 180;
}
.rainbow_s2:before {
	content: "";
    position: absolute;
    width: 150px;
    height: 150px;
	background: url(images/noimage/reinbow.png) center no-repeat;
	background-size: contain;
	vertical-align: middle;
	z-index: 189 !important;
    display: block;
	border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
	z-index: 180;
}




.coldf {
	position: relative;
	width: auto;
	height: auto;
}
.coldf:before {
	content: "";
    position: absolute;
	top: 5px;
	left: 5px;
    width: 390px;
    height: 340px;
	background: url(images/noimage/coldf.png) center no-repeat;
	background-size: contain;
	vertical-align: middle;
	z-index: 189 !important;
    display: block;
}

.coldf_s {
	position: relative;
	width: auto;
	height: auto;
}
.coldf_s:before {
	content: "";
    position: absolute;
    width: 240px;
    height: 240px;
	background: url(images/noimage/coldf.png) center no-repeat;
	background-size: contain;
	vertical-align: middle;
    z-index: 190;
    display: block;
	border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
}

.coldf_s2 {
	position: relative;
	width: auto;
	height: auto;
}
.coldf_s2:before {
	content: "";
    position: absolute;
    width: 150px;
    height: 150px;
	background: url(images/noimage/coldf.png) center no-repeat;
	background-size: contain;
	vertical-align: middle;
    z-index: 190;
    display: block;
	border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
}


.sam_own_bt {
    display: flex;
    width: 100%;
    justify-content:center;
    margin-bottom: 10px;
}


