/**********************************
 *
 * 共通CSS
 *
 **********************************/

.disnone {
    display:none;
}

.pcClass {
    display:block;
}

.spClass {
    display:none;
}

.panel img {
    width:100%;
    height:auto;
    vertical-align: bottom;
}

.mv-none {
    opacity:0;
	transform: translate(0,80px);
	-webkit-transform: translate(0,80px);
}
.mv{
    opacity:1;
    -webkit-transition: all .9s;
    transition: all .9s;
	transform: translate(0,0);
	-webkit-transform: translate(0,0);
}


html {
    box-sizing: border-box;
}
*, *:before, *:after {
    box-sizing: inherit;
}


/**********************************
 *
 * ヘッダ
 *
 **********************************/
header {
    width:98%;
    height:80px;
    background-color:#fff;
    color:#222222;
    line-height:80px;
    padding:0 0 0 2%
}

header .classH1 {
    width:12%;
    height:auto;
    // display:block;
    float:left;
    max-width:90px;
}

header .classH1 img{
    vertical-align: middle!important;
}

header nav {
    width: 88%;
    height: 80px;
    float:left;
}

header ul {
    width: 100%;
    display: inline-block;
}

header ul li {
    float:right;
    margin:0 1%;
    position:relative;
    display: block;
}


header ul li:first-child {
    width:100px;
    text-align:center;
    margin:0;

}

header ul li:first-child:hover {
    background-color: #0b395b;
    color:#fff;
}

header ul li:first-child a:hover {
    color:#fff;
}

header ul li a {
    display:block;
    height:80px;
    text-decoration:none;
    color:#222222;
    font-weight:bold;
    font-size: 17px;
}

/* Language */
header .dropdown {
    float: right;
    position: relative;
    width: 110px;
    top: 1px;
}
header .dropdown .drop-btn {
    font-size: 17px;
    background: none;
    border: 0;
    border-radius: 0;
    -webkit-appearance: none;
    font-weight: bold;
    position: relative;
    font-family: inherit;
    padding: 0 20px 0 0;
    outline: none;
    cursor: pointer;
}
header .dropdown .drop-btn.is-active {
    color: #0e395b;
}
header .dropdown .drop-btn:after {
    content: "";
    width: 10px;
    height: 10px;
    border-right: 2px solid #333;
    border-bottom: 2px solid #333;
    position: absolute;
    right: 0;
    top: 5px;
    transform: rotate(45deg);
}
header .dropdown .drop-btn.is-active:after {
    border-right-color: #0e395b;
    border-bottom-color: #0e395b;
}
header .dropdown .dropdown-content {
    position: absolute;
    top: 60px;
    right: 0;
    width: 120px;
    padding: 8px 0;
    z-index: 9999;
    background: rgba(11, 57, 91, 0.9);
    display: none;
}
header .dropdown .dropdown-content li {
    float: none;
    width: 100%;
    line-height: 1.2;
    padding: 10px;
    font-size: 16px;
    text-align: center;
    color: #fff;
}
header .dropdown .dropdown-content li a {
    height: auto;
    color: inherit;
    font-size: 1em;
    font-weight: normal;
}
header .dropdown .dropdown-content li:hover {
    background: none;
}

/**********************************
 *
 * ボディ
 *
 **********************************/
body {
    font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, 'MS PGothic', arial, helvetica, sans-serif;
    width:100%;
    height:auto;
    position:relative;
    font-size:14px;
    font-weight:normal;
    color:#fff;
    line-height:180%;
    letter-spacing: 0.01em;
}

article {
    clear: both;
    position: relative;
    width:100%;
    padding:110px 0;
}

article .title {
    text-align:center;
}

article h2{
    font-size:54px;
    letter-spacing: 0.05em;
    padding-bottom:15px;
}

article h3{
    min-width:120px;
    font-size:12px;
    letter-spacing: 0.01em;
}

article h3 p {
}

article h4{
    font-size:30px;
    padding-bottom:35px;
    line-height: 1.3
}

.inner {
    width:100%;
    padding:0 5%;
    position:relative;
    margin:0 auto;
}

/**********************************
 *
 * ボーダー
 *
 **********************************/
.boader {
    width:40px;
    margin-bottom:10px;
    display: inline-flex;
}
/*
.white {
    background-color:#fff;
    color:#345a8b;
}

.gray {
    background-color:#f0f0f0;
    color:#345a8b;
}*/

.border-gray {
    color:#f0f0f0;
    width:100%;
    height:1px;

}



