/***************************************

style.css

***************************************/

/* common

============================ */
.br_sp {display: none;}
.br_pc {display: block;}
.sp_not {display: block;}
.pc_not {display: none;}

.f_l {font-size: 140%;}
.f_m {font-size: 120%;}
.f_s {font-size: 90%;}
.f_ss {font-size: 80%;}
.f_sss {font-size: 70%;}

.f_red {color: red;}
.f_hmt {color: #a52a2a;}
.f_sci {color: #008000;}

.bold {font-weight: bold;}

.f_arrow::after {
    font-weight: 900;
    font-family: var(--Font_Awesome);
    content: "\f0da";
    margin: 0 .5rem;
}

.f_deco_u {text-decoration: underline;}

.f_al_c {text-align: center;}

.l_space {letter-spacing: .15rem}

.c_ocha {color: #036eb8;}

.bg_sblue {background-color: #deebf7;}


.main_img {
    max-width: 1280px;
    margin: 0 auto;
}

article {letter-spacing: .1rem;}


@media screen and (orientation: portrait) and (max-width: 767px) {
    .br_sp {display: block;}
    .br_pc {display: none;}
    .sp_not {display: none;}
    .pc_not {display: block; text-align: center; margin-bottom: 3rem;}
    .pc_not img {width: 250px;}
}


/* main_read

============================ */

#main_content .main_read {
    width: 85%;
    margin: 2rem auto 0;
}

.main_read h1 {
    font-size: 1.8rem;
    font-weight: bold;
    color: #036eb8;
    border-bottom: 1px solid #036eb8;
}

.main_read p {
    font-size: 1.1rem;
    text-align: justify;
    line-height: 2.1rem;
    margin: 0;
}

.main_read .main_2col {
    display: flex;
    column-gap: 3rem;
    margin: 2rem 0;
}

.main_read .main_2col figure {
    margin-top: .5rem;
}

.main_read .main_2col figure img {
    width: 250px;
}

.main_read .main_catch {
    font-size: 1.1rem;
    color: #036eb8;
    text-align: center;
    line-height: 2rem;
    font-weight: bold;
}


@media screen and (orientation: portrait) and (max-width: 767px) {
    
    #main_content .main_read {
        width: 90%;
    margin: 2rem auto 0;
}

.main_read h1 {
    font-size: 1.6rem;
}

.main_read p {
    font-size: 1rem;
    line-height: 1.8rem;
}
    
    .main_read .main_2col {
    display: block;
    margin: 2rem 0;
}
    
    .main_read .main_2col figure {
    margin-top: 1rem;
        text-align: center;
}
    
}




/* triangle

============================ */

.triangle {
    display: flex;
    justify-content: center;
    margin-top: 1rem;
}

.triangle p {
    width:0;
    height:0;
    border-style:solid;
    border-width: 40px 50px 0 50px;
    border-color: #036EB8 transparent transparent transparent;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
    
    .triangle {
    margin-top: .5rem;
}
    
}



/* preparation

============================ */

.preparation {
    width: 85%;
    margin: 1rem auto 6rem;
    border: 2px solid #036eb8;
    padding: 1rem 1rem;
}

.preparation h2 {
    margin-bottom: 1rem;
    padding: 1rem 2rem 1.5rem;
    text-align: center;
    font-size: 1.05rem;
    font-weight: bold;
    position: relative;
}

.preparation h2::before,
.preparation h2::after {
    content: "▼";
    position: absolute;
    top:50%;
    transform: translate(0%, -50%);
    color: #036eb8;
}

.preparation h2::before {
    left: 1.5rem;
}

.preparation h2::after {
    right: 1.5rem;
}

.anc_link_2col {
    display: flex;
    justify-content: space-between;
    column-gap: 3rem;
}

.anc_link_2col > div {
    width: 50%;
    display: flex;
    flex-direction: column;
}

.anc_link_2col > div > a {
    
    
    color: #fff;
    padding: 1rem 1rem 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.2rem;
    position: relative;
}

.anc_link_2col > div > a::after {
    font-weight: 900;
    font-family: var(--Font_Awesome);
    content: "\f105";
    position: absolute;
    top: 50%;
    right: .5rem;
    transform: translate(-50%, -50%);
}

.anc_link_2col > div > a:hover {
    opacity: .5;
}

.anc_link_2col > div a.hmt_c {
    background-color: #a52a2a;
}

.anc_link_2col > div a.sci_c {
    background-color: #008000;
}

.anc_link_2col > div > ul {
    padding: 1rem 3.5rem;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.anc_link_2col > div > ul li {
    margin: .5rem 0rem;
}

.anc_link_2col > div > ul li a::after {
    font-weight: 900;
    font-family: var(--Font_Awesome);
    content: "\f105";
    margin-left: .5rem;
}

.anc_link_2col > div > ul li a:hover {
    opacity: .5;
}

.anc_link_2col > div.hmt_list > ul {
    border: 1px solid #a52a2a;
}

.anc_link_2col > div.sci_list > ul {
    border: 1px solid #008000;
}

.anc_link_2col > div.hmt_list > ul li a {
    color: #a52a2a;
}

.anc_link_2col > div.sci_list > ul li a {
    color: #008000;
}




@media screen and (orientation: portrait) and (max-width: 767px) {
    
    .preparation {
        width: 90%;
    margin: 1rem auto 0;
        padding: .5rem .5rem;
}
    
    .preparation h2 {
    padding: .2rem 1rem .5rem;
}
    
    .preparation h2::before {
    left: 0rem;
}

.preparation h2::after {
    right: 0rem;
}
    
    .anc_link_2col {
    column-gap: 1rem;
}
    
    .anc_link_2col > div {
      width: 48%;  
    }
    
    .anc_link_2col > div > a {
    
    padding: .5rem .5rem .5rem;
    font-size: 1.05rem;
    display: block;
        text-align: left;
}
    
    .anc_link_2col > div > a::after {
    right: 0rem;
}
    
    .anc_link_2col > div > ul {
    padding: .5rem .5rem;
}
    
}


/* 早慶文系学部

============================ */

.sub_header_hmt ul {
    display: flex;
    justify-content: flex-end;
    margin: 0 1rem 2rem 0rem;
}

.sub_header_hmt ul li:not(:last-of-type) {
    border-right: 1px solid #a52a2a;
    margin-right: 1rem;
    padding-right: 1rem;
}

.sub_header_hmt ul li a {
    color: #a52a2a;
    font-size: .9rem;
}


.sub_header_hmt ul li a:hover {
    opacity: .5;
}

#main_content .subject {
    width: 80%;
    margin: 0 auto 4rem;
}


.subject p {
    font-size: 1rem;
    text-align: justify;
    line-height: 1.8rem;
    margin: 0;
}

.subject .main_2col {
    display: flex;
    column-gap: 3rem;
    margin: 2rem 0;
}

.subject .main_2col .left_p ul li {
    margin-bottom: 1rem;
    text-indent: -1rem;
    margin-left: 1rem;
}

.subject .main_2col figure {
    margin-top: .5rem;
}

.subject .main_2col figure img {
    width: 250px;
}

#main_content h1.h1_hmt {
    font-size: 1.8rem;
    font-weight: bold;
    color: #036eb8;
    border-bottom: 1px solid #a52a2a;
    position: relative;
    padding-left: 1.5rem;
    margin-top: 1rem;
}

#main_content h1.h1_hmt::before {
    position: absolute;
    top: 0;
    left: .3em;
    transform: rotate(55deg);
    height: 11px;
    width: 12px;
    background: #a52a2a;
    content: '';
}

