/* 臨時イベントページで足したもの。元のサイトの CSS はそのまま使う */
.joinus-open-block.is-open,
.footer-company-block.is-open { display: block; }
.joinus-open-block { overflow-y: auto; }
.joinus-open-block .day-cash-close,
.footer-company-block [data-close] { position: absolute; top: 24px; right: 24px; width: 32px; cursor: pointer; z-index: 2; }
.joinus-open-block .day-cash-close img,
.footer-company-block [data-close] img { width: 100%; }

.apply-form label { display: block; font-weight: bold; margin: 18px 0 6px; font-size: 1.4rem; }
.apply-form input[type=text],
.apply-form input[type=email] { width: 100%; padding: 12px; border: 1px solid #ccc; font-size: 1.6rem; }
.apply-form .req { color: #e2725b; font-size: 1.1rem; margin-left: 4px; }
.apply-form .agree { display: flex; gap: 8px; align-items: flex-start; font-weight: normal; }
.apply-form .agree input { margin-top: 4px; }
.apply-form .apply-submit { display: block; width: 100%; margin-top: 24px; padding: 16px 0; border: 0;
  background: #8ddcd1; color: #fff; font-size: 1.6rem; font-weight: bold; cursor: pointer; }
.apply-form .apply-submit:disabled { opacity: .6; }
.apply-form .apply-summary { text-align: center; font-size: 1.4rem; margin-bottom: 8px; }
.apply-form .apply-error { background: #fdecea; color: #b3261e; padding: 10px 12px; margin: 12px 0; font-size: 1.4rem; }
.apply-form .apply-note { font-size: 1.2rem; color: #666; margin-top: 14px; line-height: 1.7; }
.closed-note { text-align: center; padding: 16px 0; font-weight: bold; }

.simple-page { max-width: 760px; padding: 160px 20px 80px; font-size: 1.5rem; line-height: 1.9; }
.simple-page h2 { font-size: 2.4rem; margin-bottom: 28px; }
.simple-page p { margin-bottom: 14px; }
.page-body table { width: 100%; border-collapse: collapse; margin-bottom: 24px; }
.page-body th, .page-body td { border: 1px solid #e5e5e5; padding: 10px 12px; vertical-align: top; text-align: left; }
.page-body th { background: #f7f7f7; width: 32%; }
.page-body h3 { font-size: 1.7rem; margin: 28px 0 10px; }
.event-list { list-style: none; padding: 0; }
.event-list li { border-bottom: 1px solid #e5e5e5; }
.simple-page .event-list a { display: flex; align-items: center; gap: 16px; padding: 18px 4px; color: inherit; text-decoration: none; }
.event-list .text { flex: 1; min-width: 0; }
.event-list .thumb { flex: none; width: 120px; height: 120px; object-fit: cover; border-radius: 8px; }
.event-list .date { display: block; font-size: 1.3rem; color: #8ddcd1; font-weight: bold; }
.event-list .title { display: block; font-size: 1.8rem; }
.event-list .meta { display: block; font-size: 1.3rem; color: #666; }
.lead-note { background: #ebf7f5; color: #333; padding: 12px 16px; }
.simple-page .lead-note a { color: #333; }
.lead-note strong { font-weight: bold; }
.simple-page .lead-note + h2 { margin-top: 40px; }

.test-banner { position: fixed; bottom: 0; left: 0; right: 0; z-index: 2000; background: #e2725b; color: #fff;
  text-align: center; font-size: 1.3rem; padding: 6px; }
.preview-banner { background: #4fb3a5; }

@media screen and (max-width: 560px) {
  .joinus-open-block .inner { width: calc(100% - 32px); padding: 32px 20px; top: 70px; }
  .footer-company-block .inner { width: calc(100% - 32px); }
  .simple-page { padding-top: 120px; }
}
.apply-form a, .page-body a, .simple-page a { text-decoration: underline; color: #4fb3a5; }
.apply-form .q-label { font-weight: bold; margin: 18px 0 6px; font-size: 1.4rem; }
.apply-form .q-options { display: flex; gap: 20px; flex-wrap: wrap; }
.apply-form .q-option { display: flex; gap: 6px; align-items: center; font-weight: normal; margin: 0; }
.apply-form .apply-note.lottery { background: #f9f0ca; color: #555; padding: 10px 12px; }
/* 本文: 段落ごとに1行あけ、行間を広げる */
.event-detail-main-contents { line-height: 1.9; }
.event-detail-main-contents p { margin: 0 0 1.6em; }
.event-detail-main-contents h2 { line-height: 1.5; padding-bottom: 6px; margin-top: 48px; }
.event-detail-main-contents .photo-row { margin: 0 0 1.6em; }
/* 写真の幅は原稿（Google ドキュメント）の本文の幅に対する割合で、img の style に書く。横に並べた組はスマホでも並べたまま */
.event-detail-main-contents .photo-row { display: flex; gap: 8px; flex-wrap: nowrap; align-items: flex-start; }
.event-detail-main-contents .photo-row img { flex: 0 1 auto; max-width: 100%; height: auto; min-width: 0; }
.event-detail-main-contents .photo-caption { font-size: 1.2rem; color: #666; margin-top: -6px; }
footer .footer-list ul li { padding: 0 12px 8px; }
