/* サブページのみ */

/*--------------------------------------------------------
    メイン
--------------------------------------------------------*/
.bl_mainCont{
    background-image: url("../img/img_submain-sp.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 300px;
    overflow: hidden!important;
}
.bl_mainInner{
    margin: 0 auto;
    max-width: 1580px;
    width: 100%;
    height: 100%;
    position: relative;
}
@media (min-width:1200px){
    .bl_mainCont{
        background-image: url("../img/img_submain-pc.jpg");
        height: 500px;
    }
}

/* タイトル */
 .bl_mainCont h1{
    font-size: 36px;
    font-weight: bold;
    margin: 0 auto;
    line-height: 1.4;
    letter-spacing: 2px;
    position: absolute;
    left: 20px;
    bottom: 60px;
    z-index: 10;
}
.bl_mainCont h1 small{
    color: #AD2520;
    display: block;
    font-size: 18px;
    font-family: balboa, sans-serif;
    font-weight: 300;
    font-style: normal;
}
@media (min-width:768px){
    .bl_mainCont h1{
        font-size: 48px;
    }
    .bl_mainCont h1 small{
        font-size: 22px;
    }
}
@media (min-width:1200px){
    .bl_mainCont h1{
        left: 80px;
        bottom: 130px;
    }
}

/* 英語 */
.bl_mainCont .el_en{
    color: #ffffff99;
    font-family: balboa, sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: 100px;
    line-height: 70px;
    letter-spacing: 10px;
    white-space: nowrap;
    width: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1;
}
@media (min-width:1200px){
    .bl_mainCont .el_en{
        font-size: 240px;
        line-height: 160px;
    }
}

/*--------------------------------------------------------
    共通
--------------------------------------------------------*/
/*---------- コンテナ ----------*/
.ly_cont{
    margin: 120px auto 0;
}

.ly_cont .bl_cont{
    margin: 120px auto;
    max-width: 1280px;
    padding: 0 20px;
}
.ly_cont .bl_cont p+p{
    margin-top: 30px;
}
@media (min-width:1200px){
    .ly_cont .bl_cont{
        margin: 180px auto;
        padding: 0 40px;
    }
    .ly_cont .bl_cont p+p{
        margin-top: 40px;
    }
}
@media (min-width:1300px){
    .ly_cont .bl_cont{
        padding: 0;
    }
}

/*---------- 見出し ----------*/
.ly_cont h2{
    font-size: 30px;
    font-weight: bold;
    text-align: left;
    position: relative;
    margin: 0 auto 60px;
    width: 100%;
    letter-spacing: 2px;
}
.ly_cont h2::before{
    background-color: #272D3E;
    content: '';
    display: block;
    width: 60px;
    height: 2px;
    position: absolute;
    left: 0;
    bottom: 55px;
}
.ly_cont h2 small{
    display: block;
    font-family: balboa, sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: 18px;
    margin: 70px auto 0;
}
@media (min-width:768px){
    .ly_cont h2{
        font-size: 36px;
    }
    .ly_cont h2::before{
        bottom: 65px;
    }
    .ly_cont h2 small{
        margin: 90px auto 0;
    }
}

.ly_cont h3{
    font-size: 22px;
    font-weight: bold;
    margin: 0 auto 40px;
    width: 100%;
    letter-spacing: 2px;
}
.ly_cont h3 small{
    color: #AD2520;
    display: block;
    font-size: 15px;
    font-family: balboa, sans-serif;
    font-weight: 300;
    font-style: normal;
    margin-top: 10px;
}
@media (min-width:768px){
    .ly_cont h3{
        font-size: 26px;
    }
}

/*---------- テキスト ----------*/
.el_catchcopy{
    font-weight: bold;
    font-size: 24px;
    margin-bottom: 30px;
}
@media (min-width:1200px){
    .el_catchcopy{
        font-size: 30px;
    }
}

/*---------- ボタン 通常（青） ----------*/
.ly_cont .el_btn,
.bl_contact .el_btn{
    background-color: #313871;
    border: 1px solid #313871;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: 20px;
    text-decoration: none;
    transition: 0.3s;
    margin: 0 auto;
    max-width: 250px;
    width: 100%;
    height: 80px;
}
.ly_cont .el_btn:hover,
.bl_contact .el_btn:hover{
    background-color: #fff;
    color: #313871;
    opacity: 1;
}
@media (min-width:768px){
    .ly_cont .el_btn,
    .bl_contact .el_btn{
        max-width: 300px;
    }
}

/*---------- ボタン 赤 ----------*/
.ly_cont .el_btn.red{
    background-color: #AD2520;
    border: 1px solid #AD2520;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: 20px;
    text-decoration: none;
    transition: 0.3s;
    margin: 0 auto;
    max-width: 250px;
    width: 100%;
    height: 80px;
}
.ly_cont .el_btn.red:hover{
    background-color: #fff;
    color: #AD2520;
    opacity: 1;
}
@media (min-width:768px){
    .bl_contact .el_btn.red{
        max-width: 300px;
    }
}

/*---------- ボタン 白 ----------*/
.ly_cont .el_btn.white{
    background-color: #fff;
    border: 1px solid #313871;
    color: #313871;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: 20px;
    text-decoration: none;
    transition: 0.3s;
    margin: 0 auto;
    max-width: 250px;
    width: 100%;
    height: 80px;
}
.ly_cont .el_btn.white:hover{
    background-color: #313871;
    color: #fff;
    opacity: 1;
}
@media (min-width:768px){
    .bl_contact .el_btn.white{
        max-width: 300px;
    }
}

/*---------- PCで中央寄せ ----------*/
.el_pcCenter{
    text-align: left;
}
@media (min-width:1200px){
    .el_pcCenter{
        text-align: center;
    }
}

/*---------- リンクコンテナ ----------*/
.ly_cont .bl_linkCont{
    margin: 0 auto;
}
.ly_cont .bl_linkContR{
    text-align: right;
    margin: 0 auto;
}

/*---------- 矢印付きリンク 通常（青） ----------*/
.ly_cont .el_link{
    border-bottom: 1px solid #1B1B25;
    color: #1B1B25;
    font-size: 20px;
    font-weight: bold;
    text-decoration: none;
    transition: 0.3s;
}
.ly_cont .el_link::after{
    content: '→';
    display: inline-block;
    margin-left: 5px;
}
.ly_cont .el_link:hover{
    border-bottom: 1px solid #fff;
    color: #fff;
    opacity: 1;
}

/*---------- 矢印付きリンク 赤 ----------*/
.ly_cont .el_link.red{
    border-bottom: 1px solid #AD2520;
    color: #AD2520;
    font-size: 18px;
    text-decoration: none;
    transition: 0.3s;
}
.ly_cont .el_link.red:hover{
    opacity: 0.5;
}

/*---------- リンク ブランク ----------*/
.blank{
    border-bottom: 1px solid #313871;
    text-decoration: none;
}
.blank.red{
    border-bottom: 1px solid #AD2520;
}
.blank.white{
    border-bottom: 1px solid #fff;
}
.blank::after{
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    content: ''!important;
    display: inline-block;
    margin-left: 5px;
    width: 12px;
    height: 12px;
}
.blank::after{
    background-image: url("../img/icon_blank-b.png");
}
.blank.red::after{
    background-image: url("../img/icon_blank-r.png");
}
.blank.white::after{
    background-image: url("../img/icon_blank-w.png");
}


/*--------------------------------------------------------
    フォーム
--------------------------------------------------------*/
/* コンテナ */
.bl_cont.sd form{
    margin: 80px auto;
}

/* イントロ */
.bl_cont.sd .bl_flexCont.intro{
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 80px;
}
.bl_cont.sd .bl_flexCont.intro figure{
    margin-top: 40px;
}
@media (min-width:1200px){
    .bl_cont.sd .bl_flexCont.intro .bl_text{
        width: 60%;
    }
    .bl_cont.sd .bl_flexCont.intro figure{
        margin: 0;
        width: 38%;
    }
}


/* 見出し */
.bl_cont.sd h2{
    text-align: center;
}
.bl_cont.sd h2::before{
    left: 50%;
    transform: translateX(-50%);
}

/* プログレストラッカー */
.bl_ptCont{
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    margin: 180px auto 100px;
    max-width: 650px;
    position: relative;
}
.bl_ptCont::before{
    border-top: 2px dotted #707070;
    content: '';
    display: block;
    width: 90%;
    height: 2px;
    position: absolute;
    top: -45px;
    left: 50%;
    transform: translateX(-50%);
}
.bl_ptCol{
    width: 20%;
    position: relative;
}
.bl_ptCol .el_icon{
    background-color: #F0F0F0;
    border-radius: 50%;
    content: '';
    display: block;
    position: absolute;
    top: -90px;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 80px;
}
.bl_ptCol.active .el_icon{
    background-color: #AD2520;
}
.bl_ptCol .el_icon::before{
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 50px;
    height: 50px;
}
.bl_ptCol.no01 .el_icon::before{
    background-image: url("../img/icon_pt01.png");
}
.bl_ptCol.no01.active .el_icon::before{
    background-image: url("../img/icon_pt01-active.png");
}
.bl_ptCol.no02 .el_icon::before{
    background-image: url("../img/icon_pt02.png");
}
.bl_ptCol.no02.active .el_icon::before{
    background-image: url("../img/icon_pt02-active.png");
}
.bl_ptCol.no03 .el_icon::before{
    background-image: url("../img/icon_pt03.png");
}
.bl_ptCol.no03.active .el_icon::before{
    background-image: url("../img/icon_pt03-active.png");
}
.bl_ptCol.no04 .el_icon::before{
    background-image: url("../img/icon_pt04.png");
}
.bl_ptCol.no04.active .el_icon::before{
    background-image: url("../img/icon_pt04-active.png");
}
.bl_ptCol p{
    font-size: 10px;
    font-weight: bold;
    text-align: center;
}
@media (min-width:410px){
    .bl_ptCol p{
        font-size: 12px;
    }
}
@media (min-width:500px){
    .bl_ptCol p{
        font-size: 16px;
    }
}

/* ボタン */
.bl_cont.sd .bl_btnCont{
    margin-top: 80px;
}
.bl_cont.sd .bl_btnCont .el_btn{
    margin: 0 auto;
}
.bl_cont.sd .bl_btnCont .el_btn+.el_btn{
    margin-top: 40px;
}
@media (min-width:768px){
    .bl_cont.sd .bl_btnCont{
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
    }
    .bl_cont.sd .bl_btnCont .el_btn{
        margin: 0;
    }
    .bl_cont.sd .bl_btnCont .el_btn+.el_btn{
        margin-top: 0;
        margin-left: 40px;
    }
}

/* アンケート */
.bl_questionnaire{
    margin: 60px auto 120px;
}
.bl_questionnaire table{
    border-collapse: collapse;
    border-spacing: 0;
    table-layout: fixed;
    margin: 0 auto;
    word-wrap: break-word;
    width: 100%;
}
.bl_questionnaire tr{
    display: block;
}
.bl_questionnaire tr+tr{
    margin-top: 30px;
}
.bl_questionnaire th,
.bl_questionnaire td{
    display: block;
}
.bl_questionnaire th{
    font-size: 20px;
    text-align: left;
    margin-bottom: 10px;
}
.bl_questionnaire th span{
    color: #AD2520;
}
.bl_questionnaire td select{
    border: 1px solid #999;
    border-radius: 5px;
    font-size: 18px;
    padding: 10px 20px;
    width: 100%;
}
@media (min-width:1200px){
    .bl_questionnaire tr{
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
    }
    .bl_questionnaire th{
        margin: 0;
        width: 32%;
    }
    .bl_questionnaire td{
        width: 68%;
    }
    .bl_questionnaire td select{
        max-width: 320px;
    }
}

/* STEP01 */
.bl_step01{
    list-style: none;
    margin: 60px auto 80px;
}
.bl_step01 li+li{
    margin-top: 20px;
}
.bl_step01 li label{
    background-color: #F5F5F5;
    border-radius: 5px;
    display: block;
    transition: 0.3s;
    padding: 15px;
    position: relative;
}
.bl_step01 li label:hover{
    background-color: #B7B7B7;
}
.bl_step01 li label.active{
    background-color: #313871;
    color: #fff;
}
.bl_step01 li input[type=checkbox]{
    margin-right: 15px;
}
@media (min-width:768px){
    .bl_step01 li label{
        padding: 20px 40px;
    }
}

/* STEP02 */
.bl_cont.sd .el_pcCenter{
    margin: 80px auto;
}
.bl_cont.sd .el_pcCenter .hp_fcRed{
    font-weight: bold;
}
.bl_step02{
    list-style: none;
    margin-bottom: 80px;
}
.bl_step02 li+li{
    margin-top: 20px;
}
.bl_step02 li label{
    background-color: #F5F5F5;
    border-radius: 5px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: 0.3s;
    padding: 15px;
    position: relative;
}
.bl_step02 li label:hover{
    background-color: #B7B7B7;
}
.bl_step02 li label.active{
    background-color: #313871;
    color: #fff;
}
.bl_step02 li select{
    border: 1px solid #f1f1f1;
    border-radius: 5px;
    font-size: 18px;
    padding: 10px 20px;
}
@media (min-width:768px){
    .bl_step02 li label{
        padding: 20px 40px;
    }
}

/* STEP03 */
.bl_step03{
    list-style: none;
    margin-bottom: 80px;
}
.bl_step03 li+li,
.bl_step03 li+input,
.bl_step03 input+li{
    margin-top: 20px;
}
.bl_step03 li{
    background-color: #F5F5F5;
    border-radius: 5px;
    display: block;
    transition: 0.3s;
    padding: 15px;
    position: relative;
}
.bl_step03.important li{
    background-color: #313871;
    color: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.bl_step03.important li .el_no{
    background-color: #fff;
    border-radius: 5px;
    color: #1B1B25;
    display: inline-block;
    text-align: center;
    margin-left: 15px;
    padding: 10px;
    width: 80px;
}
.bl_step03.other li{
    background-color: #B7B7B7;
}
@media (min-width:768px){
    .bl_step03 li{
        padding: 15px 40px;
    }
}
@media (min-width:1200px){
    .bl_step03 li .el_no{
        margin: 0;
    }
}

/* 確認画面 アンケート非表示に */
.bl_questionnaire.conf{
    display: none;
}

/* 診断結果 */
.bl_issue{
    margin: 30px auto;
}
.bl_issue+.bl_issue{
    border-top: 1px solid #999;
    margin-top: 80px;
    padding-top: 80px;
}
.bl_issue .bl_flexCont{
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    margin: 40px auto;
}
.bl_issue .bl_flexCont .el_title p{
    font-size: 30px;
    font-weight: bold;
    text-align: left;
    position: relative;
    margin: 0 auto 60px;
    width: 100%;
    letter-spacing: 2px;
}
.bl_issue .bl_flexCont .el_title p::before{
    background-color: #272D3E;
    content: '';
    display: block;
    width: 60px;
    height: 2px;
    position: absolute;
    left: 0;
    bottom: 55px;
}
.bl_issue .bl_flexCont .el_title p small{
    display: block;
    font-family: balboa, sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: 18px;
    margin: 70px auto 0;
}
.bl_issue .bl_flexCont .el_btn{
    margin-top: 40px;
}
.bl_issue .bl_text{
    background-color: #EEEEE2;
    border-radius: 5px;
    padding: 20px;
}
@media (min-width:768px){
    .bl_issue .bl_flexCont .el_title p{
        font-size: 36px;
    }
    .bl_issue .bl_flexCont .el_title p::before{
        bottom: 65px;
    }
    .bl_issue .bl_flexCont .el_title p small{
        margin: 90px auto 0;
    }
    .bl_issue .bl_flexCont .el_catchcopy{
        text-align: right;
    }
    .bl_issue .bl_flexCont .el_btn{
        margin: 40px 0 0 auto;
    }
    .bl_issue .bl_text{
        padding: 40px;
    }
}
@media (min-width:1200px){
    .bl_issue .bl_text{
        padding: 60px;
    }
}

/*--------------------------------------------------------
    お問い合せ　フッター上部
--------------------------------------------------------*/
@media (min-width:1200px){
    .bl_contact{
        display: flex;
        justify-content: space-between;
        align-items: stretch;
        flex-wrap: wrap;
    }
}

/* テキスト */
.bl_contact .bl_text{
    background-color: #F5F5F5;
    padding: 80px 20px;
}
.bl_contact .bl_text .bl_inner{
    max-width: 720px;
    margin: 0 auto;
}
.bl_contact h2{
    font-size: 22px;
    font-weight: 500;
    text-align: left;
    margin-bottom: 30px;
}
.bl_contact h2 br{
    display: none;
}
.bl_contact .bl_borderRed{
    display: none;
}
.bl_contact .el_btn{
    background-color: #313871;
    border: 1px solid #313871;
    border-radius: 0!important;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: 20px;
    text-decoration: none;
    transition: 0.3s;
    margin: 60px 0 0 auto!important;
    max-width: 250px;
    width: 100%;
    height: 80px;
}
.bl_contact .el_btn:hover{
    background-color: #fff;
    color: #313871;
    opacity: 1;
}
@media (min-width:768px){
    .bl_contact .bl_text{
        padding: 100px 40px;
    }
    .bl_contact h2{
        font-size: 22px;
        margin: 0;
    }
    .bl_contact h2 br{
        display: block;
    }
    .bl_contact .bl_borderRed{
        border: 2px solid #AD2520;
        color: #AD2520;
        display: block;
        font-weight: 500;
        margin: 30px auto;
        padding: 20px;
    }
    .bl_contact .bl_borderRed h3{
        font-size: 24px;
        font-weight: 500;
        margin-bottom: 10px;
    }
    .bl_contact .el_btn{
        max-width: 300px;
    }
}
@media (min-width:1200px){
    .bl_contact .bl_text{
        width: 50%;
    }
}

/* 画像 */
.bl_contact figure{
    position: relative;
}
.bl_contact figure p{
    color: #fff;
    font-family: balboa, sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: 40px;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    text-align: center;
    width: 100%;
    line-height: 1.4;
}
@media (min-width:768px){
    .bl_contact figure p{
        font-size: 80px;
    }
}
@media (min-width:1200px){
    .bl_contact figure{
        width: 50%;
    }
    .bl_contact figure img{
        object-fit: cover;
        width: 100%;
        height: 100%;
    }
}