#main_content h1.h1_hmt::after {
    position: absolute;
    transform: rotate(15deg);
    top: .6em;
    left: 0;
    height: 8px;
    width: 8px;
    background: #a52a2a;
    content: '';
}

.subject h2.h2_hmt {
    color: #a52a2a;
    margin-left: 0rem;
    border-left: 3px solid #a52a2a;
    padding: 1rem 1.2rem 0;
    font-size: 1.3rem;
    letter-spacing: .2rem;
}

.subject p.h2_hmt_usub {
    font-size: .9rem;
    margin-top: 1rem;
}

.subject h3.h3_hmt {
    font-size: 1.1rem;
    font-weight: bold;
    margin-bottom: 1rem;
    border-bottom: 1px solid #a52a2a;
}

.subject dl {
    margin-bottom: 3rem;
}

.subject dl:last-of-type {
    background-color: #f4f9ff;
    padding: 2rem;
}

.subject dl dd {
    margin-bottom: 1rem;
    text-indent: -7rem;
    margin-left: 7rem;
}

.subject dl dd.asta {
    font-size: .9rem;
    text-indent: -1rem;
    margin-left: 1rem;
}

.subject dl dd.asta::before {
        content: "※";
}

.subject dl dd a {
    text-decoration: underline;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
    
    .sub_header_hmt ul {
    flex-direction: column;
        margin: 1rem 0rem 0rem 1.5rem;
}
    
    .sub_header_hmt ul li {
        margin: 1rem 0;
    }
    
    .sub_header_hmt ul li:not(:last-of-type) {
    border-right: none;
    margin-right: 0rem;
    padding-right: 0rem;
}
    
    .sub_header_hmt ul li a {
    font-size: 1rem;
}
    
    .sub_header_hmt ul li a::after {
    font-weight: 900;
    font-family: var(--Font_Awesome);
    content: "\f107";
    margin-left: .5rem;
}
    
    #main_content .subject {
        width: 90%;
        margin: 0 auto 0rem;
        padding: 3rem 0 0;
}

