@charset "UTF-8";
html {
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    overflow-x:hidden;
}
body {
    color: #000;
    font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
    background:#fff;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    margin:0;
	padding:0;
    box-sizing : border-box;
    overflow: hidden;
}
/*–––––––––––––––––––––––––––––––––––––––––––––––––– */
.container {
    max-width: 830px;
    margin: 0 auto;
    position: relative;
/*    overflow: hidden;*/
}
header .container {max-width: 1000px;}
footer .container {max-width: 1000px;}

@media screen and (max-width: 960px){
    .container {padding: 0 4%;}
}
@media only screen and (max-width:830px){
/* under 830px */
    img{width: 100%;height: auto;}
}


/* common
–––––––––––––––––––––––––––––––––––––––––––––––––– */
img {
	max-width:100%;
	height: auto;
}
a:link, a:visited, a:active {
    color:#002582;
}
a:hover { 
    color: ff8d00;
}
header a,
footer a{text-decoration: none;}
footer a{color: #fff;}

ol {padding: 0 0 0 1em;margin: 0 0 0}
ul {padding: 0;margin: 0; list-style-type: none;}
ul li{list-style: none;}

.small{font-size:smaller}
.flex{display: flex;}
.grid{display: grid;}
.center{text-align: center;}

/*==============================================
                                        header
===============================================*/
.header{
    display: flex;
    justify-content: space-between;
    padding: 10px 5px 15px;
    align-items: center;
}
.header-logo{flex-shrink: 1;}
.gmenu{
    font-size: 15px;
    text-align: right;
    white-space: nowrap;
    line-height: 1.7;
}
@media only screen and (max-width:590px){
/* under 590px */
    .gmenu{font-size: 3.2vw;}
    header .container {padding: 0;}
    .header{
        padding: 5px;
        column-gap: 4px;}
}

/*==============================================
                                        contents
===============================================*/
.mainimage{
    position: relative;
    background-image: url(../images/bg-top-img.jpg);
    background-size: contain;
    background-position: center center;
    background-repeat: repeat-x;
}
.toptxt{
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-style: normal;
    position: absolute;
    bottom:13%;
    left: 5%;
    color: #fff;
    text-shadow:1px 1px 3px #000,2px 2px 3px #000;
    font-size: 4.5vw;
}
.topimg{max-width: 1063px;margin: auto;}

@media (min-width:591px){
/* over 591px */
    .toptxt{font-size: 30px;}
}
@media (min-width:880px){
/* over 880px */
    .toptxt{bottom: auto;top:27%;}
}
@media (min-width:1000px){
/* over 1000px */
    .toptxt{left: calc(53% - 530px);}
}
.mission h1{
    background: #00aeef;
    color: #fff;
    margin:0 calc(50% - 50vw);
    padding: 15px;
    text-align: center;
    font-size: 120%;
}
.mission .txt{
    padding: 40px 0;
}
.agenda{
    margin:0 calc(50% - 50vw);
    background: #fffae6;
    background-image: url(../images/bg-logo.png);
    background-repeat: no-repeat;
    background-position: 2% 1.5em;
    background-size: 24% auto;
}
@media (min-width:880px){
/* over 880px */
    .agenda{
        background-position: calc(54vw - 487px) 1.5em;
        background-size: auto 4em;
    }
}
.agenda h2, .links h3{
    text-align: center;
    position: relative;
    font-size: 120%;
    color: #0c6cbc;
}
.agenda h2:before, .links h3::before {
  content: '';
  position: absolute;
  bottom: -10px;
  display: inline-block;
  width: 170px;
  height: 3px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #0c6cbc;
}
.agenda h2{
    padding-top: 40px;
    margin-bottom: 50px;
}
.links h3{
    margin-top: 40px;
    margin-bottom: 50px;    
}
.agenda .txt{
    padding-bottom: 50px;
}
.agenda .txt table{
    border-collapse:collapse;
    width: 100%;
}
.agenda .txt td,.agenda .txt th{
    border-bottom: solid 1px #bbb;
}
.agenda .txt td{font-size: 14px;line-height: 1.4;padding: 8px 2px 8px 8px}
.agenda .txt th{font-size: 13px;white-space: nowrap;text-align: left}
.links .flex{margin-bottom: 50px;}
.links li{
    list-style: disc;
    color: #002582;
}
.links ul{margin: 0 0 30px 5%;}
.links .flex{column-gap: 2%;justify-content: space-evenly;}
.links .flex div{max-width: 250px;}

/*==============================================
                                        footer
===============================================*/
footer{
    background: #00aeef;
    color: #fff;
    padding: 15px 0;
}
.fnavi{
    line-height: 1.45;
    padding-bottom: 20px;
}
.fnavi a{
    font-size: 13px;
    color: #fff;
}
.fnavi a::before{
    content: "▶";
    font-size: 9px;
    padding-right: 4px;
}
.c-name{
    font-size: 19px;
    font-weight: bold;
    text-align: right;
}
.copywright{
    text-align: right;
    font-size: 11px;
}