@charset "UTF-8";

/* ========BASIC======== */
* {
   font-family:"Hiragino Kaku Gothic Pro",HiraKakuPro-W3,"ヒラギノ角ゴ Pro W3","メイリオ", Meiryo,"MS P ゴシック",verdana,sans-serif;
   color:#333;
}

body {
   margin:0;
   padding:0;
   line-height:1.6;
   letter-spacing:1px;
}

br {
   letter-spacing:normal;
}

/* 【修正】普通のリンクを、もっと分かりやすく目立つ鮮やかな青に変更 */
a {
   color: #0066cc;
   text-decoration: underline; /* リンクと一目で判別できるように下線を表示 */
}

a:hover {
   text-decoration: none;
   color: #004499;
}

img {
   border:0;
   vertical-align:bottom;
}

h1,h2,h3,h4,h5,h6 {
   margin:0;
}


/* ========TEMPLATE LAYOUT======== */
div#top {
   width:780px;
   margin:0 auto;
}

div#header {
   position:relative;
   width:780px;
}

div#pr {
   width:780px;
}

div#gnavi {
   position:absolute;
   top:0px;
   right:0;
}

div#menu {
   float:left;
   width:780px;
   margin-bottom:20px;
}

div#icatch {
   width:780px;
   margin:0 auto;
   background:#fff;
}

div#contents {
   width:780px;
   margin:0 auto;
   padding:10px 0 ;
   background:#fff;
}

div#main {
   float:right;
   width:540px;
}

div#sub {
   float:left;
   width:200px;
}

div#info {
   float:left;
   width:385px;
}

div#info2 {
   float:left;
   width:180px;
}


div#news {
   float:right;
   width:385px;
}

/* 【修正】右側のメイン画像（topkeyband.jpg）が横にはみ出さないよう枠内に収める設定 */
div#news p img {
   max-width: 100%;
   height: auto;
   display: block;
}

div#totop {
   clear:both;
}

div#footMenu {
   width:780px;
   clear:both;
   overflow:hidden;
   padding:10px 0;
}

div#footer {
   width:780px;
   clear:both;
   padding:10px 0;
}


/* ========HEADER CUSTOMIZE======== */
/* 【修正】ヘッダー画像の隙間・重なりをなくすためのリセット */
div#header h1 {
   margin:0;
   padding:0;
   line-height: 1;
}
div#header h1 img {
   width: 780px;
   height: auto;
   display: block;
}

div#header h1 a {
   color:#9B0000;
}

div#header h1 a:hover {
   color:#D30000;
   text-decoration:none;
}

/* PR CUSTOMIZE */
div#header #pr p {
   margin:0;
   font-size:0.75em;
}

/* GNAVI CUSTOMIZE */
div#header #gnavi ul {
   list-style:none;
}

div#header #gnavi li {
   float:left;
   font-size:0.63em;
   margin-left:15px;
}

div#header #gnavi li a{
   padding-left:15px;
   background:url(images/bg_gnavi.gif) 0 1px no-repeat;
}


/* ========MENU CUSTOMIZE======== */
/* 【修正】縦並び（改行）を絶対に起こさないために、Flexbox配置へ安全にアップグレード */
div#menu ul {
   display: flex; /* これにより1列に絶対横並びになります */
   margin:0;
   padding:0;
   width: 780px;
   list-style: none;
}

div#menu li {
   margin:0;
   padding:0;
   flex: 1; /* 5つのメニュー幅を完全に均等にします（156pxずつになります） */
   font-size:0.68em; /* 文字のハミ出しを防ぐため微調整 */
   color:#fff;
   text-align:center;
   list-style-type:none;
}

div#menu li span {
   font-family:verdana, sans-serif;
   font-size:115%;
   color:#fff;
   display: block;
   line-height: 1.2;
}

