@charset "utf-8";
/* OY1 2026-11-06：お役立ち情報。HTMLページ系の共通表示を継承。 */
.oy-section{margin:20px 0 32px;}
.oy-prose,.oy-faq,.oy-table-area{max-width:720px;margin:20px auto;padding:0 12px;text-align:left;}
.oy-prose p,.oy-prose li,.oy-faq dt,.oy-faq dd{font-size:20px;line-height:1.8;}
.oy-prose p{margin:16px 0;}
.oy-prose h3{font-size:22px;line-height:1.6;color:#287e51;margin:24px 0 12px;}
.oy-list,.oy-sources{list-style:none;margin:16px 0;padding:0;}
.oy-list li,.oy-sources li{position:relative;padding-left:1.3em;margin:16px 0;}
.oy-list li::before,.oy-sources li::before{content:"#";position:absolute;left:0;top:0;color:#287e51;font-weight:bold;}
.oy-prose a,.oy-related a{color:#0069e8;text-decoration:underline;text-underline-offset:3px;}
.oy-prose a:visited,.oy-related a:visited{color:#8a2be2;}
.oy-prose a:hover,.oy-related a:hover,.oy-prose a:focus-visible,.oy-related a:focus-visible{color:#d6008f;background:#edf8ff;}
.oy-page a:focus-visible,.oy-page button:focus-visible,.oy-page input:focus-visible{outline:3px solid #0069e8;outline-offset:3px;}
.oy-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 16px;}
.oy-card{display:flex;flex-direction:column;min-width:0;padding:28px 20px;background:#fff;border:2px solid #008147;border-radius:8px;text-align:center;text-decoration:none;}
.oy-card .oy-card-label{font-size:26px;line-height:1.6;font-weight:bold;color:#0069e8;text-decoration:underline;text-underline-offset:5px;}
.oy-card:visited .oy-card-label{color:#8a2be2;}
.oy-card .oy-card-detail{font-size:20px;color:#333;margin-top:12px;}
.oy-card .oy-card-more{font-size:20px;color:#287e51;font-weight:bold;margin-top:20px;}
.oy-card:hover,.oy-card:focus-visible{background:#edf8ff;border-color:#d6008f;}
.oy-card:hover .oy-card-label{color:#d6008f;}
.oy-table{border-collapse:collapse;width:100%;table-layout:fixed;margin:0;background:#fff;}
.oy-table caption{text-align:left;font-size:20px;line-height:1.6;padding:0 0 12px;color:#333;}
.oy-table caption span{display:block;font-size:16px;}
.oy-table th,.oy-table td{padding:12px 10px;border:1px solid #8b7954;font-size:20px;line-height:1.6;vertical-align:middle;overflow-wrap:break-word;}
.oy-table thead th{background:#287e51;color:#fff;text-align:center;font-weight:bold;}
.oy-table tbody th{background:#fff3db;color:#333;font-weight:bold;text-align:center;}
.oy-table tbody tr:nth-child(even) td{background:#fffaf0;}
.oy-table th span,.oy-table th small{display:block;}
.oy-table th small{font-size:16px;font-weight:normal;}
.oy-year-table td{text-align:center;}
.oy-year-table .oy-col-year{width:32%;}
.oy-year-table .oy-col-era{width:46%;}
.oy-year-table .oy-col-age{width:22%;}
.oy-year-table .oy-this-year th,.oy-year-table .oy-this-year td{background:#e5f5e9;}
.oy-rokuyo-table .oy-col-rokuyo{width:28%;}
.oy-controls{margin:0 0 12px;}
.oy-controls label{font-size:20px;font-weight:bold;display:block;margin-bottom:8px;}
.oy-search-row{display:flex;gap:8px;flex-wrap:wrap;align-items:stretch;}
.oy-search-row input{min-width:0;flex:1 1 220px;min-height:48px;border:2px solid #8b7954;border-radius:5px;background:#fff;padding:8px 12px;font-size:18px;color:#333;}
.oy-search-row input::placeholder{color:#666;opacity:1;}
.oy-search-row input::-webkit-input-placeholder{color:#666;opacity:1;}
.oy-search-row button{min-height:48px;padding:8px 14px;border:2px solid #0069e8;border-radius:5px;background:#0069e8;color:#fff;font-size:18px;font-weight:bold;cursor:pointer;}
.oy-search-row button:hover{background:#006fbf;}
.oy-result:empty{display:none;}
.oy-result{font-size:16px;line-height:1.6;margin:12px 0;}
.oy-note{font-size:16px;line-height:1.8;padding:16px;background:#fff;border-left:4px solid #287e51;}
.oy-faq dt{font-weight:bold;color:#287e51;margin:24px 0 8px;}
.oy-faq dd{margin:0 0 20px;padding-bottom:20px;border-bottom:1px solid #8b7954;}
.oy-related{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin:24px 12px;}
.oy-related a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 16px;background:#fff;border:1px solid #0069e8;border-radius:5px;font-size:20px;font-weight:bold;}
.oy-updated{max-width:720px;margin:20px auto;padding:0 12px;text-align:right;font-size:16px;}
.oy-sources a{display:inline-block;min-height:48px;}
.oy-page [hidden]{display:none!important;}
.oy-sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}
@media(max-width:767px){
 .oy-cards{grid-template-columns:1fr;gap:16px;margin:16px 12px;}
 .oy-card{padding:22px 16px;}
 .oy-card .oy-card-label{font-size:24px;}
 .oy-card .oy-card-detail,.oy-prose p,.oy-prose li,.oy-faq dt,.oy-faq dd{font-size:16px;}
 .oy-table th,.oy-table td{font-size:16px;padding:10px 6px;}
 .oy-prose h3,.oy-controls label{font-size:20px;}
 .oy-search-row input,.oy-search-row button{font-size:16px;}
 .oy-related{flex-direction:column;}
 .oy-rokuyo-table .oy-col-rokuyo{width:32%;}
 .oy-table-area,.oy-prose,.oy-faq{padding:0 8px;}
}
@media(max-width:375px){
 .oy-cards{margin-left:8px;margin-right:8px;}
 .oy-table-area,.oy-prose,.oy-faq{padding-left:6px;padding-right:6px;}
 .oy-table th,.oy-table td{padding:10px 4px;}
 .oy-rokuyo-table .oy-col-rokuyo{width:33%;}
 .oy-search-row input{flex-basis:100%;}
 .oy-search-row button{flex:1 1 110px;}
}
/* OY2 2026-11-06：和暦表だけ行を圧縮。年齢と干支は同じ行。 */
.oy-year-table th,.oy-year-table td{padding:3px 6px;line-height:1.5;}
.oy-year-table .oy-col-year{width:20%;}
.oy-year-table .oy-col-era{width:40%;}
.oy-year-table .oy-col-age{width:40%;}
.oy-year-table .oy-era-part{display:inline-block;white-space:nowrap;}
.oy-year-table .oy-age-zodiac{white-space:nowrap;}
@media(max-width:767px){
 .oy-year-table th,.oy-year-table td{padding:3px 2px;}
 .oy-year-table .oy-col-year{width:21%;}
 .oy-year-table .oy-col-era{width:30%;}
 .oy-year-table .oy-col-age{width:49%;}
}
/* OY3 2026-11-06：年度と年齢注記を検索見出しの右へ。狭い画面は文字を縮めず折り返す。 */
.oy-tools-heading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:0 0 8px;}
.oy-tools-heading label{font-size:20px;font-weight:bold;line-height:1.5;}
.oy-year-meta{display:flex;align-items:baseline;justify-content:flex-end;flex-wrap:wrap;gap:4px 8px;margin:0 0 0 auto;text-align:right;line-height:1.5;}
.oy-year-meta strong{font-size:20px;white-space:nowrap;}
.oy-year-meta span{font-size:16px;white-space:nowrap;}
@media print{.oy-tools-heading #year-search-label{display:none!important;}}
@media print{
 .oy-page{background:#fff;color:#000;}
 .oy-page #container{max-width:none;background:#fff;}
 .oy-page header .bxslider,.oy-page header .bx-wrapper,.oy-page #nav-menu,.oy-page .breadcrumb,.oy-page .skip-link,.oy-page .oy-controls,.oy-page .oy-related,.oy-page .backline,.oy-page #box-toiawase,.oy-page footer,.oy-page #pageTop,.oy-page #meiwaQr,.oy-page #tbotBtn,.oy-page #tbot{display:none!important;}
 .oy-table-area{max-width:none;padding:0;}
 .oy-table th,.oy-table td{font-size:11pt;padding:4pt;}
 .oy-table thead{display:table-header-group;}
 .oy-table tr{break-inside:avoid;page-break-inside:avoid;}
 .oy-page .oy-section{margin:10pt 0;}
}
