@charset "utf-8";

/*---------------------------------------------------------------*/
/* MainVisual
/*---------------------------------------------------------------*/
#MainVisual {
    padding: 95px 0 0;
    position: relative;
    width: 100%;
    /*height: 75vh;*/
    height: 100vh;
    background-size: cover;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 10;
}

#MainVisual .swiper::before {
    position: absolute;
    content: "";
    background: rgba(51, 51, 51, 0.4);
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 56.25% 0 0;
}

#MainVisual .boxInner {
    position: relative;
    z-index: 1000;
    max-width: 960px;
    width: 100%;
    text-align: center;
    margin: 0 auto;
    padding: 0 40px;
}

#MainVisual .boxInner span {
    display: block;
}

#MainVisual .boxInner .logo img {
    margin: 0 0 40px;
    max-width: 30%;
}

#MainVisual .boxInner .txt1 {
    margin: 0 0 20px
}

#MainVisual .boxInner .txt1 img,
#MainVisual .boxInner .txt2 img {
    max-width: 70%;
}

/* スライダー全体 */
#MainVisual .slider {
    position: absolute;
    top: 0px;
    left: 0;
    overflow: hidden;
    width: 100%;
    height: 100vh;
    background-color: #fff;
}

/* スライダー画像 */
#MainVisual .slider .image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    animation: change-img-anim 15s infinite;
    animation-timing-function: ease-in-out;
    z-index: 0; /* デフォルトのz-indexを追加 */
}

/* 背景画像 */
#MainVisual .slider .image.src1 {
    background-image: url(../images/top/mainvisual/background_pc.jpg);
    animation-delay: 0s;
    animation-name: change-img-anim-1; /* 個別のアニメーション名に変更 */
}

#MainVisual .slider .image.src2 {
    background-image: url(../images/top/mainvisual/background02_pc.jpg);
    animation-delay: 5s;
    animation-name: change-img-anim-2;
}

#MainVisual .slider .image.src3 {
    background-image: url(../images/top/mainvisual/background03_pc.jpg);
    animation-delay: 10s;
    animation-name: change-img-anim-3;
}

#MainVisual .slider .image .btnBox {
    bottom: 40px;
    right: 40px;
    position: absolute;
}

#MainVisual .slider .image .btnBox a {
    background-color: inherit;
    border: none;
    color: #666666;
    background-color: #FFFFFF;
    width: 250px;
}


#MainVisual .slider .image .btnBox a span {
    padding: 0 40px 0 0;
}

#MainVisual .slider .image .btnBox a span:before {
    width: 20px;
    height: 20px;
    margin-top: -10px;
    border-radius: 10px;
    right: 10px;
    background: #FFFFFF;
    border: 1px solid #666666;
}

#MainVisual .slider .image .btnBox a span:after {
    color: #666666;
}
/* 各スライド用のアニメーション（z-index制御付き） */
@keyframes change-img-anim-1 {
    0% {
        opacity: 0;
        z-index: 1;
    }
    10% {
        opacity: 1;
        z-index: 10;
    }
    30% {
        opacity: 1;
        z-index: 10;
    }
    40% {
        opacity: 0;
        z-index: 1;
    }
    100% {
        opacity: 0;
        z-index: 1;
    }
}

@keyframes change-img-anim-2 {
    0% {
        opacity: 0;
        z-index: 1;
    }
    10% {
        opacity: 1;
        z-index: 10;
    }
    30% {
        opacity: 1;
        z-index: 10;
    }
    40% {
        opacity: 0;
        z-index: 1;
    }
    100% {
        opacity: 0;
        z-index: 1;
    }
}

@keyframes change-img-anim-3 {
    0% {
        opacity: 0;
        z-index: 1;
    }
    10% {
        opacity: 1;
        z-index: 10;
    }
    30% {
        opacity: 1;
        z-index: 10;
    }
    40% {
        opacity: 0;
        z-index: 1;
    }
    100% {
        opacity: 0;
        z-index: 1;
    }
}

/*---------------------------------------------------------------*/
/* Contents
/*---------------------------------------------------------------*/
.home #contents {
    padding: 0 0 120px;
}

.home #contents .section-head {
    margin: 0 auto 25px;
}

.home #contents .section-head h2 {
    color: #004098;
}

.home #contents .section-head h2 span.sub {
    display: block;
    margin-bottom: 5px;
    color: #333333;
    font-size: 2.5rem;
    font-weight: normal;
}

/*---------------------------------------------------------------*/
/* お知らせ
/*---------------------------------------------------------------*/
.news::before {
    background-image: url(../images/top/news/title.svg);
    background-position: top left !important;
    /*top: 80px;*/
    top: 40px;
}

.news::after {
    /*height: 25vw !important;*/
    height: 440px !important;
    top: -130px !important;
    transform: skewY(7deg);
}

.news {
    width: 100%;
    padding: 100px 0;
    margin: 0 !important;
}

.news h2 {
    font-size: 3.0rem !important;
}

.news .inner {
    margin: 0 auto;
    padding: 0 40px;
}

.news .section-foot {
    padding: 25px 0 0;
}

.news .section-foot .btnBox {
    margin: 0 0 0 auto;
    max-width: 170px;
}


