const style=document.createElement('style');
style.textContent=`
/*==================== グローバル変数 :root ====================*/
:root {
/* --- カラー --- */
--color-link: #2b6cb0; /* リンク文字色 */
--color-primary: #0078D4; /* ブランドカラー */
--color-accent: #50c6ff; /* アクセント補助色 */
--color-heading: #123f77; /* 見出しカラー */
--color-header: #1a1a1c; /* ヘッダー文字色 */
--c-text-reverse: #fff; /* 反転文字色 */
--c-text-note: #626264; /* 補助文字色 / 注意書きなど */
--bdc-card: #949497; /* カード境界線 */
--card-color: #f5f9ff; /* カード背景色 */
--smp-color: #8290a1; /* 一覧表文字色 */
--smp-color-accent: #004080; /* 一覧表アクセント補助文字色 */
--smp-color-hover: #0078D4; /* 一覧表文字ホバー色 */
--smp-bg-color: #e7f4ff; /* 一覧表背景 */
--smp-bg-color-hover: #e4f4ff; /* 一覧表背景ホバー */
--smp-border-color: #cfdde6; /* 一覧表ボーダー色 */
--bg-stb: #fff; /* 標準背景 */
--bg-stb-hover: #e5edf5; /* 標準背景ホバー */
--gray-bg: #f0f0f0; /* 汎用グレー背景 */
--gray-border: #dcdcdc; /* 汎用グレー境界線 */
--font-color: #f5faf9; /* 汎用文字色 */
--bg-dark: rgba(20, 25, 30, 0.9); /* ダーク背景 */
--bg-light: rgba(230, 239, 248, 0.9); /* ライト背景 */
/* --- フォント / タイポグラフィ --- */
--main-font: 'Segoe UI', sans-serif;
--fw-normal: 400;
--fw-medium: 500;
--fw-semi-bold: 600;
--fw-bold: 700;
--fw-extra-bold: 800;
--fz-normal: 0.75rem; /* 12px */
--fz-small: 0.675rem; /* 10.8px */
--fz-medium: 0.875rem; /* 14px */
--fz-body: 1rem; /* 16px */
--lh-normal: 1.5;
--lh-tall: 1.75;
--lts: 0.16px;
/* --- サイズ / レイアウト --- */
--w-container: 70rem; /* 最大幅 */
--block-size: 0.5625rem;
--radius-small: 6px;
--radius-normal: 1rem;
--radius-large: 2rem;
/* --- シャドウ / ニューモフィズム --- */
--box-shadow-normal: 2px 2px 4px rgba(80, 120, 160, 0.25), -2px -2px 4px rgba(255, 255, 255, 0.4);
--box-shadow-hover: 4px -2px 16px 0px #ffffff, 4px 2px 16px 0px rgba(95,157,231,0.48);
--box-shadow-focus: inset -3px -3px 8px rgba(255,255,255,0.9), 4px 4px 12px rgba(95,157,231,0.5);
--box-shadow-inset: inset 2px 2px 4px rgba(80, 120, 160, 0.25), inset -2px -2px 4px rgba(255, 255, 255, 0.4);
--glow-blue: rgba(95,157,231,0.5);
--shadow-light: rgba(255,255,255,0.8);
--shadow-dark: rgba(174,194,224,0.6);
/* --- アイコン / 画像パス --- */
--search-icon-path-white: url('data:image/svg+xml;utf8,');
--search-icon-path-black: url('data:image/svg+xml;utf8,');
--close-btn-icon-path: url('data:image/svg+xml;utf8,');
}
body {
font-family: var(--main-font);
font-size: var(--fz-body);
font-weight: var(--fw-normal);
letter-spacing: var(--lts);
background: linear-gradient(180deg, #f5f8fc, #e6ecf3);
word-break: break-all;
display: flex;
flex-direction: column;
margin: 0;
padding: 0;
min-height: 100vh;
}
*,
*::before,
*::after {
box-sizing: border-box;
}
.u-container {
--size: var(--w-container);
--padding: 1.5rem;
inline-size: 100%;
margin-inline: auto;
max-inline-size: calc(var(--size) + var(--padding) * 2);
padding-inline: var(--padding);
}
h1 {
font-size: 1.625rem;
font-weight: var(--fw-bold);
line-height: 1.538;
letter-spacing: 0.26px;
}
h2 {
font-size: 1.25rem;
font-weight: var(--fw-bold);
line-height: 1.538;
letter-spacing: 0.26px;
}
h3 {
font-size: 1.063rem;
font-weight: var(--fw-bold);
letter-spacing: .68px;
line-height: 1.88235;
padding-top: 0;
}
a {
font-weight: var(--fw-bold);
text-decoration: none;
}
a:hover {
color: #f00;
text-decoration: underline;
}
p {
font-size: 0.8125rem;
font-weight: 400;
letter-spacing: .13px;
line-height: 1.85;
padding-top: 0;
align-self: stretch;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
text-overflow: ellipsis;
}
span {
font-size: 0.8125rem;
font-weight: var(--fw-semi-bold);
line-height: 1.85;
padding-top: 0;
}
/*========= ヘッダー ===============*/
.header {
width: 100%;
/* background-color: rgba(255, 255, 255, 0.88); */
position: sticky;
top: 0;
z-index: 1;
overflow: auto;
word-break: normal;
/* box-shadow: 5px 5px 6px #c9d6e6, -5px -5px 6px #ffffff; */
}
.header::before {
content: "";
position: absolute;
inset: 0;
backdrop-filter: blur(0.5rem);
-webkit-backdrop-filter: blur(0.5rem);
z-index: -1;
}
.header__content {
display: flex;
justify-content: space-between;
align-items: center;
}
.header__nav {
display: flex;
align-items: center;
}
.header-menu {
display: flex;
gap: 0.5rem;
list-style: none;
margin: 0;
padding: 0;
line-height: 1;
}
.header-item {
display: flex;
align-items: center;
gap: 0.5rem;
padding-block: var(--block-size);
background: none;
border: none;
appearance: none;
color: var(--color-header);
font-size: 0.875rem;
/* ≒ 14px */
font-weight: var(--fw-semi-bold);
letter-spacing: 0.04em;
line-height: 1;
text-align: start;
text-decoration: none;
cursor: pointer;
}
/*========= フッター ===============*/
.footer::after {
content: "";
display: block;
margin-block-start: 3rem;
block-size: 10rem;
/* background: linear-gradient(
to bottom,
#ffffff 5.59%,
#f5f7fd 13.39%,
#dde3f7 25.1%,
#b5c3ef 40.71%,
#7e96e3 58.28%,
#385ed4 78.77%,
#0031c9 93.4%,
#0020bc 98.28%
); */
}
/*========= Button019 Base ===============*/
.button019base a {
position: relative;
display: flex;
justify-content: space-around;
align-items: center;
font-weight: var(--fw-bold, 500);
font-size: 1rem;
text-decoration: none;
padding-block: 16px;
border-radius: var(--radius-large);
cursor: pointer;
color: var(--fc-button019);
background: linear-gradient(to bottom right, var(--card-color, transparent) 0%, #fff 25%);
box-shadow: var(--box-shadow-normal);
transition: all 0.3s ease;
}
.button019base a:hover {
box-shadow: var(--box-shadow-hover);
}
.button019base a:active {
box-shadow: var(--box-shadow-inset);
transform: scale(0.9);
}
/* arrow: right (default) */
.button019 a:after,
.button019left a:after {
content: "";
position: absolute;
top: 50%;
width: 8px;
height: 8px;
border-top: 2px solid currentColor;
border-right: 2px solid currentColor;
transition: transform 0.3s ease, opacity 0.3s ease;
}
/*========= Button019 Right ===============*/
.button019 a {
composes: a from '.button019base';
}
.button019 a:after {
right: 1.5rem;
transform: translate(0, -50%) rotate(45deg);
}
.button019 a:hover:after {
transform: translate(50%, -50%) rotate(45deg);
}
/*========= Button019 Left ===============*/
.button019left a {
composes: a from '.button019base';
}
.button019left a:after {
left: 1.5rem;
transform: translate(50%, -50%) rotate(225deg);
}
.button019left a:hover:after {
transform: translate(0, -50%) rotate(225deg);
}
/*========= Textarea Style ===============*/
textarea {
overflow-anchor: none;
width: 100% !important;
min-height: 100px;
font-family: var(--main-font);
font-size: var(--fz-normal) !important;
color: #3c4555 !important;
border-radius: var(--radius-small);
padding: 0.3rem;
border: none;
background: var(--bg-light);
box-shadow: var(--box-shadow-inset);
transition: box-shadow 0.3s ease, background-color 0.3s ease;
}
textarea:focus {
outline: none;
background-color: #fff;
/* フォーカス時背景変更 */
box-shadow: inset -1px -1px 3px rgba(255, 255, 255, 0.8), inset 1px 1px 3px rgba(0, 0, 0, 0.05), 0 0 8px var(--glow-blue);
/* フォーカス時の視覚強調 */
}
/*========= List Style ===============*/
/* --- リストスタイルのリセット --- */
menu,
ol,
ul {
list-style: none;
margin: 0;
padding: 0;
}
/* --- input本体を非表示に --- */
label input[type="radio"],
label input[type="checkbox"] {
position: absolute;
opacity: 0;
pointer-events: none;
width: 0;
height: 0;
}
/* ラベル全体のスタイル(ボタン風) */
label {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
padding: 0.3rem;
border-radius: var(--radius-large);
background: var(--bg-light);
box-shadow: var(--box-shadow-inset);
cursor: pointer;
transition: box-shadow 0.3s ease, background-color 0.3s ease;
position: relative; /* for absolute input */
}
/* テキスト部分のスタイル */
label>span {
display: flex;
align-items: center;
justify-content: center;
font-size: var(--fz-small);
width: 100%;
border-radius: var(--radius-large);
pointer-events: none;
}
/* チェックされた時のスタイル(has対応ブラウザ) */
label:has(input:checked) {
background: var(--color-accent);
color: #fff;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1) inset;
}
/* inputにフォーカスが当たったら、それを含むlabelにスタイルを当てる */
label:has(input:focus-visible) {
box-shadow: inset -1px -1px 3px rgba(255, 255, 255, 0.8), inset 1px 1px 3px rgba(0, 0, 0, 0.05), 0 0 8px var(--glow-blue);
}
/*========= Utility Container ===============*/
.u-container {
max-inline-size: 100%;
}
/*========= 一覧表標準デザイン ===============*/
.mainBody {
margin: 0 auto 40px;
padding: 0 40px;
max-width: 1100px;
display: grid;
grid-template-columns: 280px 1fr;
align-items: start;
gap: 40px;
}
@media (max-width: 960px) {
.mainBody {
padding: 0 40px;
display: block;
}
}
@media (max-width: 560px) {
.mainBody {
padding: 0 20px;
}
}
.searchToggleBtn {
margin-bottom: 40px;
width: 100%;
height: 30px;
display: none;
justify-content: center;
align-items: center;
background-color: var(--main-color);
font-size: var(--fz-medium);
font-weight: bold;
color: var(--font-color);
border-radius: 5px;
cursor: pointer;
transition: background-color 0.3s ease;
}
.searchToggleBtn:hover {
background-color: var(--smp-color-hover);
}
@media (max-width: 960px) {
.searchToggleBtn {
margin-bottom: 20px;
height: 30px;
display: flex;
}
}
/*========= タブレット検索フォーム表示パネル ===============*/
@media (max-width: 960px) {
.smp-search-form {
position: fixed;
inset: 0;
display: none;
justify-content: center;
align-items: center;
overflow-y: scroll;
}
.smp-search-form.is-show {
display: flex;
}
.smp-search-form form {
width: 400px;
margin: 20px;
z-index: 2;
border-radius: 5px;
position: relative;
padding: 20px;
}
.smp-search-form .close_btn {
position: absolute;
top: -10px;
right: -10px;
width: 30px;
height: 30px;
background-color: #fff;
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;
box-shadow: 0 0 3px rgba(0, 0, 0, 0.85);
cursor: pointer;
}
.smp-search-form .close_btn::before,
.smp-search-form .close_btn::after {
content: "";
position: absolute;
width: 2px;
height: 15px;
background-color: #000;
}
.smp-search-form .close_btn::before {
transform: rotate(-45deg);
}
.smp-search-form .close_btn::after {
transform: rotate(45deg);
}
}
@media (max-width: 560px) {
.smp-search-form {
justify-content: unset;
align-items: unset;
}
}
.smp-search-form input[type=text] {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.smp-search-form input[type="submit"] {
width: 100%;
height: 40px;
color: var(--font-color);
font-weight: bold;
background-color: #484f9d;
border: none;
border-radius: 5px;
cursor: pointer;
transition: background-color 0.3s ease;
}
.smp-search-form input[type="submit"]:hover,
.smp-search-form input[type="submit"]:focus {
background-color: #e60012;
}
/*========= テーブル・行 ===============*/
.smp-sf-row td {
display: block;
padding: 10px !important;
width: 100% !important;
font-size: var(--fz-medium) !important;
background-color: #fff;
border: none;
}
@media (max-width: 560px) {
.smp-sf-row td {
font-size: var(--fz-normal);
}
}
.smp-sf-head {
background-color: var(--gray-bg);
border-top: 1px dotted var(--gray-border);
color: #666;
}
.smp-sf-body {
border: none;
}
.smp-sf-body div div {
display: flex;
width: 50%;
}
@media (max-width: 560px) {
.smp-sf-body div div {
width: 33.333%;
margin-bottom: 2px;
}
}
.smp-sf-body div label {
margin: 5px 0;
width: 100%;
cursor: pointer;
}
.smp-sf-body div label span {
display: flex;
align-items: center;
font-size: var(--fz-small);
font-weight: 500;
}
.smp-sf-body .notice {
display: block;
font-size: var(--fz-small) !important;
color: #3c4555;
}
.smp-table {
width: 100%;
}
.smp-table td {
border: none !important;
}
@media (max-width: 560px) {
.smp-table colgroup {
display: block;
}
.smp-table tr {
width: 100%;
}
.smp-row-sort {
display: flex;
justify-content: flex-end;
width: 100%;
}
.smp-row-sort::before {
margin-right: 5px;
/* content: "並び替え:"; */
display: flex;
font-size: 10px;
}
}
/* ========== 共通スタイル ========== */
.smp-cell-sort {
padding: 10px !important;
vertical-align: middle;
text-align: left;
background-color: rgb(240, 240, 240) !important;
}
.smp-cell-sort a {
color: #666;
}
.smp-cell-sort a:hover {
color: #f00;
}
.smp-row-data td {
padding: 20px 10px !important;
vertical-align: middle;
background-color: #fff !important;
border-bottom: 1px solid #eee !important;
font-size: 14px !important;
}
.smp-row-data a {
color: #484f9d;
}
.smp-row-data a:hover {
color: #f00;
}
.smp-pager {
margin: 20px auto;
display: block;
width: 100%;
}
.smp-pager tbody {
display: block;
}
.smp-pager tbody tr {
width: 100%;
display: flex;
justify-content: flex-end;
align-items: center;
gap: 7px;
}
.smp-pager .smp-page,
.smp-pager .smp-page a,
.smp-pager .smp-current-page {
width: 30px;
height: 30px;
padding: 0;
font-size: 14px !important;
font-weight: bold;
line-height: 1;
display: flex;
justify-content: center;
align-items: center;
border-radius: var(--radius-large);
}
.smp-pager .smp-page a {
color: var(--smp-color-accent);
text-decoration: none;
}
.smp-pager .smp-page a:hover {
color: var(--smp-color-hover);
outline: 1px solid var(--smp-border-color);
}
.smp-pager .smp-current-page {
color: var(--smp-color-accent);
outline: 1px solid var(--smp-border-color);
}
input[name="smp-table-submit-button"] {
width: 60px;
border: none;
font-size: 10px;
font-weight: bold;
color: #666;
background-color: #eee;
border-radius: 3px;
cursor: pointer;
}
input[name="smp-table-submit-button"]:hover {
color: #333;
background-color: #ddd;
}
/* ========== 詳細ページ ========== */
.shopDetail {
margin: 0 auto;
padding: 0 40px;
max-width: 600px;
}
.shopDetail__name {
margin-bottom: 20px;
font-size: 24px;
font-weight: bold;
color: #484f9d;
}
.shopDetail__data {
margin-bottom: 40px;
}
.shopDetail__row {
padding: 20px 0;
display: grid;
grid-template-columns: 150px 1fr;
border-bottom: 1px solid #eee;
font-size: 14px;
}
.shopDetail__heading {
font-weight: bold;
}
.shopDetail__map {
margin-bottom: 40px;
}
.shopDetail__map iframe {
width: 100%;
height: 400px;
}
.shopDetail__back {
margin: 0 auto 40px;
width: 280px;
height: 40px;
}
.shopDetail__back a {
display: flex;
justify-content: center;
align-items: center;
width: 100%;
height: 100%;
font-size: 14px;
font-weight: bold;
color: #999;
text-decoration: none;
border: 1px solid #ccc;
border-radius: 100px;
}
.shopDetail__back a:hover {
background-color: #484f9d;
color: #fff;
border-color: #484f9d;
}
.spiralSeal {
grid-column: 2;
}
.spiralSeal td {
vertical-align: middle;
}
/* ========== スマホ向けスタイル ========== */
@media (max-width: 560px) {
.smp-cell-sort {
padding: 0 5px !important;
font-size: 10px !important;
background-color: #fff !important;
}
.smp-row-data {
margin: 10px 0;
display: block;
border: 1px solid #ddd;
width: 100%;
border-radius: 10px;
overflow: hidden;
}
.smp-row-data td {
padding: 12px 15px !important;
display: block;
}
.smp-row-data td:nth-child(1) {
background-color: rgb(245, 245, 245) !important;
}
/* 見出しの装飾用、使用時はcontentを有効化 */
.smp-row-data td:nth-child(2)::before,
.smp-row-data td:nth-child(3)::before,
.smp-row-data td:nth-child(4)::before,
.smp-row-data td:nth-child(5)::before {
color: #999;
}
.shopDetail__row {
display: block;
}
.shopDetail__heading {
margin-bottom: 10px;
}
}
/*========= 一覧表調整デザイン ===============*/
.mainBody {
display: grid;
grid-template-columns: 260px 1fr;
gap: 1.5rem;
--size: var(--w-container);
--padding: 1.5rem;
inline-size: 100%;
margin-inline: auto;
max-inline-size: calc(var(--size) + var(--padding) * 30);
padding-inline: var(--padding);
}
.searchToggleBtn {
font-size: 12px;
color: var(--smp-color-accent);
background: var(--bg-stb);
border-radius: var(--radius-large);
}
.searchToggleBtn:hover {
background: var(--smp-bg-color);
}
.searchToggleBtn::before {
content: "";
display: inline-block;
width: 16px;
height: 16px;
background-image: var(--search-icon-path-black);
background-size: contain;
background-repeat: no-repeat;
vertical-align: middle;
}
.smp-search-form {
position: sticky;
top: 4rem;
overflow: auto;
height: 90vh;
padding: 5px;
}
.smp-search-form input[type="submit"] {
background: linear-gradient(to right, #73e0ff, #48b8ff);
font-size: 12px;
border-radius: var(--radius-large);
margin: 16px auto !important;
box-shadow: var(--box-shadow-normal);
transition: all 0.3s ease;
}
.smp-search-form input[type="submit"]:hover {
filter: alpha(opacity=90);
-ms-filter: alpha(opacity=90);
opacity: 0.9;
}
.smp-search-form input[type="submit"]:active {
box-shadow: none;
transform: scale(0.9);
}
.smp-search-form input[type="submit"]:focus {
outline: none;
box-shadow: inset -1px -1px 3px rgba(255, 255, 255, 0.8), inset 1px 1px 3px rgba(0, 0, 0, 0.05), 0 0 8px var(--glow-blue);
}
.smp-search-form-table {
width: 100%;
border-radius: var(--radius-normal);
box-shadow: var(--box-shadow-normal);
margin-bottom: 10px;
overflow: hidden;
outline: 1px solid var(--smp-border-color);
}
/* .smp-sf-row {
display: flex;
flex-wrap: wrap;
} */
.smp-sf-row td,
.smp-row-data td {
font-size: var(--fz-small) !important;
padding: 10px 2px !important;
}
.smp-sf-body div div {
width: 33.333%;
margin-bottom: 0;
white-space: nowrap;
/* overflow: hidden; */
text-overflow: ellipsis;
}
.smp-sf-body div label {
display: inline;
}
.smp-table td {
font-size: var(--fz-normal) !important;
}
.smp-row-data a {
color: var(--color-link);
}
.smp-row-data a:hover {
color: #f00;
}
input {
padding: 5px;
}
table.smp-table input[name="smp-table-submit-button"],
table.smp-table .smp-table-button {
border: none;
cursor: pointer;
outline: none;
background: #6b7b92;
border-radius: var(--radius-normal);
color: var(--font-color);
font-size: var(--fz-small);
font-weight: var(--fw-medium);
letter-spacing: 1px;
margin-left: 0.3rem;
transition: box-shadow 0.3s ease, background-color 0.3s ease;
}
table.smp-table input[name="smp-table-submit-button"],
table.smp-table .smp-table-button :hover {
filter: alpha(opacity=90);
-ms-filter: alpha(opacity=90);
opacity: 0.9;
}
input[type="checkbox"i] {
box-shadow: none;
}
input[type="text"] {
font-size: var(--fz-small);
border-radius: var(--radius-small);
padding: 0.3rem;
border: none;
background: var(--bg-light);
box-shadow: var(--box-shadow-inset);
transition: box-shadow 0.3s ease, background-color 0.3s ease;
}
/* select 要素のスタイル */
select {
width: fit-content !important;
font-size: var(--fz-small) !important;
color: var(--smp-color) !important;
font-weight: var(--fw-semi-bold);
border: none;
border-radius: var(--radius-large);
padding: 0.3rem;
outline: 1px solid var(--smp-border-color);
transition: box-shadow 0.3s ease, background-color 0.3s ease;
}
input[type=text]:focus,
select:focus {
outline: none;
background-color: #fff;
box-shadow: inset -1px -1px 3px rgba(255, 255, 255, 0.8), inset 1px 1px 3px rgba(0, 0, 0, 0.05), 0 0 8px var(--glow-blue);
}
/* ポップアップの位置調整 */
div.smp-popup-frame {
margin-top: 100px;
}
/* 1366px以下:タブレット対応 */
@media (max-width: 1366px) {
.mainBody {
display: block;
padding-inline: var(--padding);
}
.searchToggleBtn {
margin: 0;
width: 80px;
height: 30px;
display: flex;
padding: 0.6rem;
color: var(--smp-color-accent);
border-radius: var(--radius-large);
outline: 1px solid var(--smp-border-color);
gap: 5px;
}
.smp-search-form {
position: fixed;
inset: 0;
display: none;
overflow-y: scroll;
height: 100vh;
justify-content: center;
align-items: unset;
}
.smp-search-form.is-show {
display: flex;
z-index: 2;
}
.smp-search-form form {
width: 100%;
max-width: 400px;
margin: 20px;
z-index: 2;
border-radius: 5px;
position: relative;
}
.smp-search-form .panel_bg {
content: "";
position: fixed;
inset: 0;
background-color: rgba(0, 0, 0, 0.85);
}
.smp-search-form form .close_btn {
display: flex;
justify-content: center;
align-items: center;
width: 30px;
height: 30px;
background-color: #fff;
border-radius: 30px;
position: absolute;
top: -1.5rem;
right: -10px;
box-shadow: 0 0 3px rgba(0, 0, 0, 0.85);
}
.smp-search-form form .close_btn::before,
.smp-search-form form .close_btn::after {
content: "";
width: 2px;
height: 15px;
background-color: #000;
position: absolute;
transform: rotate(-45deg);
}
.smp-search-form form .close_btn::after {
transform: rotate(45deg);
}
.smp-search-form-table {
box-shadow: none;
outline: none;
}
}
/* 960px以下:モバイル対応 */
@media (max-width: 960px) {
.smp-search-form form .close_btn {
top: -5px;
right: 5px;
}
.smp-sf-body div div {
width: 25%;
}
.smp-table colgroup,
.smp-table td,
.smp-table tr {
display: block;
width: 100%;
}
.smp-row-sort {
display: flex;
justify-content: flex-end;
width: 100%;
}
.smp-row-sort::before {
margin-right: 5px;
display: flex !important;
font-size: 10px;
}
.smp-cell-sort {
display: none !important;
padding: 0 5px !important;
font-size: 10px !important;
background-color: #fff !important;
}
.smp-row-data {
margin: 16px 0 40px;
display: block;
border: 1px solid #ddd;
border-radius: 1rem;
overflow: hidden;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}
.smp-row-data td {
font-size: var(--fz-medium) !important;
padding: 0.6rem !important;
}
.smp-row-data td:nth-child(1) {
background-color: rgb(245, 245, 245) !important;
}
.smp-row-data td:nth-child(1)::before {
background-color: rgb(232, 241, 254) !important;
}
.smp-pager tbody tr {
justify-content: center;
}
}
/*========= 一覧表調整デザインVer2 ===============*/
/* 基本設定 */
table.smp-search-form-table tr {
width: 100% !important;
}
table.smp-search-form-table td {
border: none !important; /* 罫線を一旦消す */
color: var(--smp-color);
font-size: var(--fz-small) !important;
padding: 7px 10px !important;
}
/* 項目タイトルtdの基本設定 */
table.smp-search-form-table td.smp-sf-head {
width: 100% !important;
background: var(--smp-bg-color) !important;
color: var(--smp-color-accent) !important;
font-size: var(--fz-normal) !important;
font-weight: var(--fw-semi-bold) !important;
text-align: center;
}
/* 入力欄tdの基本設定 */
table.smp-search-form-table td.smp-sf-body {
background: #fff !important;
line-height: 140%;
color: var(--smp-color);
}
/* 入力欄(input)のデザイン */
table.smp-search-form-table td.smp-sf-body input {
font-size: var(--fz-small);
padding: 0.6rem;
margin: 5px 0;
border: none;
border-radius: var(--radius-large);
background: var(--bg-light);
color: var(--smp-color);
box-shadow: var(--box-shadow-inset);
transition: box-shadow 0.3s ease, background-color 0.3s ease;
}
table.smp-search-form-table td.smp-sf-body input:focus {
outline: none;
background-color: var(--bg-input);
box-shadow: inset -1px -1px 3px rgba(255, 255, 255, 0.8), inset 1px 1px 3px rgba(0, 0, 0, 0.05), 0 0 8px var(--glow-blue);
}
table.smp-search-form-table td.smp-sf-body input[type="radio"],
table.smp-search-form-table td.smp-sf-body input[type="checkbox"] {
accent-color: var(--color-accent); /* モダンブラウザでの色設定 */
width: auto;
box-shadow: none;
}
/* 一覧表のスタイル */
table.smp-table {
width: 100%;
border-collapse: collapse;
font-size: var(--fz-medium);
margin: 0 auto;
}
/* ソート行の基本設定 */
table.smp-table tr.smp-row-sort {
/* 必要に応じて使用 */
position: sticky;
top: 4.1rem;
}
table.smp-table td.smp-cell-sort {
background: var(--smp-bg-color) !important;
border: solid var(--smp-border-color) !important;
border-width: 1px 0px 1px 0px !important;
color: var(--smp-color-accent) !important;
line-height: 140% !important;
text-align: left;
padding: 4px 2px !important;
}
/* ソート行のリンクデザイン */
table.smp-table td.smp-cell-sort a {
color: var(--smp-color-accent);
text-decoration: none;
margin: 0 !important;
}
table.smp-table td.smp-cell-sort a:hover {
text-decoration: underline;
}
/*========= データ行調整 ===============*/
/* データ行の基本設定 */
table.smp-table td.smp-cell-data {
background: none !important;
/* trの色を透過 */
border: solid var(--smp-border-color) !important;
border-width: 0px 0px 1px 0px !important;
color: var(--smp-color) !important;
font-weight: var(--fw-medium);
line-height: 140%; /* データの行間を詰める */
text-align: left;
}
/* リンクのデザイン */
table.smp-table td.smp-cell-data a {
text-decoration: none;
}
table.smp-table td.smp-cell-data a:hover {
text-decoration: underline;
}
table.smp-table tr.smp-row-data {
background: #fff !important; /* 必要に応じて */
}
/* 奇数行と偶数行の背景色 */
table.smp-table tr.smp-row-data:nth-child(odd) {
/* background: #f4f4f4 !important; */ /* 奇数番目 */
}
table.smp-table tr.smp-row-data:nth-child(even) {
/* background: #fff !important; */ /* 偶数番目 */
}
/* データ行のホバー時の色 */
table.smp-table tr.smp-row-data:hover,
table.smp-table td.smp-cell-data:hover {
background: #e4f4ff !important;
}
/* 変更選択時の背景色 */
table.smp-table tr.smp-be-operate td.smp-cell-data {
background: #def5ed !important;
}
/* タブレット用調整(最大幅960px以下) */
@media (max-width: 960px) {
table.smp-table td.smp-cell-data {
border-width: 0px 0px 0px 0px !important;
display: grid;
grid-template-columns: 40% 1fr;
gap: 10px;
align-items: center;
}
table.smp-table td.smp-cell-sort {
/* display: none !important; */ /* ソート列非表示 */
}
/* データ行のレイアウト変更 */
table.smp-table tr.smp-row-data {
border: none;
outline: 1px solid var(--smp-border-color);
box-shadow: var(--box-shadow-normal);
}
table.smp-table tr.smp-row-data:hover {
background: #fff !important;
}
table.smp-table tr.smp-row-sort {
display: none;
}
}
/* スマホ用調整(最大幅560px以下) */
@media (max-width: 560px) {
table.smp-table td.smp-cell-data {
display: grid;
grid-template-columns: repeat(1, 1fr); /* 1列に変更 */
gap: 5px;
}
}
/* 一覧項目タイトルのデザイン(タブレット用) */
@media only screen and (max-width: 960px) {
.subtitle {
width: 100%;
height: 100%;
font-size: var(--fz-normal);
color: var(--font-color);
padding-inline: 0.6rem;
background: #525b6c;
border-radius: var(--radius-small);
}
}
@media only screen and (max-width: 560px) {
.subtitle {
width: fit-content;
}
}
`;
document.head.appendChild(style);