/*
Theme Name: rire
Description: RIRE公開サイト専用テーマ。NEWS・スタッフ管理にはRIRE Coreを使用します。
Version: 1.0.5
Requires PHP: 8.3
Text Domain: rire
*/
html { scroll-padding-top: 100px; }
.logo img { max-width: none; }
.rire-errors { padding: 20px; border: 2px solid #b42318; color: #9c2118; background: #fff; }
.rire-notice { padding: 16px; background: #fff5e6; color: #633400; }
.rire-pagination { display: flex; gap: 12px; justify-content: center; margin: 30px 0; }
.rire-pagination a,.rire-pagination span { padding: 8px 14px; border: 1px solid #ed8b23; }
.rire-form label { display: block; margin: 16px 0 6px; }
.rire-form input:not([type=radio]):not([type=checkbox]),.rire-form select,.rire-form textarea { padding: 10px; max-width: 100%; border: 1px solid #aaa; font: inherit; background: white; }
.rire-form input[type=text],.rire-form input[type=email],.rire-form input[type=tel],.rire-form textarea { width: 100%; box-sizing: border-box; }
.rire-form button { background: #ed8b23; color: white; padding: 14px 25px; border: 0; margin: 20px 10px 0 0; cursor: pointer; font: inherit; }
.rire-form fieldset { margin: 16px 0; padding: 12px; border: 1px solid #ddd; }
.rire-form fieldset label { display: inline-block; margin-right: 15px; }
.rire-form .rire-trap { position: absolute; left: -10000px; }
.rire-form .required { color: #b42318; font-size: .85em; }
.rire-form .rire-confirm dt { font-weight: bold; margin-top: 16px; }
.rire-form .rire-confirm dd { white-space: pre-wrap; overflow-wrap: anywhere; }
#map iframe { width: 100%; height: 100%; min-height: 300px; border: 0; }
.rire-empty { padding: 20px 0; }
.blogs_item:before { background-image: none; width: 10px; height: 10px; margin-top: -5px; border-top: 2px solid #ed8b23; border-right: 2px solid #ed8b23; transform: rotate(45deg); }
.rire-missing-image { aspect-ratio: 4/3; background: #f5f5f5; display: flex; align-items: center; justify-content: center; }
@media(max-width:767px){ .rire-form select { max-width: 45%; } .rire-form button { width: 100%; } }
/* Contact: keep original fields, with clear grouping and comfortable touch targets. */
.rire-form { display:grid; grid-template-columns: minmax(190px, 28%) minmax(0, 1fr); gap:0 24px; border-top:2px solid #ed8b23; padding-top:24px; }
.rire-form > p,.rire-form > fieldset,.rire-form > h2,.rire-form > dl,.rire-form > button,.rire-form > .rire-steps { grid-column:1 / -1; }
.rire-form > label { padding:16px 12px; margin:0; font-weight:600; background:#f5f5ef; align-self:stretch; border-bottom:1px solid #ddd; }
.rire-form > input:not([type=hidden]),.rire-form > textarea { margin:12px 0; min-height:48px; border-radius:3px; }
.rire-form .required { display:inline-block; margin-left:8px; padding:2px 7px; background:#b54708; color:#fff; font-size:12px; font-weight:400; border-radius:2px; }
.rire-form fieldset { padding:16px 20px 20px; margin:20px 0 0; border:1px solid #d8d8cf; border-radius:4px; min-width:0; }
.rire-form legend { float:none; width:auto; padding:0 8px; font-size:16px; font-weight:600; }
.rire-form fieldset label { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:6px 12px; margin:4px 8px 4px 0; background:#f5f5ef; border-radius:4px; cursor:pointer; }
.rire-form input[type=radio] { appearance:auto; width:19px; height:19px; margin:0; accent-color:#b54708; }
.rire-form select { min-height:48px; min-width:85px; margin:4px 4px 4px 0; border-radius:3px; }
.rire-form > label[for=rire-comment],.rire-form > textarea { grid-column:1 / -1; }
.rire-form > button { justify-self:center; min-width:260px; margin:20px 0 0; border-radius:4px; font-weight:600; }
.rire-form button[value=back] { background:#555; }
.rire-form :is(input,select,textarea,button):focus-visible { outline:3px solid #1767a6; outline-offset:3px; }
.rire-steps { display:flex; list-style:none; padding:0; margin:0 0 24px; gap:8px; }
.rire-steps li { flex:1; text-align:center; background:#eee; padding:12px 5px; border-radius:3px; color:#555; }
.rire-steps [aria-current=step] { background:#b54708; color:#fff; font-weight:600; }
.rire-form .rire-confirm { margin:0; }
.rire-form .rire-confirm dt { background:#f5f5ef; padding:12px; margin:12px 0 0; }
.rire-form .rire-confirm dd { padding:12px; margin:0; border-bottom:1px solid #ddd; }
@media(max-width:767px) {
 .rire-form { display:block; padding-top:20px; }
 .rire-form > label { margin-top:16px; padding:10px 12px; border:0; }
 .rire-form > input:not([type=hidden]),.rire-form > textarea { margin:8px 0; }
 .rire-form fieldset { padding:12px; }
 .rire-form select { max-width:100%; min-width:72px; padding:10px 6px; }
 .rire-form button { width:100%; min-width:0; margin:20px 0 0; }
 .rire-steps { font-size:13px; gap:4px; }
}
