﻿@charset "UTF-8";


/* =========================
  TOP page CSS
  Prefix: neaTop-
========================= */

.neaTop-main{
  background: #fff;
}

/* Hero */
.neaTop-hero{
  padding:34px 0 24px;
  background:
    radial-gradient(900px 240px at 20% 0%, rgba(39,89,180,.12), transparent 60%),
    linear-gradient(#fff, #fff);
}
.neaTop-hero__grid{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:26px;
  align-items:stretch;
}
.neaTop-hero__card{
  border:1px solid var(--nea-border);
  border-radius:var(--nea-radius);
  background:#fff;
  box-shadow: var(--nea-shadow);
  padding:26px;
}
.neaTop-hero__title{
  margin:0 0 10px;
  font-size:28px;
  line-height:1.35;
  letter-spacing:.01em;
}

.neaTop-hero__title .title-main {
  font-size: 32px;
}

.neaTop-hero__title .title-sub {
  font-size: 20px;
}
.neaTop-hero__desc{
  margin:0 0 18px;
  color:var(--nea-muted);
  font-size:15px;
}

.neaTop-hero__media{
  border:1px solid var(--nea-border);
  border-radius:var(--nea-radius);
  background:linear-gradient(135deg, rgba(39,89,180,.10), rgba(39,89,180,.03));
  box-shadow: var(--nea-shadow);
  overflow:hidden;
  position:relative;
  min-height:260px;
}
.neaTop-hero__media::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(700px 220px at 60% 30%, rgba(39,89,180,.18), transparent 60%),
    radial-gradient(500px 200px at 20% 70%, rgba(59,130,246,.12), transparent 55%);
  pointer-events:none;
}
.neaTop-hero__mediaInner{
  position:absolute;
  inset:16px;
  border:1px dashed rgba(39,89,180,.35);
  border-radius:12px;
  display:grid;
  place-items:center;
  padding:18px;
  text-align:center;
  color:var(--nea-primary-700);
  font-weight:800;
  background:rgba(255,255,255,.45);
  backdrop-filter: blur(4px);
}
.neaTop-hero__mediaTitle{
  font-size:16px;
  font-weight:900;
  margin-bottom:6px;
}
.neaTop-hero__mediaNote{
  font-size:13px;
  font-weight:700;
  color: rgba(30,70,145,.9);
}

/* Icon menu */
.neaTop-section{
  padding:18px 0 34px;
}
.neaTop-menuGrid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
}
.neaTop-menuItem{
  border:1px solid var(--nea-border);
  border-radius:var(--nea-radius);
  padding:16px 16px;
  transition: transform .06s ease, border-color .15s ease, box-shadow .15s ease;
  text-align: center;
  background: rgba(39,89,180,.10);
}

@media (max-width: 760px){
.neaTop-menuItem{
 display:flex;
  text-align: left; }
}


.neaTop-menuItem:hover{
  border-color: rgba(39,89,180,.35);
  box-shadow: 0 10px 24px rgba(39,89,180,.12);
  transform: translateY(-1px);
}
.neaTop-menuIcon{
color: var(--nea-primary);
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  font-size: 75px;
  padding: 0.2em 0;
}

@media (max-width: 760px){
.neaTop-menuIcon
{   font-size: 35px;
width:70px; }
}


.neaTop-menuIcon .neaIcon{
  width:100px;
  height:76px;
  margin-right:0; 
}


@media (max-width: 760px){
.neaTop-menuIcon .neaIcon{
  width:40px;
    height:35px;}
}

.neaTop-menuText{
  font-weight:900;
  font-size:15px;
  line-height:1.35;
}
.neaTop-menuSub{
  font-size:12px;
  color:var(--nea-muted);
  font-weight:600;
  margin-top:2px;
}


.tworows{
display:flex;
justify-content: space-between;
align-items: stretch; 
 gap: 1.5%;
}

/* Topics */
.neaTop-topics{
  padding:4px 0 44px;
  
	  display: flex;          /* 追加 */
  flex-direction: column; /* 追加 */
    flex: 2;
}
.neaTop-topics__panel{
  border:1px solid var(--nea-border);
  border-radius:var(--nea-radius);
  background:#fff;
  box-shadow: var(--nea-shadow);
  padding:18px;
  flex: 1;  
}
.neaTop-topics__grid{
  display:grid;
  /* grid-template-columns: 220px 1fr; */
  gap:14px;
    align-items: center;
}
.neaTop-topics__label{
  padding:10px 12px;
  border-radius:12px;
}
.neaTop-topics__labelMain{
  margin:0;
  font-size:2em;
  font-weight:900;
  letter-spacing:.02em;
  color: #1e4691;
}
.neaTop-topics__labelSub{
  margin:2px 0 0;
  font-size:12px;
  color: var(--nea-muted);
  font-weight:800;
}

.neaTop-topics__list{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:4px 2px;
}
.neaTop-topic{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:10px 12px;
  border-bottom:1px solid var(--nea-border);
  background:#fff;
  transition: border-color .15s ease, background .15s ease;
}
.neaTop-topic:hover{
  border-color: rgba(39,89,180,.35);
  background: rgba(39,89,180,.03);
}
.neaTop-topic__date{
  flex:0 0 auto;
  min-width:110px;
  font-size:12px;
  color: var(--nea-muted);
  font-weight:800;
  padding-top:2px;
}
.neaTop-topic__title{
  margin:0;
  font-size:14px;
  font-weight:900;
  line-height:1.45;
}
.neaTop-topic__meta{
  margin:3px 0 0;
  font-size:12px;
  color: var(--nea-muted);
  font-weight:600;
}
.neaTop-topics__actions{
  display:flex;
  justify-content:flex-end;
  margin-top:12px;
}


/* magazine */

.neaTop-magazine{
  padding:4px 0 44px;
  flex: 1;
    display: flex;          /* 追加 */
  flex-direction: column; /* 追加 */
}

.neaTop-magazine__panel{
  border:1px solid var(--nea-border);
  border-radius:var(--nea-radius);
  background:#fff;
  box-shadow: var(--nea-shadow);
  padding:18px;
  flex: 1;  
}
.neaTop-magazine__grid{
  display:grid;
  grid-template-columns: 220px 1fr;
  gap:14px;
    align-items: center;
}
.neaTop-magazine__label{
  padding:10px 12px;
  border-radius:12px;
}
.neaTop-magazine__labelMain{
  margin:0;
  font-size:2em;
  font-weight:900;
  letter-spacing:.02em;
  color: #1e4691;
}
.neaTop-magazine__labelSub{
  margin:2px 0 0;
  font-size:12px;
  color: var(--nea-muted);
  font-weight:800;
}

.magazinetext{
  font-size:0.9em;
  text-align:left;
}





/* Responsive (TOP) */
@media (max-width: 900px){
  .neaTop-hero__grid{
    grid-template-columns: 1fr;
  }
  .neaTop-menuGrid{ grid-template-columns: repeat(2, 1fr); }
  .neaTop-topics__grid{ grid-template-columns: 1fr; }
  .neaTop-topics__label{ display:flex; justify-content:space-between; align-items:baseline; }
}
@media (max-width: 760px){
  .neaTop-menuGrid{ grid-template-columns: 1fr; }
  .tworows{display:block;}
  .neaTop-topics{ width: auto;}
  .neaTop-magazine{ width: auto;}
}

