@charset "utf-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);/*NotoSans*/
html{
  font-size: 62.5%;
}
body,input,pre,textarea{
  font-family: "Hiragino Kaku Gothic ProN","Meiryo", sans-serif;
  color: #000;
  font-size: 1.5rem;
}
.noto{
  font-family: 'Noto Sans Japanese',Verdana,Roboto,"Droid Sans","游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","ＭＳ Ｐゴシック",sans-serif;
}
@font-face{
  font-family: FontAwesome;
  src: url('../webfonts/fa-solid-900.woff'),url('../webfonts/fa-solid-900.woff2');
}
input, pre, textarea, code{
  font-size: 1.0rem;
}
*,*:before,*:after{
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
html, body, h1, h2, h3, h4, h5, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td{
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align:middle;
  /* font-weight: normal; */
  word-wrap: break-word;
  word-break: break-word;
}
span {
    vertical-align: baseline;
}
body{
  line-height: 1.5;
}
textarea{
  resize: vertical;
}
input[type="submit"]{
  -webkit-appearance: none;
  border-radius: 0;
}
img{
  width: 100%;
  height: auto;
}
iframe{
  width: 100%;
  max-width: 100%;
}
.b{
  font-weight: bold;
}
.red{
  color: #f00;
}
/*float*/
.clear:after{
  display: block;
  clear: both;
  content: "";
}
.left{
  float: left;
}
.right{
  float: right;
}
.table{
    display: table;
}
.cell{
    display: table-cell;
}
.posiR{
  position: relative;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width:960px) {
  .posiR{width: 100%;}
}
.posiA{
  position: absolute;
}
/*list*/
ol, ul{
  list-style: none;
  list-style-type: none;
}
ul.num,
ul.dot,
ul.arrow,
ul.rice,
ol.brackets,
ul.kome li{
  list-style-position: inside!important;
}
ul.num li,
ul.dot li,
ul.arrow li,
ul.rice li,
ol.brackets li,
ul.kome li{
  padding-left: 1.0em;
  text-indent: -1.0em;
}
ul.num{
  list-style: decimal;
  list-style-type: decimal;
}
ul.dot > li:before{
  font-family: FontAwesome;
  content: "\f111";
  padding-right: 0.3em;
}
ul.arrow li::before{
  font-family: FontAwesome;
  content: "\f138";
  padding-right: 0.3em;
}
ul.rice li::before{
  content: "※";
}
ol.Brackets > li{
  counter-increment: cnt;
}
ol.brackets > li:before{
  display: marker;
  content: "(" counter(cnt) ")";
}
ul.kome li::before{
  content: "※";
}
/*a*/
a:link,a:visited,a:active{
  color: #333;
  text-decoration: underline;
}
a:hover{
  text-decoration: none;
}
a img:hover{
  opacity: 0.6;
}
a img:hover,
.trans{
  transition: 0.2s;
  -moz-transition: 0.2s;
  -webkit-transition: 0.2s;
  -o-transition: 0.2s;
}
/*h*/
h1 span,h2,h3,h4{ font-weight: bold; }
h2{ font-size: 1.8em; }
h3{ font-size: 1.6em; }
h4{ font-size: 1.2em; }
@media screen and (max-width:500px){
  h2{ font-size: 1.6em; }
  h3{ font-size: 1.4em; }
  h4{ font-size: 1.0em; }
}
/*google search*/
.gsc-control-cse{
  background: none!important;
  border: none!important;
  padding: 0!important;
}
.gsc-input-box{
  height: 35px!important;
}
@media screen and (min-width:1000px){
  .heightMax{ min-height: calc(100vh - 282px); }
  .footerBg{ height: 282px; }
}
/**********
table
***********/
/*type01*/
table.type01{
	border-collapse: collapse;
}
table.type01 th{
  font-weight: bold;
}
table.type01 th,
table.type01 td{
	border: 1px solid #ccc;
  text-indent: 0;
  padding: 0.5em;
}
/*type02*/
table.type02{
	border-collapse: collapse;
  width: 100%;
}
table.type02 th{
	border: 1px solid #ccc;
  color: #fff;
  text-indent: 0;
  padding: 0.5em;
}
table.type02 td{
	border: 1px solid #ccc;
  text-indent: 0;
  padding: 0.5em;
}
/*type03*/
table.type03{
	border-collapse: collapse;
	border-top: 1px solid #ccc;
  text-align: left;
}
table.type03 th{
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
  font-weight: bold;
  padding: 0.5em;

}
table.type03 td{
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
  padding: 0.5em;
}
/*type04*/
table.type04{
	border-collapse: separate;
	border-spacing: 1px;
	border-top: 1px solid #ccc;
}
table.type04 th,
table.type04 td{
	border-bottom: 1px solid #ccc;
  padding: 0.5em;
}
table.type04 td{
  text-align: left;
}
/**********
In
***********/
.in{
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}
.bigIn{
  width: 85%;
  max-width: 1000px;
  margin: 0 auto;
}
/**********
Margin
***********/
.big{
  padding-top: 6.0em;
}
.middle{
  padding-top: 4.0em;
}
.small{
  padding-top: 2.0em;
}
.mini{
  padding-top: 1.0em;
}
.miniM{
  padding-top: 0.5em;
}
@media screen and (max-width:960px){
  .big{ padding-top: 5.0em; }
  .middle{ padding-top: 3.5em; }
  .small{ padding-top: 1.5em; }
  .mini{ padding-top: 0.8em; }

}
@media print{
  body {
    -webkit-print-color-adjust: exact;
  }
  .header ul.menu a{
    font-size: 0.8em;
  }
}