* {
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html {
    overflow-y: scroll;  /* スクロールバー常時表示 */
}

#page-container {
    width:100%;
    min-height:100vh;
    display:flex;
    flex-direction:column;
    background:#0f2350;
}

header {
    flex:1 1 0%;
}

main {
    width:min(1000px,100%);
    min-height:calc(100vh - 139px);
    margin:0 auto;
    flex:1;
    padding:0 24px 8px 24px;
    background:#f6f6ff;
}

footer{
    flex:1 1 0%;
}

h1 {
    font-size:207%;
    margin:32px 0 16px 0;
    @media screen and (max-width:400px) {
        font-size:121%;
        margin:16px 0;
    }
}


h2 {
    font-size:144%;
    margin:32px 0 16px 0;
    padding:8px 0 8px 8px;
    border-top:3px solid #0f2350;
    border-bottom:3px solid #0f2350;
    background:#bbc8e6;
    @media screen and (max-width:400px) {
        font-size:110%;
    }
}

h3 {
    font-size:121%;
    margin:24px 0 16px 0;
    padding-left:8px;
    border-left:4px solid #0f2350;
    @media screen and (max-width:400px) {
        font-size:105%;
    }
}

h4 {
    font-size:110%;
    margin:24px 0 16px 0;
    padding-left:8px;
    border-left:4px double #0f2350;
    @media screen and (max-width:400px) {
        font-size:100%;
    }
}

h5 {
    font-size:100%;
    margin:24px 0 16px 0;
    padding-left:8px;
    border-left:1px solid #0f2350;
}

p {
    margin:24px 0;
    text-align:justify;
    @media screen and (max-width:400px) {
        font-size:90%;
    }
}

ol, ul {
    margin:24pt 0;
}

ol li {
    margin-left:32px;
    @media screen and (max-width:400px) {
        font-size:90%;
    }
}

ul li {
    margin-left:24px;
    @media screen and (max-width:400px) {
        font-size:90%;
    }
}

a:hover{
    background:#f8e58c;
}

table{
    margin:auto;
    border-collapse:collapse;
}

th,td {
    padding:0 8px;
    @media screen and (max-width:400px) {
        font-size:90%;
    }
}

dt {
    font-weight:bold;
    margin-top:16px;
    @media screen and (max-width:400px) {
        font-size:90%;
    }
}

dd {
    margin-left:2em;
    text-align:justify;
    @media screen and (max-width:400px) {
        font-size:90%;
    }
}

img{
    display:block;
    max-width:95%;
    margin:8pt auto;
}

/* 　　　　　　　 */
/* 　表形式調整　 */
/* 　　　　　　　 */

.black-left{ /* 表用罫線（黒左罫線） */
    border-left:1px solid black;
}

.black-kasen{ /* 表用罫線（黒下罫線） */
    border-bottom:1px solid black;
}

table.account { /* 会計帳簿（横幅80％固定） */
    width:max(80%,400px);
}

table.account tr:nth-child(even){
    background-color:#eaedf7;
}

.bk-red-kasen{ /* 会計帳簿用罫線（赤下線） */
    border-bottom:1px solid red;
}

.bk-red-kasen2{ /* 会計帳簿用罫線（赤二重下線） */
    border-bottom:3px double red;
}

.bk-red-left{ /* 会計帳簿用罫線（赤左罫線） */
    border-left:1px solid red;
}

.bk-red-left2{ /* 会計帳簿用罫線（赤左二重罫線） */
    border-left:3px double red;
}

.bk-red-shasen{ /* 会計帳簿用罫線・短線 */
    background:linear-gradient(to top left,transparent,transparent 49%,red 49%,red 51%,transparent 51%, transparent);
}

.bk-red-shasen-long{ /* 会計帳簿用罫線・長線 */
    background:linear-gradient(to top left,transparent,transparent 49.5%,red 49.5%,red 50.5%,transparent 50.5%, transparent);
}

