@charset "utf-8";
/*****************************************************************************************
中ページ共通
*****************************************************************************************/

/* 基本 Box **************************************/
.row {
    max-width: 1110px;/* (1080 + 15 + 15) */
    margin: 0 auto;
    letter-spacing: -.4em;
}
.row.last {
    padding-bottom: 100px;
}

.col {
    letter-spacing: normal;
    display: inline-block;
    vertical-align: top;
    box-sizing: border-box;
    padding: 0 15px;
}

.w100 { width: 100%; }
.w75 { width: 75%; }
.w70 { width: 70%; }
.w66 { width: 66.66%; }
.w65 { width: 65%; }
.w60 { width: 60%; }
.w55 { width: 55%; }
.w50 { width: 50%; }
.w45 { width: 45%; }
.w40 { width: 40%; }
.w35 { width: 35%; }
.w33 { width: 33.33%; }
.w30 { width: 30%; }
.w25 { width: 25%; }

@media screen and (max-width: 900px) {
    .w75,.w70,.w66,.w65,.w60,.w55,.w50,.w45,.w40,.w35,.w33,.w30,.w25 {
        width: 100%;
    }
}

/* パンくず ************************************/
ul.breadcrumb {
    font-size: 87.5%;/*14*/
    padding-top: 15px;
}
ul.breadcrumb li {
    display: inline;
    margin-right: 5px;
}
ul.breadcrumb li a {
    margin-right: 10px;
}

/* タイトルエリア *******************************/
.title {
    text-align: center;
    padding: 45px 0 50px 0;
}

/* 見出し 1 ************************************/
.h_v1 {
    font-size: 200%;/*32*/
    font-weight: 600;
    display: inline-block;
    border-bottom: solid 4px #770532;
    padding: 0 1em 5px 1em;
}
.h_v1_btm {
    font-weight: 600;
    letter-spacing: 0.1em;
    padding-top: 5px;
}

/* 見出し 2 ************************************/
.h_v2 {
    font-size: 150%;/*24*/
    font-weight: 600;
    border-left: solid 10px #770532;
    padding: 1px 0 3px 14px;
}

/* 見出し 3 ************************************/
.h_v3 {
    font-size: 118.75%;/*19*/
    font-weight: bold;
    position: relative;
}
.h_v3::after {
    content: '';
    background: #e8f3e2;
    width: 100%;
    height: 4px;
    position: absolute;
    left: 0;
    top: 13px;
    z-index: -1;
}
.h_v3 span {
    background: #FFF;
}

/* 罫線 1 ***************************************/
.line_v1 {
    background: #e7e7e7;
    height: 3px;
}








/*****************************************************************************************
プログラム
*****************************************************************************************/
.program_supervisor img {
    width: 100%;
    max-width: 325px;
    margin-top: 3em;
}

.program_supervisor h3 {
    font-size: 118.75%;/*19*/
    font-weight: normal;
    margin-top: 1em;
}
.program_supervisor h3 span {
    font-size: 126.3%;/*24*/
    font-weight: 600;
}

@media screen and (max-width: 900px) {
    .program_supervisor {
        text-align: center;
    }
}




/*****************************************************************************************
公募・契約情報
*****************************************************************************************/
ul.proposal_list li {
    font-size: 118.75%;/*19*/
    font-weight: 600;
    margin: 1em 0 0 1.5em;
}
ul.proposal_list i.fa {
    margin-left: 0.5em;
}




/*****************************************************************************************
マネジメントチーム
*****************************************************************************************/
body.page_team .title .h_v1 {
    padding-bottom: 10px;
}
body.page_team .title .h_v1 span {
    display: block;
    font-size: 75%;/*24*/
}

.team_member {
    display: table;
    width: 100%;
    margin: 50px 0 25px 0;
}
.team_member_l,
.team_member_r {
    display: table-cell;
    vertical-align: middle;
}

.team_member_l {
    width: 240px;
}
.team_member_l img {
    width: 220px;
}

.team_member_r {
    width: calc(100% - 240px);
}
h3.team_member_name {
    font-size: 118.75%;/*19*/
}
h3.team_member_name span {
    display: block;
    font-weight: normal;
    font-size: 84.2%/*16*/
}
p.team_member_link {
    margin-top: 0.5em
}
p.team_member_link i.fa {
    margin-left: 0.5em
}

