/* CSS File */
html {
 font-size: 14px;
}

body {
  font-family: 'Noto Sans JP', sans-serif;
}

nav {
  display: grid;
}

.headerBlock {
  background-color: #45556b;
  background-size: cover;
  padding: 0.2rem 0;
  display: grid;
  align-items: center;
  column-gap: 2%;
  grid-template-columns: 1fr 1fr;    
}

.headerBlock h1 {
  font-size:  2rem;
  color: white;
  padding: 0;
  margin: 2px 12px;
}

.mainBlock {
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 3fr;
}

.mainBlock p {
  font-size: 1.4rem;
  padding: 0.6rem 1rem;
  margin: 0;

}

.mainBlock.blog {
  display: grid;
  grid-template-columns: 1fr;  
}

.mainBlock.dual {
  display: grid;
  grid-template-columns: 1fr 1fr;    
}

.itemArticle {
  padding: 6px;
}

.itemArticle.Photo {
  background-color: #f5f9ff;
}

.itemArticle.multiple {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;  
}

.itemArticle h1 {
  color: #2a2f36;
}

.itemArticle h2 {
  color: #2a2f36;
}

.itemArticle h3, .itemArticle h4 {
  color: #2a2f36;
  font-size:  1.3rem;
}

.itemArticle h4 {
  margin-left:  18px;
}

.itemArticle p {
  font-weight: 300;
}

.itemArticle p strong{
  font-weight: bold;
}

.itemArticle li {
  margin: 4px 0;
  padding: 0;
}

.itemArticle a:hover {
  text-decoration: none;
  color: #805500 ;
}

.itemArticle a {
  color:  #000;
}

.shadowBlock {
  box-shadow:  6px 6px 3px #666666;
  background-color: #f6f6f6;
  padding:  4px 8px;
  margin:  4px 8px;
}

.blogitem, .blogitemPhotos {
 background-color: #45556b;
 margin:  16px 1% 12px 1%;
}

.blogitem {
  box-shadow: 8px 8px 4px #000000;
  padding-top:  6px;
}

.blogitem h2 {
  color:  #ffffff;
  margin:  4px 12px;
  padding:  0 12px;
}

.blogitem p {
  color:  #c1cfe0 ;
  margin:  0px 12px;
  padding:  0px 12px 6px 12px;
}

.blogitem.heading {
  padding: 12px 6px;
  background-color: #5e95e0;
}

.blogitemPhotos {
 background-color: #666666;
 display: grid;
 grid-template-columns: 1fr 1fr 1fr 1fr;
 column-gap: 3%;
 padding:  10px 4px;
 margin:  0;
 border-top:  1px solid #666;

}

.blogitemPhotos.blog {
 display: grid;
 grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}

.blogitemPhotos img {
  margin:  12px 4px;
  padding:  0;
  width:  98%;
  box-shadow: 6px 6px 4px #000;
}

.blogAuthor {
  float:  right;
  width:  50%;
  font-size:  1.1rem !important;
  font-style: italic;
  text-align: right;
}

footer {
  display: grid;
  align-items: center;
  column-gap: 2%;
  grid-template-columns: 1fr 1fr 1fr;


  background-color: #5e656e; /* was 4682B4 */
  padding: .5rem;
  margin:  0;
  color: black;
  text-align: center;
  font-size: 1.2rem;
}

footer > p > a {
  color: #fff;
  text-decoration: none;
}

footer > p  {
  color: #fff;
  margin: 0;
  padding: 0;
  font-weight: 300;
}

footer > p > a:hover {
  color: #b8c3d1;
}


input[type="text"], input[type="email"], textarea, input[type="password"] {
 background-color: #EADEBD; 
 font-size: 1rem;
}

input[type="number"] {
 background-color: #EADEBD; 
 font-size: 1.2rem;
}

select {
 background-color: #EADEBD; 
 font-size: 1rem;
 /*-webkit-appearance: menulist;*/
 white-space: nowrap;
 overflow: hidden;
 text-overflow: ellipsis;
 max-width:  90%;
}

.generalTable td {
  font-size: 1.4rem;
  font-weight: 300;
  padding: 0.6rem 1rem;
  margin: 0;
  border-bottom: 1px solid #EADEBD;
}



.tpgButton {
  margin: 4px 3px;
  padding: 4px 12px;
  font-size: 1.4rem !!important;
  background-color: #1f406e;
  color: #ffffff;
  cursor: pointer;
  box-shadow: 3px 3px 2px #AAAAAA;
}

.tpgButton:hover {
  background-color: #9ec4f7;  
  color:  #000;
}

.tpgButton.fRight {
  float:  right;
}


.tabBar {
 float:  right;
 border:  none;
}

.tabBar a {
 text-decoration:none; 
 border: 1px solid #999999; 
 padding: 2px; 
 margin: 2px; 
}

.tabBar a:hover {
  background-color: #355173;
  color: #ffffff;
}

.tabBar span {
 padding: 4px; 
 margin: 3px
 border:  none;
}



/*
----------------------------------------------------------------------------------
Responsive css here....... 
----------------------------------------------------------------------------------
*/

@media all and (max-width : 820px) {

   .mainBlock {
     margin: 0;
     display: grid;
     grid-template-columns: 1fr 2fr;
   }

   .mainBlock.dual {
     display: grid;
     grid-template-columns: 1fr;
   }


}


/* ================================================================================ */




@media all and (max-width : 700px) {

   .mainBlock {
     margin: 0;
     display: grid;
     grid-template-columns: 1fr;
   }

   .blogAuthor {
    display:  none;
   }

   .blogitemPhotos.blog {
     display: grid;
     grid-template-columns: 1fr 1fr;
   }

   footer {
     grid-template-columns: 1fr;
   }

}

/* ================================================================================ */