div#menu li a{
   display:block;
   width:100%;
   padding:12px 0;
   color:#f0f4f8;
   background: #2b4c7e;
   transition: background 0.2s;
   border-right: 1px solid #3b5c8e;
   box-sizing: border-box; /* 枠線を156pxの中に含めて計算の狂いを防止 */
   text-decoration: none; /* メニュー文字の下線は消す */
}

div#menu li:last-child a {
   border-right: none;
}

div#menu li a:hover{
   text-decoration:none;
   background: #3b5c8e;
   color: #ffffff;
}

/* ========INFO CUSTOMIZE======== */
div#info h2 {
   background:#1e90ff;
   font-size:100%;
   color:#fff;
   padding:2px 5px 0px 5px;
   border-bottom:3px solid #0e90ff;
}

div#info dl dt {
   clear:left;
   float:left;
   width:0em;
   padding:0px 0.5em;
}

div#info dl dd {
   margin-left:0;
   padding:10px 0.5em 10px 8em;
   background:#fff url(images/bg_info_line.gif) 0 100% repeat-x;
}

/* --- saiin追加 --- */
div#info h3 {
   font-size:14px;
   color:#444444;
   padding:0px 0px 8px 0px;
}

div#info ul {
   margin:0px 0 0 0px;
   padding:0;
}

div#info li {
   padding-left: 20px;
   font-size:0.75em;
   list-style:none;
}
/* ========NEWS CUSTOMIZE======== */
div#news p {
   margin:0;
   padding:0 0 1em 0;
   font-size:0.75em;
}

div#news h2 {
   background:#422F28;
   font-size:100%;
   color:#fff;
   padding:5px;
}


/* ========MAIN CONTENTS CUSTOMIZE======== */
div#main a {
   color:#9B0000;
}

div#main a:hover {
   color:#9B0000;
}

div#main h2 {
   margin:0 0 10px 0;
   padding:0;
   font-size:100%;
   color:#333;
   line-height:1.2;
   border-bottom:3px solid #823C34;
}

div#main h3 {
   margin-bottom:3px;
   font-size:0.88em;
}

div#main h4 {
   margin-bottom:2px;
   font-size:0.75em;
}

div#main h5 {
   margin-bottom:2px;
   font-size:0.75em;
}

div#main h6 {
   margin-bottom:2px;
   font-size:0.75em;
}

div#main p{
   margin:0 0 1em 0;
   font-size:0.75em;
}

div#main ul,ol,dl{
   font-size:0.75em;
}

div#main dt{
   margin-bottom:3px;
}

div#main dd{
   padding:0;
   margin:0 0 0.5em 1em;
   padding:3px;
   background:#FFF3EF;
}

/* INFORMATION CUSTOMIZE */
* html body div#main dl.information dd div {
   display:inline-block;
}

div#main dl.information dt {
   margin:0;
   padding:0 0 0 10px;
   background:url(images/bg_list.gif) 0 6px no-repeat;
}

div#main dl.information dd {
   margin:0 0 1em 1em;
   padding:3px;
}


/* ========SUBCONTENTS CUSTOMIZE======== */
div#sub .section {
   margin-bottom:10px;
}

div#sub h2 {
   font-size:0.88em;
   font-weight:bold;
   color:#333;
   line-height:1.2;
}

div#sub ul {
   margin:5px 0 0 5px;
   padding:0;
}

div#sub li {
   padding:5px 0 5px 0;
   font-size:0.75em;
   list-style:none;
   background:url(images/bg_sub_line.gif) 0 100% repeat-x;
}

div#sub li a {
   display:block;
   width:200px;
   padding-left:12px;
   background:url(images/bg_list.gif) 0 6px no-repeat;
}

div#sub li a:hover {
   border:none;
   font-weight:bold;
   background:#FFF3EF url(images/bg_list.gif) 0 6px no-repeat;
   text-decoration:none;
}


/* ========TOTOP CUSTOMIZE======== */
div#totop{
   position:relative;
   height:2em;
}

div#totop p{
   position:absolute;
   top:10px;
   right:0;
   margin:0;
   font-size:1.0em;
}

