/*reset系なので最初に読み込む*/
body,ul,p
{
    margin: 0;
}
h1,h2,h3,h4,h5,h6{
    margin:0;
    font-size: 1em;
    font-weight: normal;
}
/*変数*/
:root{
    --commonCssVersion:0;
    --headerHeight:75px;
    --footerHeight:40px;
}
/*header*/
header{
    height: var(--headerHeight);
    padding: 0 30px;
    border-bottom: 3px solid gray;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
header .Kamemo_logo_wrapper{
    height:60px;
    display: inline;
    position: relative;
}
header .Kamemo_logo{
    max-height: 100%;
    max-width: 50vw;
    position: absolute;
    bottom: 0;
}
header .link_list_wapper{
    display: inline-block;
}
header ul.link_list{
    list-style:none;
    padding-left: 0;
}
/*main*/
main{
    /*header,footerの高さを引く*/
    box-sizing: border-box;
    min-height: calc(100vh - var(--headerHeight) - var(--footerHeight));/*念のためdvh未対応用に書いておく*/
    min-height: calc(100dvh - var(--headerHeight) - var(--footerHeight));
    margin: 0;
    padding:10px 0;
}
/*footer*/
footer{
    height: var(--footerHeight);
    padding: 0 10px;
    box-sizing: border-box;
    background-color:lightgray;
    text-align: center;
}
footer .copyright{
    line-height: calc(var(--footerHeight) - 2*2.5px);
    padding: 2.5px 0;
}
footer .link_who_wrapper{
    position: relative;
}
footer .link_who{
    color:black;
    text-decoration: none;
}
footer .my_name{
    margin-left: 10px;
}
footer .kame_icon{
    height: 1.5em;
    width: 1.5em;
    position: absolute;
    bottom: 0;
}

/*main_title*/
#main_title{
    width:100%;
    border-bottom: 2px solid gray;
    margin-bottom: 10px;
}
#main_title>h1{
    margin: 0 30px;
    font-size: 1.3em;
}
/*contents*/
#contents,.contents{
    padding: 0 30px;
}
@media (min-width:300px){
    #contents,.contents{
        padding:0 10vw;
    }
}
/*Home他、主要ページの設定(必要があれば上書きする)*/
h2{
    font-weight: bolder;
    margin-bottom: 5px;
}
section{
    margin: 20px 0;
}