/**********************************
 *
 * FOOTER
 *
 **********************************/

footer {
    width:100%;
    height:90px;
    line-height:90px;
    background-color:#0b395b;
    color:#fff;
    font-size:12px;
}


footer ul{
    width:98%;
    padding:0 1%;
}

footer ul li {
    float:left;
    padding-left:1%;
}

footer ul li:last-child {
    float:right;
    font-size: 13px;
    letter-spacing: 0.5px;
}

footer ul li a{
    text-decoration:none;
    color:#fff;
    font-size: 14px;
}


footer ul .facebookBtn {
    height:30px;
}

footer ul .facebookBtn img {
    vertical-align: middle;
}

#pageTitle {
    width: 100%;
    padding: 80px 0 45px 0;
    background-color: #0B395B;
    text-align:center;
}

#pageTitle h1 {
    font-size:40px;
    letter-spacing: 0.05em;
    font-weight: bold;
}

#pageTitle h2 {
    font-size:14px;
    letter-spacing: 0.01em;
}

.breadcrumb {
    padding-top: 25px;
    line-height: 1;
}

.breadcrumb .scroll {
    white-space: nowrap;
    overflow-x: auto;
}
.ie9 .breadcrumb .scroll {
    overflow: visible;
}
.breadcrumb span,
.breadcrumb a {
    color: #000;
    font-weight: 500;
    font-size: 12px;
    line-height: 1;
    text-decoration: none;
}
.breadcrumb.second {
    padding-top: 44px;
}
.titleContent {
    font-size: 44px;
    line-height: 1;
    color: #0A395B;
    font-weight: bold;
    letter-spacing: 0.5px;
}

.mainContent {
    max-width: 1080px;
    padding: 0 20px;
    margin: 0 auto;
    overflow: hidden;
}

.brSp {
    display: none !important;
}
.brPc {
    display: initial !important;
}

.sm {
    display: none !important;
}

#style-1::-webkit-scrollbar-track
{
    background-color: #fff;
}

#style-1::-webkit-scrollbar
{
    padding-top: 5px;
    height: 7px;
    background-color: #F5F5F5;
}

#style-1::-webkit-scrollbar-thumb
{
    background-color: #ccc;
}
/*------------------------------------------------------------*/
/* スマホサイト用
 ------------------------------------------------------------*/
