/*=============================================================
 header
=============================================================*/
#header {
    padding: 30px 0;
    position: relative;
}

#header > .contentsInr {
    /*position:relative;*/
    max-width: 980px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 20px;
    padding-left: 20px;
}

#header a {
    transition-property: color, background, opacity, border, box-shadow, transform;
    transition-duration: .3s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

/* hdr-logo
-------------------------------------------------------------*/
#hdr-logo {
}

/* globalNavSet
-------------------------------------------------------------*/
/*#globalNavSet{position:relative;}*/
#globalNavSet > dt {
    display: none;
}

/* delete JS Style */
@media only screen and (min-width: 768px) {
    #container {
        margin-top: 0 !important;
    }
}

#globalNavSet > dd > div {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row-reverse;
}

/* boxGNavBg */
.boxGNavBg {
    background: rgba(0, 0, 0, .5);
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 20;
    visibility: hidden;
    opacity: 0;
    transition: .2s;
}

/* hdr-search
-------------------------------------------------------------*/
#hdr-search {
    /*background-color:#3CC;
    width:100px;
    height:35px;*/
    position: absolute;
    top: 50px;
    right: 380px;
}

/* globalNav
-------------------------------------------------------------*/
#globalNav {
    font-size: 16px;
    white-space: nowrap;
    display: flex;
    /*position:absolute;
    right:20px;
    bottom:-12px;*/
}

/*#globalNav li{position: relative;}*/
#globalNav li:not(:last-child) {
    margin-right: 50px;
}

#globalNav li a {
    color: #333;
    text-decoration: none;
    display: block;
    overflow: hidden;
    line-height: 1.6;
}

#globalNav li a:hover {
    color: #005d95;
}

/*#globalNav li a::after {*/
/*    content: "";*/
/*    display: block;*/
/*    width: 28px;*/
/*    margin: 10px auto 0;*/
/*    border-bottom: 2px solid #005d95;*/
/*    opacity: 0;*/
/*    transition: .2s;*/
/*}*/

#globalNav li a:hover::after {
    width: 33px;
    opacity: 1;
}

/*IE用の記述*/
@media all and (-ms-high-contrast: none) {
    #globalNav li a {
        /*height: 100%;*/
        line-height: 1.6;
        padding-bottom: 0px !important;
        box-sizing: border-box;
    }
}

@media only screen and (min-width: 768px) {
}

#globalNav > li > a.icon-blank::after {
}

html:not(.touchDevice) #globalNav > li > a.icon-blank:hover::after {
}

/* act *//* body#XXX -> add.act  #globalNav>#gb-XXX */
#globalNav > .act > a {
    /*color: #0072bf;*/
}

#globalNav > .act > a::after {
    content: "";
    display: block;
    width: 33px;
    opacity: 1;
    /*background-color:#0072bf;
    height:4px;
    position:absolute;
    right:13px;
    left:13px;
    bottom:0;*/
}

/* drop */
#globalNav .drop {
    display: block !important;
    background-color: #0062a0;
    box-sizing: border-box;
    width: 100%;
    transition: .25s ease-out;
    position: absolute;
    left: 0;
    z-index: 22;
}

#globalNav .drop.open {
    padding-top: 50px;
    padding-bottom: 30px;
    visibility: visible;
    opacity: 1;
}

#globalNav .drop > * {
    display: none;
}

#globalNav .drop.open > * {
    display: block;
}

#globalNav .drop a,
#globalNav .drop {
    color: #fff;
}

#globalNav .drop a:after {
    content: none;
}

#globalNav .drop .contentsInner {
    max-width: 980px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 20px;
    padding-left: 20px;
}

#globalNav .drop p {
    display: flex !important;
    align-items: center;
    line-height: 1.6;
}

#globalNav .drop p > * {
    display: block;
}

#globalNav .drop p > *:first-child {
    padding-top: 2px;
    padding-right: 20px;
    margin-right: 20px;
    border-right: 1px solid #83b4cc;
}

#globalNav .drop p > *:nth-child(2) {
    white-space: normal;
    font-size: 14px;
    line-height: 1.4;
}

#globalNav .drop ul {
    /*	line-height:1.4;
        display:flex;
        flex-wrap:wrap;
        justify-content:center;
        margin:-10px -25px 0;*/
}

#globalNav .drop ul li {
}

#globalNav .drop p a,
#globalNav .drop ul li a {
    display: inline-block;
    /*padding:4px 0 4px 20px;*/
    position: relative;
}

