@charset "UTF-8";

/* Font
**************************************************************************************/
/*@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);*/

/* CSS Reset
**************************************************************************************/
body {
	-moz-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    font-size: 14px;
    font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
    color: #333333;
}
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, img, ins, kbd, q, s, samp,
small, strike, sub, sup, tt, var,
u, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-style:normal;
    font-weight: normal;
	font-size: 100%;
	vertical-align: baseline;
}

strong, b, em, i {
    margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}

html{
  overflow-y: scroll;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

input, textarea{
	margin: 0;
	padding: 0;
}

ol, ul{
  list-style:none;
}

table{
  border-collapse: collapse; 
  border-spacing:0;
}

caption, th{
  text-align: left;
}

a:focus {
	outline:none;
}

br { letter-spacing: normal;}
hr { display: none;}
img { vertical-align: bottom; font-size:1px;}

img a { border:none;}


/* common
**************************************************************************************/

/* Float Clear
=============================================================================*/
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	line-height: 0;
	font-size:0;
}
.clearfix {	
    display:inline-block;
}
* html .clearfix { 
    height: 1%;
}
.clearfix {
    display: block;
}
.clear { 
    clear: both;
}




/* layout
**************************************************************************************/

body{
    /*
    display: flex;
    flex-direction: column;*/
    min-height: 100vh;
    width: 100%;
}

.wrapper{
    min-height: 100vh;
    position: relative;
    padding-bottom: 120px;
    box-sizing: border-box;
}
footer{
    width: 100%;
    background-color: #89c7de;
    color: #fff;
    text-align: center;
    padding: 30px 0;

 position: absolute;/*←絶対位置*/
    bottom: 0; /*下に固定*/
}

.inner {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    padding-left: 10px;
    padding-right: 10px;
    min-width: 960px;
}
.inner::after {
    clear: both;
    content: '';
    display: block;
}

/* header
=============================================================================*/
header{
    width: 100%;
    background-color: #cccccc;
    display: flex;
    flex-direction: column;
}
header .topBar{
    position: relative;
    top: 0px;
    left: 0px;
    width: 100%;
    min-width: 992px;
    height: 106px;
    background: #000000 0% 0% no-repeat padding-box;
    opacity: 1;
}
header .topBar a.logoLink{
    text-decoration: none;
}
header .topBar a.logoLink:hover{
    text-decoration: none;
}
header .topBar .logo{
    position: absolute;
    top: 25px;
    left: 38px;
    text-align: left;
    
    font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
    font-size: 2.1rem;
    font-weight: bold;
    color: #ffffff;
    opacity: 1;
}
header .topBar .logo span{
    color: #1472AE;
    text-align: left;
    font-size: 2.1rem;
    font-weight: bold;
    font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
    opacity: 1;
}

header .topBar .formBtn{
    position: absolute;
    top: 28px;
    right: 41px;
    font: Medium 1rem Noto Sans CJK JP;

    background: #F9BB07 0% 0% no-repeat padding-box;
    border: 1px solid #F9BB07;
    border-radius: 26px;
    padding: 13px 26px;
    opacity: 1;
}
header .topBar .formBtn:hover{
    background: rgb(255, 211, 78) 0% 0% no-repeat padding-box;
}

header .menuBar{
    position: relative;
    width: 100%;
    min-width: 992px;
    min-height: 38px;
    background: #1472AE 0% 0% no-repeat padding-box;
    text-align: right;
    opacity: 1;
}
header .menuBar ul.gNavi{
    position: absolute;
    font-size: 1rem;
    top: 7px;
    right: 41px;
    color: #ffffff;
}
header .menuBar ul.gNavi li{
    float: right;
    font-size: 1rem;
}
header .menuBar ul.gNavi li.bar{
    border-left: 1px solid #ffffff;
    padding-left: 10px;
    margin-left: 10px;
    min-height: 24px;
}
header .menuBar ul.gNavi li a{
    color: #ffffff;
}
header .menuBar ul.gNavi li a:hover{
    color: #F9BB07;
    text-decoration: none;
}


/* main
=============================================================================*/
.content {
    flex: 1;
}