.subject p {
    font-size: 1rem;
    line-height: 1.8rem;
}
    
    .subject .main_2col {
    display: block;
    margin: 2rem 0;
}
    
    .subject .main_2col figure {
    margin-top: 1rem;
        text-align: center;
        margin-bottom: 3rem;
}
    
    .subject dl:last-of-type {
    padding: 1rem;
}
    
    .subject dl dd {
    text-indent: 0rem;
    margin-left: 0rem;
}
    
}


/* 早慶理系学部

============================ */

.sub_header_sci ul {
    display: flex;
    justify-content: flex-end;
    margin: 0 1rem 2rem 0rem;
}

.sub_header_sci ul li:not(:last-of-type) {
    border-right: 1px solid #008000;
    margin-right: 1rem;
    padding-right: 1rem;
}

.sub_header_sci ul li a {
    color: #008000;
    font-size: .9rem;
}

.sub_header_sci ul li a:hover {
    opacity: .5;
}

#main_content h1.h1_sci {
    font-size: 1.8rem;
    font-weight: bold;
    color: #036eb8;
    border-bottom: 1px solid #008000;
    position: relative;
    padding-left: 1.5rem;
    margin-top: 1rem;
}

#main_content h1.h1_sci::before {
    position: absolute;
    top: 0;
    left: .3em;
    transform: rotate(55deg);
    height: 11px;
    width: 12px;
    background: #008000;
    content: '';
    border-radius: 12px;
}

#main_content h1.h1_sci::after {
    position: absolute;
    transform: rotate(15deg);
    top: .6em;
    left: .1em;
    height: 8px;
    width: 8px;
    background: #008000;
    content: '';
    border-radius: 8px;
}

.subject h2.h2_sci {
    color: #008000;
    margin-left: 0rem;
    border-left: 3px solid #008000;
    padding: 1rem 1.2rem 0;
    font-size: 1.3rem;
    letter-spacing: .2rem;
}

.subject p.h2_sci_usub {
    font-size: .9rem;
    margin-top: 1rem;
}

.subject h3.h3_sci {
    font-size: 1.1rem;
    font-weight: bold;
    margin-bottom: 1rem;
    border-bottom: 1px solid #008000;
}

.subject ul.principle li {
    font-weight: bold;
    margin-bottom: 1rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
    
    .sub_header_sci ul {
    flex-direction: column;
        margin: 1rem 0rem 0rem 1.5rem;
}
    
    .sub_header_sci ul li {
        margin: 1rem 0;
    }
    
    .sub_header_sci ul li:not(:last-of-type) {
    border-right: none;
    margin-right: 0rem;
    padding-right: 0rem;
}
    
    .sub_header_sci ul li a {
        font-size: 1rem;
    }
    
    .sub_header_sci ul li a::after {
    font-weight: 900;
    font-family: var(--Font_Awesome);
    content: "\f107";
    margin-left: .5rem;
}
    
    .subject ul.principle {
    margin-bottom: .5rem;
}
    
}

/* button

============================ */

.button {
    display: flex;
    justify-content: center;
    margin: 4rem 1rem;
}

.button dl {
    text-align: center;
}

.button dl dt {
    color: #ef717c;
    margin-bottom: 1rem;
}

.button dl dd a {
    height: 3rem;
    background: #ef717c;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    border-radius: 1.8rem;
    color: #fff;
    font-weight: 900;
    font-family: var(--Font_Weight_Bold);
    font-size: 1.2rem;
    text-align: center;
    line-height: 1;
}

.button dl dd a:hover {
    opacity: .5;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
    
    .button {
    margin: 3rem 1rem 2rem;
}
    
}





/* contact_banner

============================ */
.contact_banner .button dl:first-of-type dd.trial_btn a {
  background: #00578a;
  color: #fff;
}

.contact_banner.phone .phone_ikebukuro {
  display: none;
}