#globalNav .drop a:hover
    /*#globalNav .drop ul li:hover*/
{
    color: #fff;
    text-decoration: underline;
    opacity: .8;
}

#globalNav .drop a::before,
#globalNav .drop ul li a::before {
    /*	content:"";
        display:block;
        width:8px;
        height:8px;
        border-bottom:2px solid #fff;
        border-right:2px solid #fff;
        position:absolute;
        top:calc(0.7em - 1px);
        left:0;
        transform:rotate(-45deg);*/
}

#globalNav .drop ul.menu {
    margin-top: 40px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#globalNav .drop ul.menu > li {
    width: calc((100% - 60px) / 4);
    /*flex: 1 1 auto;*/
    margin-right: 0 !important;
    white-space: normal;
}

#globalNav .drop ul.menu > li .mT20 {
    margin-top: 20px;
}

#globalNav #gb-techno .drop ul.menu > li {
    width: calc((100% - 40px) / 3);
}

#globalNav #gb-ir .drop ul.menu > li {
    width: calc((100% - 40px) / 3);
}

/*#globalNav #gb-csr .drop ul.menu>li{width: calc((100% - 60px) / 4);}*/
#globalNav #gb-products .drop ul.menu {
    border-left: 1px solid #83b4cc;
    font-size: 14px;
    line-height: 1.4;
}

#globalNav #gb-products .drop ul.menu > li {
    width: calc((100% - 100px) / 6);
    text-align: center;
}

#globalNav #gb-products .drop ul.menu > li > a {
    border-bottom: none;
    border-right: 1px solid #83b4cc;
    line-height: 1.4;
    margin-bottom: 0;
    padding-right: 20px;
    box-sizing: border-box;
}

#globalNav #gb-products .drop ul.menu > li:first-child {
    padding-left: 20px;
}

#globalNav #gb-ir .drop ul.menu > li:last-child {
    width: 100%;
}

/*#globalNav #gb-csr .drop ul.menu>li:last-child{
	margin-top: 20px;
	padding: 10px 0 0;
	border-top: 1px solid #83b4cc;
}*/
#globalNav #gb-csr .drop ul.menu > li:last-child > a {
    padding-bottom: 10px;
}

#globalNav .drop ul.menu > li > a {
    display: block;
    padding-bottom: 5px;
    margin-bottom: 10px;
    border-bottom: 1px solid #83b4cc;
}

#globalNav .drop ul.menu > li li {
    font-size: 14px;
    margin-right: 0;
}

#globalNav .drop ul.menu > li li + li {
    margin-top: 5px;
}

/* listIcon */
#globalNav .drop .listIcon {
    width: 100%;
    margin-top: 15px;
    padding-top: 10px;
    overflow: hidden;
    border-top: 1px solid #83b4cc;
}

#globalNav .drop .listIcon li {
    float: left;
    padding-right: 20px;
    margin-top: 5px;
}

#globalNav .drop .listIcon li a {
    display: block;
    min-height: 20px;
    padding: 2px 0 0 30px;
    position: relative;
}

#globalNav .drop .listIcon li.l2 a {
    min-height: 27px;
    padding-top: 0;
}

.ie6 #globalNav .drop .listIcon li,
.ie7 #globalNav .drop .listIcon li {
    white-space: nowrap;
}

#globalNav .drop .listIcon li a:before {
    content: "";
    background: url(../image/parts_spr.png) no-repeat;
    display: block;
    width: 22px;
    height: 27px;
    position: absolute;
    top: 0;
    left: 2px;
}

/* Menu--> IR */
#globalNav .drop .listIcon li a.iconZip:before {
    background-position: 0 -20px;
}

#globalNav .drop .listIcon li a.iconDownload:before {
    background-position: -24px -20px;
}

#globalNav .drop .listIcon li a.iconMail:before {
    background-position: -48px -20px;
}

#globalNav .drop .listIcon li a.iconCalendar:before {
    background-position: -72px -20px;
}

#globalNav .drop .listIcon li a.iconEvent:before {
    background-position: -96px -20px;
}

#globalNav .drop .listIcon li a.iconFAQ:before {
    background-position: -120px -20px;
}

#globalNav .drop .listIcon li a.iconChart:before {
    background-position: -217px -20px;
}

#globalNav .drop .listIcon li a.iconApps:before {
    background-position: -244px -20px;
}

/* Menu--> csr */
#globalNav .drop div.border {
    width: 980px;
    border-top: 1px solid #83b4cc;
    margin-top: 40px
}

#globalNav .drop ul.menu-horiz {
    margin-top: 10px;
    font-size: 14px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#globalNav .drop ul.menu-horiz li {
    white-space: normal;
    margin-right: 20px;
}

