@charset "utf-8";

/* CSS Document */

.red {
  color: #E40003;
  color: #333;
}

body{
font-family: 'Noto Sans JP', sans-serif;
}

@media only screen and (min-width: 769px) {

  main {
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    width: 960px;;
  }

  main div.column2-a {
    width: calc(50% - 0px);
    text-align: left;
    margin: 0px;
    padding-bottom: 5px;
  }
  .column2-a img {
    width: 180px;
    padding-top: 5px;
  }
  .hdtxt {
    text-align: left;
    color: #fff;
    padding-left: 5px;
    font-size: 10px;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  }
  

  .site-header {
    background: linear-gradient(#fff 72%, #062988 40%);
    width: 100%;
    z-index: 1000;
  }
  .tophd {
    margin: 0 auto;
    width: 100%;
    background-color: #004098;
    height: 30px;
	margin-top: -8px;
  }
  .tophd2 {
    margin: 0 auto;
    width: 960px;
    text-align: left;
  }
  .tophd3 {
    margin: 0 auto;
    margin-top: 0px;
    width: 100%;
    background-color: #062988;
    height: 30px;
  }
  .tophd4 {
    margin: 0 auto;
    margin-top: -20px;
    width: 100%;
    background-color: #062988;
    height: 32px;
  }
  .toptxt {
    margin: 0 auto;
    margin-top: -30px;
    text-align: left;
    color: #fff;
    font-size: 10px;
  }
  .nav {
    width: 960px;
    height: 40px;
    margin: 0 auto;
    padding: 0;
    display: flex;
  }
  .nav li {
    position: relative;
    list-style: none;
  }
  .nav li a {
    display: block;
    width: 137px;
    height: 40px;
    text-align: center;
    color: #fff;
    font-size: 12px;
    line-height: 3.4;
    background: #062988;
    transition: 0.5s;
    text-decoration: none;
    border-right: 1px solid #ccc;
    box-sizing: border-box;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  }
  .nav>li:hover>a {
    /*layer-1*/
    color: #fff;
    background: #457aca;
  }
  .nav>li li:hover>a {
    /*layer-2*/
    background: #457aca;
  }
  .nav li ul {
    top: 40px;
    left: -40px;
    position: absolute;
    z-index: 1000;
  }
  .nav li ul li {
    overflow: hidden;
    height: 0;
    transition: 0.2s;
  }
  .nav li ul li a {
    border-top: 1px solid #eee;
  }
  .nav li:hover>ul>li {
    overflow: visible;
    height: 40px;
  }
  .nav li ul li ul {
    top: 0;
    left: 110px;
  }
  .nav li ul li ul:before {
    /*layer-2▷*/
    position: absolute;
    content: "";
    top: 15px;
    left: 30px;
    border: 5px solid transparent;
    border-left: 5px solid #fff;
  }
  .nav li ul li ul li:hover>a {
    /*layer-3*/
    color: pink;
    background: #afc6e2;
  }
  .nav li ul li ul.left {
    top: 0;
    left: -190px;
  }
  .nav li ul li ul.left:before, /*layer-2-left▷*/
  .nav li ul li ul li ul.left:before {
    /*layer-3-left▷*/
    position: absolute;
    content: "";
    top: 15px;
    left: 190px;
    border: 5px solid transparent;
    border-right: 5px solid #fff;
  }
  .nav li ul li ul.left li:hover>a {
    /*layer-2-left*/
    color: pink;
    background: #afc6e2;
  }
  .nav li ul li ul li ul.left li:hover>a {
    /*layer-3-left*/
    color: purple;
    background: #afc6e2;
  }
  .content {
    width: 750px;
    height: 200px;
    background: #eee;
    margin: 0 auto;
    padding: 10px;
    text-align: left;
    box-sizing: border-box;
  }
  a.anchor {
    display: block;
    padding-top: 70px;
    margin-top: -70px;
  }
  main div.column2-b {
    width: calc(50% - 0px);
    text-align: right;
    padding-top: 11px;
  }
}

@media only screen and (max-width: 768px) {
  header {
    padding: 5px 5px 0px 5px;
    background: #fff;
  }
  #nav-drawer {
    position: relative;
  }
  /*チェックボックス等は非表示に*/
  .nav-unshown {
    display: none;
  }
  /*アイコンのスペース*/
  #nav-open {
    display: inline-block;
    width: 30px;
    height: 22px;
    vertical-align: middle;
  }
  /*ハンバーガー*/
  #nav-drawer {
    position: relative;
  }
  /*チェックボックス等は非表示に*/
  .nav-unshown {
    display: none;
  }
  /*アイコンのスペース*/
  #nav-open {
    display: inline-block;
    width: 30px;
    height: 22px;
    vertical-align: middle;
  }
  /*ハンバーガーアイコンをCSSだけで表現*/
  #nav-open span, #nav-open span:before, #nav-open span:after {
    position: absolute;
    height: 3px;
    /*線の太さ*/
    width: 25px;
    /*長さ*/
    border-radius: 3px;
    background: #339900;
    display: block;
    content: '';
    cursor: pointer;
  }
  #nav-open span:before {
    bottom: -8px;
  }
  #nav-open span:after {
    bottom: -16px;
  }
  /*閉じる用の薄黒カバー*/
  #nav-close {
    display: none;
    /*はじめは隠しておく*/
    position: fixed;
    z-index: 99;
    top: 0;
    /*全体に広がるように*/
    left: 0;
    width: 100%;
    height: 100%;
    background: black;
    opacity: 0;
    transition: .3s ease-in-out;
  }
  /*中身*/
  #nav-content {
    overflow: auto;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    /*最前面に*/
    width: 90%;
    /*右側に隙間を作る*/
    max-width: 330px;
    /*最大幅*/
    height: 100%;
    background: #fff;
    /*背景色*/
    transition: .3s ease-in-out;
    /*滑らかに表示*/
    -webkit-transform: translateX(-105%);
    transform: translateX(-105%);
    /*左に隠しておく*/
  }
  /*チェックが入ったらもろもろ表示*/
  #nav-input:checked~#nav-close {
    display: block;
    /*カバーを表示*/
    opacity: .5;
  }
  #nav-input:checked~#nav-content {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
    /*中身を表示*/
    box-shadow: 6px 0 25px rgba(0, 0, 0, .15);
  }
  .han01 {
    margin: 0 auto;
    text-align: center;
    padding-top: 10px;
    font-weight: bold;
    color: #35AA19;
  }
  main3 {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin: 0 auto;
  }
  main3 div.column1 {
    width: calc(100% - 20px);
    margin: 0 auto;
    padding-top: 10px;
  }
  main3 div.columnbn {
    width: calc(50% - 12px);
    margin: 15px 0px 5px 7px;
  }
  main3 div.column3 {
    width: calc(33.3% - 10px);
    margin: 5px 0px 0px 7px;
  }
  main3 div.columnbn3 {
    width: calc(33.3% - 10px);
    margin: 5px 0px 0px 7px;
  }
  .hantop01 {
    padding-top: 5px;
  }
    .top_flex{
  display: flex;
  }
  
.sp01{
flex: 1.5;
	text-align: left;
padding-bottom: 5px;
}

.sp01a{
flex: 1.5;
padding-bottom: 5px;
}

.sp01 img{
vertical-align:middle;
width: 90px;
}

.sp01a img{
vertical-align:middle;
}
.sp02{
flex: 2;
}

.sp02 img{
vertical-align:middle;
}
.sp02a{
flex: 2;
}

.sp02a img{
vertical-align:middle;
}
.sp03{
flex: 1;
}
.sp03 img{
vertical-align:middle;
}
.sp03a{
flex: 1;
}
.sp03a img{
vertical-align:middle;
}
}