@charset "utf-8";
#wrapper {
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
    box-sizing: border-box;
}
.main_wrapper {
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}
.main_wrapper .normal_txt {
    font-size: 16px;
/*    color:  #444;*/
    line-height: 1.6;
}
.main_wrapper .normal_ttl {
    font-size: 22px;
    color: #341C09;
    line-height: 1;
    padding-bottom: 10px;
    border-bottom: 3px solid #341C09;
    margin-bottom: 30px;
    display: inline-block;
    font-weight: bold;
}
.bg_beige {
    background: #f6f3f0!important;
}
.bg_blue {
    background: #f1f7f7!important;
}
.bg_gray {
    background: #f7f7f7!important;
}
.bg_f {
    background: #fff!important;
}
.pt_0{
    padding-top: 0!important;
}
.pd_0 {
    padding: 0!important;
}
.pd_5 {
    padding: 5px!important;
}
.mt_20 {
    margin-top: 20px!important;
}
.mb_0 {
    margin-bottom: 0px!important;
}
.mb_10 {
    margin-bottom: 10px!important;
}
.mb_15 {
    margin-bottom: 15px!important;
}
.mb_20 {
    margin-bottom: 20px!important;
}
.mb_30 {
    margin-bottom: 30px!important;
}
.mb_40 {
    margin-bottom: 40px!important;
}
.mb_60 {
    margin-bottom: 60px!important;
}
.mb_80 {
    margin-bottom: 80px!important;
}
.mb_100 {
    margin-bottom: 100px!important;
}
.text_a-l {
    text-align: left!important;
}
.text_a-r {
    text-align: right!important;
}
.font_c_p {
    color: #ff6670!important;
}
.font_w_b {
    font-weight: bold;
}
.border_b {
    border-bottom: 1px dotted #341C09;
    padding-bottom: 20px;
}
.pb_60 {
    padding-bottom: 60px!important;
}
br.sp_none,
nav.gnav.sp_none {
    display: none;
    }
br.pc_none,
nav.gnav.pc_none:hove {
    display: block;
    }

/*large*/
@media (min-width: 600px) {
br.sp_none,
nav.gnav.sp_none {
    display: block;
    }
br.pc_none,
nav.gnav.pc_none{
    display: none;
    }
}
i {
    font-family: "Font Awesome 6 Free";
}
a.link_txt {
    color: #29ABE2;
    text-decoration: underline;
}
a.link_txt:hover{
    text-decoration: none;
}
/*================================================
トップコンテンツ
 ================================================*/
.top_con {
    padding: 60px 0 80px;
    text-align: center;
    box-sizing: border-box;
    /*background: #fff;*/
}
.top_con h1 {
    font-size: 3vw;
    font-weight: bold;
    line-height: 1.4;
    margin-top: 20px;
    letter-spacing: .1em;
/*    text-shadow: 0px 0px 6px rgba(0,0,0,0.8);*/
}
.top_con h2 {
    font-size: 8vw;
    font-weight: bold;
    line-height: 1.8;
    letter-spacing: .2em;
    margin-bottom: 20px;
/*    text-shadow: 0px 0px 6px rgba(0,0,0,0.8);*/
}
.main_logo_img {
    width: 150px;
    height: 150px;
    margin: 20px auto 0;
}
.top_con .main_txt {
    font-size: 4.5vw;
    line-height: 1.4;
    margin-bottom: 5px;
    letter-spacing: .1em;
}
.top_con .sub_txt {
    font-size: 3vw;
    line-height: 1.4;
    letter-spacing: .1em;
}
/*large*/
@media (min-width: 600px) {
.top_con {
    padding: 100px 0 100px;
    }
.top_con h1 {
    font-size: 24px;
    margin-top: 40px;
    }
.top_con h2 {
    font-size: 90px;
    text-align: center;
    margin-bottom: 60px;
    }
.top_con .main_txt {
    font-size: 34px;
    margin-bottom: 15px;
    }
.top_con .sub_txt {
    font-size: 26px;
    }
}
/*large end*/

/*================================================
トップコンテンツ　end
 ================================================*/


/*================================================
概要
 ================================================*/
