﻿/* 基本設定 */
body {
    margin: 0;
    padding: 0;
    font-family: Arial, sans-serif;
    background-color: #f3faff;
    padding: 0 20px;
}

/* ヘッダー */
.header {
    background-color: #feffe1;
    border-bottom: 1px solid #ddd;
    color: #333;
    text-align: center;
    padding: 20px 10px;
    
}



.header-content {
    display: flex;
    align-items: center;
    justify-content: space-around;
    flex-wrap: wrap; /* 行が折り返されるように */
    text-align: center;
   
}


.header-title h1 {
    font-size: 36px;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
}

.circle {
    display: inline-block;
    background-color: #36c60ed8; /* 緑色の背景 */
    color: #fff;
    width: 150px; /* 丸の大きさ */
    height: 150px;
    border-radius: 50%; /* 丸い形 */
    text-align: center;
    line-height: 150px; /* 文字を中央に配置 */
    margin: 0 5px; /* 余白を調整 */
    font-size: 64px; /* 文字のサイズ */
}

.header-title .subtitle {
    font-size: 24px;
    margin-top: 8px;
}

/* キャラクター画像（タイトル両脇の画像） */
.character-image img {
    width: 120px; /* デフォルトサイズ */
    height: auto; /* 縦横比を維持 */
    max-width: 100%; /* 画像の親要素の幅を超えないように */
}

/* コンテナ */
.container {
    max-width: 1000px;
    margin: 40px auto;
    background-color: #fff;
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
    position: relative;
    padding-top: 15px;
}

/* 更新日　*/
.update {
    font-size: 200%; /* 文字の大きさを指定する　*/
    text-align: right;

}


.title-1 {
    text-align: center;
    padding: 10px 0;
    font-size: 200%; /* 文字の大きさを指定する　*/
    letter-spacing: 30px; /* 文字間のスペースを広げる */
    color: rgb(255, 123, 0); /* 基本機能はひよこ色 */
}

.title-2{
    text-align: center;
    padding: 10px 0;
    font-size: 200%; /* 文字の大きさを指定する　*/
    letter-spacing: 30px; /* 文字間のスペースを広げる */
    color: rgb(173, 1, 59); /* 発展機能はいちご色 */
}



.title-3{
    text-align: center;
    padding: 10px 0;
    font-size: 200%; /* 文字の大きさを指定する　*/
    letter-spacing: 30px; /* 文字間のスペースを広げる */
    color: rgb(0, 121, 16); /* 帳票機能は若草色 */
}

.title-4{
    text-align: center;
    padding: 10px 0;
    font-size: 200%; /* 文字の大きさを指定する　*/
    letter-spacing: 30px; /* 文字間のスペースを広げる */
    color: rgb(2, 124, 146); /* その他は青春色 */
}


/* テーマカラー */
.theme-yellow { border-top: 5px solid #f8dc77; }
.theme-red { border-top: 5px solid #f2a49f; }
.theme-green { border-top: 5px solid #a8c89b; }
.theme-blue { border-top: 5px solid #8bb6c6; }
.theme-orange { border-top: 5px solid #e0b890; }

/* テーブルデザイン */
.styled-table {
    width: 100%;
    border-collapse: collapse;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
    background: white;
    border-radius: 10px;
    overflow: hidden;
}

.styled-table th:first-child, .styled-table td:first-child {
    width: 40%;
}

.styled-table th:last-child, .styled-table td:last-child {
    width: 60%;
    position: relative;
}

.styled-table th {
    padding: 20px;
    text-align: left;
    font-size: 18px;
    color: white;
}

.styled-table td {
    padding: 25px;
    text-align: left;
    font-size: 18px;
    vertical-align: middle;
    background-color: white;
    position: relative;
}

.theme-yellow thead { background-color: #f8dc77; }
.theme-red thead { background-color: #f2a49f; }
.theme-green thead { background-color: #a8c89b; }
.theme-blue thead { background-color: #8bb6c6; }
.theme-orange thead { background-color: #e0b890; }

.styled-table tbody tr:hover td {
    background-color: rgb(245, 242, 186); /* 薄い黄色 */
    transition: background 0.3s ease-in-out;
}

.styled-table tbody tr {
    cursor: pointer;
}

.styled-table tbody tr:hover {
    background-color: #ddd;
}

/* NEWラベル */
.new-label {
    background: red;
    color: white;
    padding: 5px 10px;
    font-size: 14px;
    border-radius: 5px;
    font-weight: bold;
    position: absolute;
    top: 5px;
    right: 10px;
    transform: rotate(20deg);
    transform-origin: top right;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.2);
}

/* リンクデザイン */
.styled-table td a {
    text-decoration: none;
    color: #333;
    font-weight: bold;
}

.styled-table td a:hover {
    text-decoration: underline;
}

/* フッター */
.footer {
    background-color: #feffe1;
    border-top: 1px solid #ddd;
    color: #333;
    text-align: center;
    padding: 20px;
    margin-top: 30px;
}

.footer-content {
    display: flex;
    align-items: center;
    justify-content: space-around;
}

.character-image.small-image img {
    width: 100px;
}

.contact-title {
    font-size: 20px;
    color: #015064;
    margin: 2px 0;

}

.phone-number {
    font-size: 50px;
    font-weight: bold;
    color: #00a3d6;
    line-height: 0.1; /* 行間を狭める設定 */
}

.contact-title2 {
    font-size: 20px;
    color: #015064;
    line-height: 0.1; /* 行間を狭める設定 */

}

.lines-logo img{
    max-width: 150px; /* 最大幅を指定して画像を縮小 */
    max-height: 150%; /* 最大高さを指定して画像を縮小 */
    width: auto; /* 自動幅調整 */
    margin: 30px 0;

}




/* レスポンシブ対応 */
@media (max-width: 768px) {
    .header-content {
        flex-direction: column; /* 縦並びにする */
        align-items: center;
    }

    .character-image {
        display: none; /* スマホ時は画像を非表示 */
    }

    .circle {
        width: 60px; /* 丸のサイズを小さく */
        height: 60px;
        line-height: 60px;
        font-size: 28px; /* 文字サイズを縮小 */
        margin: 3px;
    }

    .header-title h1 {
        font-size: 24px; /* タイトル文字サイズを縮小 */
    }

    .subtitle {
        font-size: 16px; /* サブタイトル文字サイズを縮小 */
    }

    .footer-content {
        flex-direction: column; /* フッター要素を縦並びにする */
        align-items: center;
        text-align: center;
    }

    .phone-number {
        font-size: 24px; /* フォントサイズを縮小 */
    }

    .styled-table {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    }

    .styled-table table {
    width: 700px; /* 表の最小幅を指定（必要に応じて調整） */
    }

    .title-1,
    .title-2,
    .title-3,
    .title-4 {
    font-size: 150%;
    letter-spacing: 10px;
    }

    .container {
    margin: 20px 10px;
    padding: 15px;
    }

    .contact-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    }

}

.image-box {
    opacity: 0; /* 初期状態では非表示 */
    transform: translateX(-100%); /* 左側に隠しておく */
    transition: all 0.8s ease-out; /* 滑らかに変化 */
}

.image-box.show {
    opacity: 1;
    transform: translateX(0); /* 左から右へスライドイン */
}

.row1 td { 
    color: rgb(132, 132, 133);  /*Coming　soon・・・を灰色にする　*/
    background-color: transparent !important; /* 背景色変更を防ぐ */
    cursor: default; /* ポインターを通常の矢印に */
    pointer-events: none; /* ホバーイベントを完全無効化 */
}

