@charset "utf-8";
@media screen and (max-width:1420px) {
    .nav {
        width: 67%;
    }
    .heLang {
        position: absolute;
        top: 0;
        max-width: 100px;
        width: 100%;
        right: 0;
    }
}

@media screen and (max-width:1120px) {
    span.fz22 {
        font-size: 20px;
    }
    span.ftContact {
        font-size: 20px;
    }
    span.fz25 {
        /* font-size: 20px; */
        font-size: 15px;
    }
}

@media screen and (max-width: 1140px) {
    .nav {
        width: 67% !important;
    }
}

@media screen and (max-width:965px) {
    .nav>ul>li>a {
        font-size: 15px;
    }
    .nav>ul>li:last-child>a {
        padding-top: 12px;
        padding-bottom: 14px;
    }
}

@media screen and (max-width:890px) {
    span.fz25, span.fz22, span.ftContact {
        font-size: 13px;
        letter-spacing: -0.5px;
    }
    .ftR02Item>ul>li>a {
        font-size: 20px;
    }
}

@media screen and (max-width:871px) {
    .nav>ul>li>a {
        font-size: 14px;
        letter-spacing: -0.8px;
    }
    .nav>ul>li:last-child>a {
        padding-top: 12px;
        padding-bottom: 13px;
    }
}

@media screen and (max-width:767px) {
    ul.subMenuSp>li>a::before {
        font-family: 'HGSGothicE';
        content: '▶';
    }
    ul.submenusp>li::before {
        font-family: 'HGSGothicE';
        content: '▶';
    }
    .fzE {
        font-family: 'HGSGothicE';
    }
    .menuSP>li:last-child>a>span.ct::before {
        font-family: 'HGSGothicE';
        content: '▶';
    }
    .titleStyle02 {
        top: 50%;
        transform: translateY(-50%);
    }
    .titleStyle01 h3 {
        font-size: 54px;
        letter-spacing: -1px;
    }
    #product .titleStyle01 {
        padding-top: 62px;
    }
    .prFullText {
        font-size: 26px;
        padding-top: 45px;
    }
    .productBtnSP a {
        padding-bottom: 26px;
    }
    #download .hoRows02Item:nth-child(2) {
        margin-top: 25px;
    }
    .titleStyle01 {
        padding-top: 70px;
    }
    #download .hoRows02Item:nth-child(5) {
        margin-top: 25px;
    }
    #news {
        margin-top: 40px;
    }
    #news .newsRows02 .titleStyle01 {
        padding-top: 33px;
    }
    .newsRows02 ul {
        margin-top: 26px;
    }
    .newsRows02 ul li a h4 {
        font-size: 26px;
        height: auto;
        padding-right: 0;
        padding-left: 20px;
    }
    .newsRows02 ul li a {
        padding-top: 20px;
    }
    #company {
        margin-top: 54px;
    }
    .titleStyle01 {
        padding-top: 59px;
    }
    .coSp img {
        margin-top: 62px;
        margin-bottom: 18px;
    }
    .fullTxt {
        text-align: center;
        font-size: 26px;
    }
    .coSp a {
        padding-bottom: 17px;
    }
    #recritment {
        margin-top: 2px;
    }
    .reRows02 .reLeft {
        margin-top: 22px;
    }
    .titleStyle01.titleEn {
        padding-top: 87px;
    }
    .reRight {
        margin-top: 23px;
    }
    .siteMaps {
        border-width: 8px;
    }
    .stMapsTitle {
        padding-top: 42px;
        padding-bottom: 40px;
    }
    .ftLeft {
        width: 100%;
        padding-top: 13px;
    }
    .ftMid {
        width: 100%;
        margin-top: 0;
        margin-right: 0;
    }
    .ftRight {
        width: 100%;
        margin-top: 27px;
    }
    .ftMid span {
        font-size: 24px;
    }
    .ftMid h3 {
        line-height: 100%;
    }
    .ftRows03 {
        margin-top: 65px;
    }
    .menuSP>li>a {
        font-family: '小塚ゴシック Pr6N', sans-serif;
        font-weight: bold;
        padding-bottom: 50px;
    }
    .menuSP>li.langSP {
        padding-top: 43px;
    }
    .menuSP>li:last-child {
        padding-top: 35px;
        padding-bottom: 70px;
    }
    .menuSP>li:last-child>a>span.ct {
        padding-left: 70px;
        padding-right: 70px;
        padding-top: 30px;
        padding-bottom: 37px;
    }
    ul.subMenuSp>li>a {
        font-size: 32px;
    }
    ul.submenusp>li {
        padding-top: 15px;
    }
    ul.submenusp>li::before {
        top: 15px;
    }
    ul.navFtSp>li {
        padding-bottom: 22px;
    }
    ul.navFtSp {
        padding-bottom: 30px;
    }
    .stMapsTitle h4 {
        font-family: 'HGSGothicE';
    }
}