#globalNav .drop ul.menu-horiz li a {
    margin-top: 10px
}

#globalNav .drop .btnClose {
    display: block;
    width: 24px;
    height: 24px;
    position: absolute;
    top: 13px;
    right: 40px;
    cursor: pointer;
}

#globalNav .drop .btnClose::before,
#globalNav .drop .btnClose::after {
    content: "";
    box-sizing: border-box;
    width: 30px;
    height: 1px;
    border-top: 1px solid #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, 0) rotate(45deg);
}

#globalNav .drop .btnClose::after {
    transform: translate(-50%, 0) rotate(-45deg);
}

/* grandchild */
/*#globalNav ul ul{display:none !important;}*/

/* hdr-menu
-------------------------------------------------------------*/
#hdr-menu {
    font-size: 14px;
    line-height: 20px;
    white-space: nowrap;
    display: flex;
    position: absolute;
    top: 50px;
    /*right:60px;*/
    left: 50%;
    margin-left: 300px;
    transform: translateX(-50%);
}

#hdr-menu li {
    margin-right: 40px;
}

/*#hdr-menu li a{color:#005d95;}*/
#hdr-menu li a {
    text-decoration: none;
    color: #333;
}

/* hdr-menuArea
-------------------------------------------------------------*/
#hdr-search dt {
    display: none;
}

#hdr-search dd {
    width: 180px;
}

#hdr-search .textBox {
    font: inherit;
    box-sizing: border-box;
    display: block;
    vertical-align: middle;
    width: calc(100% - 22px);
    height: 20px;
    padding: 0 4px;
    border: 1px solid #addde9;
    border-radius: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

#hdr-search .submitBtn {
    background: #addde9 url(../image/icon_search.png) no-repeat center center/12px;
    box-sizing: border-box;
    vertical-align: middle;
    width: 22px;
    height: 20px;
    position: absolute;
    top: 0;
    right: 0;
    border: none;
    cursor: pointer;
    border-radius: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/* hdr-language */
#hdr-language {
    position: absolute;
    top: 50px;
    right: 10px;
}

#hdr-language select {
    color: #005d95;
    font: inherit;
    line-height: 20px;
    background: #fff;
    text-indent: 0.01px;
    text-overflow: ellipsis;
    box-sizing: border-box;
    vertical-align: middle;
    width: 100%;
    max-width: 100%;
    padding: 0 20px 0;
    cursor: pointer;
    border: none;
    outline: none;
    border-radius: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    z-index: 1;
}

#hdr-language select:activ {
    border: none;
}

#hdr-language select option {
    outline: none;
    border: none;
}

#hdr-language select::-ms-expand {
    display: none;
}

#hdr-language .selectMove > *:not(.select) {
    display: none;
    box-shadow: 0 0 8px gray;
}

#hdr-language .selectMove {
    width: 50px;
    text-align: center;
}

#hdr-language .selectMove > * {
    position: relative;
}

#hdr-language .selectMove > * .selectLng {

}

#hdr-language .selectMove > *.select {
    padding: 5px;
    box-sizing: border-box;
    color: #0189b6;
    cursor: pointer
}

#hdr-language .selectMove > * a {
    position: relative;
    z-index: 2;
    display: block;
    padding: 5px;
    box-sizing: border-box;
    background: #fff;
}

#hdr-language .selectMove > * a:hover {
    background: #005d95;
    color: #fff;
    text-decoration: none;
}

#hdr-language .selectMove > *:first-child::after {
    content: "";
    margin-top: -2px;
    border-width: 4px 4px 0;
    border-style: solid;
    border-color: #0189b6 transparent;
    position: absolute;
    top: 50%;
    right: 4px;
    pointer-events: none;
    z-index: 2;
}

/* globalNavSet
-------------------------------------------------------------*/
#globalNavSet {
    margin-top: -25px;
}

/* #hdr-menuArea
-------------------------------------------------------------*/
#hdr-menuArea {
    position: absolute;
    max-width: 980px;
    width: calc((100% - 40px));
    /*height: 100%;*/
    top: 0;
    /*z-index: -1;*/
}