.news .section-foot .btnBox a {
    /*background-color: #ffffff;*/
    color: #004098;
    border: none;
    position: relative;
}

.news .section-foot .btnBox a::after {
    background-color: #004098;
    bottom: -2px;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    transform: scale(1, 1);
    transform-origin: right top;
    transition: transform .3s;
    width: 100%;
}

.news .section-foot .btnBox a:hover:after {
    transform: scale(0, 1);
}


.news .section-box {
    max-width: 1024px;
    width: 100%;
    margin: 0 auto;
}

.news .section-box .section-head {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto 25px !important;
}

.news .btnBox a {
    margin: 0 0 0 auto;
    background-color: initial;
    position: relative;
    color: #004098;
}

.news .btnBox a span:before {
    background: #ffffff;
    border: 1px solid #004098;
    right: 10px;
}

.news .btnBox a span:after {
    color: #004098;
}

.news-list ul li {
    position: relative;
    padding: 0 !important;
}

.news-list ul li:before {
    display: none;
}

.news-list ul li a {
    display: block;
    font-weight: 300 !important;
    text-decoration: none;
    padding: 20px;
}

/*
.news-list ul li a:hover {
    background-color: #ffffff;
    color: #004098;
}*/

.news-list dl {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
}

.news-list dl dt {
    width: 100%;
    margin: 0 0 0 -320px;
    padding: 0 0 0 320px;
    font-weight: 400;
}

.news-list dl dd {
    width: 100%;
    max-width: 300px;
    letter-spacing: 0;
}

.news dl dd span.date {
    font-weight: 400;
    margin-right: 20px;
}

.news-list ul li a dl dd span.category {
    color: #FFFFFF;
    background-color: #004098;
    padding: 5px 30px;
    border-radius: 50px;
    font-weight: 600;
}

.news-list ul li a dl dd span.category:after {
    display: none !important;
}

/*------------------------------------------------------------*/
/* 宮崎アイホーのソリューション / 製品紹介 (共通)
/*------------------------------------------------------------*/
.common .section-body .box-list {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: center;
    padding: 80px 0 0;
    margin: 0 auto;
    max-width: 1024px;
}

.common .section-body .box-list .box,
.solution .swiper-slide {
    display: block;
    transition: 0.25s;
}

.solution .swiper-slide {
    padding: 10px;
}

.common .section-body .box-list .box a,
.solution .swiper-slide a {
    text-decoration: none !important;
}

.solution .swiper-slide a {
    box-shadow: 0 3px 6px #dcdcdc;
    display: block;
}

.common .section-body .box-list .box:hover {
    box-shadow: 0 4px 10px 0 rgba(220, 220, 220, 1);
    transform: translateY(-10px);
    cursor: pointer;
}

.common {
    position: relative;
    /* 疑似要素の配置の基準にする */
    background-color: #fff;
    /*overflow: hidden;*/
    /* はみ出し対策（必要に応じて） */
    /*font-size: 16px;*/
    z-index: 1;
}

.common::before {
    content: "";
    position: absolute;
    background-position: top right;
    background-repeat: no-repeat;
    background-size: auto 100%;
    width: 100%;
    height: 200px;
}


/*------------------------------------------------------------*/
/* 宮崎アイホーのソリューション / 製品紹介 / ２カラム
/*------------------------------------------------------------*/
.news,
.solution,
.product,
.column {
    position: relative;
}

.common.solution::before {
    background-image: url(../images/top/solution/title.svg);
}

.common.product::before {
    background-image: url(../images/top/product/title.svg);
}

.common.case::before {
    background-image: url(../images/top/case/title.svg);
}

.news::after,
.solution::after,
.product::after,
.column::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #f0f8ff;
    z-index: -1;
    /*height: 19vw;*/
    height: 22.5vw;
}

.news::after,
.solution::after,
.column::after {
    /*top: 300px;*/
    top: 250px;
    transform: skewY(7deg);
}


/*------------------------------------------------------------*/
/* 宮崎アイホーのソリューション
/*------------------------------------------------------------*/
.swiper-pointer-events,
.pickup-swiper {
    padding: 50px 0px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
}

.solution .section-body .section-bodyInner {
    padding: 0 80px;
}

.solution .section-body .box-list .box {
    width: 25%;
}

/*
.solution .section-body p {
    margin: 0 0 30px;
}
*/

.solution .section-body .box-list .box .image .imageInner,
.solution .section-body .swiper-wrapper .image .imageInner {
    padding-bottom: 100%;
    position: relative;
    display: block;
    width: 100%;
    overflow: hidden;
}

.solution .section-body .swiper-wrapper .image img,
.solution .section-body .box-list .box .image img {
    top: 0;
    left: 50%;
    margin-left: -50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
}


.solution .swiper-slide:hover {
    transform: scale(1.05, 1.05);
}

.solution .btnBox {
    margin: 50px auto 0;
}

.solution .swiper-slide a {
    text-decoration: none;
    text-align: center;
}

.solution .title dl dt,
.common .section-body .box-list .box .title dl dt {
    font-weight: 600;
}

