/* ==========================================================
*
*  基本スタイル
*
========================================================== */

@charset "UTF-8";

@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700,900|Ubuntu+Condensed&subset=japanese');
/*@import url('https://fonts.googleapis.com/css?family=Ubuntu+Condensed');*/

.jptxt{
    font-family:'Noto Sans JP';
}
.entxt{
    font-family:'Ubuntu Condensed';
}

/* ==========================================================
*
* Icon font
*
========================================================== */

@font-face {
  font-family: 'ycota_ift';
  src:
    url('../fonts/ycota_ift.ttf?q75lys') format('truetype'),
    url('../fonts/ycota_ift.woff?q75lys') format('woff'),
    url('../fonts/ycota_ift.svg?q75lys#ycota_ift') format('svg');
  font-weight: normal;
  font-style: normal;
}

[class^="icf-"], [class*=" icf-"]{
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'ycota_ift' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icf-open > span:after{
    content: "\e904";
    margin-left:0.25em;
}

a[href^="http"] > span:after{
    font-family: 'ycota_ift';
    content: "\e903";
    margin-left:0.25em;
    color:#666666;
    font-size:inherit;
}

a[href*="150.60.200.31"] > span:after,
a[href*="ycota.jp"] > span:after,
a[href*="test200082.com"] > span:after{
    content: none;
}


/* ==========================================================
*
* Basic Setting
*
========================================================== */
html {
    font-size: 62.5%;/* 16px x 0.625 = 10px(=1rem) */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: 100%;
 }

body {
    font-size: 1.4rem;
    line-height:125%;
    /*font-family:-apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI","Noto Sans Japanese","ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;*/
    font-family:'Noto Sans JP',sans-serif;
}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

a{
    /*text-decoration:none;*/
    color:#000000;
}

* a:hover{
    text-decoration:underline;
    color:#ff6400;
}


.pc a:hover > img{
    opacity:0.5!important;
    transition: all 0.2s ease;
    -webkit-transition: all 0.2s ease;
}


strong{
    font-weight:bold;
}

body.show{
    overflow:hidden;
    height:100%;
}

/* for Sp --------------------*/
@media screen and (max-width:980px) {

    body{
        font-size: 1.4rem;
    }

}

/* ==========================================================
*
* 共通要素
*
========================================================== */

.contentInner{
    display:block;
    width:100%;
    height: 100%;
    max-width:1400px;
    margin:0 auto;
    position:relative;
}

.safeFrame{
    display:block;
    overflow:hidden;
    width:1280px;
    margin:0 auto;
    position:relative;
}


/* for Tb --------------------*/
@media screen and (max-width:980px) {

    .contentInner{
       max-width:100%;
    }

    .safeFrame{
        width:100%;
    }

}


/******************************************
*
ヘッダ
*
******************************************/
#header{
    display:block;
    width:100%;
    height:90px;
    position:relative;
    z-index:100;
    position:fixed;
    top:0;
    left:0;

    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    background-color:#ffffff;

    box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.25);
    -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.25);
    -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.25);
}

#header .safeFrame{
    overflow:visible;
    height:100%;
}

#headerMain{
    display:block;
    overflow:hidden;
    width:100%;
    height:90px;
    position:relative;
}

/*ナビ縮小版*/
.compact #header{
    top:-35px;
}


/* for Tb --------------------*/
@media screen and (max-width:1280px) {
/*@media screen and (max-width:980px) {*/

    #header{
        height:55px;
        -webkit-transition:none;
        transition:none;
    }

    #headerMain{
        height:55px;
        z-index:110;
        box-shadow: 0px 2px 2px 0px rgba(0,0,0,0.2);
        -webkit-box-shadow: 0px 2px 2px 0px rgba(0,0,0,0.2);
        -moz-box-shadow: 0px 2px 2px 0px rgba(0,0,0,0.2);
    }

    /*ナビ縮小版*/
    .compact #header{
        top:auto;
    }

}


/* ---------------------------------------------
*  ロゴ
--------------------------------------------- */
#logo{
    display:inline-block;
    overflow:hidden;
    margin-top:20px;
    margin-left:7px;
}

/*ナビ縮小版*/
.compact #logo{
    margin-top:22px;
}



/* for Tb --------------------*/
@media screen and (max-width:1280px) {
/*@media screen and (max-width:980px) {*/

    #logo{
        margin-top:0;
        position:absolute;
        top:50%;
        left:0;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
    }
    #logo > a > img{
        /*width:calc(100vw - 90px);
        height:auto;
        max-width:402px;*/
        width:auto;
        height:40px;
    }

    .compact #logo{
        margin-top:auto;
    }

}

