@charset "UTF-8";
/* ==========================================================
   N型TOPCon 専用 LP CSS
   対象：/solar/n-topcon/index.php（lp--ntopcon-v13）
========================================================== */
html{scroll-padding-top:45px}
.wrapper.lp.lp--ntopcon-v13{background:linear-gradient(180deg,#f5f7fb 0%,#eef3f8 100%);color:#152334}
.wrapper.lp.lp--ntopcon-v13 *{box-sizing:border-box}
.wrapper.lp.lp--ntopcon-v13 img{max-width:100%;height:auto;display:block}
.wrapper.lp.lp--ntopcon-v13 a{text-decoration:none}
.wrapper.lp.lp--ntopcon-v13 .nt-wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 24px}
.wrapper.lp.lp--ntopcon-v13 section[id],.wrapper.lp.lp--ntopcon-v13 #contact{scroll-margin-top:45px}
.wrapper.lp.lp--ntopcon-v13 #about,.wrapper.lp.lp--ntopcon-v13 #performance,.wrapper.lp.lp--ntopcon-v13 #comparison,.wrapper.lp.lp--ntopcon-v13 #reliability,.wrapper.lp.lp--ntopcon-v13 #faq{scroll-margin-top:-55px}
.wrapper.lp.lp--ntopcon-v13 #contact,.wrapper.lp.lp--ntopcon-v13 .nt-cta{scroll-margin-top:45px}
.wrapper.lp.lp--ntopcon-v13 .nt-cta{padding-top:32px;padding-bottom:220px}
/* --------------------------------
  Hero
-------------------------------- */
.wrapper.lp.lp--ntopcon-v13 .nt-hero{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(135deg,rgba(8,24,44,.88) 0%,rgba(13,43,76,.82) 45%,rgba(12,66,92,.78) 100%),linear-gradient(135deg,#091c33 0%,#12385f 55%,#0f5f78 100%);color:#fff;padding:88px 0 72px}
.wrapper.lp.lp--ntopcon-v13 .nt-hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.72;transform:none;background:radial-gradient(circle at 18% 22%,rgba(255,255,255,.12) 0 2px,transparent 3px),radial-gradient(circle at 78% 18%,rgba(232,211,137,.16) 0 2px,transparent 3px),radial-gradient(circle at 36% 72%,rgba(255,255,255,.10) 0 2px,transparent 3px),url('/solar/n-topcon/img/cell-appearance.png') 100% 50%/112% auto no-repeat;background-size:460px 460px,460px 460px,460px 460px,112% auto;background-position:0 0,0 0,0 0,100% 50%;animation:ntHeroCellBgPositionMovePc 14s ease-in-out infinite alternate;will-change:background-position,background-size}
.wrapper.lp.lp--ntopcon-v13 .nt-hero::after{content:"";position:absolute;top:-45%;left:-70%;z-index:1;width:60%;height:190%;pointer-events:none;background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.03) 42%,rgba(255,255,255,.16) 50%,rgba(255,255,255,.03) 58%,transparent 100%);transform:rotate(8deg);animation:ntHeroLightSweep 10s ease-in-out infinite}
.wrapper.lp.lp--ntopcon-v13 .nt-hero>.nt-wrap{position:relative;z-index:2}
@keyframes ntHeroCellBgPositionMovePc{0%{background-size:460px 460px,460px 460px,460px 460px,112% auto;background-position:0 0,0 0,0 0,100% 50%}50%{background-size:460px 460px,460px 460px,460px 460px,116% auto;background-position:-18px -12px,-18px -12px,-18px -12px,94% 48%}100%{background-size:460px 460px,460px 460px,460px 460px,114% auto;background-position:-32px -22px,-32px -22px,-32px -22px,90% 52%}}
@keyframes ntHeroLightSweep{0%{left:-75%;opacity:0}18%{opacity:.8}46%{left:120%;opacity:.5}100%{left:120%;opacity:0}}
@keyframes ntHeroFadeUp{0%{opacity:0;transform:translateY(18px)}100%{opacity:1;transform:translateY(0)}}
.wrapper.lp.lp--ntopcon-v13 .nt-hero-title{margin:0 0 20px;font-size:clamp(34px,4vw,54px);line-height:1.28;font-weight:800;color:#fff}
.wrapper.lp.lp--ntopcon-v13 .nt-hero-title__frame{display:inline-block;padding:16px 22px;border:2px solid transparent;border-radius:18px;background:rgba(7,18,33,.28);box-shadow:0 12px 32px rgba(0,0,0,.22);backdrop-filter:blur(4px);animation:ntHeroFadeUp .9s ease-out both}
.wrapper.lp.lp--ntopcon-v13 .nt-hero-lead{max-width:880px;font-size:18px;line-height:2;color:#eaf1fb;animation:ntHeroFadeUp .9s ease-out .18s both}
.wrapper.lp.lp--ntopcon-v13 .nt-hero-lead strong{color:#fff16a;font-weight:800}
.wrapper.lp.lp--ntopcon-v13 .nt-hero-highlight{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:32px;align-items:center;margin-top:36px}
.wrapper.lp.lp--ntopcon-v13 .nt-bubble{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.22);border-radius:24px;padding:28px;box-shadow:0 16px 38px rgba(0,0,0,.16);backdrop-filter:blur(10px);animation:ntHeroFadeUp .9s ease-out .28s both;transition:transform .25s ease,box-shadow .25s ease}
.wrapper.lp.lp--ntopcon-v13 .nt-bubble:hover{transform:translateY(-3px);box-shadow:0 20px 46px rgba(0,0,0,.20)}
.wrapper.lp.lp--ntopcon-v13 .nt-bubble h2{margin:0 0 14px;font-size:28px;line-height:1.45;color:#fff;text-shadow:0 0 6px #7F7F7F,0 0 12px #7F7F7F,0 2px 8px rgba(0,0,0,.35)}
.wrapper.lp.lp--ntopcon-v13 .nt-bubble p{margin:0;font-size:16px;line-height:1.95;color:#fff;text-shadow:0 0 4px #7F7F7F,0 0 8px #7F7F7F,0 2px 6px rgba(0,0,0,.30)}
.wrapper.lp.lp--ntopcon-v13 .nt-bubble__images{display:flex;justify-content:center;align-items:flex-end;gap:18px;margin-top:20px;flex-wrap:nowrap}
.wrapper.lp.lp--ntopcon-v13 .nt-bubble__image{margin:0;width:210px;min-width:210px;flex:0 0 210px}
.wrapper.lp.lp--ntopcon-v13 .nt-bubble__image img{width:100%;height:auto;border-radius:0;object-fit:contain;box-shadow:0 8px 22px rgba(0,0,0,.25)}
.wrapper.lp.lp--ntopcon-v13 .nt-bubble__image--small{width:120px;min-width:120px;flex:0 0 120px}
/* --------------------------------
  注目ポイント円
-------------------------------- */
.wrapper.lp.lp--ntopcon-v13 .nt-power-card--circle{position:relative;isolation:isolate;overflow:hidden;width:390px;height:390px;min-width:390px;min-height:390px;max-width:390px;max-height:390px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#111;text-align:center;padding:40px 34px 34px;background:radial-gradient(circle at 35% 30%,#fffaf0 0%,#f7efc8 45%,#eadb94 100%);border:7px solid #fff;box-shadow:inset 0 0 0 3px rgba(224,202,116,.95),inset 0 0 0 8px rgba(255,255,255,.72),0 18px 48px rgba(6,23,45,.22);animation:ntCircleFloat 4.5s ease-in-out infinite;transition:transform .25s ease}
.wrapper.lp.lp--ntopcon-v13 .nt-power-card--circle:hover{animation-play-state:paused;transform:translateY(-4px) scale(1.015)}
@keyframes ntCircleFloat{0%{transform:translateY(0)}50%{transform:translateY(-8px)}100%{transform:translateY(0)}}
.wrapper.lp.lp--ntopcon-v13 .nt-power-card--circle small{position:relative;z-index:2;display:block;margin-bottom:10px;font-size:28px;line-height:1.18;color:#8a3a0b;font-weight:800;letter-spacing:.06em;font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,"Noto Serif JP",serif;font-feature-settings:"palt";text-shadow:0 1px 0 rgba(255,255,255,.65),0 8px 16px rgba(138,58,11,.18)}
.wrapper.lp.lp--ntopcon-v13 .nt-power-card--circle strong{position:relative;z-index:2;display:block;margin-bottom:16px;font-size:28px;line-height:1.3;color:#8a3a0b;font-weight:900;letter-spacing:.06em;font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,"Noto Serif JP",serif;font-feature-settings:"palt";text-shadow:0 1px 0 rgba(255,255,255,.65),0 8px 16px rgba(138,58,11,.18)}
.wrapper.lp.lp--ntopcon-v13 .nt-power-card--circle span{position:relative;z-index:2;display:block;max-width:320px;font-size:16px;line-height:1.75;color:#000;font-weight:800}
.wrapper.lp.lp--ntopcon-v13 .nt-power-card--circle::before{content:"";position:absolute;top:-35%;left:-75%;z-index:1;width:46%;height:170%;pointer-events:none;background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,0) 28%,rgba(255,255,255,.24) 43%,rgba(255,255,255,.78) 50%,rgba(255,255,255,.24) 57%,rgba(255,255,255,0) 72%,transparent 100%);transform:rotate(12deg);border-radius:999px;opacity:0;animation:ntCircleGlossSweep 5.2s ease-in-out infinite}
.wrapper.lp.lp--ntopcon-v13 .nt-power-card--circle::after{content:"";position:absolute;top:44px;right:58px;z-index:1;width:88px;height:42px;pointer-events:none;border-radius:50%;background:radial-gradient(ellipse at center,rgba(255,255,255,.70) 0%,rgba(255,255,255,.30) 42%,rgba(255,255,255,0) 72%);transform:rotate(-24deg);opacity:.75}
@keyframes ntCircleGlossSweep{0%{left:-80%;opacity:0}12%{opacity:.95}42%{left:118%;opacity:.65}100%{left:118%;opacity:0}}
/* --------------------------------
  Navigation / common sections
-------------------------------- */
.wrapper.lp.lp--ntopcon-v13 .nt-quicknav{margin-top:34px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.wrapper.lp.lp--ntopcon-v13 .nt-quicknav a{position:relative;display:flex;align-items:center;justify-content:center;min-height:92px;padding:14px 12px;border-radius:18px;background:#fff;color:#123763;font-weight:800;font-size:15px;line-height:1.5;text-align:center;box-shadow:0 14px 36px rgba(0,0,0,.12);transition:.25s ease;opacity:0;animation:ntQuickNavFade .65s ease-out both}
.wrapper.lp.lp--ntopcon-v13 .nt-quicknav a:nth-child(1){animation-delay:.35s}.wrapper.lp.lp--ntopcon-v13 .nt-quicknav a:nth-child(2){animation-delay:.42s}.wrapper.lp.lp--ntopcon-v13 .nt-quicknav a:nth-child(3){animation-delay:.49s}.wrapper.lp.lp--ntopcon-v13 .nt-quicknav a:nth-child(4){animation-delay:.56s}.wrapper.lp.lp--ntopcon-v13 .nt-quicknav a:nth-child(5){animation-delay:.63s}.wrapper.lp.lp--ntopcon-v13 .nt-quicknav a:nth-child(6){animation-delay:.70s}
@keyframes ntQuickNavFade{0%{opacity:0;transform:translateY(14px)}100%{opacity:1;transform:translateY(0)}}
.wrapper.lp.lp--ntopcon-v13 .nt-quicknav a:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(0,0,0,.16)}
.wrapper.lp.lp--ntopcon-v13 .nt-quicknav a.-cta{background:linear-gradient(135deg,#e60012 0%,#c1000f 100%);color:#fff}
.wrapper.lp.lp--ntopcon-v13 .nt-quicknav a::after{content:"→";position:absolute;right:14px;bottom:12px;font-size:13px;opacity:.55}
.wrapper.lp.lp--ntopcon-v13 .nt-section{padding:84px 0}
.wrapper.lp.lp--ntopcon-v13 .nt-section.-white{background:#fff}
.wrapper.lp.lp--ntopcon-v13 .nt-section.-soft{background:#edf3f9}
.wrapper.lp.lp--ntopcon-v13 .nt-head{max-width:960px;margin:0 0 34px}
.wrapper.lp.lp--ntopcon-v13 .nt-label{display:inline-block;margin-bottom:8px;font-size:13px;font-weight:800;letter-spacing:.12em;color:#1760ab}
.wrapper.lp.lp--ntopcon-v13 .nt-head h2{margin:0;font-size:clamp(28px,3vw,42px);line-height:1.38;color:#10233d}
.wrapper.lp.lp--ntopcon-v13 .nt-head p{margin:16px 0 0;font-size:17px;line-height:2;color:#334963}
.wrapper.lp.lp--ntopcon-v13 .nt-highlight{display:inline;background:linear-gradient(transparent 60%,#fff169 60%);font-weight:700}
/* --------------------------------
  Cards / performance / comparison / reliability
-------------------------------- */
.wrapper.lp.lp--ntopcon-v13 .nt-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.wrapper.lp.lp--ntopcon-v13 .nt-card{background:#fff;border:1px solid #dce6f2;border-radius:22px;overflow:hidden;box-shadow:0 14px 36px rgba(13,33,63,.08)}
.wrapper.lp.lp--ntopcon-v13 .nt-card__body{padding:26px 26px 28px}
.wrapper.lp.lp--ntopcon-v13 .nt-card__body h3{margin:0 0 16px;font-size:24px;line-height:1.45;color:#123a66;text-align:center}
.wrapper.lp.lp--ntopcon-v13 .nt-card__figure{margin:0 auto 18px;overflow:hidden;border-radius:14px;background:#fff;text-align:center}
.wrapper.lp.lp--ntopcon-v13 .nt-card__figure img{width:100%;aspect-ratio:16/10;object-fit:cover;margin:0 auto}
.wrapper.lp.lp--ntopcon-v13 .nt-card__figure--contain img{object-fit:contain;padding:14px 10px;background:#fff}
.wrapper.lp.lp--ntopcon-v13 .nt-card__body p{margin:0;font-size:16px;line-height:1.95;color:#364b66}
.wrapper.lp.lp--ntopcon-v13 .nt-spec-grid{position:relative;display:grid;grid-template-columns:repeat(2,minmax(300px,380px));justify-content:center;align-items:stretch;gap:104px;max-width:980px;margin:28px auto 0}
.wrapper.lp.lp--ntopcon-v13 .nt-spec-grid::before{content:"";position:absolute;left:50%;top:50%;z-index:2;width:0;height:0;transform:translate(-50%,-50%);border-top:48px solid transparent;border-bottom:48px solid transparent;border-left:36px solid #7f7f7f;filter:drop-shadow(0 4px 6px rgba(0,0,0,.16));pointer-events:none}
.wrapper.lp.lp--ntopcon-v13 .nt-spec{background:#fff;border:1px solid #dce6f2;border-radius:20px;padding:22px;text-align:center;box-shadow:0 12px 28px rgba(13,33,63,.06);min-height:390px}
.wrapper.lp.lp--ntopcon-v13 .nt-spec small{display:block;margin-bottom:8px;color:#61758f;font-size:13px;letter-spacing:.05em;font-weight:800}
.wrapper.lp.lp--ntopcon-v13 .nt-spec strong{display:block;margin-bottom:14px;color:#A38800;font-size:clamp(22px,2.2vw,34px);line-height:1.12;font-weight:800}
.wrapper.lp.lp--ntopcon-v13 .nt-spec__media{margin-bottom:14px}
.wrapper.lp.lp--ntopcon-v13 .nt-spec__media img{width:100%;max-width:320px;aspect-ratio:4/3;object-fit:cover;margin:0 auto;border-radius:14px;background:#f7f9fc}
.wrapper.lp.lp--ntopcon-v13 .nt-spec span{display:block;font-size:15px;line-height:1.8;color:#314760}
.wrapper.lp.lp--ntopcon-v13 .nt-graph{background:#fff;border:1px solid #dce6f2;border-radius:22px;padding:24px;box-shadow:0 14px 36px rgba(13,33,63,.08)}
.wrapper.lp.lp--ntopcon-v13 .nt-graph figure{margin:0}
.wrapper.lp.lp--ntopcon-v13 .nt-graph img{width:100%;max-width:860px;margin:0 auto;border-radius:10px}
.wrapper.lp.lp--ntopcon-v13 .nt-graph figcaption{margin-top:14px;font-size:14px;line-height:1.8;color:#5b6f8a}
.wrapper.lp.lp--ntopcon-v13 .nt-triple{display:grid;grid-template-columns:1fr;gap:22px}
.wrapper.lp.lp--ntopcon-v13 .nt-triple-main{background:#fff;border:1px solid #dce6f2;border-bottom:none;border-radius:22px 22px 0 0;overflow:hidden;box-shadow:0 14px 36px rgba(13,33,63,.08)}
.wrapper.lp.lp--ntopcon-v13 .nt-triple-main__body{padding:26px 26px 28px}
.wrapper.lp.lp--ntopcon-v13 .nt-triple-main__body h3{margin:0 0 16px;font-size:26px;color:#123a66;line-height:1.45;text-align:center}
.wrapper.lp.lp--ntopcon-v13 .nt-triple-main__figure img{width:100%;aspect-ratio:16/10;object-fit:contain;padding:12px;background:#fff}
.wrapper.lp.lp--ntopcon-v13 .nt-triple-main__body p{margin:0;font-size:16px;line-height:2;color:#364b66}
.wrapper.lp.lp--ntopcon-v13 .nt-triple-parts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;background:#fff;border:1px solid #dce6f2;border-top:none;border-radius:0 0 22px 22px;padding:22px;box-shadow:0 14px 36px rgba(13,33,63,.08);margin-top:-22px}
.wrapper.lp.lp--ntopcon-v13 .nt-part{background:#f8fbff;border:1px solid #d7e5f4;border-radius:18px;padding:16px}
.wrapper.lp.lp--ntopcon-v13 .nt-part h4{margin:0 0 10px;font-size:22px;color:#157790;line-height:1.45;font-weight:800;text-align:center}
.wrapper.lp.lp--ntopcon-v13 .nt-part h4 span{display:block;font-size:14px;letter-spacing:.08em;margin-bottom:4px}
.wrapper.lp.lp--ntopcon-v13 .nt-part__figure{margin-bottom:12px;display:flex;justify-content:center}
.wrapper.lp.lp--ntopcon-v13 .nt-part__figure img{width:418px;max-width:100%;height:auto}
.wrapper.lp.lp--ntopcon-v13 .nt-part p{margin:0;font-size:15px;line-height:1.9;color:#42566f}
/* --------------------------------
  SoRelia / Bougen / Modal
-------------------------------- */
.wrapper.lp.lp--ntopcon-v13 .nt-sorelia,.wrapper.lp.lp--ntopcon-v13 .nt-bougen{margin-top:32px;display:grid;grid-template-columns:.95fr 1.05fr;background:#fff;border:1px solid #dce6f2;border-radius:24px;overflow:hidden;box-shadow:0 16px 38px rgba(13,33,63,.10)}
.wrapper.lp.lp--ntopcon-v13 .nt-bougen{margin-top:24px}
.wrapper.lp.lp--ntopcon-v13 .nt-sorelia__visual,.wrapper.lp.lp--ntopcon-v13 .nt-bougen__visual{background:linear-gradient(135deg,#16385f 0%,#10325c 100%);padding:22px;display:flex;align-items:center;justify-content:center}
.wrapper.lp.lp--ntopcon-v13 .nt-video-thumb{position:relative;display:block;width:100%;padding:0;border:0;background:#0f3158;cursor:pointer;overflow:hidden;border-radius:14px;line-height:0;box-shadow:0 10px 26px rgba(0,0,0,.22)}
.wrapper.lp.lp--ntopcon-v13 .nt-video-thumb img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:14px;transition:transform .3s ease,opacity .3s ease}
.wrapper.lp.lp--ntopcon-v13 .nt-video-thumb:hover img{transform:scale(1.04);opacity:.9}
.wrapper.lp.lp--ntopcon-v13 .nt-video-thumb::before{content:"";position:absolute;inset:0;z-index:1;border-radius:14px;background:linear-gradient(180deg,rgba(0,0,0,.06) 0%,rgba(0,0,0,.24) 100%);pointer-events:none}
.wrapper.lp.lp--ntopcon-v13 .nt-video-thumb__play{position:absolute;left:50%;top:50%;z-index:2;width:82px;height:82px;transform:translate(-50%,-50%);border-radius:50%;background:rgba(230,0,18,.94);box-shadow:0 14px 34px rgba(0,0,0,.30);pointer-events:none}
.wrapper.lp.lp--ntopcon-v13 .nt-video-thumb__play::before{content:"";position:absolute;left:33px;top:24px;border-style:solid;border-width:17px 0 17px 27px;border-color:transparent transparent transparent #fff}
.wrapper.lp.lp--ntopcon-v13 .nt-video-thumb:focus-visible{outline:3px solid #fff16a;outline-offset:4px}
.wrapper.lp.lp--ntopcon-v13 .nt-sorelia__body,.wrapper.lp.lp--ntopcon-v13 .nt-bougen__body{padding:30px}
.wrapper.lp.lp--ntopcon-v13 .nt-sorelia__body h3,.wrapper.lp.lp--ntopcon-v13 .nt-bougen__body h3{margin:0 0 12px;font-size:28px;line-height:1.45;color:#123a66}
.wrapper.lp.lp--ntopcon-v13 .nt-sorelia__body p,.wrapper.lp.lp--ntopcon-v13 .nt-bougen__body p{margin:0;font-size:16px;line-height:2;color:#364b66}
.wrapper.lp.lp--ntopcon-v13 .nt-sorelia-banner,.wrapper.lp.lp--ntopcon-v13 .nt-bougen-banner{margin-top:1em;display:flex;justify-content:center}
.wrapper.lp.lp--ntopcon-v13 .nt-sorelia-banner img,.wrapper.lp.lp--ntopcon-v13 .nt-bougen-banner img{width:400px;max-width:100%;height:auto}
.nt-video-modal{position:fixed;inset:0;z-index:99999;display:none}.nt-video-modal[aria-hidden="false"]{display:block}.nt-video-modal__overlay{position:absolute;inset:0;background:rgba(0,0,0,.72)}.nt-video-modal__body{position:absolute;left:50%;top:50%;width:min(920px,calc(100% - 32px));transform:translate(-50%,-50%);background:#000;border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.45)}.nt-video-modal__frame{position:relative;width:100%;aspect-ratio:16/9}.nt-video-modal__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.nt-video-modal__close{position:absolute;right:-14px;top:-14px;z-index:2;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:#123763;font-size:28px;line-height:1;cursor:pointer}body.nt-video-modal-open{overflow:hidden}
/* --------------------------------
  FAQ / CTA
-------------------------------- */
.wrapper.lp.lp--ntopcon-v13 .nt-faq-list{display:grid;gap:16px}.wrapper.lp.lp--ntopcon-v13 .nt-faq-item{border-radius:20px;overflow:hidden;background:#fff;border:1px solid #dbe6f2;box-shadow:0 12px 28px rgba(13,33,63,.05)}.wrapper.lp.lp--ntopcon-v13 .nt-faq-item summary{list-style:none;cursor:pointer;position:relative;padding:24px 72px 24px 28px;font-size:18px;font-weight:800;line-height:1.7;color:#143b67;background:linear-gradient(180deg,#fff 0%,#f7fbff 100%)}.wrapper.lp.lp--ntopcon-v13 .nt-faq-item summary::-webkit-details-marker{display:none}.wrapper.lp.lp--ntopcon-v13 .nt-faq-item summary::before{content:"Q";display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin-right:12px;border-radius:50%;background:#1760ab;color:#fff;font-size:14px;font-weight:800}.wrapper.lp.lp--ntopcon-v13 .nt-faq-item summary::after{content:"+";position:absolute;right:26px;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;background:#e9f2fb;color:#1760ab;display:flex;align-items:center;justify-content:center;font-size:24px}.wrapper.lp.lp--ntopcon-v13 .nt-faq-item details[open] summary{background:linear-gradient(135deg,#173a63 0%,#154a83 100%);color:#fff}.wrapper.lp.lp--ntopcon-v13 .nt-faq-item details[open] summary::after{content:"−";color:#fff;background:rgba(255,255,255,.18)}.wrapper.lp.lp--ntopcon-v13 .nt-faq-answer{position:relative;padding:1.5em 28px 24px 74px;background:#fff}.wrapper.lp.lp--ntopcon-v13 .nt-faq-answer::before{content:"A";position:absolute;left:28px;top:1.5em;width:34px;height:34px;border-radius:50%;background:#e60012;color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800}.wrapper.lp.lp--ntopcon-v13 .nt-faq-answer p{margin:0;font-size:16px;line-height:2;color:#364b66}.wrapper.lp.lp--ntopcon-v13 .nt-cta-link{display:block;color:inherit;text-decoration:none}.wrapper.lp.lp--ntopcon-v13 .nt-cta-box{background:linear-gradient(90deg,#e60012 0%,#CB0010 24%,#8f0000 50%,#CB0010 76%,#e60012 100%);color:#fff;border-radius:26px;padding:42px 36px;text-align:center;box-shadow:0 18px 44px rgba(193,0,15,.22);cursor:pointer;transition:transform .25s ease,box-shadow .25s ease}.wrapper.lp.lp--ntopcon-v13 .nt-cta-link:hover .nt-cta-box{transform:translateY(-3px);box-shadow:0 22px 54px rgba(193,0,15,.30)}.wrapper.lp.lp--ntopcon-v13 .nt-cta-box h2{margin:0;font-size:clamp(28px,3vw,40px);line-height:1.42;color:#fff}.wrapper.lp.lp--ntopcon-v13 .nt-cta-box p{max-width:860px;margin:16px auto 0;font-size:17px;line-height:2}.wrapper.lp.lp--ntopcon-v13 .nt-btn-row{margin-top:26px}.wrapper.lp.lp--ntopcon-v13 .nt-btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 34px;border-radius:999px;font-weight:800;font-size:16px;background:#fff;color:#c1000f}.wrapper.lp.lp--ntopcon-v13 .nt-cta-note{margin-top:100px;color:#42566f}.wrapper.lp.lp--ntopcon-v13 .nt-cta-note .listNote__item{line-height:1.8}.wrapper.lp.lp--ntopcon-v13 .nt-cta-note .listNote__itemCaption{margin-right:.35em}
/* --------------------------------
  Responsive
-------------------------------- */
@media (prefers-reduced-motion:reduce){.wrapper.lp.lp--ntopcon-v13 .nt-hero::before,.wrapper.lp.lp--ntopcon-v13 .nt-hero::after,.wrapper.lp.lp--ntopcon-v13 .nt-hero-title__frame,.wrapper.lp.lp--ntopcon-v13 .nt-hero-lead,.wrapper.lp.lp--ntopcon-v13 .nt-bubble,.wrapper.lp.lp--ntopcon-v13 .nt-power-card--circle,.wrapper.lp.lp--ntopcon-v13 .nt-power-card--circle::before,.wrapper.lp.lp--ntopcon-v13 .nt-quicknav a{animation:none!important;transition:none!important}.wrapper.lp.lp--ntopcon-v13 .nt-quicknav a{opacity:1}}
@media screen and (max-width:1024px){.wrapper.lp.lp--ntopcon-v13 .nt-hero-highlight,.wrapper.lp.lp--ntopcon-v13 .nt-grid-2,.wrapper.lp.lp--ntopcon-v13 .nt-sorelia,.wrapper.lp.lp--ntopcon-v13 .nt-bougen,.wrapper.lp.lp--ntopcon-v13 .nt-triple-parts{grid-template-columns:1fr}.wrapper.lp.lp--ntopcon-v13 .nt-spec-grid{grid-template-columns:repeat(2,minmax(260px,320px));gap:72px;max-width:760px}.wrapper.lp.lp--ntopcon-v13 .nt-spec-grid::before{border-top-width:38px;border-bottom-width:38px;border-left-width:28px}.wrapper.lp.lp--ntopcon-v13 .nt-quicknav{grid-template-columns:repeat(3,minmax(0,1fr))}.wrapper.lp.lp--ntopcon-v13 .nt-power-card--circle{margin:0 auto}}
@media screen and (max-width:767px){html{scroll-padding-top:45px}.wrapper.lp.lp--ntopcon-v13 .nt-wrap{padding:0 16px;max-width:100%;overflow:hidden}.wrapper.lp.lp--ntopcon-v13 section[id],.wrapper.lp.lp--ntopcon-v13 #contact{scroll-margin-top:45px}.wrapper.lp.lp--ntopcon-v13 #about,.wrapper.lp.lp--ntopcon-v13 #performance,.wrapper.lp.lp--ntopcon-v13 #comparison,.wrapper.lp.lp--ntopcon-v13 #reliability,.wrapper.lp.lp--ntopcon-v13 #faq{scroll-margin-top:-55px}.wrapper.lp.lp--ntopcon-v13 .nt-cta{scroll-margin-top:45px;padding-top:28px;padding-bottom:180px}.wrapper.lp.lp--ntopcon-v13 .nt-hero{padding:64px 0 48px;overflow:hidden;background:linear-gradient(180deg,rgba(8,24,44,.48) 0%,rgba(8,24,44,.54) 42%,rgba(8,24,44,.62) 100%),linear-gradient(135deg,#091c33 0%,#12385f 55%,#0f5f78 100%)!important}.wrapper.lp.lp--ntopcon-v13 .nt-hero::before{content:"";position:absolute;inset:0;z-index:0!important;pointer-events:none;opacity:.92;transform:none!important;background:url('/solar/n-topcon/img/cell-appearance.png') center top/auto 100% no-repeat!important;animation:ntHeroCellSpVerticalMove 18s ease-in-out infinite alternate!important;will-change:background-position,background-size}.wrapper.lp.lp--ntopcon-v13 .nt-hero::after{display:block;z-index:1!important;top:-45%;left:-95%;width:82%;height:190%;opacity:.75}.wrapper.lp.lp--ntopcon-v13 .nt-hero>.nt-wrap{position:relative;z-index:2!important}.wrapper.lp.lp--ntopcon-v13 .nt-hero-title__frame,.wrapper.lp.lp--ntopcon-v13 .nt-bubble{background:rgba(23,48,70,.72);border-color:rgba(255,255,255,.18);backdrop-filter:blur(6px)}@keyframes ntHeroCellSpVerticalMove{0%{background-size:auto 100%;background-position:center top}50%{background-size:auto 104%;background-position:center center}100%{background-size:auto 108%;background-position:center bottom}}.wrapper.lp.lp--ntopcon-v13 .nt-hero-highlight{grid-template-columns:1fr;gap:24px;max-width:100%;overflow:visible}.wrapper.lp.lp--ntopcon-v13 .nt-bubble{width:100%;max-width:100%;min-width:0;padding:22px 18px;overflow:hidden}.wrapper.lp.lp--ntopcon-v13 .nt-bubble h2{font-size:25px;line-height:1.45;overflow-wrap:break-word}.wrapper.lp.lp--ntopcon-v13 .nt-bubble p{font-size:15px;line-height:1.9;overflow-wrap:break-word}.wrapper.lp.lp--ntopcon-v13 .nt-bubble__images{width:100%;max-width:100%;justify-content:flex-start;overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;gap:12px;-webkit-overflow-scrolling:touch;padding-bottom:6px}.wrapper.lp.lp--ntopcon-v13 .nt-bubble__image{flex:0 0 44vw;width:44vw;min-width:44vw;margin:0}.wrapper.lp.lp--ntopcon-v13 .nt-bubble__image--small{flex:0 0 28vw;width:28vw;min-width:28vw}.wrapper.lp.lp--ntopcon-v13 .nt-power-card--circle{width:300px;height:300px;min-width:300px;min-height:300px;max-width:300px;max-height:300px;margin:0 auto;padding:32px 24px 24px;animation:ntCircleFloatSp 5s ease-in-out infinite}@keyframes ntCircleFloatSp{0%{transform:translateY(0)}50%{transform:translateY(-4px)}100%{transform:translateY(0)}}.wrapper.lp.lp--ntopcon-v13 .nt-power-card--circle small{font-size:21px;margin-bottom:7px}.wrapper.lp.lp--ntopcon-v13 .nt-power-card--circle strong{font-size:21px;line-height:1.25;margin-bottom:10px}.wrapper.lp.lp--ntopcon-v13 .nt-power-card--circle span{max-width:238px;font-size:12.5px;line-height:1.58}.wrapper.lp.lp--ntopcon-v13 .nt-power-card--circle::after{top:34px;right:42px;width:68px;height:34px;opacity:.62}.wrapper.lp.lp--ntopcon-v13 .nt-power-card--circle::before{width:52%;height:165%;animation-duration:6s}.wrapper.lp.lp--ntopcon-v13 .nt-section{padding:58px 0}.wrapper.lp.lp--ntopcon-v13 .nt-quicknav{grid-template-columns:repeat(2,minmax(0,1fr))}.wrapper.lp.lp--ntopcon-v13 .nt-quicknav a{min-height:84px;font-size:14px}.wrapper.lp.lp--ntopcon-v13 .nt-spec-grid{grid-template-columns:1fr;gap:24px;max-width:none;margin-top:24px}.wrapper.lp.lp--ntopcon-v13 .nt-spec-grid::before{display:none}.wrapper.lp.lp--ntopcon-v13 .nt-spec{min-height:0}.wrapper.lp.lp--ntopcon-v13 .nt-spec strong{font-size:clamp(22px,7vw,30px)}.wrapper.lp.lp--ntopcon-v13 .nt-hero-lead,.wrapper.lp.lp--ntopcon-v13 .nt-head p,.wrapper.lp.lp--ntopcon-v13 .nt-card__body p,.wrapper.lp.lp--ntopcon-v13 .nt-triple-main__body p,.wrapper.lp.lp--ntopcon-v13 .nt-part p,.wrapper.lp.lp--ntopcon-v13 .nt-sorelia__body p,.wrapper.lp.lp--ntopcon-v13 .nt-bougen__body p,.wrapper.lp.lp--ntopcon-v13 .nt-faq-answer p,.wrapper.lp.lp--ntopcon-v13 .nt-cta-box p{font-size:15px}.wrapper.lp.lp--ntopcon-v13 .nt-video-thumb__play{width:64px;height:64px}.wrapper.lp.lp--ntopcon-v13 .nt-video-thumb__play::before{left:26px;top:20px;border-width:13px 0 13px 20px}.wrapper.lp.lp--ntopcon-v13 .nt-bougen__body{padding:24px 20px}.wrapper.lp.lp--ntopcon-v13 .nt-bougen__body h3{font-size:24px}.nt-video-modal__close{right:8px;top:-54px}}
@media screen and (max-width:390px){.wrapper.lp.lp--ntopcon-v13 .nt-bubble h2{font-size:23px}.wrapper.lp.lp--ntopcon-v13 .nt-power-card--circle{width:280px;height:280px;min-width:280px;min-height:280px;max-width:280px;max-height:280px;padding:30px 22px 22px}.wrapper.lp.lp--ntopcon-v13 .nt-power-card--circle small{font-size:19px}.wrapper.lp.lp--ntopcon-v13 .nt-power-card--circle strong{font-size:19px}.wrapper.lp.lp--ntopcon-v13 .nt-power-card--circle span{max-width:220px;font-size:11.8px;line-height:1.55}}

/* ==========================================================
   HERO SP：縦長背景表示を維持しつつ、cell-appearance.pngをゆっくり動かす
   transformを使わず、疑似要素の位置とサイズを直接アニメーション
========================================================== */

@media screen and (max-width: 767px) {
  .wrapper.lp.lp--ntopcon-v13 .nt-hero {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 64px 0 48px;
    background:
      linear-gradient(
        180deg,
        rgba(8, 24, 44, .48) 0%,
        rgba(8, 24, 44, .54) 42%,
        rgba(8, 24, 44, .62) 100%
      ),
      linear-gradient(135deg, #091c33 0%, #12385f 55%, #0f5f78 100%) !important;
  }

  .wrapper.lp.lp--ntopcon-v13 .nt-hero::before {
    content: "";
    position: absolute;
    z-index: 0 !important;
    pointer-events: none;
    opacity: .92;

    /*
      transformは使わない。
      既存の transform: none !important; の影響を避けるため、
      left / top / width / height で背景レイヤー自体を動かす。
    */
    left: -8%;
    top: -4%;
    width: 116%;
    height: 108%;

    background-image: url('/solar/n-topcon/img/cell-appearance.png') !important;
    background-repeat: no-repeat !important;
    background-position: center top !important;
    background-size: auto 100% !important;

    animation: ntHeroCellSpLayerMove 18s ease-in-out infinite alternate !important;
    will-change: left, top, width, height;
  }

  .wrapper.lp.lp--ntopcon-v13 .nt-hero::after {
    display: block;
    z-index: 1 !important;
    top: -45%;
    left: -95%;
    width: 82%;
    height: 190%;
    opacity: .75;
  }

  .wrapper.lp.lp--ntopcon-v13 .nt-hero > .nt-wrap {
    position: relative;
    z-index: 2 !important;
  }
}

@keyframes ntHeroCellSpLayerMove {
  0% {
    left: -8%;
    top: -4%;
    width: 116%;
    height: 108%;
  }

  50% {
    left: -12%;
    top: -7%;
    width: 122%;
    height: 114%;
  }

  100% {
    left: -16%;
    top: -10%;
    width: 128%;
    height: 120%;
  }
}

/* ==========================================================
   ABOUT：2枚の画像を縦横比維持・下端揃えで調整
   対象：
   - econoroots-n-type-topcon.jpg
   - comparison_of_kyocera-proprietary-high-temperature_and_high-humidity-tests.png
========================================================== */

/* --------------------------------
  PC：2つの画像枠を共通化
-------------------------------- */
@media screen and (min-width: 1025px) {
  .wrapper.lp.lp--ntopcon-v13
  .nt-card__figure:has(
    img[src*="econoroots-n-type-topcon"]
  ),
  .wrapper.lp.lp--ntopcon-v13
  .nt-card__figure:has(
    img[src*="comparison_of_kyocera-proprietary-high-temperature_and_high-humidity-tests"]
  ) {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    height: 330px;
    margin: 0 auto 18px;
    padding: 0;
    overflow: visible;
    background: #fff;
  }

  /* 2枚とも画像本来の縦横比を維持 */
  .wrapper.lp.lp--ntopcon-v13
  .nt-card__figure img[src*="econoroots-n-type-topcon"],
  .wrapper.lp.lp--ntopcon-v13
  .nt-card__figure img[src*="comparison_of_kyocera-proprietary-high-temperature_and_high-humidity-tests"] {
    display: block;
    width: auto;
    height: auto;
    margin: 0 auto;
    padding: 0;
    aspect-ratio: auto;
    object-fit: contain;
    object-position: center bottom;
  }

  /* 左側：セル構造画像 */
  .wrapper.lp.lp--ntopcon-v13
  .nt-card__figure img[src*="econoroots-n-type-topcon"] {
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: 330px;
  }

  /* 右側：変更後イメージの大きさまで拡大 */
  .wrapper.lp.lp--ntopcon-v13
  .nt-card__figure img[src*="comparison_of_kyocera-proprietary-high-temperature_and_high-humidity-tests"] {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 330px;
  }

  /* 過去の比較画像用マージン指定をリセット */
  .wrapper.lp.lp--ntopcon-v13
  .nt-card__figure:has(
    img[src*="comparison_of_kyocera-proprietary-high-temperature_and_high-humidity-tests"]
  ) {
    margin-left: auto;
    margin-right: auto;
  }

  /* 右側カードの本文余白を標準値に統一 */
  .wrapper.lp.lp--ntopcon-v13
  .nt-card__body:has(
    img[src*="comparison_of_kyocera-proprietary-high-temperature_and_high-humidity-tests"]
  ) {
    padding-left: 26px;
    padding-right: 26px;
  }

  .wrapper.lp.lp--ntopcon-v13
  .nt-card__body:has(
    img[src*="comparison_of_kyocera-proprietary-high-temperature_and_high-humidity-tests"]
  ) > p {
    margin-left: 0;
    margin-right: 0;
  }
}

/* --------------------------------
  タブレット
-------------------------------- */
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .wrapper.lp.lp--ntopcon-v13
  .nt-card__figure:has(
    img[src*="econoroots-n-type-topcon"]
  ),
  .wrapper.lp.lp--ntopcon-v13
  .nt-card__figure:has(
    img[src*="comparison_of_kyocera-proprietary-high-temperature_and_high-humidity-tests"]
  ) {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    width: 100%;
    height: 420px;
    margin: 0 auto 18px;
    padding: 0;
    overflow: visible;
    background: #fff;
  }

  .wrapper.lp.lp--ntopcon-v13
  .nt-card__figure img[src*="econoroots-n-type-topcon"],
  .wrapper.lp.lp--ntopcon-v13
  .nt-card__figure img[src*="comparison_of_kyocera-proprietary-high-temperature_and_high-humidity-tests"] {
    display: block;
    width: auto;
    height: auto;
    margin: 0 auto;
    padding: 0;
    aspect-ratio: auto;
    object-fit: contain;
    object-position: center bottom;
  }

  .wrapper.lp.lp--ntopcon-v13
  .nt-card__figure img[src*="econoroots-n-type-topcon"],
  .wrapper.lp.lp--ntopcon-v13
  .nt-card__figure img[src*="comparison_of_kyocera-proprietary-high-temperature_and_high-humidity-tests"] {
    max-width: 100%;
    max-height: 420px;
  }
}

/* --------------------------------
  SP：固定高さを解除して自然な比率で表示
-------------------------------- */
@media screen and (max-width: 767px) {
  .wrapper.lp.lp--ntopcon-v13
  .nt-card__figure:has(
    img[src*="econoroots-n-type-topcon"]
  ),
  .wrapper.lp.lp--ntopcon-v13
  .nt-card__figure:has(
    img[src*="comparison_of_kyocera-proprietary-high-temperature_and_high-humidity-tests"]
  ) {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    min-height: 0;
    margin: 0 auto 18px;
    padding: 0;
    overflow: visible;
  }

  .wrapper.lp.lp--ntopcon-v13
  .nt-card__figure img[src*="econoroots-n-type-topcon"],
  .wrapper.lp.lp--ntopcon-v13
  .nt-card__figure img[src*="comparison_of_kyocera-proprietary-high-temperature_and_high-humidity-tests"] {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: none;
    margin: 0 auto;
    padding: 0;
    aspect-ratio: auto;
    object-fit: contain;
    object-position: center;
  }

  .wrapper.lp.lp--ntopcon-v13
  .nt-card__body:has(
    img[src*="comparison_of_kyocera-proprietary-high-temperature_and_high-humidity-tests"]
  ) {
    padding-left: 18px;
    padding-right: 18px;
  }

  .wrapper.lp.lp--ntopcon-v13
  .nt-card__body:has(
    img[src*="comparison_of_kyocera-proprietary-high-temperature_and_high-humidity-tests"]
  ) > p {
    margin-left: 0;
    margin-right: 0;
  }
}

/* ==========================================================
   PERFORMANCE：2カードをコンテンツ幅に合わせて配置
========================================================== */
.wrapper.lp.lp--ntopcon-v13 .nt-spec-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 96px;
  width: 100%;
  max-width: none;
  margin: 28px auto 0;
}

.wrapper.lp.lp--ntopcon-v13 .nt-spec-grid::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  width: 0;
  height: 0;
  transform: translate(-50%, -50%);
  border-top: 46px solid transparent;
  border-bottom: 46px solid transparent;
  border-left: 34px solid #7f7f7f;
  filter: drop-shadow(0 4px 6px rgba(0, 0, 0, .16));
  pointer-events: none;
}

.wrapper.lp.lp--ntopcon-v13 .nt-spec {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 430px;
  padding: 28px 30px 30px;
  text-align: center;
  background: #fff;
  border: 1px solid #dce6f2;
  border-radius: 20px;
  box-shadow: 0 12px 28px rgba(13, 33, 63, .06);
}

.wrapper.lp.lp--ntopcon-v13 .nt-spec small {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  min-width: 90px;
  min-height: 28px;
  margin-bottom: 10px;
  padding: 4px 14px;
  color: #1760ab;
  font-size: 13px;
  line-height: 1.4;
  font-weight: 800;
  letter-spacing: .08em;
  background: #eaf3fc;
  border-radius: 999px;
}

.wrapper.lp.lp--ntopcon-v13 .nt-spec strong {
  display: block;
  min-height: 1.25em;
  margin-bottom: 18px;
  color: #a38800;
  font-size: clamp(25px, 2.5vw, 36px);
  line-height: 1.25;
  font-weight: 800;
}

.wrapper.lp.lp--ntopcon-v13 .nt-spec__media {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 250px;
  margin-bottom: 18px;
  overflow: hidden;
  border-radius: 14px;
  background: #f7f9fc;
}

.wrapper.lp.lp--ntopcon-v13 .nt-spec__media img {
  display: block;
  width: 100%;
  max-width: 430px;
  height: auto;
  max-height: 250px;
  margin: 0 auto;
  aspect-ratio: auto;
  object-fit: contain;
  object-position: center;
  border-radius: 14px;
}

.wrapper.lp.lp--ntopcon-v13 .nt-spec span {
  display: block;
  margin-top: auto;
  color: #314760;
  font-size: 15px;
  line-height: 1.8;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .wrapper.lp.lp--ntopcon-v13 .nt-spec-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 64px;
    width: 100%;
    max-width: none;
  }

  .wrapper.lp.lp--ntopcon-v13 .nt-spec-grid::before {
    border-top-width: 34px;
    border-bottom-width: 34px;
    border-left-width: 25px;
  }

  .wrapper.lp.lp--ntopcon-v13 .nt-spec {
    min-height: 400px;
    padding: 24px 22px 26px;
  }

  .wrapper.lp.lp--ntopcon-v13 .nt-spec strong {
    font-size: clamp(23px, 3vw, 30px);
  }

  .wrapper.lp.lp--ntopcon-v13 .nt-spec__media {
    min-height: 220px;
  }

  .wrapper.lp.lp--ntopcon-v13 .nt-spec__media img {
    max-width: 360px;
    max-height: 220px;
  }
}

@media screen and (max-width: 767px) {
  .wrapper.lp.lp--ntopcon-v13 .nt-spec-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    width: 100%;
    max-width: none;
    margin-top: 24px;
  }

  .wrapper.lp.lp--ntopcon-v13 .nt-spec-grid::before {
    display: none;
  }

  .wrapper.lp.lp--ntopcon-v13 .nt-spec {
    min-height: 0;
    padding: 24px 20px 26px;
  }

  .wrapper.lp.lp--ntopcon-v13 .nt-spec small {
    min-width: 84px;
    min-height: 26px;
    margin-bottom: 10px;
    font-size: 12px;
  }

  .wrapper.lp.lp--ntopcon-v13 .nt-spec strong {
    min-height: 0;
    margin-bottom: 16px;
    font-size: clamp(24px, 7vw, 30px);
  }

  .wrapper.lp.lp--ntopcon-v13 .nt-spec__media {
    min-height: 0;
    margin-bottom: 16px;
  }

  .wrapper.lp.lp--ntopcon-v13 .nt-spec__media img {
    width: 100%;
    max-width: 420px;
    height: auto;
    max-height: none;
    aspect-ratio: auto;
    object-fit: contain;
  }
}

/* ==========================================================
   CTA：お問い合わせボタンを丸四角形へ調整
   ・対角カットを解除
   ・メールアイコンを削除
   ・ボタン幅をコンパクトに調整
========================================================== */
.wrapper.lp.lp--ntopcon-v13 .nt-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 300px;
  min-height: 58px;
  padding: 0 38px;
  color: #9d000b;
  font-size: 17px;
  line-height: 1.4;
  font-weight: 800;
  letter-spacing: .02em;
  background: linear-gradient(180deg, #fff 0%, #fff 55%, #f8eeee 100%);
  border: 1px solid rgba(123, 0, 9, .18);
  border-radius: 8px;
  box-shadow:
    0 5px 10px rgba(92, 0, 8, .30),
    inset 0 1px 0 rgba(255, 255, 255, .96);
  clip-path: none;
  transition:
    color .25s ease,
    background .25s ease,
    transform .25s ease,
    box-shadow .25s ease;
}

/* 旧メールアイコンを削除 */
.wrapper.lp.lp--ntopcon-v13 .nt-btn::before {
  content: none;
  display: none;
}

/* ボタン下部の細い装飾ライン */
.wrapper.lp.lp--ntopcon-v13 .nt-btn::after {
  content: "";
  position: absolute;
  left: 10%;
  bottom: 5px;
  width: 80%;
  height: 1px;
  margin: 0;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(216, 0, 26, .38),
    transparent
  );
  transition: opacity .25s ease;
}

.wrapper.lp.lp--ntopcon-v13 .nt-cta-link:hover .nt-btn {
  color: #fff;
  background: linear-gradient(180deg, #a8000d 0%, #820008 100%);
  border-color: rgba(255, 255, 255, .48);
  box-shadow:
    0 8px 18px rgba(67, 0, 6, .36),
    inset 0 1px 0 rgba(255, 255, 255, .20);
  transform: translateY(-2px);
}

.wrapper.lp.lp--ntopcon-v13 .nt-cta-link:hover .nt-btn::after {
  opacity: 0;
}

@media screen and (max-width: 767px) {
  .wrapper.lp.lp--ntopcon-v13 .nt-btn {
    width: 100%;
    min-width: 0;
    max-width: 300px;
    min-height: 56px;
    padding: 0 24px;
    font-size: 16px;
    border-radius: 8px;
  }
}

/* ==========================================================
   CTA：赤グラデーション・発光・光線を復活
   使用色：#e60012 / #ff523a / #d8001a
========================================================== */
.wrapper.lp.lp--ntopcon-v13 .nt-cta-box {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 46px 36px 42px;
  color: #fff;
  text-align: center;
  background:
    radial-gradient(
      ellipse at 82% 94%,
      rgba(255, 184, 104, .72) 0%,
      rgba(255, 91, 47, .42) 18%,
      rgba(230, 0, 18, 0) 48%
    ),
    radial-gradient(
      ellipse at 18% 4%,
      rgba(255, 255, 255, .20) 0%,
      rgba(255, 255, 255, .06) 24%,
      transparent 48%
    ),
    linear-gradient(
      110deg,
      #d8001a 0%,
      #e60012 25%,
      #ff523a 58%,
      #e60012 78%,
      #d8001a 100%
    );
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 8px;
  box-shadow:
    0 14px 28px rgba(93, 0, 8, .28),
    0 3px 8px rgba(93, 0, 8, .22),
    inset 0 1px 0 rgba(255, 255, 255, .24);
  cursor: pointer;
  transition: transform .25s ease, box-shadow .25s ease;
}

/* 右下の発光と複数の光線 */
.wrapper.lp.lp--ntopcon-v13 .nt-cta-box::before {
  content: "";
  position: absolute;
  right: -18%;
  bottom: -46%;
  z-index: 0;
  width: 76%;
  height: 145%;
  pointer-events: none;
  background:
    linear-gradient(
      151deg,
      transparent 0 40%,
      rgba(255, 224, 174, 0) 40.5%,
      rgba(255, 224, 174, .72) 41%,
      rgba(255, 224, 174, .10) 41.8%,
      transparent 42.4%
    ),
    linear-gradient(
      160deg,
      transparent 0 48%,
      rgba(255, 242, 197, 0) 48.4%,
      rgba(255, 242, 197, .88) 49%,
      rgba(255, 242, 197, .12) 49.8%,
      transparent 50.5%
    ),
    linear-gradient(
      168deg,
      transparent 0 57%,
      rgba(255, 224, 174, 0) 57.4%,
      rgba(255, 224, 174, .66) 58%,
      rgba(255, 224, 174, .10) 58.8%,
      transparent 59.6%
    );
  transform: rotate(-4deg);
  opacity: .92;
}

/* 左上から右下へ流れる細い装飾線 */
.wrapper.lp.lp--ntopcon-v13 .nt-cta-box::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(
      145deg,
      transparent 0 24%,
      rgba(255, 255, 255, 0) 24.3%,
      rgba(255, 255, 255, .48) 24.7%,
      rgba(255, 255, 255, .06) 25.1%,
      transparent 25.6%
    ),
    linear-gradient(
      150deg,
      transparent 0 69%,
      rgba(255, 210, 142, 0) 69.3%,
      rgba(255, 210, 142, .46) 69.7%,
      rgba(255, 210, 142, .05) 70.1%,
      transparent 70.6%
    );
  opacity: .82;
}

/* テキストとボタンを装飾線より前面へ */
.wrapper.lp.lp--ntopcon-v13 .nt-cta-box h2,
.wrapper.lp.lp--ntopcon-v13 .nt-cta-box p,
.wrapper.lp.lp--ntopcon-v13 .nt-btn-row {
  position: relative;
  z-index: 2;
}

.wrapper.lp.lp--ntopcon-v13 .nt-cta-link:hover .nt-cta-box {
  transform: translateY(-3px);
  box-shadow:
    0 20px 38px rgba(93, 0, 8, .34),
    0 5px 12px rgba(93, 0, 8, .24),
    inset 0 1px 0 rgba(255, 255, 255, .30);
}

/* 丸四角形ボタン、メールアイコンなし */
.wrapper.lp.lp--ntopcon-v13 .nt-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 300px;
  min-height: 58px;
  padding: 0 38px;
  color: #9d000b;
  font-size: 17px;
  line-height: 1.4;
  font-weight: 800;
  letter-spacing: .02em;
  background: linear-gradient(180deg, #fff 0%, #fff 55%, #f8eeee 100%);
  border: 1px solid rgba(123, 0, 9, .18);
  border-radius: 8px;
  box-shadow:
    0 5px 10px rgba(92, 0, 8, .30),
    inset 0 1px 0 rgba(255, 255, 255, .96);
  clip-path: none;
}

.wrapper.lp.lp--ntopcon-v13 .nt-btn::before {
  content: none;
  display: none;
}

.wrapper.lp.lp--ntopcon-v13 .nt-btn::after {
  content: "";
  position: absolute;
  left: 10%;
  bottom: 5px;
  width: 80%;
  height: 1px;
  margin: 0;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(216, 0, 26, .38),
    transparent
  );
}

@media screen and (max-width: 767px) {
  .wrapper.lp.lp--ntopcon-v13 .nt-cta-box {
    padding: 38px 18px 34px;
    border-radius: 7px;
  }

  .wrapper.lp.lp--ntopcon-v13 .nt-cta-box::before {
    right: -42%;
    bottom: -28%;
    width: 120%;
    height: 105%;
    opacity: .78;
  }

  .wrapper.lp.lp--ntopcon-v13 .nt-btn {
    width: 100%;
    min-width: 0;
    max-width: 300px;
    min-height: 56px;
    padding: 0 24px;
    font-size: 16px;
    border-radius: 8px;
  }
}

/* ==========================================================
   PERFORMANCE：説明文を左揃え（正本反映）
========================================================== */
.wrapper.lp.lp--ntopcon-v13 .nt-spec span {
  display: block;
  width: 100%;
  text-align: left;
}

/* ==========================================================
   N型TOPCon技術搭載製品リンク（簡潔版HTML対応）
========================================================== */
.wrapper.lp.lp--ntopcon-v13 .nt-product-links {
  position: relative;
  padding: 76px 0 82px;
  overflow: hidden;
  background:
    radial-gradient(circle at 100% 0, rgba(23, 96, 171, .09) 0%, rgba(23, 96, 171, 0) 34%),
    linear-gradient(180deg, #fff 0%, #f4f8fc 100%);
  border-top: 1px solid #e2eaf3;
  border-bottom: 1px solid #dbe6f1;
}

.wrapper.lp.lp--ntopcon-v13 .nt-product-links::before,
.wrapper.lp.lp--ntopcon-v13 .nt-product-links::after {
  content: "";
  position: absolute;
  pointer-events: none;
  border: 1px solid rgba(23, 96, 171, .09);
  border-radius: 50%;
}

.wrapper.lp.lp--ntopcon-v13 .nt-product-links::before {
  right: -120px;
  bottom: -180px;
  width: 440px;
  height: 440px;
}

.wrapper.lp.lp--ntopcon-v13 .nt-product-links::after {
  right: -40px;
  bottom: -100px;
  width: 280px;
  height: 280px;
}

.wrapper.lp.lp--ntopcon-v13 .nt-product-links__head {
  position: relative;
  z-index: 1;
  max-width: 900px;
  margin-bottom: 34px;
}

.wrapper.lp.lp--ntopcon-v13 .nt-product-links__head h2 {
  margin: 0;
  color: #10233d;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.38;
  font-weight: 800;
}

.wrapper.lp.lp--ntopcon-v13 .nt-product-links__head p {
  margin: 14px 0 0;
  color: #42566f;
  font-size: 16px;
  line-height: 1.9;
}

.wrapper.lp.lp--ntopcon-v13 .nt-product-links__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.wrapper.lp.lp--ntopcon-v13 .nt-product-link {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 48px;
  gap: 22px;
  align-items: center;
  min-width: 0;
  min-height: 132px;
  padding: 24px 24px 24px 30px;
  overflow: hidden;
  color: #153451;
  background: linear-gradient(135deg, #fff 0%, #fff 65%, #f0f6fc 100%);
  border: 1px solid #d8e4f0;
  border-radius: 18px;
  box-shadow: 0 12px 28px rgba(13, 33, 63, .07);
  transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.wrapper.lp.lp--ntopcon-v13 .nt-product-link::before {
  content: "";
  position: absolute;
  left: 0;
  top: 16%;
  width: 4px;
  height: 68%;
  background: linear-gradient(180deg, #e60012 0%, #b5000e 100%);
  border-radius: 0 4px 4px 0;
  transition: width .25s ease, height .25s ease, top .25s ease;
}

.wrapper.lp.lp--ntopcon-v13 .nt-product-link::after {
  content: "";
  position: absolute;
  right: -70px;
  bottom: -90px;
  width: 190px;
  height: 190px;
  pointer-events: none;
  background: radial-gradient(circle, rgba(230, 0, 18, .10) 0%, rgba(230, 0, 18, 0) 70%);
  opacity: 0;
  transition: opacity .25s ease;
}

.wrapper.lp.lp--ntopcon-v13 .nt-product-link__body {
  display: flex;
  align-items: center;
  min-width: 0;
  min-height: 54px;
}

.wrapper.lp.lp--ntopcon-v13 .nt-product-link__title {
  display: block;
  color: #123a66;
  font-size: clamp(19px, 1.8vw, 24px);
  line-height: 1.45;
  font-weight: 800;
  word-break: normal;
  overflow-wrap: break-word;
  transition: color .25s ease;
}

.wrapper.lp.lp--ntopcon-v13 .nt-product-link__arrow {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  color: #fff;
  font-size: 18px;
  line-height: 1;
  background: linear-gradient(135deg, #e60012 0%, #b8000e 100%);
  border-radius: 50%;
  box-shadow: 0 7px 16px rgba(193, 0, 15, .20);
  transition: background .25s ease, transform .25s ease, box-shadow .25s ease;
}

.wrapper.lp.lp--ntopcon-v13 .nt-product-link:hover {
  border-color: rgba(230, 0, 18, .55);
  box-shadow: 0 18px 38px rgba(116, 0, 9, .14);
  transform: translateY(-4px);
}

.wrapper.lp.lp--ntopcon-v13 .nt-product-link:hover::before {
  top: 0;
  width: 6px;
  height: 100%;
}

.wrapper.lp.lp--ntopcon-v13 .nt-product-link:hover::after {
  opacity: 1;
}

.wrapper.lp.lp--ntopcon-v13 .nt-product-link:hover .nt-product-link__title {
  color: #a6000c;
}

.wrapper.lp.lp--ntopcon-v13 .nt-product-link:hover .nt-product-link__arrow {
  background: linear-gradient(135deg, #ff2738 0%, #d00010 100%);
  box-shadow: 0 10px 22px rgba(193, 0, 15, .28);
  transform: translateX(4px);
}

.wrapper.lp.lp--ntopcon-v13 .nt-product-link:focus-visible {
  outline: 3px solid #1760ab;
  outline-offset: 4px;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .wrapper.lp.lp--ntopcon-v13 .nt-product-links {
    padding: 64px 0 70px;
  }

  .wrapper.lp.lp--ntopcon-v13 .nt-product-links__grid {
    gap: 16px;
  }

  .wrapper.lp.lp--ntopcon-v13 .nt-product-link {
    grid-template-columns: minmax(0, 1fr) 42px;
    gap: 16px;
    min-height: 126px;
    padding: 22px 18px 22px 24px;
  }

  .wrapper.lp.lp--ntopcon-v13 .nt-product-link__arrow {
    width: 40px;
    height: 40px;
  }

  .wrapper.lp.lp--ntopcon-v13 .nt-product-link__title {
    font-size: 18px;
  }
}

@media screen and (max-width: 767px) {
  .wrapper.lp.lp--ntopcon-v13 .nt-product-links {
    padding: 54px 0 58px;
  }

  .wrapper.lp.lp--ntopcon-v13 .nt-product-links__head {
    margin-bottom: 26px;
  }

  .wrapper.lp.lp--ntopcon-v13 .nt-product-links__head h2 {
    font-size: 28px;
  }

  .wrapper.lp.lp--ntopcon-v13 .nt-product-links__head p {
    font-size: 15px;
    line-height: 1.85;
  }

  .wrapper.lp.lp--ntopcon-v13 .nt-product-links__grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .wrapper.lp.lp--ntopcon-v13 .nt-product-link {
    grid-template-columns: minmax(0, 1fr) 40px;
    gap: 14px;
    min-height: 104px;
    padding: 18px 16px 18px 22px;
    border-radius: 16px;
  }

  .wrapper.lp.lp--ntopcon-v13 .nt-product-link__body {
    min-height: 44px;
  }

  .wrapper.lp.lp--ntopcon-v13 .nt-product-link__title {
    font-size: 18px;
    line-height: 1.5;
  }

  .wrapper.lp.lp--ntopcon-v13 .nt-product-link__arrow {
    width: 38px;
    height: 38px;
    font-size: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .wrapper.lp.lp--ntopcon-v13 .nt-product-link,
  .wrapper.lp.lp--ntopcon-v13 .nt-product-link::before,
  .wrapper.lp.lp--ntopcon-v13 .nt-product-link::after,
  .wrapper.lp.lp--ntopcon-v13 .nt-product-link__title,
  .wrapper.lp.lp--ntopcon-v13 .nt-product-link__arrow {
    transition: none;
  }
}

/* ==========================================================
   PRODUCTS：見出しサイズと上部余白を調整
   ・ABOUTカード見出しと同じ24px
   ・見出し上部に2emの余白
========================================================== */
.wrapper.lp.lp--ntopcon-v13 #nt-product-links-title {
  margin: 2em 0 16px;
  color: #123a66;
  font-size: 24px;
  line-height: 1.45;
  font-weight: 800;
}

/* 既存の見出しラッパー側で余白が相殺されないようにする */
.wrapper.lp.lp--ntopcon-v13 .nt-product-links__head {
  overflow: visible;
}

@media screen and (max-width: 767px) {
  .wrapper.lp.lp--ntopcon-v13 #nt-product-links-title {
    margin-top: 2em;
    font-size: 24px;
    line-height: 1.45;
  }
}
