/* お問い合わせ・送信完了・プライバシー共通スタイル */
.co-hero{position:relative;isolation:isolate;min-height:250px;background:#fffaf0;overflow:hidden}
.co-hero-photo{position:absolute;inset:0 0 0 35%;background:linear-gradient(90deg,#fffaf0 0%,rgba(255,250,240,.8) 12%,transparent 63%),linear-gradient(0deg,rgba(18,38,29,.2),transparent 80%),url('../images/shrines/mainimg1.jpg.webp') center 49%/cover no-repeat}
.co-hero::after{content:'';position:absolute;inset:auto auto 0 0;width:220px;height:115px;background:url('../images/decor/seigaiha.svg') center/110px repeat;opacity:.17;pointer-events:none}
.co-hero-inner{min-height:250px;position:relative;display:flex;align-items:center}
.co-hero-copy{position:relative;z-index:2;width:min(100%,590px);padding:28px 0}
.co-hero h1{font:800 clamp(30px,3.5vw,45px)/1.35 var(--serif);margin:5px 0 9px;letter-spacing:.065em;color:#281e16}
.co-hero p{margin:0;max-width:430px;font-size:13px;line-height:1.95;font-weight:600;color:#4c4034}
.co-breadcrumb{display:flex;align-items:center;gap:10px;font-size:11px;color:#68584a;padding-top:10px;padding-bottom:10px}
.co-breadcrumb a{color:#8c2220;text-decoration:underline;text-underline-offset:3px}
.co-main-layout{display:grid;grid-template-columns:minmax(270px,.8fr) minmax(0,1.35fr);gap:24px;align-items:start;padding-top:9px;padding-bottom:30px}
.co-aside{min-width:0;display:grid;gap:16px}
.co-side-panel,.co-form-panel,.co-complete,.co-simple-panel{border:1px solid #e2d3bd;background:rgba(255,253,247,.97);border-radius:6px;box-shadow:0 6px 22px rgba(54,42,27,.055)}
.co-side-panel{padding:25px}
.co-side-panel h2{font:800 clamp(20px,2vw,25px)/1.5 var(--serif);margin:3px 0 9px;color:#30261b}
.co-side-panel>p{font-size:13px;line-height:1.9;margin:0 0 12px}
.co-topic-list{margin:0;padding-left:1.5em;font-size:12px;line-height:1.9}
.co-topic-list li+li{margin-top:7px}
.co-note{padding:14px;margin-top:19px;border-left:3px solid var(--gold);background:#f6efe3}
.co-note strong{display:block;color:#805d37;font-size:13px;margin-bottom:5px}
.co-note p{margin:0;color:#5b4c3e;font-size:12px;line-height:1.85}
.co-side-photo{border:1px solid #d8c6a5;min-height:180px;border-radius:6px;background:url('../images/shrines/mainimg1.jpg.webp') center 45%/cover no-repeat}
.co-form-panel{padding:clamp(20px,2.6vw,32px)}
.co-form-title{border-bottom:1px solid #e8decf;padding-bottom:15px;margin-bottom:18px}
.co-form-title h2{font:800 clamp(20px,2vw,28px)/1.4 var(--serif);margin:3px 0 7px}
.co-form-title p{font-size:12px;line-height:1.8;color:#695747;margin:4px 0}
.co-form-title .co-required-note{font-size:11px;margin-top:9px}
.co-form{display:grid;gap:17px}
.co-field{display:grid;gap:6px;min-width:0}
.co-field label{display:flex;align-items:center;gap:9px;font:700 13px/1.5 var(--serif)}
.co-required,.co-optional{font:700 10px/1.4 var(--sans);display:inline-flex;padding:3px 7px;border-radius:3px;white-space:nowrap}
.co-required{background:#a71e1c;color:white}
.co-optional{background:#f0e7d7;color:#76634e}
.co-field input,.co-field textarea{width:100%;min-width:0;min-height:45px;padding:12px 13px;border:1px solid #d6c7b4;border-radius:5px;background:#fffefa;color:#2c221c;font:14px/1.6 var(--sans);outline-offset:3px}
.co-field textarea{resize:vertical;min-height:155px}
.co-field input:focus,.co-field textarea:focus{border-color:#b28a4e;box-shadow:0 0 0 3px rgba(178,138,78,.14);outline:none}
.co-help{margin:0;color:#786c5e;font:11px/1.7 var(--sans)}
.co-privacy{border:1px solid #e2d2b8;border-radius:5px;background:#faf5e9;padding:15px 16px}
.co-privacy label{display:flex;align-items:flex-start;gap:11px;font-size:12px;line-height:1.9;cursor:pointer}
.co-privacy input{margin-top:6px;accent-color:#a71e1c;width:18px;height:18px;flex:none}
.co-privacy a,.co-policy a{color:#a21b16;text-decoration:underline;text-underline-offset:3px}
.co-form-actions{display:flex;justify-content:center}
.co-submit{min-width:270px;border-radius:5px}
.co-confirm-help{text-align:center}
.co-honeypot{position:absolute;clip:rect(0,0,0,0);clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.co-backtop{position:fixed;right:18px;bottom:17px;width:42px;height:42px;display:grid;place-items:center;background:#a88b63;color:white;border-radius:50%;z-index:70;box-shadow:0 2px 7px #0002;font-size:19px}
.co-backtop:hover{color:#fff;background:#a51c18}
.co-complete{max-width:800px;padding:30px 24px;text-align:center;margin-block:20px 30px}
.co-done-icon{width:60px;height:60px;border-radius:50%;margin:0 auto 14px;color:#fff;background:#47694a;display:grid;place-items:center;font-size:32px}
.co-complete h2{font:800 clamp(21px,2.6vw,30px)/1.45 var(--serif);margin:5px 0 12px}
.co-complete p{color:#5f574c;font-size:13px;margin:6px 0}
.co-complete-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:18px}
.co-policy{max-width:1000px;margin-block:18px 30px;padding:clamp(20px,3vw,35px)}
.co-policy h2{margin:3px 0 15px;font-size:25px}
.co-policy h3{font-size:17px;color:#693f29;margin:18px 0 7px;border-left:3px solid #bd9b60;padding-left:12px}
.co-policy p{font-size:13px;line-height:1.9;margin:0}
.co-policy-date{margin-top:24px!important;font-size:12px!important;color:#807369}
/* CGI 確認画面・エラー画面 */
.cgi-wrap{width:min(calc(100% - 48px),940px);margin:18px auto 30px}
.cgi-card{padding:clamp(20px,3vw,32px);border:1px solid #e2d3bd;background:#fffdf7;border-radius:6px;box-shadow:0 6px 22px rgba(54,42,27,.06)}
.cgi-card h3{font-size:clamp(21px,2.6vw,28px);margin:0 0 16px}
.confirm-table{margin:0;border:1px solid #e5d8c5;border-radius:5px;overflow:hidden;display:grid}
.confirm-table>div{display:grid;grid-template-columns:190px minmax(0,1fr);border-bottom:1px solid #e5d8c5}
.confirm-table>div:last-child{border-bottom:0}
.confirm-table dt{padding:14px;background:#f5eddd;font-weight:700}
.confirm-table dd{padding:14px;margin:0;background:#fff;overflow-wrap:anywhere;white-space:normal}
.form-actions{display:flex;gap:12px;margin-top:20px;justify-content:center;flex-wrap:wrap}
.form-actions button,.form-actions a{display:inline-flex;justify-content:center;align-items:center;min-height:45px;padding:10px 20px;border-radius:5px;font-size:13px;font-weight:700;border:1px solid #b49a72;cursor:pointer}
.form-actions .button-primary{color:white;background:#a61a16;border-color:#a61a16}
.form-actions .button-secondary{color:#302119;background:#faf4e9}
.form-errors{padding:14px;background:#fff5f0;border:1px solid #c6857d;border-radius:5px}
.form-errors ul{padding-left:24px;margin:0}
@media(max-width:950px){.co-main-layout{grid-template-columns:minmax(220px,.78fr) minmax(0,1.2fr);gap:17px}.co-side-panel{padding:18px}}
@media(max-width:740px){.co-main-layout{grid-template-columns:1fr;gap:16px}.co-side-photo{display:none}.co-side-panel{padding:19px}.co-hero{min-height:200px}.co-hero-inner{min-height:200px}.co-hero-photo{inset:0 0 0 15%;opacity:.45}.co-hero h1{font-size:clamp(27px,6vw,37px)}.co-hero-copy{padding:25px 0}.co-hero-copy p{max-width:370px}.co-breadcrumb{padding-block:7px}}
@media(max-width:480px){.co-hero{min-height:175px}.co-hero-inner{min-height:175px}.co-hero p{font-size:11px}.co-form-panel{padding:17px}.co-main-layout{padding-bottom:18px}.co-submit{width:100%;min-width:0}.co-complete-actions a{width:100%}.cgi-wrap{width:calc(100% - 24px)}.confirm-table>div{grid-template-columns:1fr}.confirm-table dt{padding:9px 12px}.confirm-table dd{padding:10px 12px}.form-actions button,.form-actions a{width:100%}}
@media(prefers-reduced-motion:reduce){.co-backtop{transition:none}}

/* CGIから生成する確認・エラー画面用見出し */
.contact-hero{position:relative;padding:28px 0 20px;background:linear-gradient(100deg,#fffaf0 0%,#f8f1e3 70%,#e7d6bb 100%);border-bottom:1px solid #e2d3bd}
.contact-hero .renew-container{width:min(calc(100% - 48px),940px);margin:auto}
.contact-hero .renew-eyebrow{display:block;color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.15em}
.contact-hero h2{font-size:clamp(24px,3vw,35px);margin:3px 0 8px}
.contact-hero p{color:#6d5b4b;font-size:13px;margin:0}