/* TopPage search
-------------------------------*/
.mainFormArea{
    width: 100%;
    min-width: 992px;
    height: auto;
    background: transparent url('../img/mainimage.jpg') 0% 0% no-repeat padding-box;
    background-size: cover;
    padding-top: 30px;
    opacity: 1;
}
.searchArea{
    position:relative; 
    margin: 0 auto;
    min-width: 960px;
    background: rgba(0, 0, 0, 0.7) 0% 0% no-repeat padding-box;
    opacity: 1;
    padding: 60px 60px 130px 60px;
}
.searchArea h1{
    font-size:2rem;
    color: #EEEEEE;
    text-align: center;
    opacity: 1;
}
.searchArea .formTable{
    width: 100%;
    margin: 32px auto 20px auto;
}
.searchArea .formTable th{
    background: #585858 0% 0% no-repeat padding-box;
    border: 0.5px solid #999999;
    text-align: left;
    color: #FFFFFF;
    width: 30%;
    padding: 20px;
    opacity: 1;
    vertical-align: top;
}
.searchArea .formTable td{
    background: #EEEEEE 0% 0% no-repeat padding-box;
    border: 0.5px solid #999999;
    padding: 20px;
    opacity: 1;
    vertical-align: top;
}


/* SearchBtn
-------------------------------*/
.searchBtn{
    display: table;
    font-size: 1.3rem;
    min-width: 280px;
    background: #F9BB07 0% 0% no-repeat padding-box;
    border: 1px solid #F9BB07;
    border-radius: 30px;
    margin: 0 auto;
    padding: 13px 26px;
    opacity: 1;
}
.searchBtn:hover{
    background: rgb(255, 211, 78) 0% 0% no-repeat padding-box;
}


/* TopPage News
-------------------------------*/
.mainNewsArea{
    position: relative;
    width: 100%;
    min-width: 992px;
    min-height: 200px;
    height: auto;
    background: transparent url('../img/news_bg.jpg') 0% 0% no-repeat padding-box;
    background-size: cover;
    opacity: 1;
}

.newsArea{
    /*position: absolute;
    left: 0;
    right: 0;*/
    min-width: 960px;
    background: #ffffff 0% 0% no-repeat padding-box;
    opacity: 1;
    margin-top: -40px;
    padding: 60px 60px 180px 60px;
}
.newsArea h2{
    font-size: 1.8rem;
    text-align: center;
    opacity: 1;
}

.newsArea .list{
    width: 100%;
    border-top: 1px solid #cccccc;
    margin: 50px auto;
}
.newsArea .list dl{
    width: 100%;
    border-bottom: 1px solid #cccccc;
    padding: 2rem 0;
    display: flex;
}
.newsArea .list dt{
    margin-right: 1rem;
    max-width: 250px;
    min-width: 250px;
    word-break: break-all;
}
.newsArea .newsListBtn{
    margin: 0 0 0 auto;
    display: block;
    padding: 0.7rem 4rem;
}


/* subPage Title
-------------------------------*/
.mainTitleArea01{
    width: 100%;
    min-width: 992px;
    height: 200px;
    background: transparent url('../img/mainimage.jpg') 0% bottom no-repeat padding-box;
    background-size: cover;
    padding-top: 58px;
    opacity: 1;
}
.mainTitleArea01 h1{
    font-size:2rem;
    font-weight: bold;
    color: #EEEEEE;
    text-align: center;
    margin: 0 auto;
    opacity: 1;
}



.mainTitleArea02{
    width: 100%;
    min-width: 992px;
    height: 320px;
    background: transparent url('../img/mainimage.jpg') 0% bottom no-repeat padding-box;
    background-size: cover;
    opacity: 1;
}
.flexCenter{
    display: flex;
    justify-content: center;
    align-items: center;
}
.mainTitleArea02 h1{
    font-size:2rem;
    color: #EEEEEE;
    text-align: left;
    margin:30px 0 0 0;
    opacity: 1;
}
.mainTitleArea02 .container .row div:nth-child(1){
    display: flex;
    align-items: center;
        padding-top: 0 !important;
}
.mainTitleArea02 .container .row div:nth-child(2){
    display: flex;
    justify-content: center;
    align-items: center;
}
.mainTitleArea02 img.logo{
    max-height: 200px;
    max-width: 200px;
    height: auto;
}