.main_conA {
    text-align: center;
    padding: 15px 0;
}
.main_conA h3 {
    font-size: 4vw;
    line-height: 1;
    padding: 40px 0 10px;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 26px;
    text-align: center;
    letter-spacing: .2em;
}
.main_conA h3::before,
.main_conA h3::after {
  content: '';
  width: 70px;
  height: 1px;
  background-color: #341C09;
}
.main_conA h3::before {
  margin-right: 20px;
}
.main_conA h3::after {
  margin-left: 20px;
}
.main_conA .dec {
    font-size: 18px;
    line-height: 1.7;
}
.main_conA .dec02 {
    font-size: 20px;
    line-height: 1.7;
}
.normal_txt {
    font-size: 16px;
}
.mail_txt {
    font-size: 18px;
    letter-spacing: .1em;
    margin-top: 20px;
}

/*large*/
@media (min-width: 600px) {
.main_conA {
    padding: 30px 0;
}
.main_conA h3 {
    font-size: 26px;
    padding: 80px 0 10px;
    }
.main_conA .dec {
    font-size: 20px;
    }
.main_conA .dec02 {
    font-size: 24px;
    line-height: 1.7;
    }
.normal_txt {
    font-size: 18px;
    }
}
/*large end*/

/*================================================
概要　end
 ================================================*/


/*================================================
誘導
 ================================================*/
.lead_con {
    /*background: #edf7f7;*/
    text-align: center;
    padding: 80px 0;
    margin-bottom: 80px;
}
.lead_box {
    margin: 0 auto;
    text-align: center;
}
.btn_01 {
    margin-bottom: 20px;
}
.lead_ttl {
    font-size: 20px;
    margin-bottom: 5px;
}
.lead_small_txt {
    font-size: 14px;
    /*color: #666;*/
    margin-bottom: 15px;
}
.btn_01 a,
.btn_02 a {
    display: inline-block;
    color: #fff;
    height: 4rem;
    border-radius: 4em;
    font-size: 20px;
    width: 80%;
    max-width: 300px;
    line-height: 4rem;
}
.btn_01 a:hover,
.btn_02 a:hover {
    opacity: .7;
}
.btn_01 a {
    background: #000;
}
.btn_02 a {
    background: #341C09;
}
.btn_02 a.disabled {
    background: #ccc;
    pointer-events: none;
}
.lead_small_txt_box {
    font-size: 16px;
    padding: 15px;
    border: 1px solid #999;
    border-radius: 10px;
}
.lead_con .dec {
    font-size: 18px;
    line-height: 1.7;
}
.lead_con .normal_txt {
    font-size: 16px;
    line-height: 1.7;
}
/*large*/
@media (min-width: 600px) {
.lead_ttl {
    font-size: 22px;
    }
.lead_con .dec {
    font-size: 20px;
    }
.lead_con .normal_txt {
    font-size: 18px;
    }
}

/*================================================
誘導　end
 ================================================*/

/*================================================
News
 ================================================*/
.main_conF {
    background: #fff;
    text-align: center;
    padding: 80px 0;
}
.main_conF h3 {
    font-size: 6vw;
    color:  #341C09;
    line-height: 1;
    padding-bottom: 10px;
    border-bottom: 3px solid #341C09;
    margin-bottom: 30px;
    display: inline-block;
    font-weight: bold;
}

.main_conF .large_txt {
    font-size: 4vw;
    /*color:  #444;*/
    margin-bottom: 40px;
}
.main_conF .info_flex_2con {
    text-align: left;
    width: 100%;
}
.main_conF .information li {
    border-bottom: 1px solid #e2e2e2;
    padding: 10px 0 10px;;
    line-height: 2em;
}
.main_conF ul.information {
    width: 100%;
    margin-bottom: 30px;
}
.main_conF .information dl {
    display: table;
}
.main_conF .information dt {
    min-width: 90px;
    max-width: 90px;
    font-size: 16px;
    padding-right: 40px;
    display: table-cell;
    vertical-align: middle;
    text-align: left;
    border-bottom: none;
}
.main_conF .information dd {
    display: table-cell;
    width: 100%;
    font-size: 16px;
    line-height: 1.4;
    text-align: left;
    vertical-align: middle;
}
.main_conF .information dd a {
    color: #29ABE2;
    text-decoration: underline;
}
.main_conF .information dd a:hover {
    text-decoration: none;
}
.main_conF .info_tw {
    width: 100%;
    border: 1px solid #e2e2e2;
    }

/*アコーディオン*/

