* {
  margin: 0px;
  padding: 0px;
}
html { font-size:1.3vw; } /*1.5*4=6 6*15=90 4*15=60 */
body {
  display:inline;
  background: #FFFFFF;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN",
    "Hiragino Sans", Meiryo, sans-serif;
  font-size: 1rem;
  color: #333;
  background-color:#ECEBEB;
  vertical-align: bottom;
}

em {
   color: navy;
   font-style: normal;
}

form {
}

form br {
}

input, textarea {
  padding: 5px;
  font: bold 1em Helvetica , "游ゴシック", sans-serif;
  color: #333333;
  background: #F9F3DF;
  border-top: 1px solid #CB960F;
  border-right: 1px solid #CCCC99;
  border-bottom: 1px solid #CCCC99;
  border-left: 1px solid #CB960F;
}


h1, h2, h3 {
  color: #052F41;
  margin-right:1em;
  margin-bottom:0.5em;
  padding-bottom: 0.1em;
  font-weight:500;
}

h1 {
  display: block;
  font-size: 1.5rem;
  padding-left: 0.5em;
  padding-right: 0.5em;
  border-top:1px solid #308576;
  border-bottom: 1px solid #308576;
}

h2::after {
  content: '\A';
  white-space: pre ;
}

h2 {
  position: relative;
  margin-top:0.2em;
  display: inline-block;
  top: -.2rem;
  line-height: 1.3;
  font-size: 1.2rem;
  border:1px solid #308576;
  padding-left:0.5em;
  padding-right:0.5em;
  color: navy;
}

h3 {
  display: inline;
  font-size: 1rem;
  font-weight:bold;
  color: navy;
}

p, ul, ol, dl {
  margin-left:.5rem;
  margin-bottom:0.5rem;
}

ul, ol {
  margin-top:0;
  margin-left: 2rem;
}

blockquote {
  margin-left: 3rem;
  margin-right: 3rem;
  font-style: italic;
}
a {
    color: #0077dd;
    text-decoration: underline;
}

a:hover {
  text-decoration: none;
  color: #C9960E;
}

#wrapper {
  position: absolute;
  top: 0px;
  left: 0px;
  width:95vw;
  margin:0px;
  padding:0px;
}

/* Header */

#header {
  position: absolute;
  top:0px;
  left:0px;
  display: block;
  margin:0px;
  padding:0px;
  width: 95vw;
  height: 60px;
  color: #5d627b;
  background-color: orange;
  border-bottom: 5px solid #85AD90;
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
}

#header h1 {
  float: left;
  margin: 0px;
  margin-top: 0.5em;
  margin-left: 1em;
  font-size:1.2rem;
}

#logo  {
  position: absolute;
  left: 2em
  float: left;
  margin: 0px;
  margin-top:1vh;
  margin-left:1rem;
  font-size:120%;
}

#info h1 {
  display: block;
  background-color: #308576;
  padding: 5px;
  font-size:1.2rem;
  color: white;
  font-weight: 600;
  border: 2px solid #ECEBEB;
  border-radius: 8px;
}

#howMany {
  position: absolute;
  right: 250px;
}
#crossPoint {
  position: absolute;
  right: 150px;
}

#logo h2 {
  position: absolute;
  top:0;
  left:10px;
}

#logo a {
  border: none;
  text-decoration: none;
  color: #000000;
}

#yuinavi {
    position: absolute;
    top: 30px;
    left: 20px;
    width: 900px;
    height:50px;
}

/* menu */
#menu {
    clear: both;
    height: 20px;
    padding: 0.2em 0.5em;
    background-color: #C4523C;
}

#info ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

#info li {
}

#info li ul {
  padding: 15px 10px;
}


#info dt {
    margin-top:0.5em;
    float: left;
    font-weight: bold;
    color: navy;
    padding-right: 1em;
}


/* main */

#main {
   clear:both;
   width: 90vw;
   margin-top: 60px;
   padding: 0px;
}


/* info */

#info {
    float: left;
    width: 10rem;
    margin: 10px 10px 0px 10px;
    padding:0px;
    line-height:150%;
}

ul#sidemenu { margin-left:.5rem; }

/* Content */

#content {
    float: left;
    width: 40rem;
    min-height: 550px; 
    height: auto !important;
    height: 550px;
    padding: 0;
    margin: 10px 10px 0px 10px;
    line-height:1.4;
}

#content p {
  line-height:150%;
}

.fbox {
    position: relative;
    margin: 2em 0;
    padding: 0.5em 1em;
    border: solid 3px #95ccff;
    border-radius: 8px;
}
.fbox h3 {
    position: absolute;
    display: inline-block;
    top: -1.2rem;
    left: 1rem;
    width:10rem;
    padding: 0 9px;
    line-height: 1;
    font-size: 1.2rem;
    background: #efefef;
    color: #4169e1;
}

.fbox p {
    margin: 0; 
    padding: 0;
}

#contentWide {
    float: left;
    width: 48rem;
    min-height: 460px;
    height: auto !important;
    height: 460px; 
    padding: 0;
    margin: 0px 10px 0px 10px;
}

#content h3 {
   width:20rem;
   margin-bottom:.5rem;
}

#content ul,ol,dl {
    margin-top: .2em;
    margin-bottom: .5em;
}

#content dt {
    clear:both;
    margin-top:0.5em;
    font-weight:bold;
    display: inline;
    padding-right: 1em;
}
#content dd {
    display: inline;
    padding-left:1em;
}

#content dl { clear: both; }
#content ul li {
    list-style-type:disc;
}

#content ol li {
    list-style-type: decimal;
}


/* message */

#message {
  float:left;
  width: 15rem;
  line-height:150%;
  margin: 10px 0px 0px 10px;
  padding:0;
  font-size: .9rem;
}