@media screen and (max-width:389px) {
    #logo > a > img{
        width:calc(100vw - 90px);
        height:auto;
    }
}


/* for Sp --------------------
@media screen and (max-width:340px) {
    #logo > a > img{
        width:calc(100vw - 70px);
        height:auto;
    }

}*/

/* ---------------------------------------------
*  ハンバーガーメニュー
--------------------------------------------- */
#spMenu{
    display:none;
    overflow:hidden;
    /*width:55px;*/
    height:55px;
    position:absolute;
    top:0;
    right:0;
}


#spMenu > a{
    display:block;
    overflow:hidden;
    text-align:center;
    width:55px;
    height:55px;
    padding:17px;
    color:#ffffff;
    background-color:#002269;
    text-decoration:none;
}

.hbgmenu{
    display:inline-block;
    width:20px;
    height:20px;
    position:relative;
}

.hbgmenu span{
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #ffffff;

    transition: all .4s;
    -webkit-transition: all .4s;
}

.hbgmenu span:nth-of-type(1) {
    top: 3px;
}
.hbgmenu span:nth-of-type(2) {
    top: 9px
}
.hbgmenu span:nth-of-type(3) {
    bottom: 3px;
}

.show .hbgmenu  span:nth-of-type(1) {
    -webkit-transform: translateY(5px) rotate(45deg);
    transform: translateY(5px) rotate(45deg);
}
.show .hbgmenu  span:nth-of-type(2) {
    opacity: 0;
}
.show .hbgmenu  span:nth-of-type(3) {
    -webkit-transform: translateY(-7px) rotate(-45deg);
    transform: translateY(-7px) rotate(-45deg);
}



/* for Tb --------------------*/
@media screen and (max-width:1280px) {
/*@media screen and (max-width:980px) {*/

    #spMenu{
        display:block;
    }
}


#iconNavTb{
    display:inline-block;
    overflow:hidden;
    float:left;
    letter-spacing: -.4em;
    margin-top:5px;
    margin-right:5px;
}

#iconNavTb > p{
    display: inline-block;
    overflow: hidden;
    width: 50%;
    height: auto;
    padding: 0 3px;
}

/* for Tb --------------------*/
@media screen and (max-width:980px) {
/*@media screen and (max-width:980px) {*/

   #iconNavTb{
        display:none;
    }

}


/******************************************
*
navi
*
******************************************/
#nav{
    display:block;
    /*overflow:hidden;
    width:100%;
    height:100%;
    position:relative;
    position:absolute;
    top:0;
    left:0;*/
}

#spNavBody{
    /**/
}


/* for Sp --------------------*/
@media screen and (max-width:1280px) {
/*@media screen and (max-width:980px) {*/

    #nav{
        /*display:none;*/
        position:absolute;
        top:30px;
        left:0;
        overflow-y:auto;
        width:100%;
        height:calc(100vh - 55px);
        background-color:#ffffff;
        z-index:105;
        padding-bottom:85px;

        opacity:0;
        visibility:hidden;
        -webkit-transition: all 0.2s ease;
        transition: all 0.2s ease;
    }

    .show #nav{
        /*display:block;*/
        opacity:1;
        visibility:visible;
        top:55px;
    }

    #spNavBody{
        padding:0 20px;
    }

}


/* ---------------------------------------------
*   グローバルナビ
---------------------------------------------*/
#mainNav{
    display:block;
    position:absolute;
    bottom:0;
    right:300px;
}

#mainNav > ul{
    display:block;
    vertical-align:middle;
}

#mainNav > ul > li{
    display:inline-block;
    height:49px;
    margin-right:2em;
    vertical-align:top;
    position:relative;
    float:left;
}
#mainNav > ul > li:last-child{
    margin-right:0;
}

#mainNav > ul > li > a{
    display:block;
    /*overflow:hidden;*/
    font-size:16px;
    font-weight:bold;
    line-height:125%;
    color:#002269;
    text-decoration:none;
    text-align:center;
    padding-top:7px;
}

#mainNav > ul > li:nth-child(5) > a{
    padding-top:0;
}


#mainNav > ul > li > a > span > small{
    font-size:1.0rem;
    display:block;
}