.solution .title dl dd,
.common .section-body .box-list .box .title dl dd {
    color: #999999;
    font-size: 1.3rem;
    letter-spacing: 0;
}

.solution .title {
    background-color: #FFFFFF;
    padding: 20px 10px;
}

/*.solution .btnBox a:hover,*/
.case .btnBox a:hover {
    background-color: #ffffff;
    color: #004098;
    border: solid 1px #004098;
}


.solution .section-bodyInner .swiper-button-prev:after,
.solution .section-bodyInner .swiper-button-next:after {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 27px;
    height: 27px;
    line-height: 1;
    content: "" !important;
}

.solution .section-bodyInner .swiper-button-prev:after {
    background-image: url(../images/top/solution/btn-back.svg);
}

.solution .section-bodyInner .swiper-button-next:after {
    background-image: url(../images/top/solution/btn-next.svg);
}


.solution .section-body .btnBox {
    max-width: 170px;
}

.solution .section-body .btnBox a {
    background-color: inherit !important;
    border-radius: 0px;
}

.solution .section-body .btnBox a span:before {
    background: #ffffff;
    color: #004098;
    border: 1px solid #004098;
    right: 10px;

}

.solution .section-body .btnBox a span:after,
.solution .section-body .btnBox a:hover span:after {
    color: #004098;
}

.solution .btnBox a {
    /*background-color: #ffffff;*/
    color: #004098;
    border: none;
    position: relative;
}

.solution .btnBox a::after {
    background-color: #004098;
    bottom: -2px;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    transform: scale(1, 1);
    transform-origin: right top;
    transition: transform .3s;
    width: 100%;
}

.solution .btnBox a:hover:after {
    transform: scale(0, 1);
}

.swiper-button-next,
.swiper-button-prev {
    width: 50px !important;
}

.solution .section-bodyInner .swiper-button-prev:after,
.solution .section-bodyInner .swiper-button-next:after {
    width: 50px;
    height: 50px;
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
    left: 0px !important;
    right: auto !important;
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
    right: 0px !important;
    left: auto !important;

}

.swiper-button-next,
.swiper-button-prev {
    top: 50% !important;
    margin-top: -25px !important;
}

/*------------------------------------------------------------*/
/* 製品紹介
/*------------------------------------------------------------*/
.product::after {
    top: 500px;
    transform: skewY(-10deg);
}

.product .section-body .box-list .box {
    width: 30.66666666666667%;
    margin: 0 4% 4% 0;
    background-color: #fff;
    box-shadow: 0 3px 6px #dcdcdc;
    text-align: center;
    display: block;
    transition: 0.25s;
    top: 0;
}

.product .section-body .box-list .box:hover {
    /*transform: scale(1.05, 1.05) !important;*/
    top: -15px;
    transition: 0.25s;

}

.product .box-list .box .image {
    max-width: 125px;
    margin: 0px auto 20px;
}

.product .section-body .box-list .box:nth-child(3n) {
    margin: 0 0 4%;
}

.product .section-body .box-list .box:nth-child(n+4) {
    margin: 0 4% 0 0;
}

.product .section-body .box-list .box:last-child {
    margin: 0;
}

.product .section-body .box-list .box a {
    padding: 100px 20px;
    display: block;
}


/*------------------------------------------------------------*/
/* 導入事例
/*------------------------------------------------------------*/
.case .section-area .imageBox .imageBoxInner {
    padding-bottom: 116.70020120724347%;
    position: relative;
    display: block;
    width: 100%;
    overflow: hidden;
}

.case .section-area .imageBox img {
    top: 0;
    left: 50%;
    margin-left: -50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
}

.case .inner {
    display: flex;
    justify-content: space-between;
    max-width: 1024px;
    margin: 0 auto;
}

.case .btnBox {
    margin-left: auto;
    margin-top: 60px;
}

/*
.case .detailBox {
    display: flex;
    flex-flow: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}*/
.case .imageBox {
    max-width: 300px;
}

.case .detailBox .imageBoxSp {
    display: none;
}

.case .detailBox {}

/*
.case .detailBox .detailBoxInner {
    display: inline-block;
    margin:0 0 0 auto;
}*/

.case .section-foot .btnBox {
    max-width: 170px;
}

.case .section-foot .btnBox a {
    background-color: inherit !important;
    border-radius: 0px;
    color: #004098;
    position: relative;
}

.case .section-foot .btnBox a:hover {
    background-color: inherit;
    color: #004098;
    border: none;
}

.case .section-foot .btnBox a span:before {
    background: #ffffff;
    color: #004098;
    border: 1px solid #004098;
    right: 10px;

}

.case .section-foot .btnBox a span:after,
.case .section-foot .btnBox a:hover span:after {
    color: #004098;
}

.case .section-foot .btnBox a::after {
    background-color: #004098;
    bottom: -2px;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    transform: scale(1, 1);
    transform-origin: right top;
    transition: transform .3s;
    width: 100%;
}

.case .section-foot .btnBox a:hover:after {
    transform: scale(0, 1);
}

/*------------------------------------------------------------*/
/* ２カラム
/*------------------------------------------------------------*/
.column .inner {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: center;
}