.toggle {
    display: none;
}
.option {
    position: relative;
    margin-bottom: 1em;
}
.title,
.content {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translateZ(0);
    transition: all 0.3s;
}
.title {
    border: solid 1px #ccc;
    padding: 1em;
    display: block;
}
.title::after,
.title::before {
    content: "";
    position: absolute;
    right: 1.25em;
    top: 1.25em;
    width: 2px;
    height: 0.75em;
    background: #999;
    transition: all 0.3s;
}
.title::after {
    transform: rotate(90deg);
}
.content {
    max-height: 0;
    overflow: hidden;
}
.content {
margin: 0;
}
.toggle:checked + .title + .content {
    max-height: 480px;
    transition: all 0.5s;
    overflow-y: scroll;
}
.toggle:checked + .title::before {
    transform: rotate(90deg) !important;
}



/*large*/
@media (min-width: 600px) {
.main_conF h3 {
    font-size: 32px;
    margin-bottom: 40px;
    }
.main_conF .large_txt {
    font-size: 24px;
}
/*.main_conF .info_flex_2con {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    }*/
/*.main_conF ul {
    width: 55%;
    max-width: 630px;
    margin-right: 40px;
    }*/
.main_conF .info_tw {
    width: 40%;
    max-width: 400px;
    }
}
/*large end*/
/*================================================
News　end
 ================================================*/


/*================================================
フェローズについて
 ================================================*/
.main_conC {
    text-align: left;
    padding: 60px 0;
}
.main_conC .main_wrapper {
    

    border-top: 1px solid #341C09;
    padding: 20px ;
}
.main_conC .about_ttl{
    font-size: 18px;
    margin-bottom: 10px;
}
/*large*/
@media (min-width: 600px) {
.main_conC {
    padding: 100px 0;
    }
}
/*large end*/
/*================================================
フェローズについて
 ================================================*/


/*================================================
フッター
 ================================================*/
footer {
    background: #341C09;
    text-align: center;
    padding: 80px 0;
}
footer h2 {
    font-size: 6vw;
    color:  #fff;
    line-height: 1;
    padding-bottom: 10px;
    border-bottom: 3px solid #fff;
    margin-bottom: 40px;
    display: inline-block;
    font-weight: bold;
}
footer p {
    color: #fff;
    font-size: 16px;
}
footer p a {
    color: #fff;
    font-size: 20px;
    margin-top: 10px;
    display: inline-block;
}
footer img {
    max-width: 240px;
}
.copyright {
    padding: 20px 0 60px;
    background: #000;
    text-align: center;
}
.copyright p {
    color: #fff;
    font-size: 12px;
    display: inline-block;
    padding: 0 10px;
}
.copyright a {
    color: #fff;
}
footer p.large_txt {
    font-size: 18px;
}
.fa-brands {
    font-size: 40px;
    color: #fff;
    padding: 20px 7px 0;
}
/*large*/
@media (min-width: 600px) {
    footer h2 {
        font-size: 32px;
    }
.copyright {
    padding: 20px 0;
    }
}


/*================================================
下部バナー
 ================================================*/
.main_conBnr {
    background: #fff;
    text-align: center;
    padding: 80px 0;
}
.flex_2box_child {
    margin-bottom: 40px;
}
/*large*/
@media (min-width: 600px) {
.main_conBnr {
    padding: 100px 0;
}
.flex_2box {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    }
.flex_2box_child {
    flex: 1;
    margin: 10px;
    }
}

/*================================================
下部バナー end
 ================================================*/

span.circle_mark {
    font-size: .5em;
    color: #341C09;
    padding-right: .5em;
}
/*ちょっと大きめの文字*/
.middle_txt {
    font-size: 16px;
    line-height: 1.4;
}
.secondary_txt {
    font-size: 20px;
    line-height: 1.4;
}
.secondary_txt_p {
    font-size: 20px;
    line-height: 1.4;
    color: #341C09;
}
/*large*/
@media (min-width: 600px) {
.secondary_txt,
.secondary_txt_p {
    font-size: 24px;
    }
.middle_txt {
    font-size: 20px;
    line-height: 1.6;
    }
}

/*小さい文字*/
.font-s_12 {
    font-size: 12px;
}
.font-s_14 {
    font-size: 14px;
}

