@charset "UTF-8";
/* CSS Document */
body {
     padding-bottom: 0;
}
#header-image {
    background-image: url("../img/top/top-image.jpg");
    background-size: cover;
    padding: 70px 5% ;
    margin-bottom: 50px;
    height: 40vh;
    box-sizing: border-box;
    
    position: relative;
}
#header-image h1 img {
    display: block;
    max-width: 80%;
    width: 500px;
   
 }
.contact {
    position: absolute;
    background-color: var(--color2);
    padding: 5px 10px;
    display: inline-block;
    border-radius: 10px;
    top: 15px;
    right: 5%;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    text-align: center;
    font-size: 1.2rem;
}
.contact:hover {
    background-color: #73B6FF;
}
.contact img {
    display: block;
    width: 40px;
    margin: 5px auto;
}
a.contribution {
    position: absolute;
    border: 4px solid var(--color2);
    padding: 5px 10px;
    display: inline-block;
    border-radius: 10px;
    bottom: 30px;
    right: 5%;
    color: #333;
    font-weight: bold;
    text-decoration: none;
    text-align: center;
    font-size: 1.3rem;
    line-height: 1.2;
    background-color: rgba(255,255,255,0.60);
}
a.contribution:hover {
    background-color: rgba(204,230,255,0.70);
}
.lead {
    font-size: 1.2rem;
    text-align: center;
    margin-bottom: 50px;
}
.top_news {
    text-align: left;
    margin: -10px auto 60px;
    font-size: 1.1rem;
    max-width: 810px;
    border: 1px solid blue;
     padding: 10px 20px;
}
.top_news img {
    display: inline-block;
    vertical-align:middle;
    margin-right: 3%;
    width: 15%;
}
.top_news .text {
     display: inline-block;
    max-width: 80%;
    vertical-align:middle;
}
.top_news a {
    color: blue;
}
.top_news .text p{
    margin: 1em 0;
}

.content {
    margin: 30px 0 50px;
}
main section h1{
    color: var(--color1);
    font-size: 1.2rem;
    border-bottom: 2px solid;
    margin-bottom: -10px;
}
.content h2 {
    background-color: var(--color1);
    color: #fff;
    font-size: 1.4rem;
    text-align: center;
    padding: 20px 2.5% 120px; 
}
.content h2.re {
    background-color: #fff;
    color: var(--color1);
    border: 3px solid;
}
.content h3 {
    background-color: var(--color2);
    color: #fff;
    font-size: 1.2rem;
    padding:5px 2.5%;
    margin: 40px 0 10px;
}
.content h3.re {
    background-color: #fff;
    color:var(--color2);
    border: 2px solid;
}
.content h3.h3-btn {
    background-color: #fff;
    border: 3px solid var(--color2);
    padding: 0;
}
.content h3.h3-btn a {
    text-decoration: none;
    display: block;
    padding:5px 2.5%;
    color:  var(--color2);
}
.content h3.h3-btn a:hover {
    background-color: #DBE0FF;
}
.content .col-30 {margin-bottom: 1em}
.content .s-lead {
    font-weight: bold;
    margin-bottom: -30px
}
.content .box {
    border: 2px solid var(--color2);
    padding: 5px 10px;
    margin: -10px 0 1em;
}
#about {
    background-color: #e6e6e6;
    padding: 10px 0;
    font-weight: bold;
    line-height: 1.7;
}
#about h2 {
    font-size: 1.2rem;
    font-weight: bold;
    border-bottom: 1px solid #555;
    text-align: center;
    margin-bottom: 1em;
    padding: 10px 0;
}
#about{
    width: 100%;
}
#about table tr>* {
    padding: 0 1.5em 0 0;
    margin: 0;
}
ul.keireki li {
    margin-left: 1em;
}
ul.keireki li:first-child {
    margin-left: 0em;
}



footer {
    position:static;
    margin: 0;
}
@media all and (max-width:764px){
    #header-image h1 img {
        margin: 0;
    }
    #header-image {
        height: auto;
        padding-bottom: 150px;
    }
    a.contribution {
        font-size: 1.1rem;
    }
    .content h2 { padding:10px 2.5%;}
    .lead {font-size: 1.1rem;}
    
    
    }
