
/* --------------------------------------------------

	入学から卒業まで

-------------------------------------------------- */

div.contents_unit { margin-top: 30px; }
div.contents_unit p { line-height: 1.6; }


div.flow_block {
    margin-top: 30px;
    display: table;
}

div.flow_block > div {
    display: table-cell;
    vertical-align: top;
}

div.flow_block > div.flow_line {
    width: 35%;
    padding-right: 50px;
}

div.flow_block > div.txt_block { width: 65%; }


/* --- フロー図ブロック --- */
div.flow_line > ul {  }

div.flow_line > ul > li {
    text-align: center;
    padding: 12px 0;
    position: relative;
}

div.flow_line > ul > li:first-child { padding-top: 0; }

div.flow_line > ul > li div.line_unit {
    padding: 10px;
    border-radius: 4px;
    background: #fff;
    color: #444;
    border: 1px solid #ccc;
    padding: 4px;
}

div.flow_line > ul > li div.line_unit > p {
    font-size: 1.4rem;
    font-weight: bold;
    background: #167bbe;
    color: #fff;
    border-radius: 2px;
    padding: 4px 8px;
}

div.flow_line > ul > li div.line_unit > p.cap {
    background: #fff;
    color: #444;
    font-size: 1.2rem;
    margin-top: 2px;
}


div.flow_line > ul > li > p.icon {
    font-size: 2.4rem;
    position: absolute;
    width: 100%;
    text-align: center;
    color: #999;
    
    font-size: 1.8rem;
    bottom: -14px;
}






/* --- カリキュラム 表 --- */
table.list { width: 100%; }

table.list thead th {
    text-align: center;
    font-size: 1.3rem;
    border: 1px solid #ddd;
    padding: 8px;
    background-color: #444;
    color: #fff;
}

table.list tbody th {
    text-align: center;
    font-size: 1.3rem;
    border: 1px solid #ddd;
    padding: 12px;
    white-space: nowrap;
    vertical-align: middle;
}

table.list tbody td {
    text-align: center;
    font-size: 1.3rem;
    border: 1px solid #ddd;
    padding: 12px;
    vertical-align: middle;
    white-space: nowrap;
}

table.list tbody td:last-child {
    text-align: left;
    white-space: normal;
}


/*
.kome {
    padding-left: 1em;
    text-indent: -1em;
}
*/



/* ------------------------------------------------------------

	959px以下

------------------------------------------------------------ */
@media only screen and (max-width: 959px) {
    
    div.flow_block > div.flow_line { padding-right: 30px; }
    
}


/* ------------------------------------------------------------

	639px以下

------------------------------------------------------------ */
@media only screen and (max-width: 639px) {
    
    div.flow_block { display: block; }
    div.flow_block > div { display: block; }
    
    div.flow_block > div.flow_line {
        width: 100%;
        padding-right: 0;
    }
    
    div.flow_block > div.txt_block { width: 100%; }
    
}


/* ------------------------------------------------------------

	479px以下

------------------------------------------------------------ */
@media only screen and (max-width: 479px) {
    
    table.list thead th {
        padding: 8px 5px;
        font-size: 1.2rem;
    }
    
    table.list tbody th {
        padding: 8px 5px;
        font-size: 1.2rem;
    }
    
    table.list tbody td {
        padding: 8px 5px;
        font-size: 1.2rem;
    }
}


/* ------------------------------------------------------------

	359px以下

------------------------------------------------------------ */
@media only screen and (max-width: 359px) {
    
    table.list tbody td {
        white-space: normal;
        width: 5em;
    }
    
    table.list tbody td:last-child { width: auto; }
    
}


