@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

/* PC版・スマホ版共通のスタイル */

 #contents {
    /* display: flex; */
    font-family: Noto Sans JP;
    font-size: 13px;
} 

/* bootstrap.min.cssを上書き */
.table>:not(caption)>*>* {
    padding: 0 0;
}

/* ホームに戻るボタン */
.goto_home {
    /* height: 60px; */
    height: 90px;
    /* line-height: 60px; */
    border-top: 1px solid #BEC5DC;
    border-bottom: 1px solid #BEC5DC;
    text-align: center;
    margin-top: 70px;
}

.goto_home a {
    display: block;
    /* height: 40px; */
    /* line-height: 40px; */
    width: 120px;
    text-align: right;
    margin: 0 auto;
    background-image: url('../image/page_navi_first.png');
    background-repeat: no-repeat;
    background-position: 0 3px;
    /* margin-top: 27px; */
    margin-top: 35px;
    text-decoration: none;
    font-family: "Noto Sans JP";
    font-size: 14px;
    font-weight: 700;
    color: #282F46;
}

  /* GoogleMapサイズ指定 */
  .gmap_iframe {
    aspect-ratio: 4 / 3;
    max-width: 1000px;
    width: 100%;
    height: auto;
}

/* PC版のスタイル */
@media only screen and (min-width: 768px) {

    #container #contents {
        width: 760px;
        margin: 0 auto;
    }

    .company {
        width: 760px;
        margin: 0 auto;
    }

    h1 {
        color: #282F46;
        margin-top: 65px;
        margin-bottom: 55px;
        font-size: 48px;
        font-weight: 650;
        line-height: 57.6px;
        letter-spacing: 0.04em;
    }

    /* bootstrap.min.cssを上書き */
    .col-md-10 {
        width: 100%;
    }

    .table {
        display: flex;
        flex-direction: column;
        border-collapse: collapse;
        margin-bottom: 50px;
    }

    .row {
        display: flex;
    }

    .cell {
        flex: 1;
        padding: 10px 0px 10px 0px;
    }

    .cell.th {
        font-weight: bold;
        min-width: 100px;
        /* 最低限の幅を指定 */
        max-width: 150px;
        /* 最大幅を指定 */
        width: auto;
        /* 幅を自動調整 */
    }

    .cell.td {
        /* word-break: break-all; */
        /* 長い文字列がはみ出るのを防ぐために追加 */
        max-width: 760px;
        /* 最大幅を指定 */
        width: auto;
        /* 幅を自動調整 */
    }

    .cell:last-child {
        border-right: none;
        /* 最後のセルに右の境界線を削除 */
    }

    .title {
		display: flex;
		align-items: center;
		gap: 8px;
		font-size: 1.2rem;
		margin-bottom: 24px;
		padding-bottom: 10px;
		border-bottom: 1px solid #ccc;
	}
	.title-icon {
		width: 24px;
		height: 24px;
	}

    body {
        font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
        margin: 2rem;
        color: #333;
    }
    .company-table {
        width: 100%;
        max-width: 800px;
        border-collapse: collapse;
        margin-bottom: 30px;
    }
    .company-table th,
    .company-table td {
        padding: 1rem;
        border: 1px solid #ddd;
        line-height: 1.6;
    }
    .company-table th {
        width: 20%;
        background-color: #ffffff;
        text-align: left;
        font-weight: bold;
        vertical-align: top;
    }
    .company-table td {
        width: 80%;
    }
    .address-group {
        margin: 0;
        padding: 0;
        list-style: none;
    }
    .contact-info {
        margin: 0;
        padding: 0;
        list-style: none;
    }
    .representatives {
        margin: 0;
        padding: 0;
        list-style: none;
    }
    .related-companies {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .eiwa-map {
        width:760px;
        height:450px; 
        border:0; 
        margin-bottom: 30px;
    }
}

/* スマホ版のスタイル */
@media only screen and (max-width: 767px) {
    
    #container #contents {
        width: 760px;
        margin: 0 auto;
    }

    .company {
        margin: 0 auto;
    }

    h1 {
        color: #282F46;
        margin-top: 65px;
        margin-bottom: 55px;
        font-size: 48px;
        font-weight: 650;
        line-height: 57.6px;
        letter-spacing: 0.04em;
    }

    /* bootstrap.min.cssを上書き */
    .col-md-10 {
        width: 100%;
    }

    .table {
        display: flex;
        flex-direction: column;
        border-collapse: collapse;
        margin-bottom: 50px;
    }

    .row {
        display: flex;
    }

    .cell {
        flex: 1;
        padding: 10px 0px 10px 0px;
    }

    .cell.th {
        font-weight: bold;
        min-width: 100px;
        /* 最低限の幅を指定 */
        max-width: 150px;
        /* 最大幅を指定 */
        width: auto;
        /* 幅を自動調整 */
    }

    .cell.td {
        /* word-break: break-all; */
        /* 長い文字列がはみ出るのを防ぐために追加 */
        max-width: 760px;
        /* 最大幅を指定 */
        width: auto;
        /* 幅を自動調整 */
    }

    .cell:last-child {
        border-right: none;
        /* 最後のセルに右の境界線を削除 */
    }

    .title {
		display: flex;
		align-items: center;
		gap: 8px;
		font-size: 1.2rem;
		margin-bottom: 24px;
		padding-bottom: 10px;
		border-bottom: 1px solid #ccc;
	}
	.title-icon {
		width: 24px;
		height: 24px;
	}

    body {
        font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
        margin: 2rem;
        color: #333;
    }
    .company-table {
        width: 100%;
        max-width: 800px;
        border-collapse: collapse;
        margin-bottom: 30px;
    }
    .company-table th,
    .company-table td {
        padding: 1rem;
        border: 1px solid #ddd;
        line-height: 1.6;
    }
    .company-table th {
        width: 20%;
        background-color: #ffffff;
        text-align: left;
        font-weight: bold;
        vertical-align: top;
    }
    .company-table td {
        width: 80%;
    }
    .address-group {
        margin: 0;
        padding: 0;
        list-style: none;
    }
    .contact-info {
        margin: 0;
        padding: 0;
        list-style: none;
    }
    .representatives {
        margin: 0;
        padding: 0;
        list-style: none;
    }
    .related-companies {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .eiwa-map {
        width:420px;
        height:450px; 
        border:0; 
        margin-bottom: 30px;
        margin-left: 4px;
    }
}