@media screen and (max-width:640px) {
    .headerSP {
        padding-right: 8.28125%;
    }
    .slideTxt h3 {
        padding-right: 8.28125%;
        padding-left: 8.28125%;
    }
    /* #slide{
        padding-bottom: 0;
    } */
    .slidePc>img {
        max-width: 260px;
        width: 100%;
    }
    .slidePc>img {
        margin-top: -65px;
    }
    .titleStyle01 h3 {
        font-size: 46px;
    }
    .titleStyle01 span {
        font-size: 28px;
        padding-top: 18px;
    }
    .prFullText {
        font-size: 26px;
        padding-top: 30px;
    }
    .titleStyle01, #product .titleStyle01, .titleStyle01.titleEn {
        padding-top: 46px;
    }
    .cont {
        padding-left: 8.28125%;
        padding-right: 8.28125%;
    }
    #product .hoRows02 {
        margin-top: 30px;
    }
    .titleStyle02 h3 {
        font-size: 32px;
    }
    .titleStyle02 span {
        font-size: 20px;
    }
    .hoRows02Item:nth-child(2) {
        margin-top: 16px;
    }
    .productBtnSP a {
        font-size: 26px;
        padding-top: 23px;
        padding-bottom: 24px;
    }
    .productBtnSP {
        padding-top: 32px;
    }
    #download .hoRows02Item:nth-child(2) {
        margin-top: 28px;
    }
    #download .hoRows02Item:nth-child(5) {
        margin-top: 27px;
    }
    #news {
        margin-top: 36px;
    }
    #news .newsRows02 .titleStyle01 {
        padding-top: 14px;
    }
    .newsRows02 ul {
        margin-top: 12px;
    }
    .newsRows02 ul li a {
        padding-top: 14px;
        padding-bottom: 14px;
    }
    .newsRows02 ul li a h4 {
        font-size: 26px;
        padding-top: 0;
        padding-left: 16px;
    }
    #news {
        padding-bottom: 36px;
    }
    #company {
        margin-top: 46px;
    }
    .coSp img {
        margin-top: 28px;
        margin-bottom: 28px;
    }
    .fullTxt {
        font-size: 26px;
    }
    .coSp a {
        padding-bottom: 24px;
    }
    .reRows02 .reLeft {
        margin-top: 27px;
    }
    .reRight {
        margin-top: 27px;
    }
    .wrapFooter {
        margin-top: 46px;
    }
    .siteMaps {
        border-top: 8px solid #005BAB;
        border-bottom: 8px solid #005BAB;
    }
    .stMapsTitle h4 {
        font-size: 28px;
    }
    .stMapsTitle {
        padding-top: 36px;
        padding-bottom: 36px;
    }
    span.clOpen {
        top: 36px;
    }
    span.clOpen img {
        max-width: 31px;
        width: 100%;
    }
    .ftLeft {
        padding-top: 10px;
    }
    .imgsp {
        max-width: 395px;
    }
    .ftMid h3 {
        font-size: 34px;
    }
    br.br-640 {
        display: inline-block;
    }
    .ftMid span {
        font-size: 28px;
        line-height: 120%;
        padding-top: 10px;
    }
    .ggMapsSp>img {
        max-width: 310px;
        width: 100%;
    }
    .telSp>img {
        max-width: 310px;
        width: 100%;
    }
    .ftRight ul.ftRightSp li:first-child {
        margin-bottom: 36px;
    }
    .ftRows03 {
        font-size: 16px;
        margin-top: 32px;
        margin-bottom: 12px;
    }
    ul.subMenuSp>li>a {
        font-size: 28px;
    }
    ul.subMenuSp>li>a::before {
        font-size: 28px;
    }
    .menuSP>li>a {
        padding-left: 8.28125%;
        padding-right: 8.28125%;
        padding-top: 40px;
        padding-bottom: 40px;
    }
    .menuSP>li.langSP {
        padding-left: 8.28125%;
        padding-right: 8.28125%;
    }
    span.arrow {
        height: 104px;
        padding-top: 40px;
    }
    .menuSP>li.langSP>span>a {
        font-size: 30px;
    }
    .menuSP>li.langSP>span.spLang01 {
        padding-right: 35px;
    }
    .menuSP>li.langSP>span.spLang02 {
        padding-left: 37px;
    }
    .navSp>a>img {
        max-width: 41px;
        width: 100%;
    }
    .navSp>a img {
        max-width: 46px;
        width: 100%;
    }
    .menuSP>li:last-child>a>span.ct {
        padding-top: 28px;
        padding-bottom: 28px;
    }
    .menuSP>li:last-child>a>span.ct::before {
        right: 34px;
    }
    .menuSP>li:last-child {
        padding-bottom: 60px;
    }
    ul.navFtSp>li>a {
        font-size: 40px;
    }
    ul.navFtSp>li::before {
        font-size: 40px;
    }
    ul.submenusp>li {
        font-size: 28px;
    }
    ul.submenusp>li::before {
        font-size: 28px;
    }
    ul.navFtSp {
        padding-top: 12px;
    }
    ul.navFtSp>li {
        padding-bottom: 22px;
        padding-top: 22px;
    }
    ul.navFtSp>li::before {
        top: 22px;
    }
}

