﻿:root{
--primary-color:#16a34a;
--primary-light:#dcfce7;
--primary-dark:#166534;
--text-color:#333;
--bg-color:#f9fafb;
--white:#fff;}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Hiragino Kaku Gothic ProN',Meiryo,sans-serif;line-height:1.8;color:var(--text-color);background:var(--bg-color);}
.container{max-width:1200px;margin:0 auto;padding:0 20px;}
.site-header{background:var(--primary-color);color:var(--white);padding:15px 0;}
.site-header .container{display:flex;justify-content:space-between;align-items:center;}
.site-brand{display:flex;align-items:center;gap:10px;}
.site-logo{width:35px;height:35px;border-radius:50%;object-fit:cover;background:none;padding:0;border:2px solid rgba(255,255,255,0.3);}
.site-title{font-size:1.1rem;}
.site-title a{color:var(--white);text-decoration:none;}
.header-right{display:flex;align-items:center;gap:15px;}
.main-nav a{color:var(--white);text-decoration:none;margin-left:20px;}
.main-nav a:hover{text-decoration:underline;}
.header-icons{display:flex;align-items:center;gap:4px;}
.header-icons .ext-link{width:32px;height:32px;font-size:1rem;}
main{padding:40px 0;}
section{margin-bottom:40px;}
section h2{font-size:1.5rem;margin-bottom:20px;padding-bottom:10px;border-bottom:3px solid var(--primary-color);}
.article-list,.category-list{list-style:none;background:var(--white);border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,0.1);}
.article-item,.category-item{border-bottom:1px solid #eee;}
.article-item:last-child,.category-item:last-child{border-bottom:none;}
.article-item a,.category-item a{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;align-items:center;padding:15px 20px;color:var(--text-color);text-decoration:none;transition:background 0.3s;}
.article-item a:hover,.category-item a:hover{background:var(--primary-light);}
.list-category{padding:4px 12px;background:var(--primary-light);color:var(--primary-dark);font-size:0.75rem;border-radius:4px;margin-right:10px;white-space:nowrap;flex-shrink:0;}
.list-title{flex:1;font-size:0.8rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.article-count{color:#666;margin-bottom:20px;}
.article-content{background:var(--white);padding:40px;border-radius:8px;}
.article-title{font-size:1.8rem;margin-bottom:10px;color:var(--primary-dark);}
.article-category{margin-bottom:30px;color:#666;}
.article-category a{color:var(--primary-color);}
.article-content p{margin-bottom:20px;}
.product-box{margin-top:40px;padding-top:30px;border-top:1px solid #eee;text-align:center;display:flex;flex-direction:column;align-items:center;}
.product-link{display:block;text-decoration:none;color:var(--primary-color);}
.product-img{display:block;max-width:100%;height:auto;border-radius:8px;}
.product-text{display:block;font-weight:bold;padding:20px;background:#f5f5f5;border-radius:8px;}
.info-label{margin-top:10px;font-size:0.9rem;color:#999;}
.contact-table{width:100%;background:var(--white);border-collapse:collapse;}
.contact-table th,.contact-table td{padding:12px 15px;border-bottom:1px solid #eee;text-align:left;font-size:0.85rem;}
.contact-table th{width:120px;background:var(--primary-light);color:var(--primary-dark);font-size:0.8rem;}
.contact-table a{color:var(--primary-color);}
.site-footer{background:#333;color:var(--white);padding:30px 0;text-align:center;}
.footer-icons{margin-bottom:15px;}
.ext-link{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin:0 2px;text-decoration:none;font-size:1.3rem;border-radius:8px;transition:transform 0.3s,opacity 0.3s;}
.ext-link:hover{transform:scale(1.1);opacity:0.85;}
.ext-link.icon-ln{background:#06C755;color:#FFFFFF;}
.ext-link.icon-tw{background:#000000;color:#FFFFFF;}
.ext-link.icon-ig{background:linear-gradient(45deg,#F58529,#DD2A7B,#8134AF,#515BD4);color:#FFFFFF;}
.ext-link.icon-th{background:#000000;color:#FFFFFF;}
@media(max-width:768px){
.site-header .container{flex-direction:row;flex-wrap:wrap;}
.site-brand{gap:8px;}
.site-title{font-size:1rem;}
.main-nav{margin-left:auto;}
.main-nav a{margin:0 8px;font-size:0.85rem;}
.article-content{padding:20px;}
.contact-table th{width:100px;}}