/*SNS*/
aside {
    position: fixed;
    bottom: 0;
    width: 40px;
    height: 147px;
    font-size: 2.8rem !important;
    line-height: 1;
    opacity: 0;
    transition: all .5s;
}
aside.activeAside {
    opacity: 1;
}
aside ul {
    display: flex;
    flex-flow: column;
    align-items: center;
}
aside li {
    position: relative;
    width: 40px;
    height: 49px;
    text-align: center;
}
aside .share_tweet a {
    position: relative;
    top: -14px;
    left: 1px;
}
aside .share_fb a {
    position: relative;
    top: -10px;
    left: 1px;
}
aside .share_line a {
    position: relative;
    top: -3px;
    left: 1px;
}
aside .share_insta a {
    position: relative;
    top: -5px;
    left: 5px;
}
aside .share_insta img {
    width: 34px;
}
aside .share_tweet a i:after,
aside .share_fb a i:after,
aside .share_insta a i:after {
    display: inline-block;
    content: '';
    width: 32px;
    height: 32px;
    position: absolute;
    top: 23px;
    left: 8px;
    background: #fff;
    border: 1px solid  transparent;
    border-radius: 7px;
    z-index: -1;
}
aside .share_tweet a i {
    position: relative;
    color: #1da1f2;
    z-index: 1;
}
aside .share_fb a i {
    position: relative;
    color: #365899;
    z-index: 1;
}

aside .share_insta a i {
    position: relative;
    color:#FF31B1;
    z-index: 1;
}
.icon-line {
    width: 40px;
    height: 40px;
}
aside a i,
aside a img {
        transition: all .1s;
}
aside a:hover i,
aside a:hover img {
        transform: rotate(-15deg);
}


#codeigniter_profiler {
    display: none !important;
}

@media screen and (max-width: 768px) {
    aside {
        width: 100%;
        height: 50px;
    }
    aside:after {
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 41px;
        display: inline-block;
        content: '';
        background: #fff;
        opacity: .5;
        z-index: -2;
    }
    aside ul {
        justify-content: space-around;
        flex-flow: row;
    }
    aside .share_tweet a,
    aside .share_fb a {
        top: unset;
        bottom: 20px;
        left: 50px;
    }
    aside .share_insta a {
        top: unset;
        bottom: 10px;
        left: -50px;
    }
    aside .share_line a {
        top: unset;
        bottom: 8px;
    }
}

/*================================================
archive・誘導
 ================================================*/
.archive_con {
    padding: 80px 0 40px;
    background: #341C09;
    text-align: center;
    box-sizing: border-box;
}
.archive_con h1 {
    font-size: 6vw;
    color: #fff;
    font-weight: bold;
    line-height: 1.4;
    margin: 0px;
}

.btn_con {
    background: #edf7f7;
    text-align: center;
    padding: 80px 0;
}
.btn_con .main_wrapper {
    display: flex;
    flex-direction: column;
}
a.btn_03 {
    display: inline-block;
    color: #341C09;
    background: #fff;
    border: 2px solid #341C09;
    height: 4rem;
    border-radius: 4em;
    font-size: 20px;
    width: 80%;
    max-width: 300px;
    line-height: 4rem;
    margin: 20px;
}
a.btn_03:hover {
    opacity: .7;
}
a.btn_04 {
    display: inline-block;
    color: #fff;
    background:#341C09;
    height: 3rem;
    border-radius: 6px;
    font-size: 18px;
    margin: 20px;
    padding: 15px;
    width: 260px;
}
a.btn_04:hover {
    opacity: .7;
}
/*large*/
@media (min-width: 600px) {
.archive_con {
    padding: 100px 0 60px;
    }
.archive_con h1 {
    font-size: 50px;
    }
.btn_con .main_wrapper {
    flex-direction: row;
    justify-content: center;
    }
a.btn_03 {
    font-size: 22px;
    }
}

/*================================================
archive・誘導　end
 ================================================*/




/*================================================
※東学祭コラボ専用※上映作品
 ================================================*/
