/* ============================= */ /* === index 用のスタイル === */ /* ============================= */ /* ベーススタイルとリセット */ html, body { margin: 0; padding: 0; font-family: "Meiryo", sans-serif; height: 100%; background-color: #fff; background-image: linear-gradient(to right, rgba(0,0,0,0.03) 1px, transparent 1px), linear-gradient(to bottom, rgba(0,0,0,0.03) 1px, transparent 1px); background-size: 16px 16px; overflow-x: hidden !important; } body { will-change: background-image; /* GPUアクセラレーションを適切な位置で指定 */ } hr { height: 0; margin: 0; padding: 0; border: 0; } /* 点線 */ .hr1 { border-top: 1px dotted #aaa; } .hr2 { border-top: 3px dotted skyblue; } .hr3 { border-top: 5px dotted orange; background-color: rgb(232, 243, 131); } /* グリッドレイアウトの設定 */ #grid-container { display: grid; grid-template-rows: auto 1fr auto; grid-template-columns: 220px 1fr; height: 100vh; } /* 左側ナビゲーション */ .grid-left { grid-row: 1 / span 2; grid-column: 1; padding: 10px; box-sizing: border-box; background-color: transparent; } .grid-left img.logo { max-width: 100%; height: auto; margin-bottom: 20px; } .grid-left ul { list-style: none; padding: 0; margin: 0; } .grid-left li { margin: 1px 0; } .grid-left a { text-decoration: none; color: #004080; font-weight: bold; font-size: small; } .grid-left p { text-decoration: none; color: #004080; font-weight: bold; font-size: small; margin: 5px 0; /* 余白を調整 */ display: inline-block; /* `p`を`span`のように扱う */ } .lang-switch { display: flex; justify-content: center; gap: 8px; margin-bottom: 10px; } /* グラデーションボタン */ a.btn-gradient { display: inline-block; padding: 6px 14px; font-size: 13px; font-weight: bold; text-align: center; text-decoration: none; color: #fff; border-radius: 0; -webkit-transform: skew(-15deg); transform: skew(-15deg); background-image: linear-gradient(90deg, #2af598 0%, #009efd 100%); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1); transition: all 0.2s ease-in-out; } a.btn-gradient:hover { -webkit-transform: skew(0); transform: skew(0); box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1); } a.btn-gradient span { display: inline-block; transform: skew(15deg); /* 元に戻す */ } /* メインコンテンツエリア */ .grid-main { grid-row: 1 / span 2; grid-column: 2; padding: 0; box-sizing: border-box; overflow: hidden; } .grid-main iframe { width: 100%; height: calc(100vh - 40px); /* 必要に応じて調整 */ border: none; display: block; } /* フッター */ .grid-footer { grid-row: 3; grid-column: 1 / span 2; border-top: 0px solid #999; padding: 20px; font-size: 12px; color: #555; display: flex; align-items: center; justify-content: space-between; } .footer-left img { height: 36px; } .footer-center { text-align: center; flex-grow: 1; margin: 0 20px; font-size: 14px; color: #333; } .footer-center em { font-size: 12px; /* 説明テキストのサイズ調整 */ color: #888; /* 説明テキストを控えめな色に */ } .footer-center strong { font-size: 14px; /* 著作権表示を少し大きくして強調 */ color: #333; /* 著作権表示を目立つ色に */ } .footer-right img { width: 36px; height: 36px; margin-left: 8px; } /* ============================= */ /* === manual-main 用のスタイル === */ /* ============================= */ .manual-main { display: grid; grid-template-rows: auto auto 1fr auto; grid-template-columns: 1fr; gap: 20px; padding: 20px 40px; /* 左右に余白を確保 */ max-width: 100%; box-sizing: border-box; } /* ロゴ表示 */ .logo-container { width: 100%; max-width: 100%; box-sizing: border-box; padding: 10px; overflow: hidden; } .logo-container img.logo, .logo { width: 100%; height: auto; display: block; max-width: 100%; object-fit: contain; } /* タイトルと日付 */ .title-container { text-align: center; margin-bottom: 10px; } .manual-title { font-size: 24px; font-weight: bold; color: #004080; } .manual-date { font-size: 16px; color: #888; } /* 説明テキスト */ .manual-text { margin: 20px 0; font-size: 14px; line-height: 1.6; color: #555; text-align: center; } /* バナー一覧 */ .banner-container { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 20px; width: 100%; box-sizing: border-box; } .banner-item { text-align: center; max-width: 200px; } .banner-link { display: block; } .banner { width: 100%; height: auto; border: 1px solid #ddd; border-radius: 4px; } .banner-description { font-size: 12px; color: #555; margin-top: 8px; } /* レスポンシブ対応 */ @media (max-width: 768px) { .logo-container { max-width: 90%; padding: 5px; } .manual-title { font-size: 20px; } .manual-date { font-size: 14px; } .content-image { margin-left: auto; max-width: 90%; } } /* ============================= */ /* === 02P 用のスタイル === */ /* ============================= */ /* セクションタイトル用 */ .section-title { border: 3px solid #004080; border-left: 10px solid #004080; padding: 5px 10px; color: #b30000; font-weight: bold; font-size: 16px; margin: 30px 0 10px; background-color: white; } /* ============================= */ h1 { color: #004080; /* テキストの色を設定 */ text-align: center; /* 中央揃え */ } h2 { text-align: left; /* 左揃えにする */ margin-left: 0; /* 左余白をなくす(必要なら調整) */ margin-top: 10px; /* 上のマージンを縮小 */ margin-bottom: 10px; /* 下のマージンを縮小 */ } h3 { text-align: left; /* 左揃えにする */ margin-left: 0; /* 左余白をなくす(必要なら調整) */ margin-top: 10px; /* 上のマージンを縮小 */ margin-bottom: 10px; /* 下のマージンを縮小 */ } p.annotation { font-size: 80%; /* 特定の

要素にのみ適用 */ } /* ============================= */ /* === 画像コンテンツ共通スタイル === */ /* ============================= */ .content-image-max { width: 100%; height: auto; display: block; max-width: 100%; object-fit: contain; box-sizing: border-box; margin: 20px auto; } .content-image { width: 100%; height: auto; display: block; max-width: 90%; object-fit: contain; box-sizing: border-box; margin: 20px auto; } .content-image-screen { width: 100%; height: auto; display: block; max-width: 80%; object-fit: contain; box-sizing: border-box; margin: 20px auto; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); /* ドロップシャドウを追加 */ } .content-image-min { display: block; width: 100%; max-width: 80%; /* 固定 or 任意の最大幅に調整 */ margin: 20px auto; /* 中央寄せ */ height: auto; object-fit: contain; box-sizing: border-box; } /* ============================= */ .system-table { width: 100%; border-collapse: collapse; margin-bottom: 20px; font-size: 12px; /* フォントサイズを小さくして全体の高さを縮小 */ } .system-table th, .system-table td { border: 1px solid #ddd; padding: 5px; /* セルの余白を減らしてコンパクトに */ text-align: left; } .system-table th { background-color: #f0f0f0; font-weight: bold; } /* 行の高さを縮小 */ .system-table tr { line-height: 1.2; /* 行の高さを圧縮 */ } .system-container { display: grid; grid-template-columns: 1fr 1fr; /* 2列に分ける */ gap: 20px; /* 間隔を確保 */ } .system-block { width: 100%; /* 各ブロックが均等に並ぶよう設定 */ } .system-table { width: 100%; border-collapse: collapse; font-size: 12px; /* フォントサイズ縮小 */ } .system-table th, .system-table td { border: 1px solid #ddd; padding: 5px; /* セルの余白を減らす */ text-align: left; } .system-table th { background-color: #f0f0f0; font-weight: bold; } /* ============================= */ /* ダークモード対応のスタイル */ /* ============================= */ @media (prefers-color-scheme: dark) { /* 全体の背景とテキストの色 */ body { background-color: #121212; color: #ffffff; } .footer-center strong { font-size: 14px; color: #bbb !important; } /* ナビゲーションメニュー */ .grid-left { background-color: #1e1e1e; } .grid-left a, .grid-left p { color: #ddd; } .grid-left ul { background-color: #222; } .grid-left li { color: #f5f5f5; } /* セクションタイトル */ .section-title { background-color: #333; color: #ffa500; } /* メインコンテンツ */ .manual-title { color: #ffffff; } .manual-text p { color: #ddd; } .banner-description { color: #f5f5f5; } /* テーブル要素 */ .system-table th { background-color: #444; color: #ffa500; } .system-table td { background-color: #222; color: #ffffff; } /* フッター */ .grid-footer { background-color: #1e1e1e; color: #bbb; } }