const style=document.createElement('style');
style.textContent=`
/* 全体の基本スタイル */
body {
margin: 0;
font-family: 'Segoe UI', sans-serif;
/* background-color: #1c1c1c;
color: #fff;
overflow: hidden; */
/* 全体スクロールを無効にする */
}
/* ページ全体のレイアウトを横並びに */
.container {
display: flex;
height: 100vh;
overflow: visible;
}
/* サイドメニューのスタイル */
.menu {
min-width: 200px;
background-color: #2e2e2e;
display: flex;
flex-direction: column;
padding: 10px;
overflow-y: auto;
}
/* メニュー項目のデザイン */
.menu-item {
display: flex;
align-items: center;
padding: 10px;
margin: 5px 0;
border-radius: 8px;
cursor: pointer;
transition: background 0.2s;
}
/* メニュー項目がアクティブまたはホバー状態のスタイル */
.menu-item:hover,
.menu-item.active {
background-color: #444;
outline: 2px solid #888;
}
/* メニュー内アイコンのマージン */
.menu-item i {
margin-right: 12px;
}
/* 通常時はメニュー文字を表示 */
.menu-item span {
display: inline;
}
/* 画面幅が1366px以下のときのレスポンシブ対応 */
@media (max-width: 1366px) {
.menu {
min-width: auto;
overflow: visible;
position: relative;
}
.menu-item {
position: relative;
}
/* ホバー時にツールチップ表示(文字を別表示) */
.menu-item:hover::after {
content: attr(data-tooltip);
position: absolute;
left: 100%;
top: 50%;
transform: translateY(-50%);
background-color: #444;
padding: 4px 8px;
border-radius: 4px;
white-space: nowrap;
z-index: 10;
color: #fff;
font-size: 12px;
opacity: 0.9;
}
/* メニュー文字は非表示に */
.menu-item span {
display: none;
}
/* アイコンと文字の隙間を消す */
.menu-item i {
margin-right: 0;
}
}
/* メインコンテンツ部分のスタイル */
.content {
flex-grow: 1;
padding: 20px;
background-color: #1c1c1c;
animation: fadeIn 0.3s ease;
overflow-y: auto;
}
/* コンテンツ内リストスタイル */
.content ul {
list-style: none;
padding: 0;
}
/* リスト項目のスタイル */
.content li {
padding: 10px;
background-color: #2e2e2e;
border-radius: 8px;
margin: 5px 0;
cursor: pointer;
transition: background 0.2s;
}
/* リスト項目ホバー時のスタイル */
.content li:hover {
background-color: #444;
outline: 2px solid gold;
}
/* 詳細部分(初期は非表示) */
.details {
display: none;
margin-top: 10px;
padding: 15px;
background-color: #3e3e3e;
border-radius: 8px;
}
/* 詳細表示時のスタイル */
.details.active {
display: block;
}
/* 各カテゴリーのコンテンツセクション(初期は非表示) */
.content-section {
display: none;
}
/* 選択中のコンテンツだけ表示 */
.content-section.active {
display: block;
}
/* フェードインアニメーション */
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
/* ローディングスピナーのスタイル */
.loader {
border: 6px solid #333;
border-top: 6px solid #fff;
border-radius: 50%;
width: 40px;
height: 40px;
animation: spin 0.8s linear infinite;
margin: 80px auto;
}
/* スピンアニメーションのキーフレーム */
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
/* ローディング時のテキストメッセージ */
.loading-msg {
text-align: center;
font-size: 1.2em;
margin-top: 20px;
opacity: 0.8;
}
/* ローディングオーバーレイの配置 */
#loadingOverlay {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
/* background: rgba(0, 0, 0, 0.7); */
color: white;
padding: 30px;
border-radius: 10px;
z-index: 9999;
}
/* 表示を非表示にするためのユーティリティクラス */
.hidden {
display: none;
}
/* 文字スクロール用の親要素 */
.marquee-container {
width: 300px;
/* 表示幅を制限 */
overflow: hidden;
white-space: nowrap;
position: relative;
}
/* 流れるテキストのスタイル */
.marquee-text {
display: inline-block;
white-space: nowrap;
animation: scroll-left 10s linear infinite;
}
/* 条件付きクラスがついたときもアニメーション */
.marquee-text.scroll {
animation: scroll-left 10s linear infinite;
}
/* テキストを右から左へ流すアニメーション */
@keyframes scroll-left {
0% {
transform: translateX(50%);
}
/* 右寄りからスタート */
100% {
transform: translateX(-100%);
}
/* 左に消えていく */
}
/*========= 共通 ===============*/
html {
--tw-text-opacity: 1;
--tw-bg-opacity: 1;
--c-text: #1a1a1c;
--c-text-reverse: #fff;
--c-text-note: #626264;
--ff: '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;
--fz-medium: 0.875rem;
--fz-small: 0.675rem;
--fz-body: 1rem;
--fc-button019: #4a5d73;
--lh-normal: 1.5;
--lh-tall: 1.75;
--lts: 0.16px;
--w-container: 70rem;
--header-block-size: 0.5625rem;
--bdc-card: #949497;
--bgc-breadcrumb: #f5f5f5;
}
/*========= タイプカラー ===============*/
:root {
--normal: #BCBCAC;
--fire: #FF421C;
--water: #2F9AFF;
--electric: #FFCD30;
--grass: #78CD54;
--ice: #78DEFF;
--fighting: #BC5442;
--poison: #AB549A;
--ground: #DEBC54;
--flying: #669AFF;
--psychic: #FF549A;
--bug: #ABBC1C;
--rock: #BCAC66;
--ghost: #6666BC;
--dragon: #7866EF;
--dark: #785442;
--steel: #ABACBC;
--fairy: #FFACFF;
--shadow: #0E2E4C;
}
/*========= ニューモフィズム影 ===============*/
:root {
--box-shadow-normal: 0px 2px 8px 0px rgba(60, 64, 67, 0.25);
--box-shadow-hover: 4px -2px 16px 0px #ffffff, 4px 2px 16px 0px rgb(95 157 231 / 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);
}
/*========= フォーカスアニメーション ===============*/
:root {
--focus-animation: focus-glow 1.5s infinite;
}
@keyframes focus-glow {
0% {
box-shadow: -4px -2px 6px rgba(255, 255, 255, 0.9), 4px 2px 6px rgba(95, 157, 231, 0.48);
}
50% {
box-shadow: -4px -2px 20px rgba(255, 255, 255, 1), 4px 2px 20px rgba(95, 157, 231, 0.6);
}
100% {
box-shadow: -4px -2px 6px rgba(255, 255, 255, 0.9), 4px 2px 6px rgba(95, 157, 231, 0.48);
}
}
body {
font-family: var(--ff);
font-size: var(--fz-body);
font-weight: var(--fw-normal);
letter-spacing: var(--lts);
word-break: break-all;
display: flex;
flex-flow: column;
min-height: 100vh;
margin: 0;
padding: 0;
}
*,
*::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);
}
.grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 2rem;
margin-top: 10px;
margin-bottom: 2.5rem;
}
@media (max-width: 960px) {
.grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 1rem;
}
}
@media (max-width: 768px) {
.grid {
display: grid;
grid-template-columns: repeat(1, 1fr);
}
}
.flex {
display: flex;
flex-direction: column;
justify-content: center;
/* gap: 2rem; */
margin-top: 10px;
margin-bottom: 2.5rem;
}
@media (max-width: 768px) {
.flex {
width: 100%;
display: flex;
flex-direction: column;
gap: 1rem;
}
}
h1 {
font-size: 1.625rem;
font-weight: var(--fw-bold);
line-height: 1.538;
letter-spacing: 0.26px;
}
h2 {
font-size: 1.225rem;
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;
margin: 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: 700;
line-height: 1.85;
padding-top: 0;
}
/*========= ヘッダー ===============*/
.header {
background-color: rgba(255, 255, 255, 0.88);
position: sticky;
inset-block-start: 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;
padding-block: var(--header-block-size);
}
.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(--header-block-size);
background: none;
border: none;
appearance: none;
color: var(--c-text);
font-size: 0.875rem;
/* ≒ 14px */
font-weight: var(--fw-medium);
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%
); */
}
/*==============================
= Rhombus =
==============================*/
.rhombus {
color: rgba(0, 23, 193, var(--tw-text-opacity));
font-size: var(--fz-small);
font-weight: var(--fw-semi-bold);
border-radius: 7px;
position: relative;
display: flex;
align-items: center;
justify-content: center;
width: 50px;
height: 50px;
margin: 1rem;
transition: 0.3s;
cursor: pointer;
text-decoration: none;
}
.rhombus:hover {
text-decoration: none;
}
.rhombus::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border: 2px solid rgba(0, 23, 193, var(--tw-text-opacity));
border-radius: 7px;
transform: rotate(45deg);
opacity: 0;
transition: transform 0.3s ease, opacity 0.3s ease;
}
.rhombus:hover::before {
transform: rotate(45deg) scale(1.2);
opacity: 1;
}
@media (max-width: 768px) {
.rhombus {
margin: 0;
justify-content: flex-start;
}
}
/*==============================
= Pipe =
==============================*/
.pipe {
height: 1rem;
align-self: center;
margin: 1rem;
border-inline-end: 1px solid rgba(0, 23, 193, var(--tw-text-opacity));
}
@media (max-width: 768px) {
.pipe {
margin: 0;
margin-right: auto;
}
}
/*==============================
= Button =
==============================*/
.button {
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
font-family: inherit;
font-size: var(--fz-small);
color: #7e97b8;
border: 2px solid rgba(255, 255, 255, 0.333);
border-radius: 40px;
padding: 10px 0;
width: 10rem;
box-shadow: var(--box-shadow-normal);
margin: 5px 0;
cursor: pointer;
text-align: center;
transition: 0.2s;
}
.button:hover {
color: #2589d0;
box-shadow: var(--box-shadow-hover);
text-decoration: none;
}
.button:active {
box-shadow: none;
transform: scale(0.9);
}
/*==============================
= 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: 2rem;
cursor: pointer;
color: var(--fc-button019);
background: linear-gradient(to bottom right, var(--card-color, transparent) 0%, transparent 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);
}
:root {
--c-primary: #2e54a7;
--c-accent: #2d65a8;
--c-heading: #123f77;
--radius-small: 7px;
--radius-large: 20px;
--box-shadow-normal: 0 4px 12px rgba(0, 0, 0, 0.1);
--card-color: #f5f9ff;
}
/*==============================
= Card =
==============================*/
.card {
padding: 1px 20px 20px 20px;
margin: 10px 0;
border-radius: var(--radius-large);
background: linear-gradient(to bottom right, var(--card-color) 0%, transparent 7%);
box-shadow: var(--box-shadow-normal);
transition: 0.4s;
}
.card-title {
font-size: var(--fz-body);
font-weight: var(--fw-bold);
color: var(--c-primary);
margin: 15px 0 0 0;
}
.card-body {
margin-top: 13px;
color: var(--c-text);
font-size: var(--fz-normal);
}
.card-image {
color: #3e4555;
/* 可変化する場合は変数に変更可能 */
}
/*==============================
= Heading =
==============================*/
.mt00 {
padding-inline: 1rem;
width: 100%;
border-left: 7px solid var(--c-accent);
color: var(--c-heading);
font-size: var(--fz-body);
font-weight: bold;
text-align: left;
margin: 30px auto 10px;
position: relative;
}
/*==============================
= Textarea Style =
==============================*/
textarea {
overflow-anchor: none;
width: 100% !important;
min-height: 100px;
font-family: 'Segoe UI', sans-serif;
font-size: var(--fz-normal) !important;
border-radius: var(--radius-small);
padding: 0.3rem;
border: 2px solid var(--bc-smp);
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);
/* フォーカス時の視覚強調 */
}
/*==============================
= Utility Container =
==============================*/
.u-container {
max-inline-size: calc(var(--size) + var(--padding) * 30);
}
.grid {
gap: 0;
margin: 0;
}
/*==============================
= Responsive Example =
==============================*/
@media (max-width: 1366px) {
.button {
margin: 0;
width: 3rem;
height: 3rem;
}
}
/*========= 一覧表標準デザイン ===============*/
:root {
--main-color: #484f9d;
/* --hover-color: #e60012; */
--font-color: #fff;
--gray-bg: #f0f0f0;
--gray-border: #dcdcdc;
--font-size-base: 14px;
--font-size-small: 12px;
--box-shadow-smp: 5px 5px 6px #c9d6e6, -5px -5px 6px #ffffff;
--box-shadow-smp-hover: 8px 8px 16px #b1c5db, -8px -8px 16px #ffffff;
--fc-smp: #004080;
--fc-smp-hover: #0078D4;
--bg-input: rgba(255, 255, 255, 0.6);
--bg-smp: #e7f4ff;
--bg-smp-hover: #e4f4ff;
--bc-smp: #cfdde6;
--bg-stb: #fff;
--bg-stb-hover: #e5edf5;
--fc-stb: #6c7b92;
--glow-blue: rgba(95, 157, 231, 0.5);
--shadow-light: rgba(255, 255, 255, 0.8);
--shadow-dark: rgba(174, 194, 224, 0.6);
--color-accent: #50c6ff;
--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,');
}
.mainBody {
margin: 0 auto 40px;
padding: 0 40px;
max-width: 1920px;
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(--font-size-base);
font-weight: bold;
color: var(--font-color);
border-radius: 5px;
cursor: pointer;
transition: background-color 0.3s ease;
}
.searchToggleBtn:hover {
background-color: var(--fc-smp-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"] {
width: 38%;
}
.smp-search-form input[type="submit"] {
width: 100%;
}
.smp-search-form input[type="submit"] {
height: 40px;
color: var(--font-color);
font-weight: bold;
background-color: var(--main-color);
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: var(--hover-color);
}
/* =============================
テーブル・行
============================= */
.smp-sf-row td {
display: block;
padding: 10px;
width: 100% !important;
font-size: var(--font-size-base);
background-color: #fff;
border: none;
}
@media (max-width: 560px) {
.smp-sf-row td {
font-size: var(--font-size-small);
}
}
.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;
}
.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: 2rem;
}
.smp-pager .smp-page a {
color: var(--fc-smp);
text-decoration: none;
}
.smp-pager .smp-page a:hover {
color: var(--fc-smp-hover);
outline: 1px solid var(--bc-smp);
}
.smp-pager .smp-current-page {
color: var(--fc-smp);
outline: 1px solid var(--bc-smp);
}
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 {
grid-template-columns: 16% 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(--fc-stb);
background: var(--bg-stb);
border-radius: 2rem;
}
.searchToggleBtn:hover {
background: var(--bg-smp);
}
.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;
inset-block-start: 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: 2rem;
margin: 0px 0px 16px 0 !important;
transition: all 0.3s ease;
}
.smp-search-form input[type="submit"]:hover {
opacity: 0.9;
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 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: 1rem;
box-shadow: var(--box-shadow-smp);
margin-bottom: 10px;
overflow: hidden;
outline: 1px solid var(--bc-smp);
}
.smp-sf-row td,
.smp-row-data td {
font-size: var(--fz-small) !important;
}
.smp-sf-row td {
padding: 5px;
}
.smp-sf-body div div {
width: 25%;
margin-bottom: 0;
white-space: nowrap;
/* overflow: hidden; */
text-overflow: ellipsis;
}
.smp-table td {
font-size: var(--fz-normal) !important;
}
.smp-cell-sort {
padding: 0.3rem !important;
padding-block: var(--header-block-size) !important;
}
.smp-row-data td {
padding: 0.3rem !important;
padding-block: var(--header-block-size) !important;
}
.smp-row-data a {
color: rgba(0, 23, 193, var(--tw-text-opacity));
}
.smp-row-data a:hover {
color: #f00;
}
input[name="smp-table-submit-button"],
input[type="button"] {
border-radius: 1rem;
font-size: 10px;
font-weight: bold;
background-color: #eee;
color: #666;
border: none;
cursor: pointer;
margin-left: 5px;
}
input[type="button"]:hover {
color: #333;
background-color: #ddd;
}
input {
font-size: var(--fz-small);
border: 1px solid var(--bc-smp);
border-radius: 7px;
padding: 5px;
transition: box-shadow 0.3s ease, background-color 0.3s ease;
}
input: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);
/* フォーカス時の視覚強調 */
}
input[type="checkbox"i] {
box-shadow: none;
}
/* select 要素のスタイル */
select {
width: fit-content !important;
font-size: var(--fz-small) !important;
border-radius: 1rem;
padding: 0.3rem;
cursor: pointer;
border: none;
outline: 1px solid var(--bc-smp);
transition: box-shadow 0.3s ease, background-color 0.3s ease;
}
select:focus {
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(--fc-smp);
border-radius: 2rem;
outline: 1px solid var(--bc-smp);
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: 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-normal) !important;
padding: 10px !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-row-data a {
display: block;
}
.smp-pager tbody tr {
justify-content: center;
}
}
/*========= 一覧表調整デザインVer2 ===============*/
/* 基本設定 */
table.smp-search-form-table tr {
width: 100% !important;
}
table.smp-search-form-table td {
border: 0 !important; /* 罫線を一旦消す */
}
/* 項目タイトルtdの基本設定 */
table.smp-search-form-table td.smp-sf-head {
width: 100% !important;
background: var(--bg-smp) !important;
color: var(--fc-smp) !important;
font-weight: bold !important;
text-align: center;
padding-inline: 1rem !important;
line-height: 140%;
outline: 1px solid var(--bc-smp);
padding-block: 0.5625rem !important;
}
/* 入力欄tdの基本設定 */
table.smp-search-form-table td.smp-sf-body {
background: #fff !important;
line-height: 140%;
color: #0a2646 !important;
}
/* 入力欄(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: 2rem;
background: rgba(230, 239, 248, 0.9);
color: #0a2646;
box-shadow: inset 2px 2px 4px rgba(80, 120, 160, 0.25), inset -2px -2px 4px rgba(255, 255, 255, 0.4);
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: 0.875rem;
margin: 0 auto;
}
/* ソート行の基本設定 */
table.smp-table tr.smp-row-sort {
border-top: 0px solid var(--bc-smp);
border-bottom: 1px solid var(--bc-smp);
/* 必要に応じて使用 */
position: sticky;
inset-block-start: 4rem;
}
/* ソート行のリンクデザイン */
table.smp-table td.smp-cell-sort a {
color: var(--fc-smp);
text-decoration: none;
}
table.smp-table td.smp-cell-sort a:hover {
color: var(--fc-smp-hover);
text-decoration: underline;
}
table.smp-table td.smp-cell-sort {
background: var(--bg-smp) !important;
color: var(--fc-smp) !important;
border: solid var(--bc-smp) !important;
border-width: 0px 0px 1px 0px !important;
line-height: 140% !important;
text-align: left;
}
/*========= データ行調整 ===============*/
/* データ行の基本設定 */
table.smp-table td.smp-cell-data {
background: none !important;
/* trの色を透過 */
border: solid var(--bc-smp) !important;
border-width: 1px 0px 1px 0px !important;
color: #0a2646 !important;
line-height: 140%; /* データの行間を詰める */
text-align: left;
}
/* データ行のホバー時の色 */
table.smp-table td.smp-cell-data:hover,
table.smp-table tr.smp-row-data:hover {
background: #e4f4ff !important;
}
/* リンクのデザイン */
table.smp-table td.smp-cell-data a {
text-decoration: none;
}
table.smp-table td.smp-cell-data a:hover {
text-decoration: underline;
}
/* スマホ用調整(最大幅960px以下) */
@media (max-width: 960px) {
table.smp-table td.smp-cell-data {
border-width: 0px 0px 0px 0px !important;
}
table.smp-table td.smp-cell-sort {
display: none !important; /* ソート列非表示 */
}
/* データ行のレイアウト変更 */
table.smp-table tr.smp-row-data {
display: grid;
grid-template-columns: repeat(2, 1fr);
box-shadow: var(--box-shadow-smp);
border: none;
outline: 1px solid var(--bc-smp);
}
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 tr.smp-row-data {
grid-template-columns: repeat(1, 1fr); /* 1列に変更 */
}
}
/* 変更選択時の背景色 */
table.smp-table tr.smp-be-operate td.smp-cell-data {
background: #def5ed !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 {
background: #fff !important; /* 必要に応じて */
}
/* 一覧項目タイトルのデザイン(スマホ用) */
@media only screen and (max-width: 960px) {
.subtitle {
font-size: var(--fz-small);
margin-bottom: 0.3rem;
padding-inline: 0.3rem;
color: var(--fc-smp);
background: var(--bg-smp);
border-radius: 1rem;
width: 100%;
font-weight: bold;
line-height: 140%;
display: block;
}
}
/* --- 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: 2rem;
background: rgba(230, 239, 248, 0.9);
box-shadow: inset 2px 2px 4px rgba(80, 120, 160, 0.25), inset -2px -2px 4px rgba(255, 255, 255, 0.4);
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: 2rem;
pointer-events: none;
}
/* チェックされた時のスタイル(has対応ブラウザ) */
label:has(input:checked) {
background: var(--color-accent, #0077cc);
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);
}
`;
document.head.appendChild(style);