.column .section-box {
    margin: 0 4% 0 0;
    width: 48%;
    box-shadow: 0 3px 6px #dcdcdc;
}

.column .section-box:last-child {
    margin: 0;
}

.column .section-box a {
    text-decoration: none;
}

.column .section-box .imageBox .imageBoxInner {
    padding-bottom: 56.25%;
    position: relative;
    display: block;
    width: 100%;
    overflow: hidden;
}

.column .section-box .imageBox img {
    top: 0;
    left: 50%;
    margin-left: -50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
}

.home #contents .column .section-box .section-head {
    margin: 0 0 15px;
}

.column .section-box .section-foot .btnBox {
    text-align: right;
    margin-left: auto;
    padding-top: 15px;
}

.column .section-box .section-foot .btnBox p {
    color: #004098 !important;
    background-color: #FFFFFF !important;
    padding: 10px !important;
    display: inline-block;
    border-radius: 18.5px;
    letter-spacing: 0;
}

.column .section-box .section-foot .btnBox p span {
    padding: 0px 60px 0px 0px;
    position: relative;
}

.column .section-box .section-foot .btnBox p span::before,
.column .section-box .section-foot .btnBox p span::after {
    position: absolute;
    content: "";
    top: 50%;
}

.column .section-box .section-foot .btnBox p span:before {
    width: 20px;
    height: 20px;
    margin-top: -10px;
    border-radius: 10px;
    background: #ffffff;
    border: 1px solid #004098;
    right: 10px;
}

.column .section-box .section-foot .btnBox p span:after {
    content: "→";
    line-height: 1;
    font-size: 1.4rem;
    right: 13.5px;
    margin-top: -6px;
    color: #004098;
}

/*------------------------------------------------------------*/
/* 会社案内
/*------------------------------------------------------------*/
.company .detailBox,
.recruit .detailBox {
    background-color: #ffffff;
    padding: 20px 40px;
}

.company .btnBox p,
.recruit .btnBox p {
    margin: 0 0 0 auto;
    position: relative;
}

/* 下線のスタイル */
.company.section-box a .btnBox p::after,
.recruit.section-box a .btnBox p::after {
    background-color: #004098;
    /* 下線の色 */
    bottom: -2px;
    /* 要素の下端からの距離 */
    content: "";
    /* 要素に内容を追加 */
    height: 1px;
    /* 下線の高さ */
    left: 0;
    /* 要素の左端からの距離 */
    position: absolute;
    /* 絶対位置指定 */
    transform: scale(1, 1);
    /* 下線を横方向に0倍、縦方向に1倍に変形（非表示） */
    transform-origin: right top;
    /* 変形の原点を左上に指定 */
    transition: transform .3s;
    /* 変形をアニメーション化 */
    width: 100%;
    /* 要素の幅 */
}

/* リンクにホバーした際の下線の表示 */
.company.section-box a:hover .btnBox p::after,
.recruit.section-box a:hover .btnBox p::after {
    transform: scale(0, 1);
    /* 下線を横方向に1倍、縦方向に1倍に変形（表示） */
}

/*------------------------------------------------------------*/
/* 採用情報
/*------------------------------------------------------------*/


@media screen and (max-width: 1440px) {
    /*.common.solution::before {
        right: -250px;
    }

    #contents .section-area.news {
        padding: 0 !important;
    }

    #contents .seticon-area {
        padding: 40px;
    }

    .common.case::before {
        right: 50px;
    }

    .common.product::before {
        right: -100px;
    }

    .solution::after,
    .column::after {
        height: 24vw;
    }

    .product::after {
        height: 35vw;
    }

    .swiper-button-next,
    .swiper-rtl .swiper-button-prev {
        right: -10px !important;
        left: auto !important;
    }

    .swiper-button-prev,
    .swiper-rtl .swiper-button-next {
        left: -10px !important;
        right: auto !important;
    }

    .column .section-box {
        width: 48%;
    }*/
}

@media screen and (max-width: 1280px) {
    #MainVisual {
        height: 100%;
        padding: 80px 0 57.08333333333333%;
    }

    #MainVisual .slider {
        height: 100%;
        top: 0;
        padding: 0 0 57.08333333333333%;
    }

    #MainVisual .slider .image {
        padding: 0px 0 57.08333333333333%;
        background-size: contain;
        background-position: center bottom;
    }

    /*---------------------------------------------------------------*/
    /* お知らせ
    /*---------------------------------------------------------------*/
    .news::before {
        /*top: 60px;*/
    }

    .news::after {
        height: 360px !important;
    }

    .news::after {
        top: -120px !important;
    }

    .news-list ul li a {
        padding: 17.5px 20px;
    }

    /*------------------------------------------------------------*/
    /* Common
    /*------------------------------------------------------------*/
    .common::before {
        height: 12.5vw;
    }

    /*------------------------------------------------------------*/
    /* 宮崎アイホーのソリューション / 製品紹介 (共通)
    /*------------------------------------------------------------*/
    .common .section-body .box-list {
        padding: 60px 0 0;
    }

    .swiper-button-prev,
    .swiper-rtl .swiper-button-next {
        left: 15px !important;
        right: auto !important;
    }

    .swiper-button-next,
    .swiper-rtl .swiper-button-prev {
        right: 15px !important;
        left: auto !important;
    }

    /*------------------------------------------------------------*/
    /* 
    /*------------------------------------------------------------*/
    .solution::after,
    .product::after,
    .column::after {
        height: 25vw;
    }

    .solution::after,
    .column::after {
        /*top: 300px;*/
        top: 23.4375vw;
        transform: skewY(7deg);
    }

    .solution .title dl dt,
    .common .section-body .box-list .box .title dl dt {
        font-weight: 600;
    }

    .solution .title dl dd,
    .common .section-body .box-list .box .title dl dd {
        color: #999999;
        font-size: 1.3rem;
    }

    /*------------------------------------------------------------*/
    /* 製品紹介
    /*------------------------------------------------------------*/
    .product .section-body .box-list .box a {
        padding: 80px 20px;
    }

    /*------------------------------------------------------------*/
    /* 導入事例
    /*------------------------------------------------------------*/
    .case .imageBox {
        max-width: 300px;
    }

    .case .detailBox {
        width: 100%;
        margin: 0 0 0 -300px;
        padding: 0 0 0 400px;
    }
}