#message li {
    list-style-type:disc;
}

#message dt {
    margin-top: 5px;
    float:left;
    color:blue;
    padding-right:1em;
    clear:left;
}

#message dd {
    vertical-align:top;
}
/* Footer */

#footer {
  clear: both;
  width: 50rem;
  height: 1.5rem;
  background: #666;
  color: white;
}

#footer p {
  margin: 0;
  padding: 15px 20px;
  font-size: smaller;
}

#productsandservices {
    margin: 0px;
    padding:0px;
}

ul#navi  {
  margin-top:15px;
  margin-left:15em;
  list-style: none;
  font: 1.1rem/1.5 Helvetica , "游ゴシック", sans-serif;
}

ul#navi li {
  display: inline;
  padding-left: 2px;
  vertical-align: top;
  margin-right: 4px;
  font-size: .9rem;
  color:black;
}

ul#navi a {
  background: transparent;
  text-decoration: none;
  border-bottom: 1px solid white;
}

ul#navi a:hover {
  color: white;
  text-align: center;
}


.Column {
  float: left;
  width: 24rem; /* 60-10=50 */
  padding: 10px;
}

.Column p {
  line-height:150%;
}

.Column h2 {
  padding-left: 20px;
}

.Column h3 {
  padding-left: 20px;
  margin-bottom:5rem;
}

.Column dt {
    float:left;
    color:blue;
    padding-right:1em;
    clear:left;
}
.Column dd {
    vertical-align:text-bottom;
    margin-left: 2em;
}

.minipageHalf  {
    width: 48%;
    float:left;
    margin:1rem;
    height: auto;
}

.minipageHalf:after  {
    content: "";
    clear: both;
    height: 0;
    display: block;
    visibility: hidden;
}

.example {
  border: 1px solid orange;
  padding: 0.5em;
  margin-top:1em;
}
.key {font-weight: bold; color:blue;}
.rem {color: green; }
.prog {
  margin-left: 2%;
  background:#ffffcc; color: black;
  font-family: "Courier New", Courier. monospace;
  line-height:1.2;
  margin-bottom:0px;}
.prog a { color:black;}
.prog a:hover {background:#ffcc00;text-decoration:underline}
.quote {
  margin-top: 1em;
  margin-bottom: 1em;
  margin-left:6%;
  margin-right:5%;
  background:#ffffcc; }

/* Mathematical expression */
.math {line-height:200%;
  font-family: 'Times New Roman',Times,serif;
  }
.block {border-left: solid 2px orange; }
.m1,.M1 { font-style: normal; font-family: Math1, Mathematica1, Symbol; }
.m2,.M2 {  font-style: normal;font-family: Math2, Mathematica2; }
.m3,.M3 { font-style: normal; font-family: Math3, Mathematica3; }
.m4,.M4 {  font-style: normal;font-family: Math4, Mathematica4; }
.m5,.M5 { font-style: normal;font-family: Math5, Mathematica5; }
.m6,.M6 { font-style: normal;font-family: cmsy10; }
.M1,.M2,.M3,.M4,.M5,.M6 { padding-left:2px; padding-right:2px;}
.example { border: solid 2px orange; padding: 1ex; }
.theorem { border: solid 2px blue; padding: 1ex; }
.remark { border: solid 2px green; padding: 1ex; }
.References { border-top: solid 2px blue; }

.rm { font-style: normal; }
.mn {
  font-family: 'Times New Roman',Times,serif;
  font-style: normal; }
.op { font-style: normal; font-family: 'Courier New', Courier, mono;
     padding: 0px 2px 0px 2px; font-size:110%;
}

table { border-collapse:collapse; }
td { font-size: 1rem; }
td { padding: 2px;}
table.dmath {line-height:200%; 
  font-family: 'Times New Roman',Times,serif;
}
td.dmath { padding-left:2em; }
td.eq {  }
td.sup { vertical-align:top; }
td.sub { vertical-align:bottom; }
td.nume { padding-bottom:0; text-align:center; font-style:italic;font-family="Times New Roman,Times,serif"; line-height:150%;}
td.deno { padding-top:0; text-align:center; border-top:1pt solid black; font-style:italic;font-family:"Times New Roman",Times,serif;}
.topBorder { border-top: solid 1px black; }
td.l {
  border-left: solid 1px black;
}
td.r {
  border-right: solid 1px black;
}
td.lr {
  border-left: solid 1px black;
  border-right: solid 1px black;
}
td.ul {
  border-top: solid 1px black;
  border-left: solid 1px black;
}
td.ur {
  border-top: solid 1px black;
  border-right: solid 1px black;
}
td.ulr {
  border-top: solid 1px black;
  border-left: solid 1px black;
  border-right: solid 1px black;
}
td.bulr { border: solid 1px black; }
.large { font-size: 1.2rem; }
.Large { font-size: 1.4rem; }
.LARGE { font-size: 1,7rem; }
.huge  { font-size: 2rem; }
.Huge  { font-size: 2,5rem; }
.small { font-size:.9rem; }
.footnotesize { font-size:.6rem; /*80%;*/ }
.scriptsize { font-size: .7rem; }
.tiny { font-size: .5rem; }

/*カレンダー*/
.cal { width:12rem; margin: 4px; margin-left:5px; line-height:1; float:left;}
float:left;}
.cal * { text-align: center; font-size: 1rem; }
.cal table { width: 10rem; border-spacing: 0px; border: solid 1px red; border-top: none; border-collapse:separate;}
.cal caption { border: solid 1px red; border-bottom: none; }
.cal th { background: white; opacity: 0.5; filter: Alpha(opacity=50); }
.cal td.today { background: yellow; }