.pc #cmnews #mainNav > ul > li:nth-child(1):after,
.pc #commentary #mainNav > ul > li:nth-child(2):after,
.pc #support #mainNav > ul > li:nth-child(3):after,
.pc #resolution #mainNav > ul > li:nth-child(4):after,
.pc #elearning #mainNav > ul > li:nth-child(5):after{
    display:block;
    width:100%;
    content:"";
    border-bottom: 4px solid #002269;
    position:absolute;
    bottom:0;
    left:0;
}


.pluminus{
    display:none;
}

.compact #mainNav{
    margin-top:10px;
}


/* for Tb --------------------*/
@media screen and (max-width:1280px) {
/*@media screen and (max-width:980px) {*/

    #mainNav{
        display:block;
        overflow:hidden;
        position:relative;
        bottom:auto;
        right:auto;
        height:100%;
    }

    #mainNav > ul{
        border-top:1px solid #cccccc;
    }

    #mainNav > ul > li{
        display:block;
        overflow:hidden;
        height:auto;
        margin-right:0;
        vertical-align:top;
        position:relative;
        float:none;
        border-bottom:1px solid #cccccc;
    }

    #mainNav > ul > li > a{
        padding:1em 20px!important;
        font-size:1.6rem;
        text-align:left;
    }

     #mainNav > ul > li > a > span{
        display:inline-block;
        background-position:0 50%;
        background-repeat:no-repeat;
        background-size:contain;
        padding-left:30px;
     }

     #mainNav > ul > li > a > span > small{
        display:inline-block;
    }

     #mainNav > ul > li:nth-child(1) > a > span{
        background-image: url('../../images/icon/title_icon_file.png');
     }
     #mainNav > ul > li:nth-child(2) > a > span{
        background-image: url('../../images/icon/title_icon_info.png');
     }
     #mainNav > ul > li:nth-child(3) > a > span{
        background-image: url('../../images/icon/title_icon_elearning.png');
     }
     #mainNav > ul > li:nth-child(4) > a > span{
        background-image: url('../../images/icon/title_icon_overview.png');
     }

    .pc #support #mainNav > ul > li:nth-child(1):after,
    .pc #commentary #mainNav > ul > li:nth-child(2):after,
    .pc #elearning #mainNav > ul > li:nth-child(3):after,
    .pc #resolution #mainNav > ul > li:nth-child(4):after{
        display:none;
    }

}

/* ---------------------------------------------
*   アイコンナビ
---------------------------------------------*/
#iconNav{
    display:block;
    /*overflow:hidden;*/
    position:absolute;
    top:10px;
    right:15px;
}
#iconNav > a{
    display:inline-block;
    /*overflow:hidden;*/
    font-size:12px;
    line-height:18px;
    text-decoration:none;
    color:#000000;
    margin-left:1em;
}

.pc #iconNav > a:hover{
    opacity:0.5;
    transition: all 0.2s ease;
    -webkit-transition: all 0.2s ease;
}

#iconNav > a > span:before{
    display:inline-block;
    float:left;
    color:#fb6212;
    font-size:1.8rem;
    margin-right:5px;
}
#iconNav > a:nth-child(1) > span:before{
    font-family: 'ycota_ift';
    content:"\e900";
}

#iconNav > a:nth-child(2) > span:before{
    font-family: 'ycota_ift';
    content:"\e901";
}


/* for Tb --------------------*/
@media screen and (max-width:1280px) {
/*@media screen and (max-width:980px) {*/

    #iconNav{
        position:relative;
        top:auto;
        right:auto;
    }
    #iconNav > a{
        display:block;
        overflow:hidden;
        margin-left:0;
        padding:1em 20px;
        font-size:1.6rem;
        border-bottom:1px solid #cccccc;
    }

}

/* ---------------------------------------------
*   スペシャルナビ
---------------------------------------------*/
div[id^="spExNav"]{
    display:block;
    overflow:hidden;
    letter-spacing: -.4em;
}

div[id^="spExNav"] > p{
    display:inline-block;
    overflow:hidden;
    width:50%;
    height:auto;
    padding:0 3px;
}

div[id^="spExNav"] > p > a{
    display:block;
    overflow:hidden;
    background-position:0 0;
    background-repeat:no-repeat;
    background-size:contain;
    letter-spacing: normal;
}
div[id^="spExNav"] > p > a > span{
    display:none;
}

#spExNav{
    position:absolute;
    bottom:5px;
    right:5px;
    line-height:100%;
}

.compact #spExNav{
    bottom:1px;
}