@media screen and (max-width: 1136px) {
    #MainVisual {
        padding: 75px 0 57.08333333333333%;
    }
}

@media screen and (max-width: 1024px) {


    .solution::after,
    .product::after,
    .column::after {
        height: 30vw;
    }

    #contents h2 {
        font-size: 3.0rem;
    }

    .home #contents {
        padding: 0 0 100px;
    }

    .home #contents .section-head h2 span.sub {
        font-size: 2.0rem;
    }

    #MainVisual .slider .image .btnBox {
        bottom: 30px;
        right: 30px;
    }

    /*---------------------------------------------------------------*/
    /* お知らせ
    /*---------------------------------------------------------------*/
    .news {
        padding: 80px 0;
    }

    /*
    .news::before {
        top: 50px;
    }*/

    .news::after {
        /*top: -30px !important;*/
        top: -90px !important;
        height: 300px !important;
    }

    .news h2 {
        font-size: 2.8rem !important;
        line-height: 1;
    }

    .news .inner {
        padding: 0 30px;
    }

    .news .section-box .section-head {
        padding: 0;
        margin: 0 auto 25px !important;
        line-height: 1;
        align-items: center;
    }

    .news-list ul li a {
        padding: 15px 25px;
    }

    .news-list dl dt {
        margin: 0 0 0 -250px;
        padding: 0 0 0 275px;
    }

    .news-list dl dd {
        max-width: 250px;
    }

    .news-list ul li a dl dd span.category {
        padding: 2.5px 20px;
        border-radius: 13px;
    }

    /*------------------------------------------------------------*/
    /* Common
    /*------------------------------------------------------------*/
    .common::before {
        height: 10vw;
    }

    /*------------------------------------------------------------*/
    /* 宮崎アイホーのソリューション / 製品紹介 (共通)
    /*------------------------------------------------------------*/
    .common .section-body .box-list {
        padding: 40px 0 0;
    }

    .column .section-box .section-foot .btnBox p span {
        padding: 0px 40px 0px 0px;
    }

    /*------------------------------------------------------------*/
    /* 
    /*------------------------------------------------------------*/
    .company .detailBox,
    .recruit .detailBox {
        padding: 20px;
    }

    .solution .btnBox a:hover,
    .case .btnBox a:hover {
        background-color: #ffffff;
        color: #004098;
        border: solid 1px #004098;
    }

    /*------------------------------------------------------------*/
    /* 宮崎アイホーのソリューション
    /*------------------------------------------------------------*/
    .swiper-pointer-events,
    .pickup-swiper {
        padding: 40px 0px;
    }

    .solution .section-body .section-bodyInner {
        padding: 0 60px;
    }

    .solution .section-body p {
        margin: 0 0 25px;
    }

    .solution .btnBox {
        margin: 40px auto 0;
    }

    .solution .title {
        padding: 20px 10px;
    }

    .solution .section-bodyInner .swiper-button-prev:after,
    .solution .section-bodyInner .swiper-button-next:after {
        width: 25px;
        height: 25px;
    }

    .swiper-button-next,
    .swiper-button-prev {
        width: 40px !important;
        margin-top: -20px !important;
    }

    .solution .section-bodyInner .swiper-button-prev:after,
    .solution .section-bodyInner .swiper-button-next:after {
        width: 40px;
        height: 40px;
    }

    .swiper-button-prev,
    .swiper-rtl .swiper-button-next {
        left: 0px !important;
    }

    .swiper-button-next,
    .swiper-rtl .swiper-button-prev {
        right: 0px !important;

    }

    /*------------------------------------------------------------*/
    /* 実例紹介
    /*------------------------------------------------------------*/
    .case .detailBox {
        width: 100%;
        margin: 0 0 0 -300px;
        padding: 0 0 0 380px;
    }

    /*------------------------------------------------------------*/
    /* 製品紹介
    /*------------------------------------------------------------*/
    /*.product .section-body .box-list .box {
        width: 25.33333333333333%;
        margin: 0 4% 4%;
    }

    .product .section-body .box-list .box:nth-child(n+4) {
        margin: 0 4%;
    }*/

}