/*subPage Main
-------------------------------*/
.mainContentsArea{
    position: relative;
    width: 100%;
    min-width: 992px;
    min-height: 500px;
    height: auto;
    background: #dddddd;;
    opacity: 1;
}
.mainContentsBox{
    min-width: 960px;
    background: #ffffff 0% 0% no-repeat padding-box;
    opacity: 1;
    margin-top: -40px;
    padding: 60px 60px 220px 60px;
}
.mainContentsBox h2{
    text-align: center;
    font-family: Medium Noto Sans CJK JP;
    font-size: 1.8rem;
    font-weight: bold;
    opacity: 1;
}

.mainContentsBox h2.typeLine{
    font-family: Medium Noto Sans CJK JP;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: left;
    margin-bottom: 35px;
    position: relative;
    padding: 0 0 18px;
    opacity: 1;
}
.mainContentsBox h2.typeLine::before {
    content: "";
    width: 250px;
    height: 5px;
    position: absolute;
    left: 0;
    bottom: 0;
    background-color: #1472AE;
    z-index: 1;
}
.mainContentsBox h2.typeLine::after {
    height: 5px;
    width: 100%;
    background: #cccccc;
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
}

.mainContentsBox .caution{
    font-size: 0.8rem;
    letter-spacing: -0.08px;
    color: #FF0000C2;
    opacity: 1;
}
.mainContentsBox .caption{
    font-size: 0.8rem;
    letter-spacing: -0.08px;
    opacity: 1;
}





/* search form
-------------------------------*/
.mainContentsBox .formTable{
    width: 100%;
    margin: 32px auto 20px auto;
}
.mainContentsBox .formTable th{
    background: #585858 0% 0% no-repeat padding-box;
    border: 0.5px solid #999999;
    text-align: left;
    color: #FFFFFF;
    width: 30%;
    padding: 20px;
    opacity: 1;
    vertical-align: top;
}
.mainContentsBox .formTable td{
    background: #EEEEEE 0% 0% no-repeat padding-box;
    border: 0.5px solid #999999;
    padding: 20px;
    opacity: 1;
}


/* search result
-------------------------------*/
.mainContentsBox .searchResultList{
    width: 100%;
    border-top: 1px solid #cccccc;
    margin: 50px auto;
}
.mainContentsBox .searchResultList dl{
    width: 100%;
    border-bottom: 1px solid #cccccc;
    padding: 2rem 0;
    display: flex;
}
.mainContentsBox .searchResultList dt{
    margin-right: 1rem;
    width: 250px;
    max-width: 250px;
    min-width: 250px;
    word-break: break-all;
}
.mainContentsBox .searchResultList dd{
    margin-right: 1rem;
    word-break: break-all;
}




/* DB table
-------------------------------*/
.mainContentsBox .dbNameTable{
    width: 100%;
    margin: 20px auto 20px auto;
}
.mainContentsBox .dbNameTable th{
    background: #585858 0% 0% no-repeat padding-box;
    border: 0.5px solid #999999;
    text-align: left;
    color: #FFFFFF;
    width: 30%;
    padding: 20px;
    opacity: 1;
    vertical-align: top;
}
.mainContentsBox .dbNameTable td{
    background: #EEEEEE 0% 0% no-repeat padding-box;
    border: 0.5px solid #999999;
    padding: 20px;
    opacity: 1;
    line-height: 1.8rem;
}



/*
* Markdown
*/
.mainContentsBox .dbNameTable td h1{
    font-size: 1.8rem;
    font-weight: bold;
}
.mainContentsBox .dbNameTable td h2{
    font-size: 1.6rem;
    font-weight: bold;
}
.mainContentsBox .dbNameTable td h3{
    font-size: 1.5rem;
    font-weight: bold;
}

.mainContentsBox .dbNameTable td ul li{
    list-style: disc;
}

