@charset "utf-8";
/* CSS Document */
.red {
    color: #E40003;
    color: #333;
}
body {
    font-family: 'Noto Sans JP', sans-serif;
}
a:link {
    color: #0A43C9;
    text-decoration: none;
}
a:visited {
    text-decoration: none;
    color: #0A43C9;
}
a:hover {
    text-decoration: none;
    color: #F7870B;
}
a:active {
    text-decoration: none;
    color: #0A43C9;
}
@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";
    }
    h1 {
        margin: 0 auto;
    }
    h2 {
        margin: 0 auto;
    }
    h3 {
        margin: 0 auto;
    }
    .site-header {
        background: linear-gradient(#fff 100%, #062988 0%);
        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;
    }
}