*{
margin:0;
padding:0;
box-sizing:border-box;
}
:root{
--primary-color:#0077be;
--secondary-color:#00a8cc;
--accent-color:#ff6b6b;
--nature-green:#2ecc71;
--nature-blue:#3498db;
--text-color:#2c3e50;
--text-secondary:#5a6c7d;
--text-light:#7f8c8d;
--bg-color:#ffffff;
--bg-primary:#f8fbfd;
--bg-accent:#e3f2fd;
--bg-overlay:rgba(0,119,190,0.05);
--border-color:#dfe6e9;
--border-light:#ecf0f1;
--shadow-sm:0 2px 8px rgba(0,119,190,0.08);
--shadow-md:0 4px 16px rgba(0,119,190,0.12);
--shadow-lg:0 8px 24px rgba(0,119,190,0.15);
--transition:all 0.3s ease;
--font-display:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans",sans-serif;
--font-body:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
}
body{
font-family:var(--font-body);
line-height:1.8;
color:var(--text-color);
background-color:var(--bg-primary);
font-size:16px;
min-height:100vh;
display:flex;
flex-direction:column;
}
.site-header-new{
background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);
box-shadow:var(--shadow-md);
position:sticky;
top:0;
z-index:1000;
backdrop-filter:blur(10px);
}
.header-bar-new{
display:flex;
align-items:center;
justify-content:space-between;
padding:1.25rem 2rem;
max-width:1280px;
margin:0 auto;
}
.brand-new{
display:flex;
align-items:center;
gap:0.875rem;
text-decoration:none;
color:#ffffff;
font-weight:700;
font-size:1.4rem;
font-family:var(--font-display);
letter-spacing:0.05em;
transition:var(--transition);
text-shadow:0 2px 4px rgba(0,0,0,0.1);
}
.brand-new:hover{
opacity:0.95;
transform:translateY(-1px);
}
.brand-new__mark{
width:42px;
height:42px;
background:linear-gradient(135deg,#ffffff 0%,#e3f2fd 100%);
border-radius:8px;
display:inline-block;
box-shadow:0 4px 12px rgba(0,0,0,0.15);
}
.brand-new__name{
letter-spacing:0.08em;
}
.container{
max-width:1280px;
margin:0 auto;
padding:0 2rem;
flex:1;
}
main#content{
padding:3.5rem 2rem;
}
.masthead{
background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);
text-align:center;
padding:4.5rem 2rem 4rem;
margin:-3.5rem -2rem 3.5rem;
position:relative;
box-shadow:var(--shadow-lg);
overflow:hidden;
}
.masthead::before{
content:'';
position:absolute;
top:0;
left:0;
right:0;
bottom:0;
background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 120"><path d="M0,0 Q300,60 600,30 T1200,60 L1200,120 L0,120 Z" fill="rgba(255,255,255,0.1)"/></svg>') repeat-x bottom;
background-size:1200px 120px;
opacity:0.3;
}
.masthead::after{
content:'';
display:block;
width:100px;
height:4px;
background:linear-gradient(90deg,#ffffff,var(--accent-color));
margin:2.5rem auto 0;
border-radius:2px;
box-shadow:0 2px 8px rgba(255,255,255,0.3);
position:relative;
}
.masthead__title{
font-size:3rem;
font-weight:800;
color:#ffffff;
letter-spacing:0.08em;
margin-bottom:0.75rem;
font-family:var(--font-display);
text-shadow:0 4px 12px rgba(0,0,0,0.2);
position:relative;
}
.page-title{
font-size:2.25rem;
font-weight:700;
color:var(--primary-color);
margin-top:3rem;
margin-bottom:2.5rem;
padding:1.5rem 2rem;
background:linear-gradient(to right,var(--bg-accent) 0%,var(--bg-primary) 100%);
border-radius:12px;
box-shadow:var(--shadow-sm);
font-family:var(--font-display);
position:relative;
}
.page-title::before{
content:'';
position:absolute;
left:0;
top:0;
bottom:0;
width:6px;
background:linear-gradient(to bottom,var(--primary-color),var(--secondary-color));
border-radius:12px 0 0 12px;
}
.content-card{
background-color:var(--bg-color);
border-radius:16px;
box-shadow:var(--shadow-md);
overflow:hidden;
margin-bottom:3.5rem;
border:1px solid var(--border-light);
transition:var(--transition);
}
.content-card:hover{
box-shadow:var(--shadow-lg);
transform:translateY(-4px);
}
.content-card__body{
padding:3.5rem;
}
.readable-body{
max-width:900px;
margin:0 auto;
}
.readable-body h2{
font-size:2rem;
font-weight:700;
color:var(--primary-color);
margin:3rem 0 2rem;
padding:1.25rem 1.5rem 1.25rem 2rem;
background:linear-gradient(135deg,var(--bg-accent) 0%,transparent 100%);
border-left:6px solid var(--primary-color);
border-radius:8px;
line-height:1.5;
font-family:var(--font-display);
box-shadow:var(--shadow-sm);
position:relative;
}
.readable-body h2::after{
content:'';
position:absolute;
bottom:0;
left:2rem;
width:60px;
height:3px;
background:linear-gradient(90deg,var(--accent-color),transparent);
border-radius:2px;
}
.readable-body h2:first-child{
margin-top:0;
}
.readable-body h3{
font-size:1.6rem;
font-weight:700;
color:var(--secondary-color);
margin:2.5rem 0 1.5rem;
padding:1rem 1.25rem 1rem 1.75rem;
background-color:var(--bg-primary);
border-left:5px solid var(--secondary-color);
border-radius:6px;
font-family:var(--font-display);
}
.readable-body h4{
font-size:1.35rem;
font-weight:700;
color:var(--text-color);
margin:2rem 0 1.25rem;
padding-left:1.25rem;
border-left:4px solid var(--nature-blue);
font-family:var(--font-display);
}
.readable-body h5{
font-size:1.15rem;
font-weight:600;
color:var(--text-secondary);
margin:1.75rem 0 1rem;
padding-bottom:0.5rem;
border-bottom:2px solid var(--border-color);
font-family:var(--font-display);
}
.txt-body p{
margin-bottom:1.75rem;
line-height:1.9;
color:var(--text-secondary);
letter-spacing:0.02em;
}
.txt-body p:last-child{
margin-bottom:0;
}
.txt-body{
line-height:1.9;
}
.txt-body p{
margin-bottom:1.5em;
text-align:justify;
}
.txt-body p:last-child{
margin-bottom:0;
}
.txt-body ul,.txt-body ol{
margin:1.5em 0;
padding-left:2em;
}
.txt-body ul li,.txt-body ol li{
margin-bottom:0.5em;
line-height:1.8;
}
.txt-body ul li:last-child,.txt-body ol li:last-child{
margin-bottom:0;
}
.txt-body ul{
list-style-type:disc;
}
.txt-body ol{
list-style-type:decimal;
}
.txt-body ul ul,.txt-body ol ul{
margin:0.5em 0;
list-style-type:circle;
}
.txt-body ul ol,.txt-body ol ol{
margin:0.5em 0;
}
.txt-body table{
width:100%;
margin:1.5em 0;
border-collapse:collapse;
border:1px solid var(--border-color);
}
.txt-body table th,.txt-body table td{
padding:12px 15px;
border:1px solid var(--border-color);
text-align:left;
vertical-align:top;
}
.txt-body table th{
background-color:var(--secondary-color);
font-weight:bold;
color:var(--text-color);
}
.txt-body table tr:nth-child(even){
background-color:var(--bg-color);
}
.txt-body table tr:hover{
background-color:var(--border-color);
}
#main-footer{
background:linear-gradient(to bottom,var(--bg-color) 0%,var(--bg-accent) 100%);
padding:5rem 0;
margin-top:4rem;
border-top:1px solid var(--border-color);
position:relative;
}
#main-footer::before{
content:'';
position:absolute;
top:0;
left:0;
right:0;
height:4px;
background:linear-gradient(90deg,var(--primary-color),var(--secondary-color),var(--accent-color));
}
.categorylist{
max-width:1280px;
margin:0 auto;
padding:0 2rem;
}
.categorylist .title{
text-align:center;
margin-bottom:4rem;
}
.categorylist .title span{
font-size:2.25rem;
font-weight:800;
color:var(--primary-color);
position:relative;
display:inline-block;
padding-bottom:1.25rem;
font-family:var(--font-display);
letter-spacing:0.05em;
}
.categorylist .title span::after{
content:'';
position:absolute;
bottom:0;
left:50%;
transform:translateX(-50%);
width:100px;
height:4px;
background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));
border-radius:2px;
}
.category_ul{
list-style:none;
display:grid;
grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
gap:2.5rem;
}
.article{
height:100%;
}
.article-inner{
background-color:var(--bg-color);
border-radius:16px;
overflow:hidden;
box-shadow:var(--shadow-sm);
transition:var(--transition);
height:100%;
display:flex;
flex-direction:column;
border:1px solid var(--border-light);
position:relative;
}
.article-inner::before{
content:'';
position:absolute;
top:0;
left:0;
right:0;
height:4px;
background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));
opacity:0;
transition:var(--transition);
}
.article-inner:hover{
transform:translateY(-8px);
box-shadow:var(--shadow-lg);
border-color:var(--primary-color);
}
.article-inner:hover::before{
opacity:1;
}
.article-thumb{
overflow:hidden;
aspect-ratio:16 / 9;
background:linear-gradient(135deg,var(--bg-accent) 0%,var(--bg-primary) 100%);
position:relative;
}
.article-thumb::after{
content:'';
position:absolute;
top:0;
left:0;
right:0;
bottom:0;
background:linear-gradient(to bottom,transparent 50%,rgba(0,119,190,0.1) 100%);
}
.article-thumb img{
width:100%;
height:100%;
object-fit:cover;
transition:var(--transition);
}
.article-inner:hover .article-thumb img{
transform:scale(1.08);
}
.article-body{
padding:2rem;
display:flex;
flex-direction:column;
gap:1.25rem;
flex:1;
background-color:var(--bg-color);
}
.article-title{
font-size:1.25rem;
font-weight:700;
line-height:1.6;
font-family:var(--font-display);
}
.article-title a{
color:var(--text-color);
text-decoration:none;
transition:var(--transition);
}
.article-title a:hover{
color:var(--primary-color);
}
.article-desc{
font-size:0.95rem;
color:var(--text-light);
line-height:1.8;
flex:1;
}
.article-more{
margin-top:auto;
padding-top:1rem;
border-top:1px solid var(--border-light);
}
.article-more a{
display:inline-flex;
align-items:center;
gap:0.625rem;
color:var(--primary-color);
text-decoration:none;
font-weight:700;
font-size:0.9rem;
transition:var(--transition);
letter-spacing:0.05em;
}
.article-more a::after{
content:'→';
font-size:1.2rem;
transition:var(--transition);
}
.article-more a:hover{
color:var(--secondary-color);
transform:translateX(4px);
}
.article-more a:hover::after{
transform:translateX(6px);
}
#menu{
background-color:var(--bg-color);
padding:2.5rem;
border-radius:16px;
box-shadow:var(--shadow-sm);
margin:2rem auto;
max-width:1280px;
width:100%;
border:1px solid var(--border-light);
position:relative;
}
#menu::before{
content:'';
position:absolute;
top:0;
left:0;
right:0;
height:4px;
background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));
border-radius:16px 16px 0 0;
}
.menubox .title{
margin-bottom:2rem;
padding-bottom:1.25rem;
border-bottom:2px solid var(--border-color);
position:relative;
}
.menubox .title span{
font-size:1.5rem;
font-weight:700;
color:var(--primary-color);
font-family:var(--font-display);
letter-spacing:0.03em;
}
.sitemenu{
list-style:none;
}
.sitemenu > li{
margin-bottom:0.75rem;
}
.sitemenu > li > a{
display:block;
padding:1rem 1.5rem;
color:var(--text-color);
text-decoration:none;
border-radius:8px;
transition:var(--transition);
font-weight:600;
background-color:var(--bg-primary);
border:1px solid var(--border-light);
position:relative;
overflow:hidden;
}
.sitemenu > li > a::before{
content:'';
position:absolute;
left:0;
top:0;
bottom:0;
width:4px;
background:linear-gradient(to bottom,var(--primary-color),var(--secondary-color));
transform:scaleY(0);
transition:var(--transition);
}
.sitemenu > li > a:hover{
background:linear-gradient(to right,var(--bg-accent) 0%,var(--bg-primary) 100%);
color:var(--primary-color);
transform:translateX(8px);
border-color:var(--primary-color);
}
.sitemenu > li > a:hover::before{
transform:scaleY(1);
}
.sitemenu_ul.child{
list-style:none;
margin-top:0.75rem;
padding-left:1rem;
border-left:2px solid var(--border-color);
}
.sitemenu_ul.child li{
margin-bottom:0.5rem;
}
.sitemenu_ul.child a{
display:block;
padding:0.75rem 1rem;
color:var(--text-secondary);
text-decoration:none;
border-radius:6px;
transition:var(--transition);
font-size:0.95rem;
position:relative;
word-wrap:break-word;
overflow-wrap:break-word;
}
.sitemenu_ul.child a::before{
content:'';
position:absolute;
left:0;
top:50%;
transform:translateY(-50%);
width:6px;
height:6px;
background-color:var(--secondary-color);
border-radius:50%;
opacity:0;
transition:var(--transition);
}
.sitemenu_ul.child a:hover{
background-color:var(--bg-accent);
color:var(--primary-color);
padding-left:1.5rem;
}
.sitemenu_ul.child a:hover::before{
opacity:1;
left:0.5rem;
}
.site-footer-new{
background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);
color:#ffffff;
padding:3rem 0;
margin-top:auto;
box-shadow:0 -4px 16px rgba(0,119,190,0.15);
position:relative;
}
.site-footer-new::before{
content:'';
position:absolute;
top:0;
left:0;
right:0;
height:2px;
background:linear-gradient(90deg,#ffffff,var(--accent-color),#ffffff);
}
.footer-inner-new{
max-width:1280px;
margin:0 auto;
padding:0 2rem;
text-align:center;
}
.footer-nav{
margin-bottom:1.25rem;
}
.footer-sitemap-link{
color:#ffffff;
text-decoration:none;
font-size:0.95rem;
transition:var(--transition);
opacity:0.95;
font-weight:600;
letter-spacing:0.03em;
}
.footer-sitemap-link:hover{
opacity:1;
text-decoration:underline;
text-decoration-thickness:2px;
text-underline-offset:4px;
}
.copyright{
font-size:0.9rem;
opacity:0.95;
letter-spacing:0.02em;
}
.copyright a{
color:#ffffff;
text-decoration:none;
transition:var(--transition);
font-weight:600;
}
.copyright a:hover{
opacity:0.85;
}
.btn-top-new{
position:fixed;
bottom:2rem;
right:2rem;
width:54px;
height:54px;
background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));
color:#ffffff;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
text-decoration:none;
font-size:1.5rem;
box-shadow:var(--shadow-lg);
transition:var(--transition);
z-index:999;
border:3px solid rgba(255,255,255,0.3);
}
.btn-top-new:hover{
transform:translateY(-6px) scale(1.05);
box-shadow:0 12px 32px rgba(0,119,190,0.3);
}
@media screen and (max-width:768px){
.header-bar-new{
padding:1rem 1.25rem;
}
.brand-new{
font-size:1.25rem;
}
.brand-new__mark{
width:38px;
height:38px;
}
.container{
padding:0 1rem;
}
main#content{
padding:2.5rem 1rem;
}
.masthead{
padding:3.5rem 1.5rem 3rem;
margin:-2.5rem -1rem 2.5rem;
}
.masthead__title{
font-size:2.25rem;
}
.page-title{
font-size:1.75rem;
margin-top:2rem;
padding:1.25rem 1.5rem;
}
.content-card__body{
padding:2.5rem 1.75rem;
}
.readable-body h2{
font-size:1.65rem;
margin:2.5rem 0 1.5rem;
padding:1rem 1.25rem 1rem 1.5rem;
}
.readable-body h3{
font-size:1.4rem;
margin:2rem 0 1.25rem;
padding:0.875rem 1rem 0.875rem 1.5rem;
}
.readable-body h4{
font-size:1.2rem;
margin:1.75rem 0 1rem;
}
.readable-body h5{
font-size:1.05rem;
margin:1.5rem 0 0.875rem;
}
.category_ul{
grid-template-columns:1fr;
gap:2rem;
}
.categorylist{
padding:0 1rem;
}
.categorylist .title span{
font-size:1.85rem;
}
#main-footer{
padding:3.5rem 0;
}
.btn-top-new{
width:50px;
height:50px;
bottom:1.5rem;
right:1.5rem;
}
#menu{
margin:2rem 1rem;
padding:2rem 1.5rem;
width:calc(100% - 2rem);
}
.sitemenu > li > a,.sitemenu_ul.child a{
word-wrap:break-word;
overflow-wrap:break-word;
}
}
@media screen and (max-width:480px){
.masthead__title{
font-size:1.85rem;
}
.page-title{
font-size:1.5rem;
}
.content-card__body{
padding:2rem 1.25rem;
}
.readable-body h2{
font-size:1.45rem;
padding:0.875rem 1rem 0.875rem 1.25rem;
}
.readable-body h3{
font-size:1.25rem;
padding:0.75rem 0.875rem 0.75rem 1.25rem;
}
.readable-body h4{
font-size:1.15rem;
}
.readable-body h5{
font-size:1rem;
}
.categorylist .title span{
font-size:1.65rem;
}
.article-body{
padding:1.75rem;
}
#menu{
padding:1.75rem 1.25rem;
}
}
.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;}