*,*::before,*::after {box-sizing: border-box;}:root {--holiday-bg: #ffcccc; --substitute-holiday-bg: #ffffcc; --sunday-color: red;--saturday-color: blue;--border-color: #ddd;--sunday-bg: #ffebeb; --saturday-bg: #ebf5ff; --today-border-color: red;--taian-color: red;--butsumetsu-color: black;}body {font-family: sans-serif;}body {-webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }.navigation {display: flex;justify-content: center;align-items: center;margin-bottom: 20px;}.nav-button {background-color: #c8d8e7;border: 1px solid #ccc;cursor: pointer;padding: 10px 15px;font-size: 1.2em; margin: 0 15px;border-radius: 3px;}#currentYear {font-size: 2em; margin: 0;}.nav-placeholder {width: 90px;height: 42px;margin: 0 15px;border: 1px solid transparent;}.calendar-grid {display: grid;grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));gap: 15px;}.month-calendar {border: 1px solid var(--border-color);padding: 10px;border-radius: 5px;}.month-title {text-align: center;font-size: 1.2em;margin-bottom: 10px;}.calendar-table {width: 100%;border-collapse: collapse;}.calendar-table th,.calendar-table td {border: 1px solid var(--border-color);padding: 1px 0; text-align: center;font-size: 0.9em;}.calendar-table th {height: 38px; vertical-align: middle; background-color: #eee;}.calendar-table td {height: 60px; vertical-align: top; }.today-border {border: 3px solid var(--today-border-color) !important;}.calendar-table td {display: table-cell;}.date-number {font-size: 1em;font-weight: bold;line-height: 1.2;}.rokuyo {font-size: 0.7em; line-height: 1.2;color: #666; }.rokuyo.taian {color: var(--taian-color); font-weight: bold; }.rokuyo.butsumetsu {color: var(--butsumetsu-color); font-weight: bold; }.lunar-date {font-size: 0.6em; line-height: 1.2;color: #999; }.sekki {font-size: 0.7em; line-height: 1.2;color: #008000; font-weight: bold;}.calendar-table th:first-child {color: var(--sunday-color); }.calendar-table th:last-child {color: var(--saturday-color); }.day-cell {background-color: white;font-weight: normal;}.sunday {color: var(--sunday-color);background-color: var(--sunday-bg); }.saturday {color: var(--saturday-color);background-color: var(--saturday-bg); }.holiday {background-color: var(--holiday-bg) !important; color: black;font-weight: bold;}.substitute-holiday {background-color: var(--substitute-holiday-bg) !important; color: black;font-weight: bold;}.other-month {color: #ccc;}.monthly-special-days {margin-top: 5px;padding: 5px 0;border-top: 1px dotted #ccc;font-size: 0.8em;text-align: left;}.monthly-special-days strong {display: block;margin-bottom: 3px;font-weight: bold;color: #333;}.monthly-special-days .list-container {display: flex; justify-content: space-between; }.monthly-special-days ul {list-style: none;padding: 0;margin: 0;line-height: 1.2; width: 48%; font-size: 0.9em; }.monthly-special-days li {margin-right: 0;white-space: nowrap; }#holidayList,#specialDayList,.special-day-sublist {list-style-type: none;padding: 0;}#holidayList li,#specialDayList li,.special-day-sublist li {margin-bottom: 2px; padding: 3px 5px; border-bottom: 1px dashed #eee;font-size: 0.9em; line-height: 1.2; break-inside: avoid-column;}#holidayList li:hover,#specialDayList li:hover,.special-day-sublist li:hover {background-color: #f9f9f9;}#specialDayList,.special-day-sublist {column-count: 3; column-gap: 10px; }.special-day-subtitle {font-size: 1.1em;font-weight: bold;margin-top: 15px;margin-bottom: 5px;border-bottom: 2px solid #ccc;padding-bottom: 3px;}@media (max-width: 767.98px) {#currentYear {font-size: 1.5em; }.nav-button {padding: 8px 10px; font-size: 1em; margin: 0 5px; }.nav-placeholder {width: 68px;height: 34px;margin: 0 5px;border: 1px solid transparent;}#specialDayList {column-count: 1; column-gap: 0;}.special-day-sublist {column-count: 3; column-gap: 5px; }.monthly-special-days .list-container {display: flex; }.monthly-special-days ul {width: 48%; line-height: 1.2;}}.brand-area {padding: 0;background-color: #2a83a2;}.navibar-brand {padding: 5px 0 5px 20px;border-bottom: 8px solid #7a9479;position: relative;font-size: 1.2rem;color: #ffffff;}.navibar-brand a {text-decoration: none;color: currentColor;}.navibar-brand a:hover {color: #a4bea5;}.koyomi-kichijitsu {background-color: #4a7ab1;color: #f4f7f6;padding: 20px 20px 15px 30px;margin: -9px 0 10px;}.today-area {background-color: #4a7ab1;color: #f4f7f6;padding: 20px 20px 20px 30px;margin: -9px 0 20px;}.list-section {padding: 0 20px;}@media (min-width: 768px) {.list-section {padding: 0 40px;}}.monthly-special-days {padding-left: 3px;}@media (min-width: 768px) {.monthly-special-days {padding-left: 0;}}.footer {width: 100%;height: 100px;background-color: #a8c4ce;padding: 20px 10px;box-sizing: border-box;display: flex; align-items: center; justify-content: center;text-align: center;margin: 20px auto 0;color: #555;font-size: 0.9em;}.adsense-top {height: 50px;width: 100%;margin: -18px auto 20px;}@media (min-width: 768px) {.adsense-top {height: 90px;width: 100%;}}.adsense-mid {height: 50px;width: 100%;margin: 18px auto 20px;}@media (min-width: 768px) {.adsense-mid {height: 90px;width: 100%;}}.adsense-bottom {min-height: 50px;width: 100%;margin: 18px auto 0;}@media (min-width: 768px) {.adsense-bottom {min-height: 90px;width: 100%;}}.rokuyou-setsumei {padding: 10px;margin-bottom: 40px;font-size: 0.9rem;line-height: 1.4rem;}.rokuyo-imi {list-style-type: none;padding-left: 10px;}.rokuyo-imi li {padding-left: 2.7rem;text-indent: -2.7rem;}@media (min-width: 768px) {.rokuyou-setsumei {padding: 0 20px;}.rokuyo-imi {padding-left: 20px;}}