/* for Tb --------------------*/
@media screen and (max-width:1280px) {
/*@media screen and (max-width:980px) {*/

   div[id^="spExNav"] > p{
        width:50%;
        padding:0 5px;
        text-align:center;
    }

    div[id^="spExNav"] > p > a{
        border-radius: 5px;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
    }

    div[id^="spExNav"] > p:nth-child(1) > a{
        background-color: #f7614d;
    }
    div[id^="spExNav"] > p:nth-child(2) > a{
        background-color: #fc995f;
    }

    div[id^="spExNav"] > p > a > img{
        width:100%;
        max-width:175px;
        height:auto;
    }


    div[id^="spExNav"]{
        width:100%;
    }

    div[id^="spExNav"] > p > a{
         border-radius: 5px;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
    }

    div[id^="spExNav"] > p > a > img{
        width:100%;
        max-width:175px;
        height:auto;
    }

    #spExNav{
        position:relative;
        bottom:initial;
        right:initial;
        padding:10px 5px;
        background-color:#f5f5f5;
        position:fixed;
        bottom:0;
        left:0;
    }

}



/******************************************
*
本文
*
******************************************/
#contents{
    display:block;
    /*overflow:hidden;*/
    padding-top:90px;
    /*height:1280px;*/
}

#leftColumn{
    display:block;
    overflow:hidden;
    width:1000px;
    padding:0 0 60px;
    float:left;
}

#rightColumn{
    display:block;
    overflow:hidden;
    width:250px;
    height:100%;
    float:right;
    padding-top:70px;
    padding-right:2px;
}


/* for Tb --------------------*/
@media screen and (max-width:980px) {
    #contents{
        padding-top:55px;
    }

    #leftColumn{
        display:block;
        overflow:hidden;
        width:100%;
        padding:0 1em 30px;
        float:none;
    }

    #rightColumn{
        display:block;
        overflow:hidden;
        width:100%;
        height:auto;
        float:none;
        padding:0 1em 0;
    }


}



/******************************************
*
右ナビコンテスト
*
******************************************/
.sideBox{
    display:block;
    /*overflow:hidden;*/
    margin-bottom:30px;
}


.sideBox > a{
    display:block;
    overflow:hidden;
    text-decoration:none;
    padding: 40px 20px;

    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;

    box-shadow: 1px 1px 1px rgba(0,0,0,0.2);
    -moz-box-shadow: 1px 1px 1px rgba(0,0,0,0.2);
    -webkit-box-shadow: 1px 1px 1px rgba(0,0,0,0.2);
    -o-box-shadow: 1px 1px 1px rgba(0,0,0,0.2);
    -ms-box-shadow: 1px 1px 1px rgba(0,0,0,0.2);
}


/* for Tb --------------------*/
@media screen and (max-width:980px) {
/*@media screen and (max-width: 738px) {*/

    .sideBox > a{
        padding:30px 0;
    }

}


/* ---------------------------------------------
*   登録情報
--------------------------------------------- */
#userData > a{
    color:#ffffff;
    background-color:#002269;
}


#userData h2{
    display:inline-block;
    overflow:visible;
    line-height:25px;
    text-align:left;
}

#userData h2 > span{
    font-size:2.0rem;
    color:#ffffff;
    line-height:100%;

}
#userData h2::before{
    display:inline-block;
    width: 25px;
    height:25px;
    content:"";
    float:left;
    background:url('../../images/icon/icon_user.png') no-repeat 0 50%;
    background-size:contain;
    margin-right:5px;
}

#userData h2 > span::after{
    display:block;
    content:"";
    width:2em;
    margin-left:30px;
    margin-top:20px;
    border-bottom:2px solid #ffffff;
}


#userData > a > p{
    display:block;
    overflow:hidden;
    font-size:1.6rem;
    line-height:100%;
    margin-top:30px;
    color:#ffffff;
}

#userData > a > p > span{
    display:inline-block;
}

.arrow::after {
    font-family: 'ycota_ift';
    content: "\e917";
    /*color: #eb7730;*/
    font-size:1.4em;
    font-weight: normal;
    margin-left: 0.5em;
    margin-right: 0.5em;
    float:right;
    /*adding: 3px 0;*/
    transition: all 0.2s ease;
    -webkit-transition: all 0.2s ease;
}


#userData > a:hover .arrow::after {
    margin-left: 1.0em;
    margin-right: 0em;
}
#userData > a:hover p{
    color:#eb7730;
}

/* for Tb --------------------*/
@media screen and (max-width:980px) {
/*@media screen and (max-width: 738px) {*/

    #userData{
        text-align:center;
    }

    #userData h2{
        font-size:1.8rem;
        padding-right:10px;
    }

}