@media screen and (max-width: 960px) {}

@media screen and (max-width: 835px) {

    #MainVisual .slider .image .btnBox {
        bottom: 25px;
        right: 25px;
    }

    #MainVisual .slider .image .btnBox a {
        width: 175px;
        padding: 10px 5px;
        border-radius: 17.5px;
    }

    /*---------------------------------------------------------------*/
    /* お知らせ
    /*---------------------------------------------------------------*/
    .news {
        padding: 60px 0;
    }

    .news::before {
        top: 30px;
    }

    /*
    .news::after {
        top: -25px !important;
    }*/


    .news::after {
        /*top: -30px !important;*/
        top: -60px !important;
        height: 220px !important;
    }

    .news .inner {
        padding: 0px;
    }

    .news .section-box .section-head {
        padding: 0 30px;
        margin: 0 auto 20px !important;
    }

    .news .section-foot {
        padding: 25px 30px 0;
    }

    .news-list ul li a {
        padding: 15px 30px;
    }

    /*------------------------------------------------------------*/
    /* 宮崎アイホーのソリューション / 製品紹介 (共通)
    /*------------------------------------------------------------*/
    .common .section-body .box-list {
        padding: 30px 0 0;
    }


    /*------------------------------------------------------------*/
    /* 
    /*------------------------------------------------------------*/
    .home #contents {
        padding: 0 0 80px;
    }

    .common .section-body .box-list {
        padding: 50px 0 0;
    }


    /*------------------------------------------------------------*/
    /* 宮崎アイホーのソリューション / 製品紹介 / ２カラム
    /*------------------------------------------------------------*/
    .solution::after,
    .product::after,
    .column::after {
        height: 22.5vw;
    }

    .solution::after,
    .column::after {
        top: 35.15625vw;
    }


    /*------------------------------------------------------------*/
    /* 宮崎アイホーのソリューション
    /*------------------------------------------------------------*/
    .swiper-pointer-events,
    .pickup-swiper {
        padding: 30px 0px;
    }

    .solution .section-body .section-bodyInner {
        padding: 0 50px;
    }

    .solution .btnBox {
        margin: 30px auto 0;
    }

    .solution .section-bodyInner .swiper-button-prev:after,
    .solution .section-bodyInner .swiper-button-next:after {
        width: 20px;
        height: 20px;
    }

    .swiper-button-next,
    .swiper-button-prev {
        width: 30px !important;
        margin-top: -15px !important;
    }

    .solution .section-bodyInner .swiper-button-prev:after,
    .solution .section-bodyInner .swiper-button-next:after {
        width: 30px;
        height: 30px;
    }

    /*------------------------------------------------------------*/
    /* 製品紹介
    /*------------------------------------------------------------*/
    .common.product::before {
        /*right: -29.94011976047904vw;*/
    }

    /*.product .section-body .box-list .box {
        width: 27.33333333333333%;
        margin: 0 3% 4%;
    }

    .product .section-body .box-list .box:nth-child(n+4) {
        margin: 0 3%;
    }*/

    .product .section-body .box-list .box a {
        padding: 50px 15px;
    }

    .product .box-list .box .image {
        max-width: 120px;
    }


    .case .imageBox {
        max-width: 280px;
    }

    .case .detailBox {
        width: 100%;
        margin: 0 0 0 -280px;
        padding: 0 0 0 360px;
    }

    /*------------------------------------------------------------*/
    /* 実例紹介
    /*------------------------------------------------------------*/
    .case .detailBox {
        margin: 0 0 0 -300px;
        padding: 0 0 0 360px;
    }

    /*------------------------------------------------------------*/
    /* ２カラム
    /*------------------------------------------------------------*/
    .home #contents .column .section-box .section-body {
        letter-spacing: 0;
        font-size: 90%;
    }

}

