@media (max-width: 640px){
    div.inner{
        padding:0 30px;
    }

    div.inner-1040{
        padding:0 30px;
    }

    div.inner-940{
        padding:0 30px;
    }

    span.sp-di{
        display: inline;
    }

    span.sp-db{
        display: block;
    }

    /* ベーシックお問い合わせボタン */
    a.btn-contact-basic{
        font-size: clamp(0.875rem,3.9vw,0.9375rem);
        height:56px;
    }

    /* スライドショーエリアの左右に動かすボタンとインジケーター */
    div.slide-area_btn{
        margin-top:0;
    }

    div.slide-area_btn div.btn-container{
        pointer-events: none;
            position:absolute;
        width:calc(100vw - 60px);
        display:flex;
        justify-content: space-between;
        right:0;
        left:0;
        top:0;
        bottom:0;
        margin:auto;
    }

    div.slide-area_btn ul.indicator{
        margin:auto;
    }

    div.slide-area_btn ul.indicator li{
        width:30px;
    }

    div.slide-area{
        position:relative;
    }

    div.slide-area div.slide-list-wrapper{
        overflow-x: hidden;
        width:100%;
        padding:0 20px;
        box-sizing: border-box;
    }

    div.slide-area ul.slide-list{
        width:100%;
        margin:30px 0 30px;
        gap:40px;
    }

    div.slide-area ul.slide-list li a{
        width:calc(100vw - 100px);
    }

    div#contact {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    div#contact div.inner{
        row-gap: 0;
        grid-template-columns: 1fr;
    }
    
    div#contact div.inner div.contact_wrapper{
        padding:40px 0;
        width:100%;
    }

    div#contact div.inner div.contact_wrapper.contact{
        border-bottom:1px solid #D0D6E2;
    }
    
    div#contact div.inner div.contact_wrapper a{
        width:100%;
        padding:20px;
        box-sizing: border-box;
        font-size:clamp(0.875rem,4.6vw,1rem);
        white-space: nowrap;
    }
    
    div#contact div.inner div.contact_wrapper p{
        font-size: 1.25rem;
        line-height: 1.4;
        margin-bottom:20px;
        font-size:clamp(1rem,5.7vw,1.25rem);
    }

    /* お問い合わせパーツ*/
    div.parts-contact p{
        font-size:1.125rem;
    }

    /* 検索フォーム */
    form#search-form{
        padding:0 30px;
    }

    form#search-form div.search-form-inner{
        padding:30px;
    }

    form#search-form dl div.search-item-wapper{
        display:block;
    }

    form#search-form dl dd{
        width:100%;
        margin-top:10px;
    }

    /* ページネーション */
    ul.pagination-list li:nth-child(5),
    ul.pagination-list li:nth-child(6){
        display:none;
    }

    /* 下層ページヘッダー */
    header.page-header{
        padding:160px 0 30px;
    }

    /* 詳細ページヘッダー */
    header.page-detail-header{
        padding:160px 0 30px;
        margin-bottom: 20px;
    }

    header.page-detail-header ul.btn-list{
        flex-direction: column;
        align-items: center;
    }

    header.page-detail-header ol.breadcrumb{
        margin-top:60px;
    }

    /* 関連する開発事例 */
    section#related-case ul.case-list li.case-list-li a.case-link{
        display:block;
        padding:30px;
    }

    section#related-case ul.case-list li.case-list-li a.case-link div.case-img-area{
        max-width:100%;
        min-width:180px;
        margin-right:0;
        margin-bottom:20px;
    }

    /* ソフトウェア開発一覧 */
    section#parts-development{
        padding-top: 40px;
        padding-bottom:202px;
    }

    section#parts-development div.inner{
        position:relative;
    }

    section#parts-development a.btn-basic{
        position:absolute;
        bottom:-92px;
    }

    /* 下層ページトップエリア */
    div.page-top-ttl-area{
        margin-top:72px;
    }

    div.page-top-ttl-area div.border-left{
        padding:20px 0 20px 38px;
    }

    div.page-top-ttl-area div.border-left h2{
        font-size:1.625rem;
    }

    div.page-top-ttl-area p.bottom-txt{
        padding-left:38px;
    }

    /* ベーシックなリスト */

    ul.basic-list li.basic-list-li{
        max-width:100%;
    }

    /* irナビゲーション */
    div#nav-ir{
        padding:60px 0;
    }

    div#nav-ir ul.ir-link-list{
        display:block;
    }

    div#nav-ir ul.ir-link-list li.ir-link-li:not(:last-child){
        margin-bottom:30px;
    }
    
    /* irお問い合わせ */
    div#ir-contact div.contents{
        padding:30px;
    }

    div#ir-contact h2{
        font-size:1.375rem;
        color: #397BDF;
        line-height:1.27;
        margin-bottom:20px;
    }

    div#ir-contact dl.isb-contact-list dd:last-of-type{
        text-align:left;
    }

    div#ir-contact dl.contact-list{
        justify-content: flex-start;
        text-align:left;
    }

    div#ir-contact p{
        text-align:left;
    }

    /* タブリスト */
    ul.tab-list{
        justify-items: center;
    }

    ul.tab-list li{
        max-width: 200px;
        width:100%;
    }

    /* 企業情報ナビゲーション */
    div#nav-company{
        padding:60px 0;
    }

    div#nav-company ul.company-link-list{
        gap: 10px;
    }

    /* 下層ページ余白 */
    div.unique-area{
        margin-top:70px;
        margin-bottom:80px;
    }

    div#gfpr {
        padding: 12px;
        box-sizing: border-box;
    }
    div#gfpr div.inner {
        padding: 24px;
        flex-direction: column;
        gap: 12px;
        box-sizing: border-box;
    }
    div#gfpr div.inner p.yes {
        width: 100%;
        box-sizing: border-box;
        text-align: center;
    }
    div#gfpr div.inner p.no {
        width: 100%;
        box-sizing: border-box;
        text-align: center;
    }
}

@media (max-width: 389px){
    ul.pagination-list li:nth-child(4){
        display:none;
    }

    ul.pagination-list li.prev{
        margin-right:20px;
    }
    
    ul.pagination-list li.next{
        margin-left:20px;
    }
}