html {
    scroll-behavior: smooth;
    scroll-padding-top: 40px;/*ヘッダのメニュー分下げる*/
}
body {
    font-family: メイリオ, Arial, sans-serif;
    /* font-family: Arial, sans-serif; */
    margin: 0;
    padding: 0;
    background: #f4f4f4;
}
a {
    color: #0063cc;
    text-decoration: none;
}
a:hover {
    text-decoration: underline;
}
ul {
    /* リセットCSS */
    list-style: none;
    padding-left: 0;
    margin: 0;
}
header {
    width: 100%;
    background: #fff;
    color: #000e4e;
    text-align: center;
    padding-top: 1em;
    margin-bottom: 1.5em;
}
header a {
    color: #000e4e;
}
header h1 {
    margin: 0;
    margin-bottom: .5em;
    word-break: keep-all;
}
header h1 a:hover {
    text-decoration: none;
}
header ul {
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
}
header ul li {
    box-sizing: border-box;
    width: 10em;
    height: 2.5em;
    line-height: 2.5em;
}
header ul li .selected {
    box-shadow: inset 0 -3px 0 0 #000e4e;
    /* border-bottom: 3px solid;
    border-image: linear-gradient(to left, #fff, #000e4e, #fff) 1; */
}
header ul li a {
    font-weight: bold;
    display: block;
}
header ul li a:hover {
    color: #fff;
    background-color: #000e4e;
    text-decoration: none;
    /* background-color: rgba(245, 250, 255, 0.3); */
}
header ul.fixed {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
}
header ul,
header ul li a {
    transition: background-color 0.3s;
}
footer {
    /* width: 100%;
    padding: 1em;
    color: #000e4e;
    background-color: #fff;
    text-align: center; */
}
.jump-hd {
    text-align: center;
    background-color: #000e4e;
    border: 1px solid #000e4e;
    border-radius: 50%;
}
.jump-hd.init {
    display: none;
}
section {
    width: 90%;
    max-width: 1000px;
    margin: 0 auto;
    margin-bottom: 2em;
}
.outline {
    background-color: #000e4e;
    border-radius: 3px;
    padding: 1em;
    /* width: fit-content; */
    margin: 0 auto;
}
.outline summary {
    color: #fff;
    cursor: pointer;
}
.outline ul {
    margin: 0 auto;
    margin-top: .5em;
    padding: 0;
}
.outline li {
    display: inline-block;
    width: 15em;
    color: #fff;
}
.outline li a {
    color: #fff;
    text-decoration: none;
}
.outline li a:hover {
    text-decoration: underline;
}
.outline li span,
.outline li a {
    display: inline-block;
    vertical-align: middle;
}

h2 {
    text-align: center;
    margin-bottom: 1em;
    /* border-bottom: 3px solid #000e4e;
    width: fit-content;
    margin: 0 auto; */
}
.card-wrap {
    display: flex;
    gap: 1em;
    flex-wrap: wrap;
    justify-content: center;
}
.card {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    width: 250px;
    height: 250px;
    padding: 1em;
}
.card h3 {
    margin: 0;
    margin-bottom: .5em;
}
.card p {
    margin: 0;
    margin-bottom: .5em;
}
.tag {
    background-color: #ede9de;
    color: #000e4e;
    font-weight: bold;
    font-size: small;
    width: fit-content;
    padding: 1px 3px 1px 3px;
    margin: 0;
    margin-bottom: .5em;
}
.card.blue {
    background-color: #000e4e;
    width: 400px;
    color: #ffff;
    margin: 0 auto;
    display: flex;
    /* gap: 1em; */
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.card-wrap .card.blue {
    margin: 0;   
}

.btn {
    min-width: 200px;
    padding: .5em 1em;
    border: 1px solid #333;
    border-radius: 999px;
    text-align: center;
    cursor: pointer;

    display: block;
    background-color: #fff;
    color:#333;
    margin-top: .8em;
}
.btn:hover {
    text-decoration: none;
    border-color: #00B7F1;
    color: #00B7F1;
}
.card.blue .btn:hover {
    text-decoration: none;
    color: #333;
    background-color: #00B7F1;
}
/* レスポンシブ */
@media screen and (max-width: 600px) {
}

.picbtn {
    display: flex;
    align-items: center;

    width: 280px;
    height: 60px;

    border: 1.5px solid #666;
    border-radius: 3px;
    background-color: #fff;

    color: #666;
    font-size: 15px;
    text-align: center;
}

.picbtn:hover {
    border-color: #00B7F1;
    text-decoration: none;
}

.picbtn img {
    width: 90px;
    height: 60px;
    object-fit: cover;
    margin-right: .5em;
}

/* ピックアップ */
.pickup h5 {
    background-color: #ff6a00;
    color: #fff;
    font-weight: bold;
    font-size: small;
    width: fit-content;
    padding: 1px 3px 1px 3px;
    margin: 0 0 .5em 0;
}
.pickup ul {
    font-size: small;
}

/* 製品ページ・カタログ一覧テーブル */
.ptbl {
    margin-bottom: 1em;
    border-collapse: collapse;
    border: 1px solid #333;
    white-space: pre-wrap;
}
.ptbl th, tr, td {
    border: 1px solid #333;
    padding: .5em;
}
.ptbl th {
    background-color: #eee;
}
.ptbl a {
    color: #000e4e;
}