div.jour{ /* 仕訳（全体コンテナ・スマホでは2段表記） */
    width:80%;
    margin:auto;
    display:flex;
    align-items:flex-start;
    justify-items:center;
    font-size:100%;
    @media screen and (max-width:720px) {
        display:block;
        width:75%;
    }
    @media screen and (max-width:400px) {
        display:block;
        width:100%;
    }
}

div.jour table.dr { /* 仕訳（借方コンテナ） */
    width:50%;
    margin:0;
    @media screen and (max-width:720px) {
        width:90%;
        margin-right:auto;
    }
    @media screen and (max-width:400px) {
        width:90%;
        margin-right:auto;
    }
}

div.jour table.cr { /* 仕訳（貸方コンテナ） */
    width:50%;
    margin:0;
    @media screen and (max-width:720px) {
        width:90%;
        margin-left:auto;
    }
    @media screen and (max-width:400px) {
        width:90%;
        margin-left:auto;
    }
}

td.karikashi { /* (借)・(貸)用td */
    width:2em;
    vertical-align:top;
}

div.b-box{ /* 囲い罫 */
    border:1px solid black;
    padding:4px 16px;
}

.b-all{
    border:1px solid black;
}

.w160px{
    width:160px;
    @media screen and (max-width:400px) {
        width:auto;
    }
}

.w120px{
    width:120px;
    @media screen and (max-width:400px) {
        width:auto;
    }
}

.w24px{
    width:24px;
}

.w60{
    width:60%;
}

.w50{
    width:50%;
}

.w40{
    width:40%;
}

.w30{
    width:30%;
}

.w20{
    width:20%;
}

/* 　　　　　　 */
/* 　文字配置　 */
/* 　　　　　　 */

.center{
    text-align:center;
}

.migi{
    text-align:right;
}

.kintou{ /* 1行のみ */
    text-align:justify;
    text-align-last:justify;
}

.url{
    word-break:break-all;
}

.m-top-0{
    margin-top:0
}

/* 　　　　　　 */
/* 　文字装飾　 */
/* 　　　　　　 */

.kasen { /* 黒下線 */
    text-decoration:underline;
}
    
.red { /* 文字色：赤 */
    color:red;
}

.green { /* 文字色：緑 */
    color:green;
}

.blue { /* 文字色：青 */
    color:blue;
}

/* 　　　　　　　　 */
/* 　文章領域体裁　 */
/* 　　　　　　　　 */

.two-column{ /* 2段組み */
    column-count:2;
    @media screen and (max-width:1000px) {
        column-count:1;
    }
}

.four-column{ /* 4段組み */
    column-count:4;
    @media screen and (max-width:1000px) {
        column-count:1;
    }
}

.v-space{ /* 垂直方向1行空き */
    margin-top:36px;
}

.v-top-zero{ /* 上方向空き無し */
    margin-top:0;
}

.v-btm-zero{ /* 下方向空き無し */
    margin-bottom:0;
}

/* 　　　　　 */
/* 　リスト　 */
/* 　　　　　 */

.alpha {
    list-style-type:lower-latin;
}

/*  　　　　　　　　*/
/* 関連リンクリスト */
/* 　　　　　　　　 */

.inner-menu-container{
    width:90%;
    margin:auto;
    font-size:100%;
}

.menu-level2{
    width:48%;
    margin:4px;
    display:inline-block;
    vertical-align:top;
    @media screen and (max-width:720px) {
        width:100%;
        margin:4px;
    }
}

.menu-level2 .menu-group {
    background:#0f2350;
}

.menu-level2 .menu-group p {
    color:white;
    font-weight:bold;
    margin:0;
    padding:4px 8px;
}

.menu-level2 .menu-group p a{
    color:white;
    font-weight:bold;
    text-decoration:none;
}

.menu-level2 .menu-group p a:hover{
    color:yellow;
    font-weight:bold;
    text-decoration:none;
    background:transparent;
}

.menu-level2 .menu-content {
    padding:4px;
}

.menu-level2 .menu-content ul {
    margin-top:0;
}


