/* 新潟終活ポータル 共通デザイン（FV案Bから展開） */
:root{
  --ink:#24302c; --sub:#5b6762; --line:#d9dfdb;
  --green:#2f5d50; --green-d:#22463c; --green-l:#e8f0ec;
  --accent:#c8643b; --line-app:#06C755;
  --paper:#f7f8f6; --white:#fff;
  --r:10px;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--white);color:var(--ink);font-family:"Noto Sans JP",system-ui,sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.min{font-family:"Zen Old Mincho","Noto Serif JP",serif}

/* header */
.hd{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:14px 28px;background:var(--white);border-bottom:1px solid var(--line)}
.hd.clear{background:transparent;border:0;color:#fff}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:20px;letter-spacing:.04em}
.logo i{width:30px;height:30px;border-radius:50%;border:1.5px solid currentColor;display:grid;place-items:center;font-style:normal;font-size:12px}
.logo small{display:block;font-size:10px;font-weight:500;letter-spacing:.08em;opacity:.75}
.nav{display:flex;gap:22px;font-size:14px;font-weight:500}
.nav .cta{padding:8px 14px;border-radius:999px;background:var(--line-app);color:#fff}
@media(max-width:768px){.nav a:not(.cta){display:none}.hd{padding:12px 16px}.logo{font-size:17px}}

/* search box */
.search{background:var(--white);border-radius:var(--r);box-shadow:0 10px 30px rgba(20,40,34,.14);padding:18px;display:grid;grid-template-columns:1fr 1fr auto;gap:10px;color:var(--ink)}
.search label{display:block;font-size:12px;font-weight:700;color:var(--sub);margin-bottom:4px}
.search select{width:100%;height:52px;border:1px solid var(--line);border-radius:8px;padding:0 14px;font-size:16px;background:#fff;color:var(--ink);appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--sub) 50%),linear-gradient(135deg,var(--sub) 50%,transparent 50%);background-position:calc(100% - 20px) 23px,calc(100% - 15px) 23px;background-size:5px 5px;background-repeat:no-repeat}
.search button{align-self:end;height:52px;padding:0 28px;border:0;border-radius:8px;background:var(--accent);color:#fff;font-size:17px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:8px}
@media(max-width:768px){.search{grid-template-columns:1fr;padding:14px}.search button{justify-content:center;width:100%}}

/* type icons */
.types{display:grid;grid-template-columns:repeat(8,1fr);gap:10px}
.type{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 6px;border-radius:var(--r);background:var(--white);border:1px solid var(--line);font-size:13px;font-weight:700;text-align:center;color:var(--ink);transition:.2s}
.type:hover{border-color:var(--green);transform:translateY(-2px)}
.type svg{width:34px;height:34px;stroke:var(--green);fill:none;stroke-width:1.2}
.type svg .dot{fill:var(--accent);stroke:none}
@media(max-width:768px){.types{grid-template-columns:repeat(4,1fr);gap:8px}.type{font-size:11.5px;padding:10px 4px}.type svg{width:28px;height:28px}}

/* LINE band */
.band{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;font-size:14px}
.btn-line,.btn-form{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 22px;border-radius:999px;font-weight:700;font-size:15px}
.btn-line{background:var(--line-app);color:#fff}
.btn-form{background:#fff;color:var(--green);border:1.5px solid var(--green)}
.note{font-size:11.5px;color:var(--sub)}

/* fade-up */
.fu{opacity:0;transform:translateY(14px);animation:fu .8s cubic-bezier(.2,.7,.2,1) forwards}
.d1{animation-delay:.1s}.d2{animation-delay:.25s}.d3{animation-delay:.4s}.d4{animation-delay:.55s}.d5{animation-delay:.7s}
@keyframes fu{to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.fu{animation:none;opacity:1;transform:none}}

/* paper texture */
.washi{background-color:var(--paper);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .4 0 0 0 0 .37 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
/* 動きが止まっても必ず表示する保険 */
html.shown .fu{animation:none!important;opacity:1!important;transform:none!important}
.nw{display:inline-block}
