@charset "UTF-8";
/*サービスページ共通*/
/* 25.12.10 hayashi add S */
h4 {
    text-align: left;
    font-size: 24px;
    font-weight: bold;
    padding: 0px 0 10px;
}
/* 25.12.10 hayashi add E */
.container {
    width:80%;
    margin: 0 auto;
}
#service {
    font-size: 15vw;
    font-family: var(--fontAlpha);
    margin: -7vw auto;
    max-width: 1060px;
    max-width: 80%; /*-- 25.12.10 hayashi add --*/
}
#service-span {
    font-size: 1.8vw;
    font-weight: bold;
}
.line {
    font-size: 1.8vw;
}
.service_above_pc {
    width: 100%;
    display: block;
}
.service_above_sp {
    display: none;
}
.title {
    font-family: var(--fontAlpha);
    text-align: center;
    font-size: 40px;
}
/*製品・加工サービスページ*/
#reason-flex {
    display: flex;
    margin: 50px auto 100px;
}

#reason-left {
    flex-basis: 50%;
    width: 50%;
    display: block;
}

#reason-contents {
    flex-basis: 50%;
    width: 50%;
}

#ability {
    margin-bottom: 150px;
}
.ability-flex {
    display: flex;
    margin: 50px auto;
}
.ability-flex-right {
    width: 50%;
    padding-left: 10px;
}
.ability-flex-left{
    width: 50%;
    padding-right: 10px;
}
.ability-flex-right img {
    width: 100%;
}
.ability-flex-left img {
    width: 100%;
}

#ability-p {
    margin: 0 auto;
}
.ability-flex h3 {
    font-weight: bold;
    margin-top: -12px;
    font-size: 20px;
}

.ability-sp {
    display: none;
}

#reason-above {
    display: none;
}

#reason-contents h3 {
    font-size:1.6vw;
    font-weight: bold;
    padding-left: 30px;
}
#reason-contents p {
    padding-left: 25px;
    font-size: 1.2vw;
}
/*メディカル・ヘルスケアページ*/
#medical_above_pc {
    display: block;
    width: 100%;
}
#medical_above_sp {
    display: none;
}
#medical-above-p {
    max-width: 700px;
    margin: 30px auto;
}
#medical-above-p p {
    line-height: 1.8;
}

#quality {
    margin: 70px auto;
}
#quality-flex {
    display: flex;
    margin: 0 auto;
}
#certificate-img {
    padding: 0 50px;
    width: 50%;
}

#quality-flex p {
    line-height: 1.8;
    width: 50%;
}

#factory {
    margin-top: 70px;
    margin-bottom: 150px;
    margin: 70px auto 150px;
}
#factory-flex {
    display: flex;
    margin: 0 auto;
}
#factory_pc {
    display: block;
    width: 50%;
}
#factory_p {
    width: 50%;
    margin-right: 20px;
}
#factory_sp {
    display: none;
}
/*アセンブリページ*/
#product table {
    width: 80%;
    margin:30px auto;
}
#product table th {
    text-align: center;
}
.td-left {
    width:30%;
    text-align: center;
    padding: 15px;
} 
.td-right {
    width: 70%;
    padding: 15px;
}
#assembly_q_container {
    width: 140%;
    height: 400px;
    position: relative;
}
#assembly_quality-flex {
    position: absolute;
    left: 0;
    height: 400px;
    display: flex;
    width: 100%;
    background-image: url(/eastool/assets/img/service/assembly/assembly_quality_bg_pc.webp);
    background-repeat: no-repeat;
    background-position: center;
    margin-left: -15%;
}
#empty-space {
    flex-basis:60%;
}
#assembly-ul {
    margin-top: 100px;
}
#assembly-ul li{
    list-style-type: disc;
}
#achievements {
    width: 100%;
}
#achievements_p {
    margin-top: 30px;
    margin-bottom: 100px;
}
/*表面実装（SMT）ページ*/
#print {
    margin: 70px auto;
}
#print-flex {
    display: flex;
    margin: 0 auto;
}
#print-flex h3 {
    font-weight: bold;
    margin-top: -12px;
    font-size: 25px;
}
#print-img {
    padding: 0 50px;
    width: 50%;
}
#print-img_sp {
    display: none;
}
#print-flex-div {
    width: 50%;
}
#print-flex p {
    line-height: 1.8;
}
#smt-ability-above {
    background-image: url(/eastool/assets/img/service/smt/ability_back.webp);
    background-repeat: no-repeat;
    background-position: center;
    background-size:cover;
}

#smt-ability-above-container {
    width: 75%;
    margin: 0 auto;
}

#smt-ability-above-container h4 {
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    padding: 150px 0 50px;
}