p.page-bottom-nav{
    margin:32px 0 8px 0;
    font-size:150%;
    font-weight:bold;
}

/* ＃＃＃＃＃＃＃ */
/* パンくずリスト */
/* ＃＃＃＃＃＃＃ */

.bread ul{
    display:flex;
    list-style:none;
    font-size:80%;
    margin:16px 0;
    padding-left:0;
    @media screen and (max-width:400px){
        display:inline;
    }    
}

.bread ul li{
    margin:0;
    padding:0 4px;
    @media screen and (max-width:400px) {
        width:80%;
    }
}

.bread ul li::before{
    content:"＞";
}

/* 　　　　　　 */
/* ホームページ */
/* 　　　　　　 */

#name {
    font-weight:bold;
    font-size:120%;
    margin-bottom:0;
}

#intro{
    margin-top:8px
}

.home-menu{
    margin:36px;
    @media screen and (max-width:400px) {
        margin:24px;
    }
}

.home-menu-contents-area{
    text-align:center;
    width:95%;
    margin:0 auto;
    padding:4px;
}

.menu-contents-area a:hover{
     background:#f6f6ff;
}

.home-menu-contents{
    display: inline-block;
    width:180px;
    border:1px solid #0f2350;
    margin:8px 0;
    padding:4px;
    text-align:center;
    list-style-type:none;
    background:#e0ebaf;
    @media screen and (max-width:400px) {
        width:100%;
        margin:16px 0;
        font-size:90%;
    }
}

.home-whatsnew{
    display:table;
    border-collapse:collapse;
}

.whatsnew-row{
    display:table-row;
}

.whatsnew-cont{
    display:table-cell;
    padding:0 16px 8px 0;
    @media screen and (max-width:400px) {
        font-size:90%;
    }
}

.book{
    width:100%;
    border:4px solid #0f2350;
    background:#e0ebaf;
    padding:16px 0 8px 0;
    margin:16px 0;
}

.book-ad-title{
    font-size:133%;
    margin:0 0 4px 0;
    padding:0;
    text-align:center;
    font-weight:bold;
}

.book-advertisement{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    margin:8px 0;
}

.book-item {
    width:240px;
    text-align:center;
    margin:0 8px;
    @media screen and (max-width:400px){
        width:160px;
    }
}

.book-item p{
    font-size:90%;
    margin:auto;
    width:196px;
    @media screen and (max-width:400px){
        width:160px;
    }
}

.home-bottom-link{
    margin:16px 0;
    column-count:4;
}

.home-bottom-link ul,li{
    margin-top:0;
}

/*  　　　　　　*/
/* プロフィール */
/* 　　　　　　 */

nav.profile ul li{
    display:inline-block;
    list-style:none;
    margin:1px;
    padding:0;
    width:152px;
    border:1px solid black;
    text-align:center;
    @media screen and (max-width:400px){
        width:120px;
        font-size:80%;
        margin:4px 0;
        padding:8px;
        vertical-align:top;
    }
}

nav.profile ul li.hist{
    background:#f6bfbc;
}

nav.profile ul li.aca{
    background:#d6e9ca;
}

nav.profile ul li.edu{
    background:#f2f2b0;
}

nav.profile ul li a{
    text-decoration:none;
}

.hist-item {
    width: 95%;
    margin: auto;
    display: flex;
    @media screen and (max-width:400px){
        width:100%;
    }
}

.hist-item .h-period {
    width: 216px;
    @media screen and (max-width:400px){
        width:30%
    }
}

.hist-item .h-contents {
    @media screen and (max-width:400px){
        width:70%
    }
}

.detail{
    font-size:90%;
    font-weight:bold;
    margin:0 4px;
}

/*  　　　　　　*/
/* 研究業績詳細 */
/* 　　　　　　 */

.achievement-container{
    border:1px outset lightgray;
    margin:4px 0;
    padding:8px;
}

.achi-type{
    background:#d6e9ca;
}