div#totop p a {
   padding-left:8px;
   background: url(images/bg_totop.gif) 0 50% no-repeat;
}


/* ========FOOTMENU CUSTOMIZE========= */
div#footMenu {
   position: relative;
   padding:20px 0 0 0;
   border-top:1px solid #CECFCE;
}

div#footMenu ul{
   position:relative;
   left:50%;
   float:left;
   margin:0;
   padding:0;
   list-style:none;
}

div#footMenu li{
   position:relative;
   left:-50%;
   float:left;
   margin:0 20px 0 0;
   padding:0;
   font-size:0.75em;
}


/* ========FOOTER CUSTOMIZE======== */
div#footer{
   text-align:center;
   padding:20px 0;
}

div#footer address {
   font-size:1.0em;
}


/* =======ADD 2010 saiin ======== */

td {
    font-size:12px; color:#666666;
}

.c_black_12 { color: #333333; font-size:12px}
.c_blue     { color: #007fff; font-size:15px; font-weight: bold}
.c_blue_m   { color: #0000ff; font-weight: bold}
.c_blue_15  { color: #0000ff; font-size:15px; font-weight: bold}

/* 【修正】「300円」を強烈に目立たせて安さをフックにするためのクラスに変更 */
.c_price {
   color: #d9383a; /* パッと目を引く赤 */
   font-size: 1.4em; /* 文字を大きく */
   font-weight: bold; /* 太字 */
   background: linear-gradient(transparent 60%, #fff3b3 60%); /* 黄色の蛍光ペン風アンダーライン */
   padding: 0 4px;
   margin: 0 2px;
   display: inline-block;
}

.c_white_15 { color: #ffffff; font-size:15px; font-weight: bold}

.c_red { color: #ff0000;}

/* --- リストエリア --- */
ol.topicPath {
margin: 0;
padding: 0;
list-style-type: none;
font-size: 80%;
}

/* --- リスト項目 --- */
ol.topicPath li {
display: inline;
}

/* --- リンク --- */
ol.topicPath li a {
margin-right: 4px; /* リンクエリアの右マージン */
}

/* --- タイトル --- */
p.sitemap{
    background-image:url(./images/title1.gif);
    background-repeat: no-repeat; 
    color: #FFFFFF;
    text-indent:20px;
    text-align:left;
    margin:0px;
    font-size: large;
    font-weight:bold;
    height: 25px;
}

/* ========「商品を見る」ボタン（PC版）======== */
.btn-container {
   text-align: center;
   margin: 25px 0;
}

.btn-shouhin {
   display: inline-block;
   width: 280px;
   padding: 15px 0;
   background: #2b4c7e; /* ホームページのテーマカラーに統一 */
   color: #ffffff !important; /* 文字を白に固定 */
   font-size: 1.3em;
   font-weight: bold;
   text-decoration: none !important; /* 下線を消す */
   border-radius: 6px; /* 緩やかな角丸 */
   box-shadow: 0 4px 0 #1a355e; /* 立体感を出す下の影 */
   transition: all 0.2s ease;
   position: relative;
   top: 0;
}

/* 小さな英語・補足テキストの装飾 */
.btn-shouhin span {
   display: block;
   font-size: 0.55em;
   color: #cbd5e1;
   font-weight: normal;
   margin-top: 3px;
   letter-spacing: 1px;
}

/* マウスを乗せた（ホバー）時の動き */
.btn-shouhin:hover {
   background: #355b93; /* 少し明るい青に */
   color: #ffffff !important;
   top: 2px; /* 少しボタンが沈むアニメーション */
   box-shadow: 0 2px 0 #1a355e; /* 影を薄くして沈んだように見せる */
}


/* ======== 会社概要ページ（PC版・デザイン復活） ======== */
.company-lead {
   font-size: 1.05em; /* 文字を少しだけ大きく読みやすく */
   font-weight: bold;
   color: #1a365d; /* テーマの濃い青 */
   margin-bottom: 20px;
   padding-left: 5px;
}

.company-table {
   width: 100%; /* 横幅いっぱいに広げてスマートに */
   max-width: 650px; /* 広がりすぎないように上限を設定 */
   border-collapse: collapse; /* 線の重なりを解消 */
   margin-bottom: 30px;
   font-size: 0.95em; /* 文字サイズを一回り大きく調整 */
}

/* 表の左側（項目名）の装飾 */
.company-table th {
   width: 150px;
   background: #f1f5f9 !important; /* 上品なライトグレーの背景色 */
   color: #1a365d !important; /* テーマの濃い青文字 */
   font-weight: bold;
   text-align: center;
   padding: 15px 10px;
   border-top: 1px solid #cbd5e1 !important;
   border-bottom: 1px solid #cbd5e1 !important;
   border-left: none !important;
   border-right: none !important;
}

/* 表の右側（内容）の装飾 */
.company-table td {
   color: #333333 !important; /* クッキリした濃いグレーの文字 */
   background: #ffffff !important; /* 背景はすっきりとした白 */
   text-align: left;
   padding: 15px 15px;
   line-height: 1.7;
   border-top: 1px solid #cbd5e1 !important;
   border-bottom: 1px solid #cbd5e1 !important;
   border-left: none !important;
   border-right: none !important;
}

/* 表の最上部と最下部の線を少しだけ太くして引き締める */
.company-table tr:first-child th,
.company-table tr:first-child td {
   border-top: 2px solid #2b4c7e !important; /* 最上部のアクセント青線 */
}

.company-table tr:last-child th,
.company-table tr:last-child td {
   border-bottom: 2px solid #2b4c7e !important; /* 最下部のアクセント青線 */
}


/* ======== 商品紹介ページ専用（PC版・最終決定版） ======== */
/* 上部タイトル */
div#pr h2 {
   background: #2b4c7e;
   color: #fff;
   padding: 12px 15px;
   font-size: 1.2em;
   font-weight: bold;
   border-radius: 4px;
}

/* リード文リスト */
.goods-lead {
   margin: 20px 0 30px 0;
   padding: 0 0 0 20px;
   list-style-type: square;
}
.goods-lead li {
   font-size: 0.95em;
   font-weight: bold;
   color: #2b4c7e;
   margin-bottom: 6px;
}

/* 2つの表をPC版で絶対に左右に並べるための強力な設定 */
.product-tables-container {
   display: table !important;
   table-layout: fixed !important;
   width: 100% !important;
   border-spacing: 20px 0 !important;
   margin-bottom: 30px !important;
}

/* 個別のスペックテーブル */
.product-spec-table {
   display: table-cell !important;
   width: 50% !important;
   border-collapse: separate !important;
   font-size: 0.95em;
   background: #fff;
   vertical-align: top !important;
}

/* 【重要・超強力修正】各行の高さをクラス名で1ミリの狂いもなく完全固定 */
.product-spec-table tr.r-h1  { height: 45px !important; }  /* ヘッダー */
.product-spec-table tr.r-h2  { height: 280px !important; } /* メイン画像 */
.product-spec-table tr.r-h3  { height: 70px !important; }  /* 価格 */
.product-spec-table tr.r-h4  { height: 65px !important; }  /* 本体素材 */
.product-spec-table tr.r-h5  { height: 48px !important; }  /* マジックテープ */
.product-spec-table tr.r-h6  { height: 48px !important; }  /* 糸 */
.product-spec-table tr.r-h7  { height: 48px !important; }  /* 重量 */
.product-spec-table tr.r-h8  { height: 75px !important; }  /* 特徴 */
.product-spec-table tr.r-h9  { height: 85px !important; }  /* 色（チップ） */
.product-spec-table tr.r-h10 { height: 260px !important; } /* 色画像 */
.product-spec-table tr.r-h11 { height: 240px !important; } /* 画像1 */
.product-spec-table tr.r-h12 { height: 240px !important; } /* 画像2 */

/* 中のセルの高さも行と同じになるように強制調整 */
.product-spec-table th, .product-spec-table td {
   border: 1px solid #cbd5e1;
   padding: 8px 12px;
   vertical-align: middle;
   box-sizing: border-box !important;
}

/* テーブルヘッダー（一番上のAタイプ・Bタイプ） */
.product-spec-table thead th {
   background: #2b4c7e;
   color: #fff;
   font-size: 1.1em;
   font-weight: bold;
   text-align: center;
}

/* 左側縦の見出し列（本体素材、糸など）の幅を100pxに完全固定 */
.product-spec-table tbody th {
   background: #f1f5f9;
   color: #1a365d;
   font-weight: bold;
   text-align: center;
   width: 100px !important;
}

/* 右側のデータ列の幅も均等に強制固定 */
.product-spec-table tbody td {
   text-align: left;
   width: calc(100% - 100px) !important;
}

/* 画像項目：製品画像の大サイズ化 */
.product-spec-table tr.row-image td {
   text-align: center;
   cursor: pointer;
}
.product-spec-table tr.row-image img {
   max-height: 240px;
   width: auto;
   transition: transform 0.2s;
}
.product-spec-table tr.row-image img:hover {
   transform: scale(1.03);
}
.product-spec-table td span {
   display: block;
   font-size: 0.8em;
   color: #64748b;
   margin-top: 6px;
}

/* 特徴のタグ装飾 */
.p-tag {
   color: #2b4c7e;
   font-weight: bold;
}

/* カラーリスト（チップ表示） */
.color-list {
   display: flex;
   flex-wrap: wrap;
   gap: 8px;
   padding-top: 5px;
}
.color-item {
   display: flex;
   align-items: center;
   font-size: 0.95em;
   width: 75px;
}
.chip-color {
   display: inline-block;
   width: 18px;
   height: 18px;
   border-radius: 50%;
   border: 1px solid #94a3b8;
   margin-right: 6px;
   box-shadow: inset 0 1px 3px rgba(0,0,0,0.1);
}

/* 補足画像関連 */
.product-spec-table tr.row-subimage td {
   text-align: center;
}
.product-spec-table tr.row-subimage img {
   max-width: 190px;
   height: auto;
   border: 1px solid #e2e8f0;
   border-radius: 4px;
   margin-bottom: 4px;
}

/* 下部お問い合わせ誘導枠 */
.goods-contact-box {
   background: #f8fafc;
   border: 2px dashed #2b4c7e;
   padding: 25px;
   border-radius: 8px;
   margin-top: 30px;
   font-size: 0.9em;
}
.g-contact-title {
   font-size: 1.2em;
   font-weight: bold;
   color: #1a365d;
   margin-bottom: 12px;
   border-bottom: 1px solid #cbd5e1;
   padding-bottom: 6px;
}
.g-contact-action {
   text-align: center;
   margin: 20px 0;
}
.g-contact-btn {
   display: inline-block;
   background: #d9383a;
   color: #fff !important;
   font-size: 1.1em;
   font-weight: bold;
   padding: 12px 35px;
   border-radius: 6px;
   text-decoration: none !important;
   box-shadow: 0 4px 0 #991b1b;
   transition: all 0.15s;
}
.g-contact-btn:hover {
   background: #b91c1c;
   transform: translateY(1px);
   box-shadow: 0 3px 0 #991b1b;
}
.g-contact-telinf {
   background: #fff;
   border: 1px solid #e2e8f0;
   padding: 15px;
   border-radius: 6px;
}
.g-contact-telinf p {
   font-weight: bold;
   margin: 0 0 8px 0;
   color: #2b4c7e;
}
.g-contact-telinf ul {
   list-style: none;
   padding: 0;
   margin: 0;
   display: flex;
   gap: 30px;
}
.g-contact-telinf strong { color: #475569; }
.g-contact-telinf span {
   font-size: 1.3em;
   font-weight: bold;
   color: #1a365d;
}