@media screen and (max-width: 780px) {

    .sm {
        display: block !important
    }
    .md {
        display: none !important
    }

    * {
        -webkit-box-sizing: border-box;
           -moz-box-sizing: border-box;
             -o-box-sizing: border-box;
            -ms-box-sizing: border-box;
                box-sizing: border-box;
        -webkit-text-size-adjust: 100%;
    }


    /**********************************
     *
     * 共通CSS
     *
     **********************************/
	.pcClass{
        display:none;
    }
	.spClass{
        display:block;
    }



    /**********************************
     *
     * ヘッダ
     *
     **********************************/
    header {
        width:100%;
        height:40px;
        line-height:40px;
        padding:0 0 0 2%;
        /* position: relative; */
    }

    header .classH1 {
        width:45px;
        max-width:45px;
    }

    header nav {
        width: 88%;
        height: 40px;
        float:left;
    }


    /**********************************
     *
     * ボディ
     *
     **********************************/
    body {
        font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, 'MS PGothic', arial, helvetica, sans-serif;
        width:100%;
        font-size:12px;
        line-height:150%;
        letter-spacing: 0.01em;
    }

    article {
        width:100%;
        padding:55px 0;
    }


    article h2{
        font-size:24px;
    }

    article h3{
        font-size:8px;
    }

    article h4{
        font-size:16px;
        padding-bottom:25px;
        text-align: center;
        line-height: 1.5;
    }

    .inner {
        width:96%;
        padding:0 2%;
        margin: 0 auto;
    }

    /**********************************
     *
     * ボーダー
     *
     **********************************/
    .boader {
        width:20px;
        margin-bottom:10px;
    }


    /**********************************
     *
     * ナビゲーション
     *
     **********************************/
    header .menu {
        position:absolute;
        top:0px;
        right:0;
        display:block;
        width: 40px;
        height: 40px;
        text-align: center;
        background-color:#0b395b;
        color:#fff;
        z-index:400;
    }

    #pageTitle h1 {
        font-size: 24px;
    }

    .menu-trigger,
    .menu-trigger span {
        display: inline-block;
        transition: all .4s;
        box-sizing: border-box;
        cursor:pointer;
    }
    .menu-trigger {
        position: relative;
        width: 20px;
        height: 40px;
    }
    .menu-trigger span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 2px;
        background-color: #fff;
        border-radius: 4px;
    }
    .menu-trigger span:nth-of-type(1) {
        top:11px;
    }
    .menu-trigger span:nth-of-type(2) {
        top: 19px;
    }
    .menu-trigger span:nth-of-type(3) {
        bottom:11px;
    }
    .menu-trigger.active span:nth-of-type(1) {
        -webkit-transform: translateY(7px) rotate(-45deg);
        transform: translateY(7px) rotate(-45deg);
    }
    .menu-trigger.active span:nth-of-type(2) {
        opacity: 0;
    }
    .menu-trigger.active span:nth-of-type(3) {
        -webkit-transform: translateY(-8px) rotate(45deg);
        transform: translateY(-9px) rotate(45deg);
    }


    .cateMenu {
        position:absolute;
        width:100%;
        height:100%;
        top:0;
        left:0;
        background-color: rgba(0, 28, 43, 0.7);
        z-index:300;
        display: none;
    }
    .cateMenu.opacity {
        display: block;
    }

    .cateMenu ul{
        width:100%;
        padding:50px 0 36px 0;
    }

    .cateMenu ul li, .cateMenu ul li:first-child{
        width:100%;
        padding:0 0 35px 0;
        text-align:center;
    }

    .cateMenu ul li a{
        font-size: 24px;
        line-height:100%;
        width:100%;
        display:block;
        text-decoration:none;
        color:#fff;
        margin: 0 auto;
        padding-bottom:5px;
        height: auto;
    }

    .cateMenu ul li p a{
        font-size: 12px;
        line-height:100%;
        width:100%;
        display:block;
        color:#fff;
        text-decoration:none;
        margin: 0 auto;
        padding-bottom:0;
    }

    .cateMenu ul .facebookBtn{
        width:100%;
    }

    .cateMenu ul .facebookBtn a{
        width:40px;
        height:40px;
        margin: 0 auto;
    }



    /**********************************
     *
     * FOOTER
     *
     **********************************/

    footer {
        height: auto;
        line-height: normal;
        padding: 8px 0 0px 0;
    }


    footer ul{
        width:100%;
        padding:0 4%;
    }

    footer ul li {
        float: left;
        padding-left: 1%;
        padding-right: 6%;
        display: block;
        padding-top: 16px;
    }

    footer ul li:last-child {
        float: none;
        width: 100%;
        display: block;
        clear: both;
        position: relative;
        padding:29px 0 30px;
        font-size:12px;
        letter-spacing: -0.1px;
    }
    .brSp {
        display: initial !important;
    }
    .brPc {
        display: none !important;
    }

    #pageTitle {
        padding:20px 0 5px 0;
    }

    /* #pageTitle h2 {
        font-size:20px;
    } */

    #pageTitle h2 {
        font-size:10px;
    }

    .mainContent {
        width: 100%;
    }

    .breadcrumb {
        padding: 0;
        padding-top: 11px;
    }
    .breadcrumb span,
    .breadcrumb a {
        color: #000;
        font-size: 10px;
    }
    .breadcrumb .scroll {
        height: 22px;
    }

    .titleContent {
        font-size: 23px;
    }
}


/*updated scroll to top footer*/
footer {position: relative;}
.btnToTop {
    cursor: pointer;
    position: absolute;
    top: -27px;
    right: 86px;
    z-index: 10;
    width: 64px;
    height: 28px;
    background-color: #0b395b;
}
.btnToTop .iconArrow {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
}
.btnToTop .iconArrow:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 10;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    border-style: solid;
    border-width: 0 12px 10px 12px;
    border-color: transparent transparent white transparent;
}
@media screen and (max-width: 780px) {
    .btnToTop {
        right: 25px;
        width: 42px;
        height: 23px;

        top: -22px;
    }
    .btnToTop .iconArrow:before {
         border-width: 0 7px 5px 7px;
    }

    .breadcrumb.second {
        padding-top: 11px;
    }
}


/* updated 07/29/2019 */
@media screen and (max-width: 900px) {
    header ul li a,
    header .dropdown .drop-btn,
    header .dropdown .dropdown-content li {
        font-size: 14px;
    }
}

