/* CONTACT v2（contact.html だけが読む）。左ナビは top-v1.css を共用。フォームが主役なので本文は明るくする */
.contact-v2 main{background:#F1F6FC;color:var(--ink)}
.ct-inner{width:calc(100% - 44px);max-width:1320px;margin-inline:auto}
/* HERO：幅 1280px 未満は人物側だけを文字の上へ帯として置く（画像の左側に同じ文字が入っているため） */
.ct-hero{position:relative;isolation:isolate;overflow:hidden;background:#0B2A6B;color:#fff}
.ct-hero-img{position:absolute;z-index:-1;top:72px;right:0;display:block;width:192%;height:auto;max-width:none;aspect-ratio:3/1;-webkit-mask-image:linear-gradient(180deg,#000 54%,transparent 62%);mask-image:linear-gradient(180deg,#000 54%,transparent 62%)}
.ct-hero-inner{padding:calc(84px + 40%) 0 40px}
.ct-hero h1{display:flex;align-items:center;gap:20px;margin:14px 0 0;font-size:clamp(2.6rem,5.6vw,4.4rem);font-style:italic;line-height:1;letter-spacing:.02em}
.ct-hero h1:before{content:"";width:56px;height:4px;background:var(--gold);flex:none}
.ct-catch{margin:18px 0 0;font-size:clamp(1.3rem,2.6vw,2.1rem);font-weight:900;line-height:1.4;word-break:keep-all;overflow-wrap:anywhere}
.ct-catch em{color:var(--gold);font-style:normal}
.ct-lead{margin:14px 0 0;padding-left:14px;border-left:4px solid var(--gold);line-height:1.8;word-break:keep-all;overflow-wrap:anywhere}
.ct-section{margin-top:36px}
.ct-head{display:flex;align-items:center;gap:14px;margin:0;color:var(--navy);font-size:clamp(1.35rem,2.2vw,1.8rem);font-weight:900;line-height:1.3;letter-spacing:.02em}
.ct-head:before{content:"";flex:none;width:12px;height:30px;background:var(--gold);transform:skewX(-18deg)}
/* 相談内容：幅 1280px 以上は画像、未満は同じ内容の HTML カード */
.ct-topics-img{display:none}
/* 5 枚なので 3＋2 の 2 段にし、下の段を中央へ寄せる */
.ct-topics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:18px 0 0;padding:0;list-style:none}
.ct-topics li{grid-column:span 2}
.ct-topics li:nth-child(4){grid-column:2/span 2}
.ct-topics li{display:flex;flex-direction:column;align-items:center;padding:16px 12px 18px;border:1px solid #D8E3F1;border-radius:10px;background:#fff;text-align:center;box-shadow:0 4px 14px rgba(8,26,51,.06)}
.ct-topics svg{width:52px;height:52px;fill:none;stroke:#123C8C;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ct-topics h3{margin:8px 0 0;color:var(--navy);font-size:1.02rem;font-weight:800;line-height:1.35;word-break:keep-all;overflow-wrap:anywhere}
.ct-topics p{margin:6px 0 0;color:#33445C;font-size:.84rem;line-height:1.55;word-break:keep-all;overflow-wrap:anywhere}
.ct-welcome{margin:14px 0 0;padding:12px 18px;border-radius:999px;background:var(--gold);color:var(--navy);text-align:center;font-weight:800;line-height:1.5;word-break:keep-all;overflow-wrap:anywhere}
/* フォームと安心パネル */
.ct-main{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin-top:36px}
.ct-card{overflow:hidden;border:1px solid #D8E3F1;border-radius:12px;background:#fff;box-shadow:0 6px 20px rgba(8,26,51,.08)}
.ct-card-head{display:flex;align-items:center;gap:12px;margin:0;padding:14px 22px;background:var(--navy);color:#fff;font-size:1.2rem;font-weight:800;line-height:1.35}
.ct-card-head svg{flex:none;width:26px;height:26px;fill:var(--gold)}
.ct-form{padding:22px}
.ct-row{display:grid;gap:6px;margin:0 0 16px}
.ct-row label,.ct-radios legend{display:flex;align-items:center;gap:8px;padding:0;color:var(--navy);font-weight:700;line-height:1.4}
.ct-tag{flex:none;padding:2px 7px;border-radius:3px;background:#C81E1E;color:#fff;font-size:.7rem;font-weight:700;line-height:1.4}
.ct-tag-any{background:#5B6B80}
.ct-form input[type=text],.ct-form input[type=email],.ct-form input[type=tel],.ct-form textarea{display:block;width:100%;min-height:46px;padding:10px 12px;border:1px solid #9FB0C6;border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-size:1rem}
.ct-form textarea{min-height:140px;resize:vertical;line-height:1.6}
.ct-form ::placeholder{color:#5F6F84;opacity:1}
.ct-form input:focus-visible,.ct-form textarea:focus-visible{outline:3px solid #1D4ED8;outline-offset:1px;border-color:#1D4ED8}
.ct-radios{display:grid;gap:8px;margin:0 0 20px;padding:0;border:0}
.ct-radio-list{display:flex;flex-wrap:wrap;gap:8px 22px}
.ct-radio-list label{display:inline-flex;align-items:center;gap:8px;min-height:32px;color:var(--ink);font-weight:500;cursor:pointer}
.ct-radio-list input{width:20px;height:20px;margin:0;accent-color:#1D4ED8}
.ct-submit{display:flex;align-items:center;justify-content:center;gap:16px;width:min(100%,400px);min-height:60px;margin:0 auto;padding:10px 24px;border:0;border-radius:999px;background:var(--gold);color:var(--navy);font:inherit;font-size:1.2rem;font-weight:900;cursor:pointer;box-shadow:0 6px 16px rgba(133,100,0,.3);transition:background .2s}
.ct-submit:hover,.ct-submit:focus-visible{background:#FFE168}
.ct-submit:focus-visible{outline:3px solid #1D4ED8;outline-offset:2px}
.ct-form-note{margin:12px 0 0;color:#46566C;text-align:center;font-size:.8rem;line-height:1.6}
.ct-notice{margin:10px 0 0;color:#0F5132;text-align:center;font-weight:700;line-height:1.6}
.ct-notice:empty{display:none}
.ct-safe-head{display:flex;align-items:center;gap:12px;margin:0;padding:18px 22px 14px;border-bottom:1px solid #D8E3F1;color:var(--navy);font-size:1.25rem;font-weight:800;line-height:1.35}
.ct-safe-head svg{flex:none;width:32px;height:32px;fill:var(--navy);stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ct-safe-list{display:grid;gap:12px;margin:0;padding:16px 22px;list-style:none}
.ct-safe-list li{position:relative;padding-left:32px;color:var(--navy);font-weight:600;line-height:1.55;word-break:auto-phrase;line-break:strict;overflow-wrap:anywhere}
.ct-safe-list li:before{content:"";position:absolute;left:0;top:.1em;width:22px;height:22px;border-radius:50%;background:var(--gold)}
.ct-safe-list li:after{content:"";position:absolute;left:8px;top:.3em;width:6px;height:11px;border-right:2px solid var(--navy);border-bottom:2px solid var(--navy);transform:rotate(45deg)}
.ct-safe-link{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 22px;border-top:1px solid #D8E3F1;color:var(--navy);font-weight:800;text-decoration:none;transition:background .2s}
.ct-safe-link:hover,.ct-safe-link:focus-visible{background:#FFF6CF}
/* 右カラムの待機ビジュアル。背景は透過なので本文の明るい色の上へそのまま置く */
.ct-side{display:grid;gap:20px;min-width:0}
.ct-desk{display:block;width:100%;max-width:420px;height:auto;margin-inline:auto}
.ct-mail{display:block;width:100%;max-width:560px;height:auto;margin-inline:auto}
/* 最下部：幅 651px 以上は画像全体（文字も画像に入っている）。未満は HTML の文字と人物の部分 */
.ct-final{margin-top:40px;background:#0E2C86;color:#fff;text-align:center}
.ct-final-text{padding:28px 18px 8px}
.ct-final h2{margin:0;color:#fff;font-size:1.65rem;font-style:italic;font-weight:800;line-height:1.25}
.ct-final-copy{margin:12px 0 0;font-weight:700;line-height:1.6}
.ct-final-img{display:block;width:100%;height:auto;max-width:none;aspect-ratio:1.785/1;object-fit:cover;object-position:100% 50%}
@media(min-width:651px){
 .ct-inner{width:calc(100% - 48px)}
 .ct-row{grid-template-columns:190px minmax(0,1fr);align-items:start;gap:14px}
 .ct-row label{padding-top:12px}
 .ct-radios{grid-template-columns:190px minmax(0,1fr);align-items:center;gap:14px}
 .ct-radios legend{float:left}
 .ct-final{position:relative}
 .ct-final-text{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .ct-final-img{aspect-ratio:3/1;object-fit:fill}
}
@media(min-width:1024px){
 .contact-v2 .tv1-side{background:linear-gradient(180deg,rgba(5,13,26,.94) 0%,rgba(5,13,26,.94) 55%,rgba(5,13,26,.86) 68%,rgba(5,13,26,.5) 78%,rgba(5,13,26,.45) 88%,rgba(5,13,26,.8) 100%),url(top-nav-bg.webp) center bottom/cover no-repeat #050D1A}
 .ct-hero-img{top:0}
 .ct-hero-inner{padding-top:calc(12px + 40%)}
}
@media(min-width:1280px){
 /* 画像の文字をそのまま見せ、同じ内容の HTML は読み上げ用に残す */
 .ct-hero{aspect-ratio:3/1}
 .ct-hero-img{inset:0;width:100%;height:100%;-webkit-mask-image:none;mask-image:none}
 .ct-hero-inner{width:auto;max-width:none;margin:0;padding:14px 0 0 4.25%}
 .ct-hero h1,.ct-catch,.ct-lead,.ct-section-topics .ct-head,.ct-topics,.ct-welcome{position:absolute;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .ct-section-topics{width:100%;max-width:none;margin:0}
 .ct-topics-img{display:block;width:100%;height:auto;max-width:none;aspect-ratio:3/1}
 .ct-main{grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);align-items:start;gap:24px}
}
@media(max-width:650px){
 .ct-inner{width:calc(100% - 36px)}
 .ct-hero-img{top:66px;-webkit-mask-image:linear-gradient(180deg,#000 88%,transparent 100%);mask-image:linear-gradient(180deg,#000 88%,transparent 100%)}
 .ct-hero-inner{padding:calc(78px + 64%) 0 32px}
 .ct-hero h1{gap:14px}
 .ct-hero h1:before{width:32px}
 .ct-topics{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ct-topics li,.ct-topics li:nth-child(4){grid-column:auto}
 .ct-topics li:last-child{grid-column:1/-1}
 .ct-welcome{border-radius:12px}
 .ct-form{padding:18px}
 .ct-card-head,.ct-safe-head,.ct-safe-list,.ct-safe-link{padding-inline:18px}
}
@media(max-width:359px){
 .ct-hero h1{gap:10px;font-size:2.3rem}
 .ct-topics{grid-template-columns:minmax(0,1fr)}
 .ct-final h2{font-size:1.45rem}
}
@media(prefers-reduced-motion:reduce){.ct-submit,.ct-safe-link{transition:none}}
/* ボット対策の入力欄。人には見せない */
.ct-honey{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
