*{
margin:0;
padding:0;
box-sizing:border-box;
}
:root{
--primary-green:#00a040;
--primary-green-dark:#008533;
--primary-green-light:#4dc57d;
--accent-gold:#d4af37;
--accent-gold-light:#f4d673;
--bg-gradient-start:#f8fffe;
--bg-gradient-end:#e8f5f0;
--text-primary:#1a1a1a;
--text-secondary:#4a4a4a;
--text-light:#6a6a6a;
--white:#ffffff;
--shadow-sm:0 2px 8px rgba(0,160,64,0.1);
--shadow-md:0 4px 20px rgba(0,160,64,0.15);
--shadow-lg:0 8px 40px rgba(0,160,64,0.2);
--shadow-gold:0 4px 16px rgba(212,175,55,0.3);
}
body{
font-family:'Hiragino Kaku Gothic ProN','Hiragino Sans','Yu Gothic','Meiryo',sans-serif;
color:var(--text-primary);
line-height:1.8;
background:linear-gradient(135deg,var(--bg-gradient-start) 0%,var(--bg-gradient-end) 100%);
min-height:100vh;
position:relative;
}
body::before{
content:'';
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background-image:
radial-gradient(circle at 20% 30%,rgba(0,160,64,0.03) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(212,175,55,0.03) 0%,transparent 50%);
pointer-events:none;
z-index:-1;
}
.container{
max-width:1200px;
margin:0 auto;
padding:0 20px;
}
.site-header-new{
background:linear-gradient(135deg,var(--primary-green) 0%,var(--primary-green-dark) 100%);
box-shadow:var(--shadow-lg);
position:sticky;
top:0;
z-index:1000;
backdrop-filter:blur(10px);
}
.header-bar-new{
padding:0;
height:80px;
display:flex;
align-items:center;
position:relative;
}
.header-bar-new::after{
content:'';
position:absolute;
bottom:0;
left:0;
width:100%;
height:3px;
background:linear-gradient(90deg,transparent 0%,var(--accent-gold) 50%,transparent 100%);
}
.brand-new{
display:flex;
align-items:center;
gap:16px;
text-decoration:none;
padding:12px 24px;
border-radius:12px;
transition:all 0.3s ease;
position:relative;
overflow:hidden;
}
.brand-new::before{
content:'';
position:absolute;
top:0;
left:-100%;
width:100%;
height:100%;
background:linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);
transition:left 0.6s ease;
}
.brand-new:hover::before{
left:100%;
}
.brand-new:hover{
background:rgba(255,255,255,0.1);
transform:translateY(-2px);
}
.brand-new__mark{
width:48px;
height:48px;
background:linear-gradient(135deg,var(--accent-gold) 0%,var(--accent-gold-light) 100%);
border-radius:12px;
display:block;
box-shadow:var(--shadow-gold);
position:relative;
}
.brand-new__mark::before,.brand-new__mark::after{
content:'';
position:absolute;
background:var(--white);
border-radius:2px;
}
.brand-new__mark::before{
width:24px;
height:4px;
top:50%;
left:50%;
transform:translate(-50%,-50%) rotate(-45deg);
}
.brand-new__mark::after{
width:12px;
height:4px;
top:50%;
left:50%;
transform:translate(-80%,-50%) rotate(45deg);
}
.brand-new__name{
color:var(--white);
font-size:24px;
font-weight:700;
letter-spacing:0.05em;
text-shadow:2px 2px 4px rgba(0,0,0,0.2);
}
.masthead{
padding:80px 0;
text-align:center;
position:relative;
overflow:hidden;
}
.masthead::before{
content:'';
position:absolute;
top:50%;
left:50%;
width:600px;
height:600px;
background:radial-gradient(circle,rgba(0,160,64,0.1) 0%,transparent 70%);
transform:translate(-50%,-50%);
animation:pulse 4s ease-in-out infinite;
}
@keyframes pulse{
0%,100%{ transform:translate(-50%,-50%) scale(1); opacity:0.5; }
50%{ transform:translate(-50%,-50%) scale(1.1); opacity:0.7; }
}
.masthead__title{
font-size:56px;
font-weight:800;
background:linear-gradient(135deg,var(--primary-green) 0%,var(--primary-green-dark) 50%,var(--accent-gold) 100%);
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
background-clip:text;
letter-spacing:0.05em;
position:relative;
display:inline-block;
padding:0 20px;
}
.masthead__title::after{
content:'';
position:absolute;
bottom:-20px;
left:50%;
transform:translateX(-50%);
width:120px;
height:4px;
background:linear-gradient(90deg,var(--primary-green),var(--accent-gold),var(--primary-green));
border-radius:2px;
}
.site-main{
padding:40px 0 20px;
}
.page-title{
font-size:40px;
font-weight:700;
color:var(--primary-green-dark);
padding:30px 40px;
background:var(--white);
border-left:8px solid var(--accent-gold);
border-radius:0 16px 16px 0;
box-shadow:var(--shadow-md);
position:relative;
margin-bottom:40px;
}
.page-title::before{
content:'';
position:absolute;
top:0;
right:0;
width:100px;
height:100%;
background:linear-gradient(90deg,transparent,rgba(0,160,64,0.05));
border-radius:0 16px 16px 0;
}
.content-card{
background:var(--white);
border-radius:24px;
box-shadow:var(--shadow-lg);
margin-bottom:60px;
overflow:hidden;
position:relative;
}
.content-card::before{
content:'';
position:absolute;
top:0;
left:0;
width:100%;
height:6px;
background:linear-gradient(90deg,var(--primary-green) 0%,var(--accent-gold) 50%,var(--primary-green) 100%);
}
.content-card__body{
padding:60px;
}
#text1-section h2{
font-size:36px;
font-weight:700;
color:var(--primary-green-dark);
margin:60px 0 30px;
padding:24px 32px;
background:linear-gradient(135deg,rgba(0,160,64,0.08) 0%,rgba(212,175,55,0.08) 100%);
border-left:6px solid var(--accent-gold);
border-radius:12px;
position:relative;
box-shadow:var(--shadow-sm);
}
#text1-section h2::after{
content:'';
position:absolute;
bottom:0;
left:32px;
width:80px;
height:3px;
background:var(--primary-green);
border-radius:2px;
}
#text1-section h2:first-child{
margin-top:0;
}
#text1-section h3{
font-size:28px;
font-weight:600;
color:var(--primary-green);
margin:50px 0 24px;
padding:16px 24px 16px 60px;
background:var(--white);
border-left:4px solid var(--primary-green);
border-radius:8px;
box-shadow:var(--shadow-sm);
position:relative;
}
#text1-section h3::before{
content:'';
position:absolute;
left:20px;
top:50%;
transform:translateY(-50%);
width:24px;
height:24px;
background:linear-gradient(135deg,var(--primary-green) 0%,var(--primary-green-light) 100%);
border-radius:6px;
box-shadow:0 2px 8px rgba(0,160,64,0.3);
}
#text1-section h4{
font-size:22px;
font-weight:600;
color:var(--text-primary);
margin:40px 0 20px;
padding:12px 20px 12px 48px;
border-left:3px solid var(--accent-gold);
background:linear-gradient(90deg,rgba(212,175,55,0.1) 0%,transparent 100%);
border-radius:6px;
position:relative;
}
#text1-section h4::before{
content:'';
position:absolute;
left:18px;
top:50%;
transform:translateY(-50%);
width:12px;
height:12px;
background:var(--accent-gold);
border-radius:50%;
}
#text1-section h5{
font-size:18px;
font-weight:600;
color:var(--text-secondary);
margin:30px 0 16px;
padding:10px 16px;
border-bottom:2px solid var(--primary-green-light);
display:inline-block;
}
.txt-body p{
margin:24px 0;
color:var(--text-secondary);
font-size:16px;
line-height:2;
}
.txt-body p:first-of-type{
font-size:17px;
font-weight:500;
color:var(--text-primary);
}
.image-center{
display:block;
margin:40px auto;
max-width:100%;
height:auto;
border-radius:16px;
box-shadow:var(--shadow-md);
transition:transform 0.3s ease,box-shadow 0.3s ease;
}
.image-center:hover{
transform:translateY(-4px) scale(1.01);
box-shadow:var(--shadow-lg);
}
table{
width:100%;
border-collapse:separate;
border-spacing:0;
margin:40px 0;
background:var(--white);
border-radius:12px;
overflow:hidden;
box-shadow:var(--shadow-md);
}
table th{
background:linear-gradient(135deg,var(--primary-green) 0%,var(--primary-green-dark) 100%);
color:var(--white);
font-weight:600;
padding:20px 24px;
text-align:left;
font-size:16px;
letter-spacing:0.05em;
}
table th:first-child{
border-radius:12px 0 0 0;
}
table th:last-child{
border-radius:0 12px 0 0;
}
table td{
padding:18px 24px;
border-bottom:1px solid rgba(0,160,64,0.1);
color:var(--text-secondary);
font-size:15px;
transition:background 0.3s ease;
}
table tr:last-child td{
border-bottom:none;
}
table tr:last-child td:first-child{
border-radius:0 0 0 12px;
}
table tr:last-child td:last-child{
border-radius:0 0 12px 0;
}
table tr:hover td{
background:rgba(0,160,64,0.05);
}
.txt-body ul,.txt-body ol{
margin:32px 0;
padding-left:0;
list-style:none;
}
.txt-body ul li{
padding:16px 20px 16px 56px;
margin:12px 0;
background:linear-gradient(90deg,rgba(0,160,64,0.05) 0%,transparent 100%);
border-left:4px solid var(--primary-green-light);
border-radius:8px;
position:relative;
transition:all 0.3s ease;
}
.txt-body ul li::before{
content:'';
position:absolute;
left:20px;
top:50%;
transform:translateY(-50%);
width:16px;
height:16px;
background:linear-gradient(135deg,var(--primary-green) 0%,var(--primary-green-light) 100%);
border-radius:4px;
box-shadow:0 2px 6px rgba(0,160,64,0.3);
}
.txt-body ul li:hover{
background:linear-gradient(90deg,rgba(0,160,64,0.08) 0%,transparent 100%);
transform:translateX(4px);
box-shadow:var(--shadow-sm);
}
.txt-body ol{
counter-reset:elegant-counter;
}
.txt-body ol li{
padding:16px 20px 16px 70px;
margin:12px 0;
background:linear-gradient(90deg,rgba(212,175,55,0.05) 0%,transparent 100%);
border-left:4px solid var(--accent-gold);
border-radius:8px;
position:relative;
counter-increment:elegant-counter;
transition:all 0.3s ease;
}
.txt-body ol li::before{
content:counter(elegant-counter);
position:absolute;
left:20px;
top:50%;
transform:translateY(-50%);
width:32px;
height:32px;
background:linear-gradient(135deg,var(--accent-gold) 0%,var(--accent-gold-light) 100%);
color:var(--white);
font-weight:700;
font-size:14px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
box-shadow:var(--shadow-gold);
}
.txt-body ol li:hover{
background:linear-gradient(90deg,rgba(212,175,55,0.08) 0%,transparent 100%);
transform:translateX(4px);
box-shadow:var(--shadow-sm);
}
#main-footer{
padding:80px 0 40px;
}
.categorylist{
max-width:1200px;
margin:0 auto;
padding:0 20px;
}
.categorylist .title{
font-size:32px;
font-weight:700;
color:var(--primary-green-dark);
margin-bottom:40px;
padding:20px 32px;
background:linear-gradient(135deg,rgba(0,160,64,0.1) 0%,rgba(212,175,55,0.1) 100%);
border-left:6px solid var(--accent-gold);
border-radius:12px;
box-shadow:var(--shadow-sm);
}
.category_ul{
list-style:none;
padding:0;
margin:0;
display:grid;
grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
gap:24px;
}
.category_ul .article-thumb,.category_ul .article-desc,.category_ul .article-more{
display:none;
}
.category_ul .article{
background:var(--white);
border-radius:16px;
box-shadow:var(--shadow-md);
transition:all 0.4s cubic-bezier(0.175,0.885,0.32,1.275);
overflow:hidden;
position:relative;
}
.category_ul .article::before{
content:'';
position:absolute;
top:0;
left:0;
width:100%;
height:4px;
background:linear-gradient(90deg,var(--primary-green),var(--accent-gold));
transform:scaleX(0);
transform-origin:left;
transition:transform 0.4s ease;
}
.category_ul .article:hover::before{
transform:scaleX(1);
}
.category_ul .article:hover{
transform:translateY(-8px);
box-shadow:var(--shadow-lg);
}
.category_ul .article-inner{
padding:0;
}
.category_ul .article-body{
padding:28px 32px;
}
.category_ul .article-title a{
font-size:20px;
font-weight:600;
color:var(--primary-green-dark);
text-decoration:none;
display:block;
position:relative;
padding-left:32px;
transition:color 0.3s ease;
}
.category_ul .article-title a::before{
content:'';
position:absolute;
left:0;
top:50%;
transform:translateY(-50%);
width:20px;
height:20px;
background:linear-gradient(135deg,var(--primary-green) 0%,var(--primary-green-light) 100%);
border-radius:4px;
box-shadow:0 2px 6px rgba(0,160,64,0.3);
}
.category_ul .article-title a:hover{
color:var(--accent-gold);
}
#menu{
padding:40px 0;
}
.menuboxlist{
max-width:1200px;
margin:0 auto;
padding:0 20px;
}
.menubox{
background:var(--white);
border-radius:20px;
box-shadow:var(--shadow-lg);
overflow:hidden;
position:relative;
}
.menubox::before{
content:'';
position:absolute;
top:0;
left:0;
width:100%;
height:5px;
background:linear-gradient(90deg,var(--primary-green) 0%,var(--accent-gold) 50%,var(--primary-green) 100%);
}
.menubox .title{
background:linear-gradient(135deg,var(--primary-green) 0%,var(--primary-green-dark) 100%);
color:var(--white);
font-size:24px;
font-weight:700;
padding:24px 32px;
letter-spacing:0.05em;
}
.menulist{
padding:20px;
}
.sitemenu{
list-style:none;
padding:0;
margin:0;
}
.sitemenu > li{
margin:8px 0;
}
.sitemenu > li > a{
display:block;
padding:18px 24px;
background:linear-gradient(90deg,rgba(0,160,64,0.08) 0%,transparent 100%);
border-left:4px solid var(--primary-green);
border-radius:10px;
color:var(--primary-green-dark);
text-decoration:none;
font-weight:600;
font-size:17px;
transition:all 0.3s ease;
position:relative;
}
.sitemenu > li > a::after{
content:'';
position:absolute;
right:24px;
top:50%;
transform:translateY(-50%);
width:8px;
height:8px;
border-top:2px solid var(--primary-green);
border-right:2px solid var(--primary-green);
transform:translateY(-50%) rotate(45deg);
transition:transform 0.3s ease;
}
.sitemenu > li > a:hover{
background:linear-gradient(90deg,rgba(0,160,64,0.12) 0%,rgba(212,175,55,0.05) 100%);
transform:translateX(4px);
box-shadow:var(--shadow-sm);
}
.sitemenu > li > a:hover::after{
transform:translateY(-50%) rotate(45deg) translateX(4px);
}
.sitemenu_ul.child{
list-style:none;
padding:12px 0 12px 20px;
margin:8px 0 0 0;
}
.sitemenu_ul.child li{
margin:6px 0;
}
.sitemenu_ul.child li a{
display:block;
padding:12px 20px 12px 40px;
color:var(--text-secondary);
text-decoration:none;
font-size:15px;
border-radius:8px;
transition:all 0.3s ease;
position:relative;
}
.sitemenu_ul.child li a::before{
content:'';
position:absolute;
left:16px;
top:50%;
transform:translateY(-50%);
width:10px;
height:10px;
background:var(--accent-gold);
border-radius:50%;
transition:all 0.3s ease;
}
.sitemenu_ul.child li a:hover{
background:rgba(212,175,55,0.1);
color:var(--primary-green-dark);
transform:translateX(4px);
}
.sitemenu_ul.child li a:hover::before{
background:var(--primary-green);
transform:translateY(-50%) scale(1.2);
}
.site-footer-new{
background:linear-gradient(135deg,var(--primary-green-dark) 0%,var(--primary-green) 100%);
color:var(--white);
padding:40px 0 20px;
margin-top:80px;
position:relative;
}
.site-footer-new::before{
content:'';
position:absolute;
top:0;
left:0;
width:100%;
height:4px;
background:linear-gradient(90deg,var(--accent-gold) 0%,var(--white) 50%,var(--accent-gold) 100%);
}
.footer-inner-new{
display:flex;
flex-direction:column;
align-items:center;
gap:24px;
}
.footer-nav{
margin-bottom:12px;
}
.footer-sitemap-link{
color:var(--white);
text-decoration:none;
font-weight:600;
padding:12px 32px;
border:2px solid rgba(255,255,255,0.3);
border-radius:8px;
transition:all 0.3s ease;
display:inline-block;
}
.footer-sitemap-link:hover{
background:rgba(255,255,255,0.1);
border-color:var(--accent-gold);
transform:translateY(-2px);
box-shadow:0 4px 12px rgba(0,0,0,0.2);
}
.copyright{
font-size:14px;
color:rgba(255,255,255,0.8);
letter-spacing:0.05em;
}
.copyright a{
color:var(--accent-gold-light);
text-decoration:none;
font-weight:600;
transition:color 0.3s ease;
}
.copyright a:hover{
color:var(--white);
}
.btn-top-new{
position:fixed;
bottom:40px;
right:40px;
width:60px;
height:60px;
background:linear-gradient(135deg,var(--accent-gold) 0%,var(--accent-gold-light) 100%);
color:var(--white);
text-decoration:none;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-size:24px;
font-weight:700;
box-shadow:var(--shadow-gold);
transition:all 0.4s cubic-bezier(0.175,0.885,0.32,1.275);
z-index:999;
}
.btn-top-new:hover{
transform:translateY(-8px) scale(1.1);
box-shadow:0 8px 24px rgba(212,175,55,0.5);
background:linear-gradient(135deg,var(--accent-gold-light) 0%,var(--accent-gold) 100%);
}
.btn-top-new::before{
content:'';
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
border-radius:50%;
border:2px solid var(--accent-gold);
animation:ripple 2s ease-out infinite;
}
@keyframes ripple{
0%{
transform:scale(1);
opacity:1;
}
100%{
transform:scale(1.5);
opacity:0;
}
}
@media (max-width:768px){
.container{
padding:0 16px;
}
.header-bar-new{
height:64px;
}
.brand-new__mark{
width:40px;
height:40px;
}
.brand-new__name{
font-size:18px;
}
.masthead{
padding:50px 0;
}
.masthead__title{
font-size:32px;
}
.page-title{
font-size:26px;
padding:20px 24px;
}
.content-card__body{
padding:32px 20px;
}
#text1-section h2{
font-size:26px;
padding:18px 20px;
margin:40px 0 20px;
}
#text1-section h3{
font-size:22px;
padding:14px 20px 14px 50px;
margin:35px 0 18px;
}
#text1-section h3::before{
width:20px;
height:20px;
left:16px;
}
#text1-section h4{
font-size:19px;
padding:10px 16px 10px 40px;
margin:30px 0 16px;
}
#text1-section h4::before{
left:14px;
width:10px;
height:10px;
}
#text1-section h5{
font-size:17px;
padding:8px 12px;
margin:24px 0 12px;
}
.txt-body p{
font-size:15px;
}
.txt-body p:first-of-type{
font-size:16px;
}
table th,table td{
padding:14px 16px;
font-size:14px;
}
.txt-body ul li,.txt-body ol li{
padding:12px 16px 12px 44px;
font-size:15px;
}
.txt-body ul li::before{
width:14px;
height:14px;
left:16px;
}
.txt-body ol li{
padding-left:60px;
}
.txt-body ol li::before{
width:28px;
height:28px;
left:16px;
font-size:13px;
}
.category_ul{
grid-template-columns:1fr;
gap:16px;
}
.categorylist .title{
font-size:24px;
padding:16px 20px;
margin-bottom:24px;
}
.category_ul .article-body{
padding:20px 24px;
}
.category_ul .article-title a{
font-size:17px;
padding-left:28px;
}
.category_ul .article-title a::before{
width:16px;
height:16px;
}
.menubox .title{
font-size:20px;
padding:18px 24px;
}
.sitemenu > li > a{
padding:14px 20px;
font-size:16px;
}
.sitemenu_ul.child li a{
padding:10px 16px 10px 36px;
font-size:14px;
}
.sitemenu_ul.child li a::before{
width:8px;
height:8px;
left:14px;
}
.btn-top-new{
width:50px;
height:50px;
bottom:24px;
right:24px;
font-size:20px;
}
.site-footer-new{
padding:32px 0 16px;
margin-top:50px;
}
.footer-sitemap-link{
padding:10px 24px;
font-size:14px;
}
}
@media (max-width:480px){
.masthead__title{
font-size:26px;
}
.page-title{
font-size:22px;
padding:16px 20px;
border-left-width:6px;
}
.content-card__body{
padding:24px 16px;
}
#text1-section h2{
font-size:22px;
padding:16px 16px;
}
#text1-section h3{
font-size:19px;
}
.category_ul .article-title a{
font-size:16px;
}
.btn-top-new{
width:46px;
height:46px;
bottom:20px;
right:20px;
font-size:18px;
}
}
@media (prefers-reduced-motion:reduce){
*,*::before,*::after{
animation-duration:0.01ms !important;
animation-iteration-count:1 !important;
transition-duration:0.01ms !important;
}
}
@media print{
.site-header-new,.btn-top-new,#menu{
display:none;
}
.content-card{
box-shadow:none;
border:1px solid #ccc;
}
body{
background:white;
}
}
a:focus-visible,button:focus-visible{
outline:3px solid var(--accent-gold);
outline-offset:3px;
}
html{
scroll-behavior:smooth;
}
::selection{
background:rgba(0,160,64,0.2);
color:var(--primary-green-dark);
}
::-moz-selection{
background:rgba(0,160,64,0.2);
color:var(--primary-green-dark);
}
.alert,.accept,.attention,.thint,.nmlbox,.ylwbox,.blubox{
margin:1.4em 0;
padding:14px 16px;
border-radius:6px;
border:1px solid #ddd;
font-size:0.95em;
line-height:1.6;
}
.alert{
background:#ffe5e5;
border-color:#ff7a7a;
color:#a40000;
}
.accept{
background:#e5f9e8;
border-color:#4cc07d;
color:#084f2d;
}
.attention,.ylwbox{
background:#fff9d8;
border-color:#f0c834;
color:#5c4400;
}
.thint,.nmlbox.graybg{
background:#f5f5f5;
border-color:#ccc;
color:#444;
}
.nmlbox{
background:#ffffff;
border-color:#cccccc;
}
.blubox{
background:#e8f2ff;
border-color:#7ab3ff;
color:#043f8c;
}
.grnbox{
background:#e8fae8;
border:1px solid #63c063;
color:#0b4d0b;
}
.cynbox{
background:#e8faff;
border:1px solid #5fc0d8;
color:#0a3f4a;
}
.pnkbox{
background:#ffeaf4;
border:1px solid #f58bb4;
color:#7b1f3c;
}
.brwbox{
background:#f7f2e9;
border:1px solid #c5b499;
color:#4b3b2a;
}.point:empty{height:32px}
.img-lb{display:contents;}.logo-horizon .logotext{display:none;}
img{height:auto;max-width:100%}
.image-center{margin:10px auto;display:block;}
.img-center{text-align:center;max-width:100%;height:auto;}
.img-center img{max-width:100%;height:auto;margin:8px auto}
span.img-center{display:block;text-align:center;}
table.rank-table td .img-center{text-align:left !important;}