@media screen and (max-width: 750px) {

    /*---------------------------------------------------------------*/
    /* MainVisual
    /*---------------------------------------------------------------*/
    #MainVisual {
        padding: 65px 0 57.08333333333333%;
    }

    #MainVisual .slider .image .btnBox {
        bottom: 20px;
        right: 20px;
    }

    #MainVisual .slider .image .btnBox a {
        width: 175px;
        padding: 10px 5px;
        border-radius: 17.5px;
    }

    #MainVisual .slider .image .btnBox a span {
        font-size: 90%;
        letter-spacing: 0;
    }

    /*---------------------------------------------------------------*/
    /* お知らせ
    /*---------------------------------------------------------------*/
    .news::before {
        top: 0;
    }

    .news::after {
        top: -8vw !important;
        height: 29.333333333333332vw !important;
    }

    .news .section-box .section-head {
        padding: 0 25px;
        margin: 0 auto 15px !important;
    }

    .news .section-foot {
        padding: 20px 25px 0;
    }

    .news-list ul li a {
        padding: 15px 25px;
    }

    .news-list dl {
        flex-direction: column;
    }

    .news-list dl dt {
        margin: 0;
        padding: 0;
    }

    .news-list dl dd {
        margin: 0 0 10px;
        max-width: 100%;
        width: 100%;
        font-size: 90%;
    }

    .news dl dd span.date {
        margin-right: 15px;
    }

    .news-list ul li a dl dd span.category {
        padding: 2px 15px;
        border-radius: 11.5px;
    }



    /*------------------------------------------------------------*/
    /* 
    /*------------------------------------------------------------*/
    .common::before {
        height: 14vw;
    }

    .home #contents {
        padding: 0 0 60px;
    }

    #contents h2 {
        font-size: 2.8rem;
    }

    .home #contents .section-head h2 span.sub {
        font-size: 2.0rem;
    }

    /*------------------------------------------------------------*/
    /* 宮崎アイホーのソリューション / 製品紹介 / ２カラム
    /*------------------------------------------------------------*/
    .solution::after,
    .product::after,
    .column::after {
        height: 33.33vw;
    }

    .solution::after,
    .column::after {
        top: 40vw;
    }


    /*------------------------------------------------------------*/
    /* 宮崎アイホーのソリューション / 製品紹介 (共通)
    /*------------------------------------------------------------*/
    .common .section-body .box-list {
        padding: 25px 0 0;
    }


    .common .section-body .box-list {
        padding: 40px 0 0;
    }

    .common .section-body .box-list .box .title dl dd {
        font-size: 1.3rem;
    }


    /*------------------------------------------------------------*/
    /* 宮崎アイホーのソリューション
    /*------------------------------------------------------------*/
    .swiper-pointer-events,
    .pickup-swiper {
        padding: 25px 0px;
    }

    .solution .btnBox {
        margin: 25px auto 0;
    }

    .solution .section-body .box-list .box .image .imageInner,
    .solution .section-body .swiper-wrapper .image .imageInner {
        padding-bottom: 56.25%;
    }

    .solution .title dl dd,
    .common .section-body .box-list .box .title dl dd {
        font-size: 1.2rem;
        letter-spacing: 0;
    }


    /*------------------------------------------------------------*/
    /* 製品紹介
    /*------------------------------------------------------------*/
    .product .section-body .box-list .box {
        width: 48%;
        margin: 0 4% 4% 0;
    }

    .product .section-body .box-list .box a {
        padding: 25px;
    }

    .product .section-body .box-list .box:nth-child(3n),
    .product .section-body .box-list .box:nth-child(n+4) {
        margin: 0 4% 4% 0 !important;
    }

    .product .section-body .box-list .box:nth-child(2n) {
        margin: 0 0 4% !important;
    }

    .product .section-body .box-list .box:nth-child(n+5) {
        margin: 0 4% 0 0 !important;
    }

    .product .section-body .box-list .box:last-child {
        margin: 0 !important;
    }

    .product .box-list .box .image {
        max-width: 130px;
        margin: 0 auto 15px;
    }

    /*------------------------------------------------------------*/
    /* 導入事例
    /*------------------------------------------------------------*/

    .common.case::before {
        bottom: 150px;
    }


    .case .imageBox {
        max-width: 200px;
    }

    .case .detailBox {
        margin: 0 0 0 -200px;
        padding: 0 0 0 240px;
    }

    .case .btnBox {
        margin-left: auto;
        margin-top: 25px;
    }



}

