.square {
    position: relative;
}
.square:before {
    content: '';
    display: block;
    text-align: center;
    width: 100%;
    padding-top: 100%;
}
.square button {
    width: 94%;
    height: 94%;
    position: absolute;
    top: 0;
    left: 6%;
}

.cntdiv {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-right: -50%;
  transform: translate(-50%, -50%);
}

.bg-origin {
  background: #258;
}

.bg-origin-light {
  background: #ffffffF0;
}

div#conta {
  padding: 3.5rem 0 2rem 0;
  min-height: 100vh;
  position: relative;/*←相対位置*/
  box-sizing: border-box;/*←全て含めてmin-height:100vhに*/
}

div#contano {
  padding: 0 0 1rem 0;
  min-height: 100vh;
  position: relative;/*←相対位置*/
  box-sizing: border-box;/*←全て含めてmin-height:100vhに*/
}

div#header
{
  background:		#258;
  height:			3em;
  width:				100%;
  z-index:			1;
  position:			fixed;
  vertical-align:	middle;

}

div#title
{
  background:		#258;
  height:			3em;
  width:				20em;
  z-index:			3;
  left:				0em;
  position:			fixed;
  vertical-align:	middle;
}

footer
{
  background: #258;
  width: 100%;
    /*position:			relative;/*absolute;*/
  bottom:			0;
  font-weight: bold;
  font-style: oblique;
  color: #FFF;
  text-align: right;
  /*vertical-align:	middle;*/
  display: block;
  position: fixed;
  z-index: 9999;
}

input#head[type="submit"], button#head[type="submit"]
{
  background-color:#ddd;
  font-size:1em;
  width:auto;
  padding:.2em;
  border: 2px solid #FFF;
  font-weight:bold;
  cursor:pointer; 
  margin:0.4em auto;
  text-transform:uppercase;
  font-weight:bold;
  color:#FFF;
    border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
  background-image: linear-gradient(top, #47A, #258);
  background-image: -moz-linear-gradient(top, #47A, #258);
  background-image: -webkit-gradient(linear, left top, left bottom, from(#47A), to(#258));
  background: linear-gradient(to bottom, #47A, #258);
  filter: progid:DXImageTransform.Microsoft.Gradient(StartColorStr="#4477AA", EndColorStr="#225588")

    -moz-box-shadow: 1px 1px 1px rgba(000,000,000,0.3);
    -webkit-box-shadow: 1px 1px 1px rgba(000,000,000,0.3);
    text-shadow: 0px 0px 3px rgba(0,0,0,0.5);
}

input#head[type="submit"]:hover, input#head[type="submit"]:focus,  button#head[type="submit"]:hover, button#head[type="submit"]:focus
{
  background:#F55;
  color:#333;
  background-image: linear-gradient(top, #fceded, #ff5555);
  background-image: -moz-linear-gradient(top, #fceded, #ff5555);
  background-image: -webkit-gradient(linear, left top, left bottom, from(#fceded), to(#ff5555));
  background: linear-gradient(to bottom, #fceded, #ff5555);
  filter: progid:DXImageTransform.Microsoft.Gradient(StartColorStr="#fceded", EndColorStr="#ff5555"))
}

input#IE2
{
  background-color: #ddd;
  font-size: 1em;
  width: auto;
  height: 2.3em;
  padding: 0 .5em;
  border: 2px solid #FFF;
  font-weight: bold;
  cursor: pointer; 
  margin: 0.4em 0 auto;
  text-transform: uppercase;
  font-weight: bold;
  vertical-align: middle;
  color:#FFF;
  filter: progid:DXImageTransform.Microsoft.Gradient(StartColorStr="#4477AA", EndColorStr="#225588");

  text-shadow: 0px 0px 3px rgba(0,0,0,0.5);
}

input#IE2:hover, input#IE2:focus
{
  filter: progid:DXImageTransform.Microsoft.Gradient(StartColorStr="#fceded", EndColorStr="#ff5555");
}

span.title
{
  text-align:		left;
  vertical-align: 	middle;
  font-weight:	bold;
  font-size:		2em;
  color:			#FFF;
  margin:			0.5em 0.5em 0.5em 0.5em;
}

span.header
{
  height:			100%;
  text-align:		left;
  vertical-align: 	middle;
  font-weight:		bold;
  padding:			2em 0 0 0.5em;
  color:				#FFF;
  margin:			0.5em 0.5em 0.5em 0.5em;
}

div#ver
{
  background:		#258;
  padding:			1.2em 0 0 0;
  height:			1em;
  width:				6em;
  left:				20em;
  z-index:			2;
  position:			fixed;
}

div#menu
{
  background:	#258;
  height:		3em;
  width:			8em;
  left:			28em;
  z-index:		2;
  position:		fixed;
}

div#user
{
  background:		#258;
  padding:			0.5em 0 0 10em;
  height:			3em;

  right:				8em;
  z-index:			2;
  position:			fixed;
  text-align:		right;
}

div#logout
{
  background:	#258;
  height:		3em;
  width:			8em;
  right:			0;
  z-index:		4;
  position:		fixed;
}

div#conte
{
  position:relative;
  min-height:100%;
  height: 100%;
  height: auto !important;
}
/* 大デバイス（デスクトップ, 1200px 未満）*/
@media (min-width: 1400px) {
  .cntdiv {
    font-size: 2.5rem;
  }
 }
/* 大デバイス（デスクトップ, 1200px 未満）*/
@media (min-width: 1200px) {
  .cntdiv {
    font-size: 2.0rem;
  }
 }
/* 大デバイス（デスクトップ, 1200px 未満）*/
@media (min-width: 992px) {
  .cntdiv {
    font-size: 1.5rem;
  }
  .navbar-expand-lg .navbar-collapse {
    display: flex!important;
    flex-basis: auto;
  }
}
/* 中デバイス（タブレット, 992px 未満）*/
@media (max-width: 991.98px) {
 .cntdiv {
   font-size: 1.5rem;
 }
}
/* 小デバイス（横向きモバイル, 768px 未満）*/
@media (max-width: 767.98px) {
 .cntdiv {
   font-size: 1.5rem;
 }
}
/* @include media-breakpoint-up(sm) {
// 極小デバイス（縦向きモバイル, 576px 未満）*/
@media (max-width: 575.98px) {
 .cntdiv {
   font-size: 1.0rem;
 }
}

body#nosc
{
  overflow: scroll;
  -ms-overflow-style: none;    /* IE, Edge 対応 */
  scrollbar-width: none;  
}

body#nosc::-webkit-scrollbar {  /* Chrome, Safari 対応 */
  display:none;
}