.flex-row {
	display:flex;
	flex-direction:row;
	align-items:flex-start;
}
.flex-row > :not(:first-child) {
	margin-left:20px;
}
.flex-column {
	display:flex;
	flex-direction:column;
}
.eventlen {
	width:4.0em;
	text-align:right;
	display:inline-block;
}
.grid {
	max-width:640px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}
.grid .grid_item {
	border:1px solid black;
	padding:4px;
}
.grid .grid_item.male {
	background-color:#e0f0ff;
}
.grid .grid_item.female {
	background-color:#fff0f0;
}
table.carddata img {
	vertical-align:middle;
	margin-left:10px;
}
@media screen and (min-width: 769px) {
.pcoff {
	display:none;
}
.sp {
	display:none;
}
.flex-column > *:not(:first-child) {
	border-top:none;
}
.flex-column > *:not(:last-child) {
	border-bottom:none;
}
}
@media screen and (max-width: 768px) {
.spoff {
	display:none;
}
.pc {
	display:none;
}
body {
	font-size:0.8em;
}
div#main div#leftcontainer {
	float:none;
	top:0;
	width:100vw;
	min-height:auto;
	height:auto;
	position:fixed;
	padding:0;
	z-index:10;
	filter:drop-shadow(0px 4px 4px rgba(0,0,0,0.4));
}
div#main div#leftcontainer div#titlebar {
	margin:0;
	height:50px;
	font-size:1.2em;
	font-weight:bold;
	text-align:left;
	display:flex;
	justify-content:flex-start;
	align-items:center;
}
div#main div#leftcontainer div#titlebar div {
	margin:0;
}
div#main div#leftcontainer div#titlebar a.logo {
	height:46px;
}
div#main div#leftcontainer div#titlebar a.logo img {
	margin-left:4px;
	height:46px;
	max-width:calc( 100vw - 50px );
}
div#main div#leftcontainer div#titlebar div.openmenu {
	position:absolute;
	right:0;
}
div#main div#leftcontainer div#titlebar div.openmenu img {
	width:40px;
	margin:5px;
	vertical-align:middle;
}
div#main div#leftcontainer div#menucontainer {
	display:none;
	top:50px;
	width:100%;
	height:calc( 100vh - 50px );
	position:absolute;
	background-color:rgba(0,0,0,0.04);
}
div#main div#leftcontainer div#menubar {
	width:180px;
	top:0;
	max-height:calc( 100vh - 50px );
	overflow:auto;
	right:0;
	padding-top:10px;
	position:absolute;
	background-color:#c0e0ff;
	filter:drop-shadow(-4px 4px 4px rgba(0,0,0,0.4));
}
div#main div#rightcontainer {
	border:0;
	padding:10px 20px 20px 20px;
	margin-top:50px;
}
div#main div#rightcontainer #pageheader {
	display:none;
}
div#main div#rightcontainer div, div#main div#rightcontainer table, div.popup-inner {
	max-width:calc( 100vw - 40px ) !important;
	box-sizing:border-box;
}
div#main div#rightcontainer table {
	width:100% !important;
}
.caution_message {
	width:auto !important;
}
table.members {
	width:auto;
}
col, td, th {
	width:auto !important;
}
input[type="text"] {
	max-width:70vw;
}
input[type="text"][name^="min"], input[type="text"][name^="sec"]:not([name^="second"]), input[type="text"][name^="csec"], input[type="text"][name="programnum"], input[type="text"][name="rankingnum"],input[type="text"][name^="goods"] {
	width:1.5em;
}
input[type="button"].large, input[type="submit"].large {
	padding: 4px 8px;
	margin: 10px;
	font-size:1.1em;
}
ul {
	padding-left:25px;
}
ul li input[type="button"].large {
	margin-left: -1.5em;
}
ul.large {
	font-size:1.4em;
	line-height:1.4em;
}
ul.large li {
	margin-bottom:0.5em;
}
.kubuntitle > a:before {
	white-space:pre;
	content:"\A・";
	
}
div#main div#footer {
	line-height:16px;
	padding:6px 0;
}
div#compestaff input {
	max-width:20vw;
}
.nowrap {
	white-space:nowrap;
}
.flex-row {
	flex-direction:column;
}
.flex-row > :not(:first-child) {
	margin-left:0;
	margin-top:1em;
}
.flex-column {
	flex-direction:row;
}
.flex-column th {
	height:1em;
}
.flex-column > *:not(:first-child) {
	border-left:none;
}
.flex-column > *:not(:last-child) {
	border-right:none;
}
div.popwindow {
	top:50% !important;
	left:50% !important;
	transform:translate(-50%,-50%);
	max-width:calc( 100vw - 10px );
}
div.popwindow .popcontainer {
	font-size:1.4em;
}
div.popwindow .popcontainer .userid {
	width:100px;
}
form {
	max-width:calc( 100vw - 40px );
}
textarea {
	width:calc( 100% - 10px ) !important;
}
.eventlen {
	width:auto;
}
div.autow {
	width:auto !important;
}
table.num td div {
    width: auto !important;
}
table.carddata, table.carddata tbody, table.carddata tr {
	display:block;
}
table.carddata tr td {
	text-align:left;
	display:block;
}
table.carddata tr td:first-child {
	font-weight:bold;
}
table.carddata img {
	vertical-align:top;
}
div.popup div.popup-inner {
	min-width:auto;
	width:calc( 100vw - 90px );
}
table.memberregist, table.memberregist tbody, table.memberregist tr, table.memberregist th, table.memberregist td {
	display:block;
}
table.memberregist {
	border:1px solid gray;
}
table.memberregist th, table.memberregist td {
	border:none;
}
table.memberregist th:not([colspan="2"]) {
	text-align:left;
}
table.memberregist td {
}
table.memberregist input[name$="_name"], table.memberregist input[name$="_furigana"], table.memberregist input[name^="english_"] {
	width:8em;
}
table.memberregist .info {
	width:auto !important;
}
table.memberregist img {
	max-width:calc( 100vw - 50px );
}
.block {
	display:block;
	text-align:left;
	border:none;
}
table.block {
	border:1px solid gray;
}
th.block, td.block {
	border:none !important;
}
th.block:not([colspan="2"]) {
	text-align:left;
}
.grid .grid_item {
	font-size:1.4em;
}
}