/* ---------------------------------------------
*   左ナビ リンクリスト
--------------------------------------------- */
#sidenaviBody{
    display:block;
    /*overflow:hidden;*/
}

#sidenaviBody a{
    display:block;
    overflow:hidden;
    text-decoration:none;
    color:#012169;
    font-weight:bold;
    border:1px solid #cccccc;
}

#sidenaviBody a:hover{
    opacity:0.5;
}

#sidenaviBody a > span{
    display:inline-block;
    font-size:2.0rem;
    line-height:125%;
}


#sidenaviBody a > span::before{
    display:inline-block;
    width: 25px;
    height:2em;
    content:"";
    float:left;
    background:url('../../images/icon/icon_catalog.png') no-repeat 0 50%;
    background-size:contain;
    margin-right:10px;
}



/* for Sp --------------------*/
@media screen and (max-width:980px) {
/*@media screen and (max-width: 738px) {*/
    #sidenaviBody a{
        text-align:center;
    }
    #sidenaviBody a >span{
        font-size:1.8rem;
        min-height:auto;
        line-height:100%;
    }

    #sidenaviBody a > span::before{
        height:1em;
    }
}

/* ---------------------------------------------
*   左ナビ Extraボタン
--------------------------------------------- */
#spExNav_ft{
    display:none;
}

/* for Sp --------------------*/
@media screen and (max-width:980px) {
/*@media screen and (max-width: 738px) {*/

    #spExNav_ft{
        display:block;
        margin-bottom:30px;
        text-align: center;
    }

}

/******************************************
*
フッタ
*
******************************************/

#footer{
    clear:both;
    display:block;
    /*overflow:hidden;*/
    border-top:1px solid #cccccc;
    position:relative;
}

#ftContent{
    display:block;
    overflow:hidden;
}

#ftContent p{
    padding:25px 0;
}


/* for Sp --------------------*/
@media screen and (max-width: 980px) {

    #ftContent{
        display:none;
    }

}

/* ---------------------------------------------
*  最終ライン
---------------------------------------------*/
#lastLine{
    display:block;
    overflow:hidden;
    padding-bottom:20px;
}

#lastLine > .contentInner{
    overflow:hidden;
    width:100%;
    max-width:1280px;
    margin:0 auto;
}

#lastLine ul{
    display:block;
    overflow:hidden;
    float:left;
}

#lastLine ul > li{
    display:inline-block;
    overflow:hidden;
    margin-right:2em;
    vertical-align:middle;
}
#lastLine ul > li:last-child{
    margin-right:0;
}

#lastLine ul > li > a{
    display:block;
    overflow:hidden;
    font-size:1.2rem;
    line-height: 100%;
    color:#000000;
    text-decoration:none;
}
#lastLine ul > li > a:hover{
    color:#0000ff;
    /*text-decoration:underline;*/
}

#copy{
    display:inline-block;
    overflow:hidden;
    font-size:1.0rem;
    line-height:100%;
    margin-right:55px;
    text-align:right;
    float:right;
}


/* for Sp --------------------*/
@media screen and (max-width: 980px) {

    #lastLine{
        padding:0;
    }

   #lastLine ul{
        float:none;
        margin-left: 0;
    }

    #lastLine ul > li{
        display:block;
        margin-right:0;
    }

    #lastLine ul > li > a{
        display:block;
        overflow:hidden;
        font-size:1.4rem;
        padding:1em;
        border-bottom:1px solid #dedede;
    }

    #copy{
        display:block;
        width:100%;
        margin:2em 0;
        text-align:center;
        margin-right:0;
        float:none;
    }

}


/* ---------------------------------------------
*   TOPへボタン
---------------------------------------------*/
a#btn_top{
    display:inline-block;
    overflow:hidden;
    width:44px;
    height:44px;
    color:#ffffff;
    text-decoration:none;
    text-align:center;
    line-height:44px;

    background-color:#012169;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;

    position:fixed;
    bottom:10px;
    right:10px;

    opacity:0.0;
    visibility:hidden;
    transition: all .4s;
    -webkit-transition: all .4s;
    pointer-events:none;

    z-index:90;
}
a#btn_top > span{
    display:none;
}

a#btn_top::before{
    font-family: 'ycota_ift';
    content:"\e90d";
    font-size:20px;
    font-weight:bold;
}

.pc a#btn_top.active:hover{
    opacity:0.75;
    transition: all 0.2s ease;
    -webkit-transition: all 0.2s ease;
}


a#btn_top.active{
    opacity:1.0;
    visibility:visible;
    pointer-events:initial;
}