#smt-ability-above-container p {
    padding: 50px 0;
    padding: 50px;/*--20251218yokota--*/
    line-height: 1.8;
}
#smt-ability-under-container {
    width: 65%;
    margin: 0 auto;
}
#smt-ability-under-container p {
    margin-top: 80px;
    padding: 0 50px;/*--20251218yokota--*/
}
#smt-ability table {
    margin: 40px auto 120px;
    width: 95%;
}

.center{
    text-align: center;
}

#smt-ability table th{
    text-align: center;
    background-color: #cccccc; 
    color: #000;
}

/* テーブルの1列目のtdだけを中央寄せにする */
#smt-ability table tr td:first-child {
    text-align: center;
    vertical-align: middle;
    width: 110px; /* 必要に応じて幅を指定すると綺麗に見えます */
}

#smt-ability table td {
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left:15px;
    color: #fff;
}

/* テーブルの親要素にスクロールを設定 */
.table-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; /* iOSでのスクロールを滑らかにする */
    margin-bottom: 20px;
}

#smt-quality {
    /* 25.12.10 hayashi upd S */
    /* margin-bottom: 150px; */
    margin-bottom: 70px auto;
    /* 25.12.10 hayashi upd E */
}
.text-under-image {
    width: 65%;
}
.h3-float-left {
    
}
/* 25.12.05 hayashi add A */
#smt-quality {
    margin-bottom: 150px;
}
.storage-flex {
    display: flex;
    margin: 0 auto 50px;
    align-items: flex-start;
}
.pc_mode_2col {
    display: block;
    width: 50%;
    padding: 0 50px;
}
.sp_mode_2col {
    display: none;
}
.storage-flex .text-content {
    width: 50%;
    text-align: left;
}
.storage-flex .text-content p {
    line-height: 1.8;
}
#smt-achievements-container {
    width: 65%;
    margin: 0 auto;
}
#smt-achievements table {
    margin: 40px auto 120px;
    width:80%;
}

#smt-achievements table tr td:first-child {
    text-align: center;
    vertical-align: middle;
    width: 120px; /* 必要に応じて幅を指定すると綺麗に見えます */
}

#smt-achievements table th{
    background-color: #cccccc; 
    color: #000;
    text-align: center;
}
#smt-achievements table td {
    padding: 15px 0 15px 15px;
    color: #fff;
}

/* 基本は非表示（PCサイズでは改行しない） */
.sp-only {
    display: none;
}

/* 25.12.05 hayashi add E */
@media (max-width:992px) {
    /*サービスページ共通*/
    .container {
        width:95%;
    }
    .service_above_sp {
        height:auto;
        width: 100%;
        display: block;
    }
    .service_above_pc {
        display: none;
    }
    /*製品・加工サービスページ*/
    #reason-flex {
    }

    .ability-flex {
        display: flex;
    }
    #ability-p {
        width:95%;
    }
    #reason-contents h3 {
        font-size:1.8vw;
    }
    #reason-contents p {
        font-size: 1.7vw;
    }
    .ability-flex h3 {
        margin-top: -12px;
        font-size: 2.5vw;
    }
    .ability-flex p {
        font-size: 1.8vw;
    }
    /*メディカル・ヘルスケアページ*/
    #factory_pc {
        display: none;
    }
    #factory_sp {
        display: block;
        width: 50%;
    }
    /*アセンブリページ*/
    #empty-space {
       flex-basis: 50%;
    }
    /*SMT*/
    #smt-ability-above {
        background-image: url(/eastool/assets/img/service/smt/ability_back_sp.webp);
    }
    /* 25.12.09 hayashi add S */
    .pc_mode_2col {
        display: none;
    }
    .sp_mode_2col {
        display: block;
        width: 50%;
        padding: 0 30px;
    }
    #smt-ability-under-container {
        width: 95%;
    }
    #smt-achievements-container{
        width: 95%;
    }
    /* 25.12.09 hayashi add E */


    #smt-achievements table {
    margin: 40px auto 120px;
    width:90%;
    }
}




@media (max-width:768px) {
    /*製品・加工サービスページ*/
    #reason-flex {
        display: block;
    }
    #reason-above {
        display: block;
        margin: 50px auto 0;
        width: 100%;
    }
    #reason-left {
        display: none;
    }
    #reason-contents {
        width: 100%;
    }
    #reason-contents h3 {
        font-size:2.5vw;
        padding-left: 0px;
    }
    #reason-contents p {
        font-size: 2.3vw;
        padding-left: 0px;
    }
    .ability-flex {
        display: none;
    }
    .ability-sp {
        display: block;
        width: 95%;
        margin: 0 auto;
    }
    .ability-sp img {
        display: block;
        margin: 30px auto 0;
    }
    .ability-sp h3 {
        font-weight: bold;
        text-align: center;
        font-size: 3vw;
    }
    .ability-sp p {
        display: block;
        margin: 0 auto;
        font-size: 2.5vw;
    }

    #smt-ability-above-container {
    width: 90%;
    margin: 0 auto;
    }



    #service-span {
        font-size: 3vw;
        font-weight: bold;
    }
    .line {
        font-size: 3vw;
    }



    #smt-ability-above-container p {
    padding: 50px 0;
    padding: 20px 0px;/*--20251218yokota--*/
    line-height: 1.8;
    }

    #smt-ability-under-container p {
    margin-top: 80px;
    padding: 20px 0px;/*--20251222yokota--*/
    }

