@charset "UTF-8";
/* ######################################################################################

　基本設定

###################################################################################### */
abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{margin:0;padding:0;border:0;outline:0;font-size:100%;}


body {
    color: #333333;
    font-family:"メイリオ", "Meiryo", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
}
p {margin: 0;}
a { color: #1457a0; }
body {min-width: 1110px;}
.header *,
.wallBelt.global *,
.footerMap *,
.footer *{
    box-sizing: border-box;
    line-height: 1.25;
}

.header .contents:after,
.wallBelt.global .contents:after,
.footerMap .contents:after,
.footer .contents:after{
    content: "";
    display: block;
    clear: both;
}

.header,
.wallBelt.global,
.footerMap,
.footer{
    box-sizing: border-box;
    font-size: 10px;
    color: #333333;
    font-family:"メイリオ", "Meiryo", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
    line-height: 1.25;
}
.header .contents,
.wallBelt.global .contents,
.footerMap .contents,
.footer .contents{
    box-sizing: border-box;
    width: 1110px;
    padding: 0 15px;
    margin: 0 auto;
    font-size: 14px;
    line-height: 1.25;
}
.header .contents,
.footerMap .contents,
.footer .contents{text-align: left;}
.header li,
.wallBelt.global li,
.footerMap li,
.footer li{list-style: none;}



.vtop{vertical-align: top;}
.grayspacer{background: #d2d7d4;}
.borderTable{border-top: 1px solid #999; border-left: 1px solid #999;}
.borderTable td{
    padding: 4px;
    border-bottom: 1px solid #999;
    border-right: 1px solid #999;
    vertical-align: middle;
}

/* ######################################################################################

　ヘッダー

###################################################################################### */
.header{position: relative; background: #fff; border-top: 3px solid #5a8ede;}
.header .logo{float: left; padding-top: 30px; font-size: 0;}
.header .logo a img{margin-bottom: 0;}

/* ====================================================
  rightBox
==================================================== */
.header .rightBox{float: right;}
.header .rightBox ul{font-size: 0;}
.header .rightBox li{display: inline-block; vertical-align: top;}
.header .rightBox li.search {margin-right: 14px; margin-top: 4px;}
.header .rightBox li.search input[type="text"],
.header .rightBox li.search a{display: inline-block; vertical-align: top;}
.header .rightBox li.search input[type="text"]{width: 176px; height: 18px; font-size: 13px;}
.header .rightBox li.search a{margin-left: 7px; padding-top: 0; line-height: 1.25;}
.header .rightBox li.search a .fa{font-size: 14px; line-height: 1.25;}
.header .rightBox li.jp a,
.header .rightBox li.en a{
    display: block;
    width: 64px;
    height: 24px;
    padding-top: 6px;
    text-align: center;
    font-size: 11px;
    text-decoration: none;
    line-height: 1.25;
}
.header .rightBox li.jp a{background: #5a8ede; color: #fff;}
.header .rightBox li.en a{background: #f1f5f9; color: #949494;}


/* ====================================================
  gnav
==================================================== */
.header .gnav{
    display:flex;
    flex-wrap:wrap;
    clear: both;
    float: left;
    margin-left: 178px;
    margin-top: -14px;
    line-height: 1.25;
    font-size: 0;
    width:calc(100% - 178px);
}
.header .gnav ul{
    display: inline-block;
    vertical-align: top;
    font-size: 0;
}
.header .gnav li,
.header .gnav li a{
    font-family: "Noto Sans Japanese", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
    text-decoration: none;
    color: #111111;
}
.header .gnav li{display: inline-block; vertical-align: top; list-style: none;}
.header .gnav ul.mainNavi {
    display:inline-flex;
    justify-content:space-between;
    width:calc(100% - 100px);
}
.header .gnav ul.mainNavi .largeNavi + .largeNavi {margin-left:0;}

.header .gnav .mainNavi > li{padding-bottom: 24px;}
.header .gnav .mainNavi li,
.header .gnav .mainNavi li a{font-weight: bold; font-size: 14px;}
.header .gnav .mainNavi li + li{margin-left: 24px;}
.header .gnav .mainNavi > li > a,
.header .gnav .mainNavi > li > span{position: relative; padding: 10px 28px 12px 16px;}
.header .gnav .mainNavi > li > a:hover,
.header .gnav .mainNavi > li.appear > span{background: #1457a0; color: #fff;}
.header .gnav .mainNavi li span{padding-right: 28px;}
.header .gnav .mainNavi > li > a:before,
.header .gnav .mainNavi > li > span:before{
    content: "";
    position: absolute;
    display: block;
}
.header .gnav .mainNavi li a:hover:before,
.header .gnav .mainNavi li.appear span:before{
    bottom: -6px;
    left: 50%;
    transform: translateX(-50%);
    width: 11px;
    height: 6px;
    background: url(../img/header/gnavArrow.png);
}
.header .gnav .mainNavi > li > span:after,
.header .gnav .mainNavi > li > a:after{
    content: "\f0d7";
    position: absolute;
    right: 13px;
    top: 16px;
    font-family: FontAwesome;
    font-size: 10px;
    color: #5a8ede;
}
.header .gnav .mainNavi li.appear span:after{color: #fff;}
.header .gnav .subNavi{margin-left: 30px; font-size: 14px;}
.header .gnav .subNavi li + li{
    margin-left: 14px;
    padding-left: 14px;
    border-left: 1px solid #acc6ee;
}
.header .gnav .subNavi li a{font-size: 11px;}


/* largeNavi
-------------------------------------*/
.largeNavi{text-align: left;}
.largeNavi .largeMenu,
.largeNavi .shortMenu{
    position: absolute;
    left: 0;
    top: 77px;
    display: none;
    width: 100%;
        max-height: 0;
    background-image: url(../img/header/largeMenu.png);
    background-position: center top;
    background-repeat: no-repeat;
    background-color: #d0e6f4;
        z-index: 10;
}    
.largeNavi.appear .largeMenu,
.largeNavi.appear .shortMenu{
    display: block;
    transition-duration: 0.3s;
    transition-delay: 0.4s;
}
    .largeNavi.appear .largeMenu{max-height:9999px; padding: 60px 0 30px;}
    .largeNavi .largeMenu .contents{
        display:flex;
        flex-wrap:wrap;
        align-content:flex-start;
        justify-content:flex-start;
        position: relative;
        font-size: 0;
    }
.largeNavi .largeMenu h2,
    /*.largeNavi .largeMenu dl{display: inline-block; vertical-align: top;}*/
.largeNavi .largeMenu h2{margin-bottom: 0;}
.largeNavi .largeMenu .contents li{display: block;}
.largeNavi .largeMenu .contents li + li{margin: 0; font-weight: normal;}
.largeNavi .largeMenu .contents dt,
.largeNavi .largeMenu .contents dd a,
.largeNavi .largeMenu .contents a{
    font-family:"メイリオ", "Meiryo", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
}
.largeNavi .largeMenu .contents dt{margin-bottom: 8px; line-height: 1.7143; font-size: 14px;}
.largeNavi .largeMenu .contents dd a{
    font-size: 12px;
    line-height: 2;
    font-weight: normal;
}
.largeNavi .largeMenu .contents dd a:hover,
.largeNavi .largeMenu .contents p a:hover{text-decoration: underline;}

    .largeNavi .largeMenu .contents li ul {display:block;}
    .largeNavi .largeMenu .contents .inline ul {
        display:flex;
        text-align:center;
        justify-content:center;
    }
    .largeNavi .largeMenu .contents .inline ul > li+li {margin-left:2em;}
    .largeNavi .largeMenu .contents li ul li {
        position:relative;
        margin-left:10px;
        padding-left:10px;
        margin-top:0;
    }
    .largeNavi .largeMenu .contents li ul li:before,
    .largeNavi .largeMenu .contents li ul li:after {
        content:"";
        display:inline-block;
        position:absolute;
        bottom:0;
        left:0;
        width:1px;
        height:100%;
    }
    .largeNavi .largeMenu .contents li ul li:before  {background:#e8f3fa; left:0;}
    .largeNavi .largeMenu .contents li ul li:after   {background:#95bae9; left:-1px;}
    .largeNavi .largeMenu .contents li ul a {line-height:1.5;}


/* Line Up */
.largeNavi .largeMenu dl {
    position:relative;
    padding-left: 13px;
    padding-right: 13px;
    font-size: 0;
}
.largeNavi .largeMenu dd{display: inline-block;}
.largeNavi .largeMenu dl dd:not(:first-of-type){margin-left: 15px;}
    .largeNavi .largeMenu dl:not(:last-child):before,
    .largeNavi .largeMenu dl:not(:last-child):after {
    content:"";
    display:block;
    position:absolute;
    top:0;
    width:1px;
    height:100%;
}
.largeNavi .largeMenu dl:before {background:#e8f3fa; right:-1px;}
.largeNavi .largeMenu dl:after  {background:#95bae9; right:0;}

    .largeNavi .largeMenu dl dt + dt,
    .largeNavi .largeMenu dl dd + dt {
        position:relative;
        padding-top:0.5em;
    }
    .largeNavi .largeMenu dl dd + dt {margin-top:0.5em;}


    .largeNavi .largeMenu dl dt + dt:before,
    .largeNavi .largeMenu dl dt + dt:after,
    .largeNavi .largeMenu dl dd + dt:before,
    .largeNavi .largeMenu dl dd + dt:after {
        content:"";
        display:block;
        position:absolute;
        left:0;
        width:100%;
        height:1px;
    }
    .largeNavi .largeMenu dl dt + dt:before,
    .largeNavi .largeMenu dl dd + dt:before {
        background: #e8f3fa;
        top: 0;
    }
    .largeNavi .largeMenu dl dt + dt:after,
    .largeNavi .largeMenu dl dd + dt:after {
        background: #95bae9;
        top: -1px;
    }





    .largeNavi.navi01 .largeMenu .lineUp04 {width: 220px; padding-left:0;}
    .largeNavi.navi01 .largeMenu .lineUp01 {width: 395px;}
    .largeNavi.navi01 .largeMenu .lineUp02 {width: 275px;}
    .largeNavi.navi01 .largeMenu .lineUp03 {width: 190px;}

.largeNavi.navi01 .largeMenu .lineUp03 p {position: absolute; margin-top: 13px; padding-top: 0.5em;}
.largeNavi.navi01 .largeMenu .lineUp03 p:before,
.largeNavi.navi01 .largeMenu .lineUp03 p:after{
    content: "";
    position: absolute;
    top: 0;
    left: -10px;
    display: block;
    width: 180px;
    height: 1px;
    background:#95bae9;
}
.largeNavi.navi01 .largeMenu .lineUp03 p:after{background:#e8f3fa; top: -1px;}
.largeNavi.navi01 .largeMenu .lineUp03 p a{font-weight: bold;}

/*
.largeNavi.navi02.appear .largeMenu{height: 180px;}
.largeNavi.navi03.appear .largeMenu{height: 170px;}
*/

.largeNavi.navi03 .lineUpTitle,
.largeNavi.navi03 .topics,
.largeNavi.navi03 dl,
.largeNavi.navi03 ul{display: inline-block; height: 125px; vertical-align: top;}
.largeNavi.navi03 .topics,
.largeNavi.navi03 dl,
.largeNavi.navi03 .mainmenu{padding: 0 2.5rem;}
.largeNavi.navi03 dt a:hover,
.largeNavi.navi03 li a:hover{text-decoration: underline;}

.largeNavi.navi03 .topics{
    position: relative;
    font-family: "メイリオ", "Meiryo", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
}
.largeNavi.navi03 .topics:before,
.largeNavi.navi03 .topics:after,
.largeNavi.navi03 .mainmenu li:before,
.largeNavi.navi03 .mainmenu li:after{
    content:"";
    display:block;
    position:absolute;
    top:0;
}
.largeNavi.navi03 .topics:before,
.largeNavi.navi03 .topics:after{width:1px; height:100%;}

.largeNavi.navi03 .topics:before{background:#e8f3fa; right:-1px;}
.largeNavi.navi03 .topics:after{background:#95bae9; right:0;}

.largeNavi.navi03 .mainmenu li:before {background:#e8f3fa; top:-1px;}
.largeNavi.navi03 .mainmenu li:after {background:#95bae9; top:0;}

.largeNavi.navi03 .mainmenu li + li:before,
.largeNavi.navi03 .mainmenu li + li:after{width: 100%; height: 1px;}
.largeNavi.navi03 .mainmenu li{position: relative;}
.largeNavi.navi03 .mainmenu li + li{margin-top: 0.5em; padding-top: 0.5em;}

.largeNavi .largeMenu .menuClose{
    position: absolute;
    right: -21px;
    top: 0;
    width: 26px;
    height: 26px;
    text-indent: -9999px;
    background-image: url(../img/header/closeButton.png);
}

.largeNavi.appear .shortMenu{min-height: 95px; padding: 1.5em 0;}
.largeNavi.appear .shortMenu dt{margin-bottom: 0.75em;}
.largeNavi.appear .shortMenu dd a{
    font-weight: normal;
    font-size: 12px;
    font-family:"メイリオ", "Meiryo", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
}
.largeNavi.appear .shortMenu dd a:hover{text-decoration: underline;}



/* ######################################################################################

　コンテンツ

###################################################################################### */
#TopicPath:after{
    content: "";
    display: block;
    width: 100%;
    height: 22px;
    background: url(../img/header/wall-header.png) left bottom repeat-x;
}
#TopicPath ol{display: block !important;}
#TopicPath li a,
#TopicPath li {font-size: 10px;}

#Container{line-height: 1.5;}
#Container *,
#Container :after,
#Container :before{box-sizing: content-box;}
#PageProducts.search #SearchKeyword input.button{box-sizing: border-box;}

#PageContents .subTableNavi{margin: 0 auto;}
#PageContents .subTableNavi > tbody > tr:nth-of-type(1),
#PageContents .subTableNavi > tbody > tr:nth-of-type(3){font-size: 0;}
#PageContents .subTableNavi > tbody > tr:nth-of-type(2){vertical-align: top;}
#PageContents .subTableNavi > tbody > tr:nth-of-type(2){line-height: 1;}
#PageContents .subTableNavi > tbody > tr:nth-of-type(2) td td{padding: 4px;}
#PageContents .subTableNavi > tbody > tr:nth-of-type(2) td:nth-of-type(2){vertical-align: middle;}
#PageContents .subTableNavi > tbody > tr:nth-of-type(2) table tr:nth-of-type(2n){font-size: 0;}

#PageProducts #Sub .archiveBox h2{line-height: 1; font-size: 0;}

#PageInstall .contentsBox p{font-size: 0;}


/* ######################################################################################

　フッター上サイトマップ

###################################################################################### */
.footerMap {padding-top: 84px; padding-bottom: 62px; text-align: left;}
.footerMap .contents{
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    position: relative;
 }
.footerMap .contents:after{
    content: "";
    right: 135px;
    bottom: 1px;
    display: block;
    margin-top:20px;
    width:100%;
    height: 22px;
    background: url(../img/footer/footerlogo.png) right no-repeat;
}
.footerMap .sitemap{width: 220px;}
.footerMap .sitemap:nth-child(n+5) {margin-top:34px;}

/*
.footerMap .sitemap01 dl + dl{margin-top: 34px;}
.footerMap .sitemap02 dl + dl{margin-top: 34px;}
.footerMap .sitemap03 dl + dl{margin-top: 57px;}
*/

.footerMap dt,
.footerMap p.topics{
    margin-bottom: 9px;
    padding-bottom: 10px;
    border-bottom: 1px solid #b5b7b9;
    color: #1457a0;
    font-size: 15px;
    font-weight: bold;
    text-align: left;
}
.footerMap dt a{text-decoration: none; color:#1457a0;}
.footerMap dt a:hover{text-decoration: underline;}
.footerMap p.topics{margin-top: 48px; line-height: 1.75;}
.footerMap p.topics a{text-decoration: none;}
.footerMap p.topics a:hover{text-decoration: underline;}

.footerMap dd li a{
    font-size: 12px;
    line-height: 2;
    text-decoration: none;
    color: #666666;
}
.footerMap dd li a:hover{text-decoration: underline;}
.footerMap dd li span {opacity:0.3;}

/* ######################################################################################

　go to global site

###################################################################################### */
.wallBelt.global{
    padding: 6px 0 7px;
    background: #3c3f49;
    text-align: right;
}
.wallBelt.global .contents{text-align: right;}
.wallBelt.global span,
.wallBelt.global a{
    position: relative;
    padding-left: 23px;
    color: #fff;
    text-decoration: none;
    font-size: 13px;
}
.wallBelt.global * + span,
.wallBelt.global * + a {margin-left:1em;}

.wallBelt.global a:hover{text-decoration: underline;}
.wallBelt.global a:before{
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    display: block;
    width: 15px;
    height: 15px;
    background: url(../img/footer/earth.png);
}
.wallBelt.global span {opacity:0.3;}


/* ######################################################################################

　フッター

###################################################################################### */
.footer {padding-top: 36px; padding-bottom: 57px; background: #1f2024;}
.footerMenu{display: none;}
.footerNavi{margin-bottom: 14px; text-align: left; font-size: 0;}
.footerNavi li{
    position: relative;
    display: inline-block;
    margin-right: 17px;
    vertical-align: top;
    font-size: 14px;
    line-height: 1.25;
}
.footerNavi li + li{margin-left: 17px;}
.footerNavi li + li:after{
    content: "";
    position: absolute;
    left: -17px;
    top: 2px;
    display: block;
    width: 1px;
    height: 13px;
    background: #f2f2f2;
}
.footerNavi li a{color: #f2f2f2 !important; font-size: 12px; text-decoration: none; line-height: 1.25;}
.footerNavi li a:hover{text-decoration: underline;}
.copyright{color: #7c7c7c; font-size: 12px; line-height: 1.25;}

/* end */