@media screen and (max-width: 900px) {
    .team_member_l,
    .team_member_r {
        display: block;
        width: 100%;
        text-align: center;
    }
    h3.team_member_name {
        margin-top: 1em;
    }
}

/* イラスト **************************************/
.team_supervisor {
    position: relative;
    height: 475px;
    margin-bottom: 50px;
}
img.team_image {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: -1;
    width: 70%;
}
@media screen and (max-width: 900px) {
    .team_supervisor {
        height: auto;
    }
    img.team_image {
        position: static;
        width: 100%;
    }
}





/*****************************************************************************************
プロジェクト紹介（一覧ページ）
*****************************************************************************************/
ul.project_list {
    list-style: none;
    border-top: solid 3px #e7e7e7;
    margin-top: 1.5em;
}
ul.project_list li {
    padding: 1.5em 0;
    border-bottom: solid 3px #e7e7e7;
}

ul.project_list h3 {
    font-size: 118.75%;/*19*/
}

ul.project_list h4 {
    margin-top: 0.5em;
}
ul.project_list h4 span {
    font-weight: normal;
}

/*****************************************************************************************
プロジェクト紹介（個別ページ）
*****************************************************************************************/
.project_head .line_v1 {
    margin: 1em 0 2em 0;
}

.project_face {
    vertical-align: middle;
}
.project_face img {
    width: 100%;
    max-width: 220px;
}

.project_title {
    vertical-align: middle;
}
.project_title h1 {
    font-size: 150%;/*24*/
    font-weight: 600;
}
.project_title h2 {
    font-size: 118.75%;/*19*/
    font-weight: normal;
    margin-top: 1em;
}
.project_title h2 span {
    font-weight: bold;
}
p.project_title_link {
    margin-top: 0.5em;
}
p.project_title_link i.fa {
    margin-left: 0.5em;
}

.project_content .h_v3 {
    margin-top: 2em;
}
.project_content p {
    margin-top: 1em;
}
.project_image {
    margin-top: 1em;
    text-align: center;
}
.project_image img {
    width: 100%;
}

@media screen and (max-width: 900px) {
    .project_face {
        text-align: center;
        padding-bottom: 1.5em;
    }
}





/*****************************************************************************************
お知らせ
*****************************************************************************************/

/* フィルターボタン **********************/
ul.filter_list {
    text-align: center;
    letter-spacing: -.4em;
}
ul.filter_list li {
    letter-spacing: normal;
    display: inline-block;
}

a.filter {
    display: block;
    text-decoration: none;
    font-size: 118.75%;/*19*/
    font-weight: 600;
    color: #999;
    border-bottom: solid 3px #ddd;
    padding: 0 1em 5px 1em;
    margin-bottom: 1em;
}
a.filter:hover {
    color: #666;
}
a.filter.selected {
    color: #222;
    border-bottom-color: #770532;
}

/* フィルター見出し **********************/
.filter_h .h_v2 {
    display: none;
    margin: 1em 0 1em 0;
}
.filter_h .h_v2.all {
    display: block;
}

/* 情報リスト ****************************/
ul.info_list {
    list-style: none;
    border-top: solid 3px #e7e7e7;
}

li.info_data {
    border-bottom: solid 3px #e7e7e7;
    padding: 1.5em 0;
    letter-spacing: -.4em;
}

p.info_date,
p.info_label,
p.info_desc {
    letter-spacing: normal;
    display: inline-block;
    vertical-align: top;
}

p.info_date {
    width: 160px;
}

p.info_label {
    width: 120px;
    font-size: 87.5%;/*14*/
    color: #000;
    text-align: center;
    margin-top: 3px;
}
li.info_data.news p.info_label {
    background: #FED722;
}
li.info_data.press p.info_label {
    background: #994465;
    color: #FFF;
}
li.info_data.event p.info_label {
    background: #94CA74;
}
li.info_data.other p.info_label {
    background: #67CCD9;
}

p.info_desc {
    width: calc(100% - 280px);
    box-sizing: border-box;
    padding: 0 0 0 2em;
}
@media screen and (max-width: 900px) {
    p.info_desc {
        width: 100%;
        padding: 1em 0 0 0;
    }
}

p.info_desc i.fa {
    margin-left: 0.5em;
}