.tougaku_conB {
    text-align: center;
    padding: 40px 0;
    box-sizing: border-box;
}
.tougaku_conB h3 {
    font-size: 6vw;
    color: #fff;
    line-height: 1;
    padding: 15px;
    background: #00A9E4;
    margin-bottom: 40px;
    display: inline-block;
    font-weight: bold;
    width: 80%;
    max-width: 340px;
    letter-spacing: .15em;
}
.tougaku_conB .sub_ttl {
    font-size: 5vw;
    color:  #00A9E4;
    line-height: 1;
    padding-bottom: 10px;
    border-bottom: 3px solid #00A9E4;
    margin-bottom: 40px;
    display: inline-block;
    font-weight: bold;
}
.tougaku_conB .contest_ttl {
    font-size: 18px;
    color: #00A9E4;
    line-height: 1;
    padding: 10px;
    border: 1px solid #00A9E4;
    margin-bottom: 40px;
    letter-spacing: .15em;
    text-align: left;
/*    background: #CCEDF9;*/
}
.tougaku_conB .contest_ttl.tougaku_sub_ttl {
    color:  #1EB0BC;
    border: 1px solid #00A9E4;
}
.tougaku_conB .work_flex {
    padding-bottom: 40px;
    border-bottom: 1px solid #e2e2e2;
    margin: 40px 0;
}
.tougaku_conB .work_tmb {
    margin-bottom: 20px;
}
.tougaku_conB .work_tmb img {
    width: 100%;
}
.tougaku_conB .work_award {
    color: #333;
    font-size: 16px;
    /*background: #FFF2CC;*/
    background: #CCEDF9;
    padding: 6px 10px;
    margin-bottom: 10px;
/*    border: 1px solid #00A9E4;*/
}
.tougaku_conB .work_ttl {
    font-size: 20px;
    color: #00A9E4;
    font-weight: bold;
    margin-bottom: 4px;
}
.tougaku_conB .work_name {
    font-size: 16px;
    color: #00A9E4;
    margin-bottom: 4px;
}
.tougaku_conB .work_explanation {
    font-size: 14px;
    color: #00A9E4;
    margin-bottom: 30px;
}
.tougaku_conB .work_dec {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.tougaku_conB .work_synopsis {
    width: 65%;
    margin-right: 5%;
    text-align: left;
}
.tougaku_conB .work_director {
    width: 30%;
}
.tougaku_conB .work_director img {
    width: 100%;
}
/*東学祭セレクト*/
.tougaku_conB .sub_ttl.tougaku {
    color: #1EB0BC;
    border-bottom: 3px solid #1EB0BC;
}
.tougaku_conB .tougaku .work_award {
    background: #FFD9A0;
}
.tougaku_conB .tougaku .work_ttl {
    color: #1EB0BC;
}
.tougaku_conB .tougaku .work_name {
    color: #1EB0BC;
}
.tougaku_conB .tougaku .work_explanation {
    color: #1EB0BC;
}
.tougaku_conB .work_flex.tougaku.last{
    padding-bottom: 0;
    border-bottom: none;
    margin: 40px 0;
}

/*large*/
@media (min-width: 600px) {
.tougaku_conB {
    padding: 80px 0;
    }
.tougaku_conB h3 {
    font-size: 34px;
    }
.tougaku_conB .sub_ttl {
    font-size: 22px;
    }
.tougaku_conB .contest_ttl {
    font-size: 18px;
    }
.tougaku_conB .work_flex {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    }
.tougaku_conB .work_tmb {
    width: 45%;
    margin-right: 4%;
    }
.tougaku_conB .work_box {
    width: 51%;
    text-align: left;
    }
.tougaku_conB .work_synopsis {
    width: 75%;
    margin-right: 3%;
    }
.tougaku_conB .work_director {
    width: 22%;
    }

}
/*large end*/

/*================================================
※東学祭コラボ専用※上映作品　end
 ================================================*/



/*================================================
※東学祭コラボ専用※誘導
 ================================================*/
.tougaku_conE {
    background: #F0F2F6;
    text-align: center;
    padding: 80px 0;
}
.tougaku_conE .large_txt {
    font-size: 4vw;
    color:  #444;
    margin-bottom: 40px;
}
.tougaku_conE .link_btn {
    width: 100%;
    max-width: 400px;
}
.tougaku_conE .link_btn a {
    width: 90%;
    background: #12336E;
    height: 50px;
    border-radius: 40px;
    color: #fff;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;
    text-align: center;
    line-height: 50px;
    box-shadow: 5px 9px 8px -6px rgba(0,0,0,0.6);
    box-sizing: border-box;
    margin-bottom: 30px;
}
.tougaku_conE .link_btn.fff_btn a {
   background: #00A9E4;
}
.tougaku_conE .link_btn.tougaku_btn a {
   background: #1EB0BC;
}
/*large*/
@media (min-width: 600px) {
.tougaku_conE {
    padding: 100px 0;
}
.tougaku_conE .large_txt {
    font-size: 24px;
    margin-bottom: 40px;
}
.tougaku_conE .btn_flex_area {
    display: flex;
    justify-content: center;
    }

}
/*large end*/

/*================================================
※東学祭コラボ専用※誘導　end
 ================================================*/

.about_ttl {
    font-size: 18px;
    margin-bottom: 10px;
}

.medium_img {
    width: 80%;
    max-width: 250px;
}