@charset "utf-8";
/* CSS Document */
@font-face {
	font-family: "YuGothic M";
	src: local("Yu Gothic Medium"),
		 local("Yu Gothic");
	font-weight: 500;
		 /*
		   Chrome 58.0.3029.110 (64-bit) では
		   "Yu Gothic Medium" を認識しないバグあるため
		   "Yu Gothic" と font-weight も併せて指定。
		 */
  }
body{
	margin:0;
	padding:0;
	font-size: 120% ;
}
img{vertical-align: middle;}
#main{
	padding:10px;
  widows: 100%;
  margin:60px auto 10px auto;
  width:800px;

}
@media screen and (max-width: 840px) {
  #main{
    margin-top:60px;
    padding:10px;
    width:90%;
  }
}
.font-s{font-size:90%}
.center{text-align:center;}
.txt-blue{color:#045FB4;}
.txt-red{color:#cc0000;}
.txt-green{color:#006633}

.txt-kubun{
    width:100%;
    font-weight:bold;
    color:red;
    font-size:110%;
    border-bottom:1px solid red;
}
.input-txt{
    font-size:100%;
}
.txt-ttl{
    font-weight:bold;
}
.header {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 40px;
    text-align:center;
    background-color: #fff;
    box-shadow: 0 2px 6px rgba(0,0,0,.16);
  }
  .h1{
      margin-left:20px;
      margin-top:6px;
      font-size:20px;
      font-weight:bold;
      color:#045FB4;
  }
  @media screen and (max-width: 840px) {
      .h1{margin-top:8px;
          text-align:left;
      }
  }
  .box{margin:16px 0}
  input[type='text'], input[type='number']{
    width: 96%;
    padding: 8px;
    font-size:100%;
    border-radius: 8px;
    border: 1px solid #ccc;
    -webkit-appearance: none;
    -moz-appearance: none;
  }
  select{border: 1px solid #999;font-size:100%}
  .select-wrap {
    width: 98%;
  }
  
  .select-wrap select{
    width: 100%;
    outline:none;
    height: 40px;
    padding: 5px;
    -webkit-appearance: none;
    -moz-appearance: none;
    border:1px solid #ccc;
    background-color: #fff;
    border-radius: 8px;
  }
  
  .item-name{font-weight:bold;}

  /* ============================== */
  .global-nav {
    position: fixed;
    right: -320px; /* これで隠れる */
    top: 0;
    width: 300px; /* スマホに収まるくらい */
    height: 100vh;
    padding-top: 40px;
    background-color: #fff;
    transition: all .6s;
    z-index: 200;
    overflow-y: auto; /* メニューが多くなったらスクロールできるように */
  }
  .hamburger {
    position: absolute;
    right: 6px;
    top: 10px;
    width: 160px; /* クリックしやすいようにちゃんと幅を指定する */
    height: 40px; /* クリックしやすいようにちゃんと高さを指定する */
    cursor: pointer;
    z-index: 300;
  }
  .global-nav__list {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .global-nav__item {
    text-align: center;
    padding: 0 14px;
  }
  .global-nav__item a {
    display: block;
    padding: 8px 0;
    border-bottom: 1px solid #eee;
    text-decoration: none;
    color: #111;
  }
  .global-nav__item a:hover {
    background-color: #eee;
  }
  .hamburger__line {
    position: absolute;
    left: 120px;
    width: 22px;
    height: 2px;
    background-color: #111;
    transition: all .6s;
  }
  .hamburger__line--1 {
    top: 6px;
  }
  .hamburger__line--2 {
    top: 12px;
  }
  .hamburger__line--3 {
    top: 18px;
  }
  @media screen and (max-width: 840px) {
    .hamburger__line--1 {
      top: 4px;
    }
    .hamburger__line--2 {
      top: 10px;
    }
    .hamburger__line--3 {
      top: 16px;
    }
  
  }
  .black-bg {
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    z-index: 100;
    background-color: #000;
    opacity: 0;
    visibility: hidden;
    transition: all .6s;
    cursor: pointer;
  }
  /* 表示された時用のCSS */
  .nav-open .global-nav {
    right: 0;
  }
  .nav-open .black-bg {
    opacity: .8;
    visibility: visible;
  }
  .nav-open .hamburger__line--1 {
    transform: rotate(45deg);
    top: 12px;
  }
  .nav-open .hamburger__line--2 {
    width: 0;
    left: 50%;
  }
  .nav-open .hamburger__line--3 {
    transform: rotate(-45deg);
    top: 12px;
  }
  @media screen and (max-width: 840px) {
    .nav-open .hamburger__line--1 {
      transform: rotate(45deg);
      top: 10px;
    }
    .nav-open .hamburger__line--2 {
      width: 0;
      left: 50%;
    }
    .nav-open .hamburger__line--3 {
      transform: rotate(-45deg);
      top: 10px;
    }
  
  }

/* ボタン  */
.btn{
  margin:10px auto 0 auto;
  border: 1px solid green;
  border-radius: 5px;
  background-color: green;
  padding: 10px 20px;
  text-align: center;
  color: white;
  width: 150px;
  font-size:100%;
}