@media screen and (max-width: 640px) {

    /*---------------------------------------------------------------*/
    /* お知らせ
    /*---------------------------------------------------------------*/
    .news h2 {
        font-size: 2.5rem !important;
    }

    .news .section-foot .btnBox {
        max-width: 150px;
    }

    /*---------------------------------------------------------------*/
    /* MainVisual
    /*---------------------------------------------------------------*/
    #MainVisual {
        /*padding: 65px 0 117.1875%;*/
        padding: 65px 0 131.25%;
    }

    #MainVisual .slider,
    #MainVisual .slider .image {
        /*padding: 0 0 117.1875%;*/
        padding: 0 0 131.25%;
    }

    /* Main Visual Slider Background Images */
    #MainVisual .slider .image.src1 {
        background-image: url(../images/top/mainvisual/background_sp.jpg);
    }

    #MainVisual .slider .image.src2 {
        background-image: url(../images/top/mainvisual/background02_sp.jpg);
    }

    #MainVisual .slider .image.src3 {
        background-image: url(../images/top/mainvisual/background03_sp.jpg);
    }



    .column .inner,
    .case .inner {
        display: block;
    }



    #contents h2 {
        font-size: 2.5rem;
    }

    .home #contents .section-head h2 span.sub {
        font-size: 1.8rem;
    }

    .common::before {
        height: 17.5vw;
    }

    .common.solution::before,
    .common.product::before {
        right: -15.625vw;
    }


    /*------------------------------------------------------------*/
    /* 宮崎アイホーのソリューション / 製品紹介 / ２カラム
    /*------------------------------------------------------------*/
    .solution::after,
    .product::after,
    .column::after {
        height: 35vw;
    }

    .solution::after,
    .column::after {
        top: 65vw;
    }

    /*------------------------------------------------------------*/
    /* 宮崎アイホーのソリューション
    /*------------------------------------------------------------*/
    .solution .title {
        margin: auto;
        max-width: 100%;
        width: 100%
    }

    .solution .title dl dt,
    .common .section-body .box-list .box .title dl dt {
        font-size: 1.5rem;
    }

    .common .section-body .box-list .box .title dl dd,
    .solution .title dl dd {
        font-size: 1.1rem;
    }

    /*------------------------------------------------------------*/
    /* 製品紹介
    /*------------------------------------------------------------*/
    .product .section-body .box-list .box {
        width: 48%;
        margin: 0 4% 4% 0;
    }

    .product .section-body .box-list .box a {
        padding: 25px 15px;
    }

    .product .section-body .box-list .box:nth-child(3n),
    .product .section-body .box-list .box:nth-child(n+4) {
        margin: 0 4% 4% 0 !important;
    }

    .product .section-body .box-list .box:nth-child(2n) {
        margin: 0 0 4% !important;
    }

    .product .section-body .box-list .box:nth-child(n+5) {
        margin: 0 4% 0 0 !important;
    }

    .product .section-body .box-list .box:last-child {
        margin: 0 !important;
    }

    .product .box-list .box .image {
        max-width: 100px;
    }

    /*------------------------------------------------------------*/
    /* 導入実績
    /*------------------------------------------------------------*/
    .case {
        padding: 0 0 60px;
        margin: 0 !important;
    }

    .case .inner {
        display: block;
    }

    .common.case::before {
        bottom: inherit;
        top: 0px;
    }

    .case .imageBox {
        display: none;
    }

    .case .detailBox {
        margin: 0;
        padding: 0;
        display: block;
    }

    .case .detailBox .imageBoxSp {
        display: block;
        margin: 0 auto 25px;
    }

    .case .detailBox .imageBoxSp .imageBoxInner {
        padding-bottom: 40%;
        position: relative;
        display: block;
        width: 100%;
        overflow: hidden;
    }

    .case .detailBox .imageBoxSp .imageBoxInner img {
        top: 0;
        left: 50%;
        margin-left: -50%;
        width: 100%;
        height: 100%;
        object-fit: cover;
        position: absolute;
    }

    /*------------------------------------------------------------*/
    /* ２カラム
    /*------------------------------------------------------------*/
    .column .section-box .imageBox .imageBoxInner {
        padding-bottom: 40%;
    }

    .column .section-box {
        width: 100%;
        margin: 0;
    }

    .column .section-box:last-child {
        margin: 30px 0 0;
    }

}

@media screen and (max-width: 480px) {

    /*---------------------------------------------------------------*/
    /* MainVisual
    /*---------------------------------------------------------------*/
    #MainVisual {
        padding: 60px 0 117.1875%;
    }

    /*---------------------------------------------------------------*/
    /* お知らせ
    /*---------------------------------------------------------------*/
    .news h2 {
        font-size: 2.3rem !important;
    }


    .common .section-body .box-list {
        display: block;
        padding: 40px 0 0;
    }

    .common::before {
        /*height: 80px;*/
        font-size: 120px;
    }

    #contents h2 {
        font-size: 2.0rem;
    }

    .home #contents .section-head h2 span.sub {
        font-size: 1.6rem;
    }



    /*------------------------------------------------------------*/
    /* 宮崎アイホーのソリューション
    /*------------------------------------------------------------*/
    .solution .title {
        width: 100%;
    }

    .solution::after,
    .column::after {
        height: 40vw;
    }

    .column::after {
        height: 100vw;
        top: 62.5vw;
    }

    .common .section-body .box-list .box .title dl dd,
    .solution .title dl dd {
        font-size: 1.125rem;
    }

    /*------------------------------------------------------------*/
    /* 製品紹介
    /*------------------------------------------------------------*/
    .product::after {
        height: 200vw;
    }

    .product .section-body .box-list .box {
        width: 100%;
        margin: 0 0 20px;
    }

    .product .section-body .box-list .box a {
        padding: 15px;
    }

    .product .section-body .box-list .box:nth-child(3n),
    .product .section-body .box-list .box:nth-child(n+4),
    .product .section-body .box-list .box:nth-child(2n),
    .product .section-body .box-list .box:nth-child(n+5) {
        margin: 0 0 20px !important;
    }

    .product .section-body .box-list .box:last-child {
        margin: 0 !important;
    }

    .product .box-list .box a {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        flex-direction: row;
        align-items: center;
    }

    .product .section-body .box-list .box .boxInner {
        display: table;
        width: auto;
        margin: 0 auto;
        border-collapse: separate;
        border-spacing: 10px 0;
    }

    .product .box-list .box .image {
        max-width: 80px;
        width: 80px;
        margin: 0;
        display: table-cell;
        vertical-align: middle;
    }

    .product .box-list .box .title {
        /*width: 100%;
        margin: 0 0 0 -80px;
        padding: 0 0 0 95px;*/
        text-align: left;
        display: table-cell;
        vertical-align: middle;
        padding: 0 0 0 20px;
        width: 200px;
    }


    /*------------------------------------------------------------*/
    /* 導入事例
    /*------------------------------------------------------------*/
    .common.case::before {
        bottom: inherit;
        top: 60px;
    }

    .case {
        padding: 60px 0;
    }


}

@media screen and (max-width: 350px) {}