#smt-achievements table {
    margin: 20px auto 20px;
    width:100%;
}

#smt-ability table {
    width: 100%;

}

.table-wrapper table {
        min-width: 95%; /* スクロールさせるための最小横幅 */
        min-width: 600px; /* スクロールさせるための最小横幅 */
        width: 95%;
    }

/* 1.1億ポイント/月 などの長いテキストがあるセルを調整 */
    #smt-ability table td {
        font-size: 13px; /* スマホで文字がはみ出さないよう微調整 */
        padding: 8px 5px;
}


/* 修正：1列目と2列目のテキストを中央寄せにする */
#smt-ability table tr td:first-child
/*#smt-ability table tr td:nth-child(2)*/ {
    text-align: center;
    vertical-align: middle;
    width: 6em; /* 必要に応じて幅を調整してください */
}



#smt-achievements table tr td:first-child {
    text-align: center;
    vertical-align: middle;
    width: 70px; /* 必要に応じて幅を指定すると綺麗に見えます */

    writing-mode: vertical-rl; /* 縦書き（右から左へ行が進む設定） */
    text-orientation: upright; /* 文字の向きを正立させる（全角文字が横に倒れないようにする） */
    white-space: nowrap;       /* 勝手に途中で改行されないようにする */
    padding: 10px 5px;         /* 余白の調整 */
    width: 2em;                /* 幅を文字数分（約2文字分）に固定 */
    text-align: center;
    vertical-align: middle;
}

#smt-achievements table th{
    background-color: #cccccc; 
    color: #000;
    text-align: center;
}
#smt-achievements table td {
    padding: 15px 0 15px 15px;
    color: #fff;
}


    /*メディカル・ヘルスケアページ*/
    #medical_above_pc {
        display: none;
    }
    #medical_above_sp {
        display: block;
        width: 100%;
    }
    #quality-flex {
        display: block;
    }
    #certificate-img {
        padding: 0 200px;
        width: 100%;
        margin: 30px auto;
    }
    #quality-flex p {
        width: 100%;
    }

    #factory-flex {
        display: block;
    }
    #factory_sp {
        width: 80%;
        margin: 20px auto;
    }
    #factory_p {
        width: 100%;
        margin-right: 0px;
    }
    /*アセンブリページ*/
    #product table{
        width: 100%;
    }
    #empty-space {
        flex-basis: 30%;
    }
    /*SMT:*/
    #print-flex {
        display: block;
    }
    #print-img {
        display: none;
    }
    #print-img_sp {
        display: block;
        width: 100%;
    }
    #print-flex-div {
        width: 100%;
    }
    #print-flex h3{
        margin-top: 10px;
    }
    /* 25.12.09 hayashi add S */
    .storage-flex {
        display: block;
    }
    .pc_mode_2col {
        display: none;
    }
    .sp_mode_2col {
        display: block;
        width: 100%;
        padding: 0 20px;
        margin: 10px auto;
    }
    .storage-flex p {
        width: 100%;
    }
    .storage-flex .text-content {
        width: 100%;
        text-align: left;
    }
    /* 25.12.09 hayashi add E */

    /* スマホサイズ（画面幅767px以下）の時だけ表示して改行させる */
    .sp-only {
        display: inline;
    }

    h4 {
    line-height: 1.5;
    }

}
@media (max-width:676px) {
    /*製品・加工サービスページ*/
    #ability-p {
        font-size:2.5vw;
    }
    .ability-sp h3 {
        font-weight: bold;
        text-align: center;
        font-size: 4vw;
    }
    .ability-sp p {
        display: block;
        margin: 0 auto;
        font-size: 3vw;
    }
    /*メディカル・ヘルスケアページ*/
    #certificate-img {
        padding: 0 100px;
        width: 100%;
        margin: 30px auto;
    }
    /*アセンブリページ*/
    #empty-space {
        width: 10%;
    }
    #assembly_quality-flex {
        background-image: url(/eastool/assets/img/service/assembly/assembly_quality_bg_sp.webp);
        height: 400px;
    }
    .td-left {
        font-size: 2.5vw;
    } 
    .td-right {
        font-size: 2.5vw;
    }
}
@media (max-width:500px) {
    /*アセンブリページ*/
    #assembly-ul {
        padding: 50px 5px;
        margin-top: 50px;
        margin-left: -60px;
    }
    #assembly-ul li{
        font-size: 3.5vw;
    }
}