.mainContentsBox .dbNameTable td ol li{
    list-style: decimal;
}
.mainContentsBox .dbNameTable td pre{
    margin: 0.5rem;
    white-space: pre-wrap;
    word-break: break-all;
    background-color: #dddddd;
}
.mainContentsBox .dbNameTable td pre{
    border-left: 5px solid #ddd;
    color: #777;
    padding: 1em;
    padding-right: 0;
    margin: 1.5em 0;
}
.mainContentsBox .dbNameTable td blockquote{
    border-left: 5px solid #ddd;
    color: #777;
    padding: 1em;
    padding-right: 0;
    margin: 1.5em 0;
}


.mainContentsBox .dbNameTable td img { 
vertical-align: bottom; 
font-size:1px;
width:100%;
height:auto;
}

.mainContentsBox .BacktoSearch{
    width: 100%;
    /*min-width: 960px;*/
    background: #EEEEEE 0% 0% no-repeat padding-box;
    border-radius: 2px;
    padding: 2rem;
    text-align: center;
    opacity: 1;
}
.mainContentsBox .BacktoSearch .backBtn{
    padding: 0.8rem 3rem;
}



/* registForm
-------------------------------*/
.mainContentsBox .registForm{
    width: 100%;
    margin: 20px auto 20px auto;
}
.mainContentsBox .registForm th{
    background: #585858 0% 0% no-repeat padding-box;
    border: 0.5px solid #999999;
    text-align: left;
    color: #FFFFFF;
    width: 30%;
    padding: 20px;
    opacity: 1;
}
.mainContentsBox .registForm td{
    background: #EEEEEE 0% 0% no-repeat padding-box;
    border: 0.5px solid #999999;
    padding: 20px;
    opacity: 1;
}

.mainContentsBox .registFormBtnArea{
    width: 100%;
    background: #EEEEEE 0% 0% no-repeat padding-box;
    border-radius: 2px;
    padding: 2rem;
    text-align: center;
    opacity: 1;
}

.mainContentsBox .registerBtn{
    background: #1472AE 0% 0% no-repeat padding-box;
    border-radius: 28px;
    color: #ffffff;
    margin: 0 15px;
    padding: 0.8rem 1rem;
    min-width: 200px;
    opacity: 1;
}



/*
---------------------------------------*/
.mainContentsBox .list{
    width: 100%;
    border-top: 1px solid #cccccc;
    margin: 50px auto;
}
.mainContentsBox .list dl{
    width: 100%;
    border-bottom: 1px solid #cccccc;
    padding: 2rem 0;
    display: flex;
}
.mainContentsBox .list dt{
    margin-right: 1rem;
    max-width: 250px;
    min-width: 250px;
    word-break: break-all;
}
.mainContentsBox .newsListBtn{
    margin: 0 0 0 auto;
    display: block;
    padding: 0.7rem 4rem;
}



/* pageNation
-------------------------------*/
.pageNationPositionn{
    margin: 40px 0 40px auto;
    display: table;
}






/* footer
=============================================================================*/
footer{
    width: 100%;
    min-width: 992px;
    min-height: 198px;
    background: #000000 0% 0% no-repeat padding-box;
    padding: 32px 39px;
    opacity: 1;

    display: flex;
    flex-direction: column;
}
footer .logoBox{
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
}
footer .logoBox .isspLogo{
    max-width: 200px;
    max-height: 56px;
    margin-left: 28px;
}
footer .logoBox a{
    text-decoration: none;
}
footer .logoBox a:hover{
    text-decoration: none;
}
footer .logoBox .logo{
    text-align: left;
    font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
    font-size: 2.1rem;
    font-weight: bold;
    color: #ffffff;
    opacity: 1;
}
footer .logoBox .logo span{
    color: #1472AE;
    text-align: left;
    font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
    font-size: 2.1rem;
    font-weight: bold;
    letter-spacing: -1.44px;
    opacity: 1;
}

footer ul.gNavi{
    margin: 2rem 0;
    font-size: 1rem;
    color: #ffffff;
}
footer ul.gNavi li{
    float: left;
}
footer ul.gNavi li.bar{
    border-left: 1px solid #ffffff;
    padding-left: 10px;
    margin-left: 10px;
    min-height: 24px;
}
footer ul.gNavi li a{
    color: #ffffff;
}
footer ul.gNavi li a:hover{
    color: #F9BB07;
    text-decoration: none;
}
footer .copyRight{
    color: #ffffff;
    font-size: 0.9rem;
    text-align: left;
}