/* header shrink
-------------------------------------------------------------*/
/*@media only screen and (min-width:768px){
.setShrink#header,
.setShrink #hdr-logo,
.setShrink #globalNavSet,
.setShrink #globalNav,
.setShrink #hdr-menuArea,
.setShrink #hdr-search{transition:all 0.2s ease-out;}

.hdrShrink .setShrink#header{
	padding-top:5px;
}
.setShrink #hdr-logo{
	width:160px;
	overflow:hidden;
	transition-property:width;
}
.hdrShrink .setShrink #hdr-logo{
	width:40px;
	top:50%;
	transform:translate(0,-50%);
}
.setShrink #hdr-logo img{max-width:none;}
.hdrShrink .setShrink #globalNavSet{
	margin-left:60px;
}
.hdrShrink .setShrink #globalNav{
	margin-top:0;
}
.hdrShrink .setShrink #hdr-menuArea,
.hdrShrink .setShrink #hdr-search{
	visibility:hidden;
	opacity:0;
	transform:translate(0, -30px);
}
}*/


/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Smartphones
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
@media only screen and (max-width: 767px) {

    /*=============================================================
     header
    =============================================================*/
    #header {
        background-color: #fff;
        box-sizing: border-box;
        width: 100%;
        height: 50px;
        padding: 10px 65px 0 0;
        border-bottom: 1px solid #ccc;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 21;
    }

    #header > .contentsInr {
        position: static;
        padding-right: 15px;
        padding-left: 15px;
    }

    /* hdr-logo
    -------------------------------------------------------------*/
    #hdr-logo {
        width: 100px;
    }

    #hdr-logo img {
        height: auto;
    }


    /* globalNavSet
    -------------------------------------------------------------*/
    #globalNavSet > dt {
        display: block;
        width: 50px;
        height: 50px;
        position: absolute;
        top: 0;
        right: 0;
        cursor: pointer;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
    }

    #globalNavSet > dt::before,
    #globalNavSet > dt::after {
        content: "";
        background-color: #005d95;
        display: block;
        width: 28px;
        height: 4px;
        margin-left: -14px;
        position: absolute;
        top: 23px;
        left: 50%;
        z-index: 1;
    }

    #globalNavSet > dt > span::before {
        content: "";
        width: 28px;
        height: 12px;
        margin-left: -14px;
        border-top: 4px solid #005d95;
        border-bottom: 4px solid #005d95;
        top: 15px;
        left: 50%;
        position: absolute;
    }

    #globalNavSet > dt,
    #globalNavSet > dt::before,
    #globalNavSet > dt::after,
    #globalNavSet > dt > span,
    #globalNavSet > dt > span > span {
        transition: all 0.3s ease;
    }

    #globalNavSet.open > dt {
        background-color: #005d95;
    }

    #globalNavSet.open > dt > span::before {
        border-color: rgba(255, 255, 255, 0);
    }

    #globalNavSet.open > dt::before,
    #globalNavSet.open > dt::after {
        background-color: #fff;
        width: 20px;
        height: 2px;
        margin-left: -10px;
        top: 18px;
    }

    #globalNavSet.open > dt::before {
        transform: rotate(45deg);
    }

    #globalNavSet.open > dt::after {
        transform: rotate(-45deg);
    }

    #globalNavSet > dt > span > span {
        color: #fff;
        font-size: 11px;
        line-height: 1.15;
        letter-spacing: normal;
        white-space: nowrap;
        display: block;
        text-align: center;
        min-width: 100%;
        position: absolute;
        top: 34px;
        left: 0;
        visibility: hidden;
        opacity: 0;
    }

    #globalNavSet.open > dt > span > span {
        visibility: visible;
        opacity: 1;
    }

    #globalNavSet > dd {
        background-color: #00bfc4;
        box-sizing: border-box;
        width: 100%;
        height: 0;
        visibility: hidden;
        overflow: hidden;
        position: fixed;
        top: 50px;
        left: 0;
        z-index: 71;
        opacity: 0;
        transition: all 0.3s ease;
    }

    #globalNavSet.open > dd {
        height: calc(100vh - 50px);
        visibility: visible;
        opacity: 1;
    }

    #globalNavSet > dd > div {
        display: block;
        position: relative;
    }

    #globalNavSet > dd > * {
        visibility: hidden;
    }

    #globalNavSet.open > dd > * {
        visibility: inherit;
    }

    html.gNavOpen,
    html.gNavOpen body {
        height: 100%;
        overflow: hidden;
    }

    html.gNavOpen #globalNavSet > dd > div {
        box-sizing: border-box;
        width: 100%;
        height: 100%;
        padding: 14px 17px 70px;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* boxGNavBg */
    .boxGNavBg {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 20;
        visibility: hidden;
        opacity: 0;
        transition: .2s;
    }

    /* boxGNavBg */
    html.gNavOpen .boxGNavBg {
        visibility: visible;
        opacity: 1;
    }

    /* globalNav
    -------------------------------------------------------------*/
    #globalNav {
        font-size: 16px;
        line-height: 1.2;
        font-weight: bold;
        display: flex;
        flex-wrap: wrap;
        text-align: center;
        position: static;
    }

    #globalNav li:not(:last-child) {
        margin-right: 0;
    }

    #globalNav li {
        box-sizing: border-box;
        width: 50%;
        padding: 6px 3px 0;
    }

    #globalNav li a {
        text-decoration: none;
        background-color: #fff;
        display: block;
        padding: 15px 0;
    }

    #globalNav li a:after {
        content: none;
    }

    /* act */
    #globalNav > .act > a {
        color: #0072bf;
    }

    #globalNav > .act > a::after {
        content: none;
    }

    /* hdr-menu
    -------------------------------------------------------------*/
    #hdr-menu {
        position: static;
        font-size: 14px;
        line-height: 1.2;
        font-weight: bold;
        display: flex;
        text-align: center;
        margin: 20px -5px 0;
        padding-top: 18px;
        border-top: 1px solid #fff;
        transform: none;
    }

    #hdr-menu li {
        box-sizing: border-box;
        width: 50%;
        padding: 0 5px;
        margin-right: 0;
    }

    #hdr-menu a {
        color: #fff;
    }

    /* hdr-menuArea
    -------------------------------------------------------------*/
    /* hdr-search */
    #hdr-search {
        position: absolute;
        top: 11px;
        right: 115px;
    }

    #hdr-search dt {
        white-space: nowrap;
        background: #addde9 url("../image/icon_search.png") no-repeat center center/19px;
        text-indent: 34px;
        width: 34px;
        height: 28px;
        overflow: hidden;
        cursor: pointer;
        transition: background-color .3s;
    }

    #hdr-search.open dt {
        background: #005d95;
        height: 39px;
        position: relative;
    }

    #hdr-search.open dt::before,
    #hdr-search.open dt::after {
        content: "";
        background-color: #fff;
        display: block;
        width: 20px;
        height: 2px;
        margin-left: -10px;
        position: absolute;
        top: 14px;
        left: 50%;
        z-index: 1;
        transform: rotate(45deg);
    }

    #hdr-search.open dt::after {
        transform: rotate(-45deg);
    }

    #hdr-search dd {
        background-color: #005d95;
        box-sizing: border-box;
        width: 100%;
        padding: 10px 15px;
        position: fixed;
        top: 50px;
        left: 0;
        visibility: hidden;
        opacity: 0;
    }

    #hdr-search.open dd {
        visibility: visible;
        opacity: 1;
        transition: .3s;
    }

    #hdr-search .textBox {
        font: inherit;
        box-sizing: border-box;
        display: block;
        vertical-align: middle;
        width: calc(100% - 34px);
        height: 28px;
        padding: 0 4px;
        border: none;
        border-radius: 0;
        outline: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
    }

    #hdr-search .submitBtn {
        background: #addde9 url(../image/icon_search.png) no-repeat center center/19px;
        box-sizing: border-box;
        vertical-align: middle;
        width: 34px;
        height: 28px;
        position: absolute;
        top: 10px;
        right: 15px;
        border: none;
        cursor: pointer;
        border-radius: 0;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
    }

    /* hdr-language */
    #hdr-language {
        position: absolute;
        top: 11px;
        right: 65px;
    }

    #hdr-language select {
        padding: 0 16px 0 4px;
        line-height: 28px;
    }

    /* globalNavSet
    -------------------------------------------------------------*/
    #globalNavSet {
        margin-top: 0;
    }

    /* drop */
    #globalNav .drop {
        display: none !important;
    }

    /*-------------------------------------------------------------*/
    .hdr-gbDrop {
        display: none !important;
    }


}

/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Tablet (portrait)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
@media only screen and (min-width: 768px) and (max-width: 1023px) {

    /*=============================================================
     header
    =============================================================*/
    /* hdr-menuArea
    -------------------------------------------------------------*/
    /* hdr-search */
    #hdr-search {
        right: 44%;
    }

    /* globalNavSet
    -------------------------------------------------------------*/
    /* globalNav */
    #globalNav {
        font-size: calc(14px + ((1vw - 7.68px) * 0.78125));
    }

    #globalNav li:not(:last-child) {
        margin-right: 3vw;
    }

    /* hdr-menu
    -------------------------------------------------------------*/
    #hdr-menu li {
        margin-right: 4vw;
    }

    #hdr-menu {
        margin-left: 25%;
    }
}