.achi-title{
    font-weight:bold;
    font-size:110%;
    padding:4px 0;
    @media screen and (max-width:400px){
        font-size:100%;
    }
}

.achi-info{
    display:block;
}

.info-name{
    display:inline-block;
    padding:0 8px;
    margin-right:8px;
    color:white;
    background-color:#006e54;
    font-size:80%;
    font-weight:bold;
}

.info-content{
    display:inline-block;
}

/* 　　　　　　　　　 */
/* 各セクショントップ */
/* 　　　　　　　　　 */

#section-top{
    font-size:300%;
    text-align:center;
}

/* ＃＃＃＃ */
/* ヘッダー */
/* ＃＃＃＃ */

#site-title{
    color:white;
    text-align:center;
    font-size:200%;
    padding:8px 0;
    margin:0;
    @media screen and (max-width:400px) {
        color:white;
        text-align:center;
        font-size:161%;
        padding:8px 0 0 0;
        margin:0;
    }
}

#site-title a{
    color:white;
    text-decoration:none;
}

#site-title a:hover{
    color:yellow;
    background:transparent;
}

#grobal-navigation{
    background:linear-gradient(#bbc8e6,#0f2350 30%, #0f2350 70%,#bbc8e6);
    width:1000px;
    margin:auto;
    @media screen and (max-width:1000px){
        width:100%;
    }
}

#grobal-navigation ul{
    display:flex;
    flex-wrap:wrap;
    list-style:none;
    text-align:center;
    justify-content:center;
    margin:0;
    @media screen and (max-width:400px) {
        display:flex;
        flex-wrap:wrap;
        list-style:none;
        text-align:center;
        justify-content:left;
        margin:0;
    }
}

#grobal-navigation ul li{
    width:120px;
    font-size: 110%;
    margin:0 8px;
    padding:8px 0;
    @media screen and (max-width:400px) {
        width:50%;
        margin:2px 0;
        align:center;
        background:linear-gradient(#bbc8e6,#0f2350 30%, #0f2350 70%,#bbc8e6);
        font-size:90%;
    }
}

#grobal-navigation ul li a{
    color:white;
    text-decoration:none;
}

#grobal-navigation ul li a:hover{
    color:yellow;
    background:transparent;
}

/* ＃＃＃＃ */
/* フッター */
/* ＃＃＃＃ */

#footer-misc ul{
    display:flex;
    list-style:none;
    text-align:center;
    justify-content:center;
    padding:8px 0;
}

#footer-misc ul li{
    color:white;
    @media screen and (max-width:400px){
        width:90%;
    }
}

#footer-misc ul li a{
    color:white;
    text-decoration:none;
}

#footer-misc ul li a:visited{
    color:white;
}

#footer-misc ul li a:hover{
    color:yellow;
    text-decoration:none;
    background:transparent;
}

#footer-grobal{
    background:linear-gradient(#bbc8e6,#0f2350 30%, #0f2350 70%,#bbc8e6);
    width:100%;
    margin:auto;
    @media screen and (min-width:400px){
        display:none;
    }
}

#footer-grobal ul{
    display:flex;
    flex-wrap:wrap;
    list-style:none;
    text-align:center;
    margin:0;
}

#footer-grobal ul li{
    margin:0 4px;
    padding:8px 4px;
    @media screen and (max-width:400px) {
        width:50%;
        margin:2px 0;
        align:center;
        background:linear-gradient(#bbc8e6,#0f2350 30%, #0f2350 70%,#bbc8e6);
        font-size:90%;
    }
}

#footer-grobal ul li a{
    color:white;
    text-decoration:none;
}

#footer-grobal ul li a:hover{
    color:yellow;
    background:transparent;
}

/* 　　　　　　　　　 */
/* 問い合わせフォーム */
/* 　　　　　　　　　 */

#msg_form{
    margin:16px 0;
}

#msg_form label{
    margin:16px 0 0 0;
    display:block;
}

#msg_form input{
    padding:4px;
    font-size:100%;
}

#msg_form textarea{
    padding:4px;
    font-size:100%;
}