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

style.css

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

/* common

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

.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;}

.bold {font-weight: bold;}

.l_space {letter-spacing: .15rem}

.c_ocha {color: #036eb8;}

.bg_sblue {background-color: #deebf7; padding: .5rem}


.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;}
}


/* main_read

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

#main_content .main_read {
    margin: 2rem 6.5rem 0;
}

.main_read h1 {
    font-size: 1.8rem;
    font-weight: bold;
    color: #036eb8;
}

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


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

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

.main_read p {
    font-size: 1rem;
    line-height: 1.8rem;
}
    
}


/* for_exp

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

.for_exp {
    border: 2px solid #deebf7;
    margin: 4rem 6.5rem 0;
    padding: .5rem 2rem 1rem;
    position: relative;
    font-size: 1.1rem;
}

.for_exp .exp_title {
    position: absolute;
    display: inline-block;
    top: -10px;
    left: 20px;
    padding: 0 10px;
    line-height: 1;
    font-size: 1rem;
    background: #FFF;
    color: #036eb8;
    font-weight: bold;
}

.for_exp dl {
    margin-top: 2.5rem;
}

.for_exp dl dt {
    margin-bottom: 1rem;
}

.for_exp dl dd {
    margin: 1rem 0 1rem 6rem;
    text-indent: -6rem;
}
 
.for_exp p {
    margin-top: 3rem;
    text-align: center;
}

.for_exp p a {
    text-decoration: underline;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
    
    .for_exp {
    margin: 3rem 1rem 0;
    padding: .5rem 1rem 0rem;
    font-size: 1.1rem;
}
    
    .for_exp dl {
    margin-top: 2rem;
}
    
    .for_exp dl dd {
    margin: 1rem 0 1rem 0rem;
    text-indent: 0rem;
}
    
    .for_exp p {
    margin-top: 2rem;
}
    
}



/* 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;
}
    
}


/* point

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

.point {
    margin: 2rem 6.5rem 5rem;
    display: flex;
    column-gap: 3rem;
    justify-content: space-between;
}

.point p {
    margin: 0;
    line-height: 1.8rem;
    text-align: justify;
    width: 65%;
}

.point figure {
    width: 35%;
}

   .point figure img {
    width: 100%;
      box-shadow: 
          -.5rem .5rem #deebf7,
          -1rem 1rem #eff7ff; 
       margin-top: .5rem;
}


/* addition

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

.addition {
    text-align: center;
    width: 80%;
    margin: 0 auto 4rem;
}

.addition p a {
    color: red;
    text-decoration: underline;
}

.addition p a:hover {
    opacity: .5;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
    
    .addition {
    text-align: center;
    width: 90%;
    margin: 0 auto 4rem;
}
    
}


@media screen and (orientation: portrait) and (max-width: 767px) {
    
    .point {
    display: block;
    margin: 0rem 1rem 3rem;
}
    
    .point p {
    margin: 0 0 2rem;
    line-height: 1.6rem;
    width: 100%;
}

.point figure {
    width: 100%;
    text-align: center;
}
    
    .point figure img {
    width: 90%;
        margin-top: 0rem;
        margin-left: .5rem;
}
    
}

/* preparation

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

.preparation {
    width: 90%;
    margin: 0 auto;
}

.preparation h2 {
    font-size: 1.6rem;
    font-weight: bold;
    color: #036eb8;
    display: flex;
    justify-content: center;
    align-items: center;
}

.preparation h2::before,
.preparation h2::after {
    content: "";
    background-color: #036eb8;
    flex-grow: 1;
    height: 1px;
}

.preparation h2::before {
    margin-right: 1rem;
}

.preparation h2::after {
    margin-left: 1rem;
}

.preparation p.p_read {
    margin: 2rem auto;
    text-align: justify;
    width: fit-content;
    line-height: 2rem;
}

.anc_link_2col {
    display: flex;
    justify-content: center;
    column-gap: 3rem;
    margin-bottom: 2rem;
}

.anc_link_2col a {
    width: 40%;
    background-color: #036eb8;
    color: #fff;
    padding: 1rem 2rem 1.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.1rem;
    position: relative;
}

.anc_link_2col a::after {
    font-weight: 900;
    font-family: var(--Font_Awesome);
    content: "\f107";
    position: absolute;
    bottom: 0rem;
    left: 50%;
    right: 50%;
}

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

@media screen and (orientation: portrait) and (max-width: 767px) {
    
    .preparation {
    margin: 0 1rem 0;
}
    
    .preparation h2 {
    font-size: 1.5rem;
        text-align: center;
}
    
    .anc_link_2col {
    column-gap: 1rem;
}
    
    .anc_link_2col a {
    width: 48%;
    padding: .5rem .5rem 1.5rem;
    font-size: 1.1rem;
    display: block;
        text-align: center;
}
    
}


/* p_course

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

.p_course {
    width: 90%;
    margin: 2rem auto;
    background-color: #deebf7;
    padding: 1.5rem 2rem;
}

.p_course h3 {
    font-size: 1.2rem;
    font-weight: bold;
    margin-bottom: 1rem;
    border-left: 5px solid #036eb8;
    padding-left: 1rem;
}

.p_course .p_course_catch {
    margin-bottom: 2rem;
    text-align: justify;
}

.p_c_col2 {
    display: flex;
    flex-direction: row-reverse;
}

.p_c_col2 figure {
    width: 300px;
}

.p_c_col2 figure img {
    width: 100%;
}

.p_c_col2 ul,
.p_c_col2 p {
    flex: 1;
}

.p_c_col2 p {
    margin: 0 2rem 0 0;
    text-align: justify;
}

.p_course ul li {
    font-size: 1rem;
    margin-bottom: 1rem;
}

.p_course ul li::before {
    content: "■";
    color: #036eb8;
    margin-right: .5rem;
}

.p_course ul dl {
    margin-left: 1.5rem;
    display: flex;
    margin-top: 1rem;
}

.p_course ul dl dt {
    width: 25%;
     color: #036eb8;
}


.p_course ul dl dd p {
    margin: 0 0 1rem;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
    
    .p_course {
    padding: .8rem 1rem;
}
    
    .p_c_col2 figure {
    width: 100%;
        margin-bottom: 1rem;
}
    
    .p_c_col2 {
    display: block;
}
    
    .p_c_col2 p {
    margin: 0 0rem 0 0;
}
    
    .p_course ul dl {
    margin-left: 1.7rem;
    display: block;
    margin-top: 1rem;
    border-bottom: 1px solid #d3d3d3;
}
    
    .p_course ul dl dt {
    width: 100%;
    color: #036eb8;
    margin-bottom: 1rem;
}
    
}

/* more_detail

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

.more_detail {
    margin-top: 3rem;
    background-color: rgba(255,255,255,0.5);
    padding: 1.5rem 1rem;
    border-radius: 1rem;
}

.more_detail h4 {
    margin-bottom: 1rem;
    font-weight: bold;
    text-align: center;
    border-bottom: 1px solid #6fa2c1;
    padding-bottom: 1rem;
}

.more_detail .md_col2,
.more_detail .md_col3 {
    display: flex;
    justify-content: center;
    column-gap: 2rem;
    margin-top: 2rem;
}

.more_detail .md_col2 a,
.more_detail .md_col3 a {
    background-color: #036eb8;
    color: #fff;
    padding: .2rem 1rem;
    border-radius: 1rem;
    text-align: center;
}

.more_detail .md_col2 a:hover,
.more_detail .md_col3 a:hover {
    opacity: .5;
}

.more_detail .md_col1 {
    display: flex;
    justify-content: center;
}

.more_detail .md_col1 a {
    background-color: #036eb8;
    color: #fff;
    padding: .5rem 1rem;
    border-radius: .5rem;
    text-align: center;
    width: 50%;
    font-size: 1.1rem;
}

.more_detail .md_col1 a:hover {
    opacity: .5;
}

.n_course_link {
    text-align: center;
    margin-top: 3rem;
}

.n_course_link {
    font-size: 1.2rem;
    color: #036eb8;
}

.n_course_link a {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 80%;
    height: 3.6rem;
    padding: 0rem 0rem 0 0;
    border-radius: .5rem;
    background: var(--Main_Color);
    color: #fff;
    font-size: 1.2rem;
    text-align: center;
    line-height: 1;
    margin: 0 auto;
}

.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;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
    
    .more_detail {
    margin-top: 2rem;
    padding: 1rem 1rem;
    border-radius: .8rem;
}
    
    .more_detail .md_col2,
    .more_detail .md_col3 {
    column-gap: 1rem;
    margin-top: 1rem;
}
    
    .more_detail .md_col2 a,
    .more_detail .md_col3 a {
    padding: .2rem .5rem;
    border-radius: .5rem;
        font-size: 95%;
}
    
    .more_detail .md_col1 a {
    padding: .5rem 1rem;
    border-radius: .5rem;
    width: 100%;
}
    
    .n_course_link a {
    width: 100%;
        text-align: center;
}
    
}

/* eiken_rttd

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

.eiken_rttd {
    font-size: .9rem;
    width: 90%;
    margin: 0 auto;
}



/* contact_banner

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

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