@media screen and (max-width:580px) {
    .titleStyle01 h3 {
        font-size: 38px;
    }
    .titleStyle01 span {
        font-size: 24px;
        padding-top: 12px;
    }
    .ftRows03 {
        font-size: 12px;
    }
}

@media screen and (max-width:480px) {
    .titleStyle01 h3 {
        font-size: 32px;
    }
    .titleStyle01 span {
        font-size: 20px;
        padding-top: 10px;
    }
    .titleStyle02 h3 {
        font-size: 30px;
    }
    .titleStyle02 span {
        font-size: 18px;
    }
    .productBtnSP a {
        font-size: 20px;
        padding-top: 18px;
        padding-bottom: 16px;
    }
    .prFullText {
        font-size: 20px;
    }
    .newsRows02 ul li a h4 {
        font-size: 24px;
    }
    .fullTxt {
        font-size: 24px;
    }
    .ftMid span {
        font-size: 24px;
    }
    /* .menuSP>li:last-child>a>span.ct{
        padding-left: 100px;
        padding-right: 100px;
    } */
    .navSp>a img {
        max-width: 35px;
    }
    .menuSP>li>a {
        line-height: 120%;
    }
}

@media screen and (max-width:420px) {
    .navSp>a img {
        max-width: 28px;
    }
    .menuSP>li>a {
        font-size: 20px;
        padding-top: 20px;
        padding-bottom: 20px;
    }
    span.arrow {
        height: 64px;
        padding-top: 20px;
        width: 86px;
    }
    span.arrow img {
        max-width: 20px;
        width: 100%;
    }
    .menuSP>li.langSP>span>a {
        font-size: 20px;
    }
    .menuSP>li.langSP {
        padding-top: 20px;
        padding-bottom: 20px;
    }
    .menuSP>li:last-child {
        padding-top: 25px;
        padding-bottom: 30px;
    }
    .menuSP>li:last-child>a>span.ct {
        padding-left: 30px;
        padding-right: 30px;
        font-size: 20px;
        padding-top: 15px;
        padding-bottom: 15px;
    }
    .menuSP>li:last-child>a>span.ct::before {
        right: 10px;
    }
    #slide {
        padding-bottom: 16px;
    }
    .prFullText {
        font-size: 15px;
        padding-top: 15px;
    }
    .titleStyle01, #product .titleStyle01 {
        padding-top: 23px;
    }
    .titleStyle01 span {
        padding-top: 5px;
    }
    #product .hoRows02 {
        margin-top: 15px;
    }
    .titleStyle02 h3 {
        font-size: 20px;
    }
    .titleStyle02 span {
        font-size: 14px;
    }
    .hoRows02Item:nth-child(2) {
        margin-top: 8px;
    }
    .productBtnSP {
        padding-top: 16px;
    }
    .productBtnSP a {
        font-size: 16px;
        padding-top: 12px;
        padding-bottom: 10px;
    }
    .titleStyle01 h3 {
        font-size: 28px;
    }
    .titleStyle01 span {
        font-size: 16px;
    }
    #download .hoRows02Item:nth-child(2) {
        margin-top: 14px;
    }
    #download .hoRows02Item:nth-child(5) {
        margin-top: 14px;
    }
    #news {
        margin-top: 18px;
        padding-bottom: 18px;
    }
    .newsRows02 ul li a {
        padding-top: 7px;
        padding-bottom: 7px;
    }
    .newsRows02 ul li a h4 {
        font-size: 14px;
    }
    span.nwIamges {
        min-height: 90px;
    }
    #company {
        margin-top: 23px;
    }
    .coSp img {
        margin-top: 14px;
        margin-bottom: 14px;
    }
    .fullTxt {
        font-size: 15px;
    }
    .fullTxt br {
        display: none;
    }
    .reRows02 .reLeft {
        margin-top: 13.5px;
    }
    .reRight {
        margin-top: 13.5px;
    }
    .wrapFooter {
        margin-top: 23px;
    }
    .stMapsTitle {
        padding-top: 18px;
        padding-bottom: 18px;
    }
    .stMapsTitle h4 {
        font-size: 20px;
    }
    span.clOpen {
        top: 18px;
    }
    span.clOpen img {
        max-width: 20px;
    }
    ul.navFtSp>li>a {
        font-size: 20px;
    }
    ul.navFtSp>li::before {
        font-size: 20px;
    }
    ul.navFtSp>li::before {
        font-size: 24px;
    }
    ul.navFtSp>li {
        padding-left: 28px;
    }
    ul.submenusp {
        margin-left: -16px;
    }
    ul.submenusp>li {
        font-size: 18px;
    }
    ul.submenusp>li::before {
        font-size: 18px;
    }
    .siteMaps {
        border-top: 4px solid #005BAB;
        border-bottom: 4px solid #005BAB;
    }
    ul.submenusp>li {
        padding-left: 20px;
    }
    ul.navFtSp>li.hs-subSp {
        padding-top: 15px;
        padding-bottom: 15px;
    }
    ul.navFtSp>li.hs-subSp::before {
        top: 15px;
    }
    ul.navFtSp>li {
        padding-top: 10px;
        padding-bottom: 10px;
    }
    ul.navFtSp>li::before {
        top: 10px;
    }
    ul.navFtSp {
        padding-bottom: 15px;
    }
    .ftLeft {
        padding-top: 5px;
    }
    .ftMid h3 {
        font-size: 28px;
    }
    .ftMid span {
        font-size: 16px;
    }
    .ggMapsSp>img, .telSp>img {
        max-width: 250px;
    }
    .ftRight ul.ftRightSp li:first-child {
        margin-bottom: 16px;
    }
    .ftRows03 {
        font-size: 11px;
        letter-spacing: -0.5px;
        margin-top: 16px;
        margin-bottom: 6px;
    }
    .scrolltop {
        width: 35px;
        height: 35px;
        right: 2px;
    }
    .scrolltop i {
        line-height: 35px;
        font-size: 14px;
    }
    .slidePc>img {
        max-width: 160px;
    }
    ul.subMenuSp>li>a {
        font-size: 16px;
    }
    ul.subMenuSp>li>a::before {
        font-size: 16px;
    }
    ul.subMenuSp>li>a::before {
        left: 10.333%;
    }
    .productBtnSP.pd56 a {
        padding-left: 40px;
        padding-right: 40px;
    }
}

@media screen and (max-width:368px) {
    .titleStyle01 h3 {
        font-size: 22px;
    }
    .titleStyle01 span {
        font-size: 14px;
    }
}

@media screen and (max-width:340px) {
    /* .headerSP{
        height: 60px;
    }
    .navSp>a img {
        max-width: 20px;
    }
    .menuSP{
        top: 60px;
    } */
}