@charset "utf-8";

/* #004445 #2c7873 #B5E4E1      F4FBFA */
/* Reset
------------------------------------------------------------*/
* {
	box-sizing: border-box;
/*	border: 1px solid #2c7873;*/
}
html {
	overflow-y: scroll;
}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,form,input,textarea,p,select,header,nav,section,footer {
	margin: 0;
	padding: 0;
	word-wrap: break-word;
}
th,td {
	margin: 0;
	padding: 0px 5px 0px 5px;
	word-wrap: break-word;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
h2 {
	position: relative;
	display: inline-block;
	margin: 1rem 0 1rem -10px;
	padding: 0.3em 3em 0.2em 0.5em;
	color: #fff;
	border-radius: 0 100vh 100vh 0;
	background: #004445;
	-webkit-box-shadow: 3px 3px 5px rgba(0, 0, 0, .2);
	box-shadow: 3px 3px 5px rgba(0, 0, 0, .2);
}

h3 {
	margin: 20px 0px 5px 0px;
	padding: 0.2em 0.1em 0.1em 0.5em;
	color: #fff;
	border-radius: 3px;
	background-image: -webkit-gradient(linear, left top, right top, from(#2c7873), to(#ffffff));
	background-image: -webkit-linear-gradient(left, #2c7873 0%, #ffffff 100%);
	background-image: linear-gradient(to right, #2c7873 0%, #ffffff 100%);
	text-shadow:
		 2px 2px 2px #004445, -2px -2px 2px #004445,
		-2px 2px 2px #004445,  2px -2px 2px #004445;
}
h4 {
	position: relative;
	margin: 10px 0px 8px 0px;
}

h4:after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 5px;
	content: '';
	background-image: -webkit-gradient(linear, left top, right top, from(#2c7873), to(#ffffff));
	background-image: -webkit-linear-gradient(left, #2c7873 0%, #ffffff 100%);
	background-image: linear-gradient(to right, #2c7873 0%, #ffffff 100%);
}

h5,h6 {
	font-size: 1.2em;
	font-weight: bold;
}
img {
	border: 0;
}
hr {
	border-width: 1px 0 0 0;
	border-style: solid;
	border-color: #666666;
}

/**** 入力系 ****/
input,textarea,select { margin: 3px; padding: 3px 6px; background-color: #f2f4f5; border: 3px solid #2c7873; border-radius: 5px; font-size: 1.2em; color: #333; flex-grow: 1; }
button { margin: 3px; cursor: pointer; padding: 3px 20px; border: none; border-radius: 5px; font-size: 1.15em; font-weight: bold; color: #fff; background-color: #2c7873; }
label { font-size: 1.0em; font-weight: bold; }
textarea { width:600px; max-width:100%; }
.inputID { width: 6em; }


/**** チェックボックス系 ****/
.checkboxItem {
  display: inline-flex;
  align-items: center;
  column-gap: 2px;
  line-height: 1;
  cursor: pointer;
}
.checkboxItem:not(:last-of-type) {
  margin-right: 4px;
}
.checkbox {
  appearance: none;
  position: relative;
  width: 20px;
  height: 20px;
  border: 1px solid #2c7873;
  border-radius: 2px;
  cursor: pointer;
}
.checkbox:checked {
  background-color: #2c7873;
}
.checkbox:checked::after {
  content: "";
  position: absolute;
  top: 5px;
  left: 3px;
  width: 12px;
  height: 6px;
  border-bottom: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  transform: rotate(-45deg);
}


/**** デッキ表示系 ****/
.Deckframe {
	background-color: #F0F9F9;
	padding: 10px 5px 10px 5px;
	margin: 20px 0px 20px 0px;
	border: 2px solid #2c7873;
}
.DeckTitle {
	font-size: 1.4em;
	font-weight: bold;
	background: linear-gradient(transparent 70%, #B5E4E1 70%);
	margin: 0px 0px 8px 0px;
}
.PointWrapper {
	display: flow-root;
}
.Pointframe {
	float: right;
	font-size: 1.6em;
	font-weight: bold;
}
.GenesysVersion {
	float: left;
	font-size: 0.8em;
}
.DeckClass {
	column-span: all;
	font-size: 1.1em;
	font-weight: bold;
}
.DeckWrapper {
	columns: 380px;
	gap: 0px 0px;
}
.Cardframe{
	break-inside: avoid; 
	width: 380px;
	border: 1px solid #2c7873;
	padding: 3px 4px 1px 4px;
	display: flow-root;
}
.CardName{
	float: left;
	display: inline-block;
	line-height: 1.0;
	max-width: 320px;
}
.CardNum{
	float: right;
	display: inline-block;
	font-size: 0.8em;
	width: 20px;
	text-align: center; 
}
.CardPoint{
	float: right;
	display: inline-block;
	width: 30px;
	text-align: center; 
	font-weight: bold;
}


.MobileHidden { display:none; }
.change { background: linear-gradient(transparent 80%, #FF9999 80%); }
.datatable { width:100%; border-collapse: collapse; }
.footerframe { top center; text-align:left;width:96%;padding:12px 2% 0px 2%; }
.footernote1 { background:#004445 top center; text-align:center;width:96%;padding:0px 2% 0px 2%; }
.footernote2 { width:480px; max-width:100%; text-align:left; column-count:2; margin-right:auto;margin-left:auto; }
.index { font-size: 0.8em; }
.largeimg { max-width:100%; }
.mainframe { background:white url("/image/maintitle03.jpg") no-repeat top center; text-align:left;width:96%;padding:0px 2% 20px 2%; }
.maintext { margin: 0px 0px 0px 10px; }
.mainlist { margin: 0px 0px 0px 45px; }
.newsdate { font-size: 0.5em; color: #666666; }
.note { font-size: 0.8em; color: #cccccc; }
.rightPlacement { text-align: right; }
.smallimg { max-width:300px; padding:2px 0 2px 0; }
.text_s { font-size: 0.8em; }
.thpoint { width:80px; }
.warning { color:red; font-size: 1.2em; font-weight: bold; margin: 30px 0px 20px 0px; }
.container { 
	display: inline-block;
}
.flex-container {
  display: flex;
  justify-content: space-between; /* 要素を左端と右端に飛ばす */
  flex-wrap: wrap;                /* 幅が足りない時に折り返す */
  align-items: center;            /* 上下中央揃え（お好みで） */
}

#box-sub { margin:20px 0px 0px 0px; }

.cC {  }
.cCM { display:none; }

.N { background-color:#FEF2E7; }
.R { background-color:#E6EAFF; }
.F { background-color:#F1EEF7; }
.Sy { background-color:#FFFFFF; }
.X { background-color:#F2F2F2; }
.Sp { background-color:#F0F7EE; }
.T { background-color:#F7EDF2; }