@media print, (min-width: 1040px) {
    header .dropdown .drop-btn svg {
        display: none;
    }
    header nav > ul {
        width: calc(100% - 110px);
        padding-right: 15px;
    }
}
@media (max-width: 1039px) {
    header nav > ul {
        width: calc(100% - 20px);
        padding-right: 15px;
    }
    header .dropdown {
        width: 20px;
    }
    header .dropdown .drop-btn {
        width: 20px;
        padding: 0;
    }
    header .dropdown .drop-btn.is-active {
        fill: #0e395b;
    }
    header .dropdown .drop-btn svg {
        fill: inherit;
    }
    header .dropdown .drop-btn:after {
        display: none;
    }
    header .dropdown .drop-btn span {
        display: none;
    }
    header .dropdown .drop-btn svg {
        display: inline-block;
        vertical-align: middle;
    }
}
/* updated 08/6/2019 */
@media print, (min-width: 781px) {
    header nav {
        width: calc(100% - 90px)
    }
}
@media screen and (max-width: 780px) {
    .cateMenu {
        position: fixed;
        padding: 40px 0 0 0;
    }
    .cateMenu ul {
        display: block;
        height: 100%;
        overflow-y: auto;
        padding: 0 0 15px;
    }

}
@media screen and (max-width: 780px){
    #partner {
        padding: 50px 0 !important;
    }
    #partner .title {
        color: #0c3957;
        margin-bottom: 28px
    }
    #partner ul li {
        border: none
    }
    #partner .logoList {
        padding-top: 0
    }
    #companyList {
        margin-top: 50px
    }
    #contact {
        padding-top: 50px
    }
}

footer {
    height: auto;
    line-height: 1.56;
    font-size: 16px;
    padding: 30px 0 0;
}
.clearfix:before,
.clearfix:after {
    content: "";
    display: table;
    clear: both;
}
footer .footer-menu {
    width: 164px
}
footer .footer-menu > li {
    width: 100%;
    margin: 0 0 11px;
    float: none
}
footer .row {
    margin-bottom: 10px
}
footer .row .txt {
    float: left;
}
footer .row .facebook {
    float: left;
    margin: -10px 0 0 8px
}
footer .row .facebook img {
    display: block;
}
footer .footer-left {
    float: left;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}
footer .footer-right {
    float: right
}
footer .address {
    border-bottom: 1px solid #6298af;
    line-height: 1.75;
    padding: 0 50px 4px 0;
    margin-bottom: 18px
}
footer .footerLogo {
    padding-right: 32px
}
footer .footerLogo > li {
    float: right;
    margin-left: 3px
}
footer .facebook {
    
}
footer .copyright {
    font-size: 12px;
    text-align: center;
    padding: 13px;
    background: #082430;
    margin-top: 18px
}

@media screen and (max-width: 780px){
    footer {
        font-size: 12px;
        padding: 0;
    }
    footer .inner {
        width: 100%;
        padding: 0;
    }
    footer .footer-menu {
        width: 100%;
        padding: 0;
    }
    footer .footer-menu > li {
        width: 100%;
        margin: 0;
        padding: 0 !important;
        letter-spacing: 0 !important;
        border-bottom: 1px solid #6298af;
    }
    footer .footer-menu > li a {
        display: block;
        padding: 10px 4%;
    }
    footer .row {
        margin-bottom: 10px
    }
    footer .row .txt {
        float: left;
    }
    footer .row .facebook {
        float: right;
        margin: 0 0 0 0.1em
    }
    footer .row .facebook img {
        display: block;
        width: 80%;
    }
    footer .footer-left {
        float: none;
        display: block;
        margin-bottom: 20px
    }
    footer .footer-right {
        float: none;
    }
    footer .row {
        padding: 0 4%;
    }
    footer .address {
        padding: 0 4% 10px;
        margin-bottom: 15px
    }
    footer .footerLogo {
        padding: 0 4%
    }
    footer .footerLogo > li {
        float: right !important;
        margin-left: 3px;
        width: auto !important;
        clear: none !important;
        padding: 0 !important;
    }
}
/* updated 08/25/2021 */
footer .footerLogo {
  padding-right: 0;
}
.footerLogo {
  width: 100%;
  padding: 0;
}
footer .footerLogo img {
  height: 48px;
}
footer .footerLogo > li {
  padding-left: 5px;
}
@media screen and (max-width: 767px) {
  footer .footerLogo img {
    height: 34px;
  }
  footer .footerLogo {
    padding-right: 10px;
  }
}
@media screen and (max-width: 374px) {
  footer .footerLogo img {
    height: 28px;
  }
}