@charset "UTF-8";

:where([class^="ri-"])::before { content: "\f3c2"; }
body { font-family: 'BIZ UDGothic', sans-serif; color: #246; font-weight: 400; font-style: normal; font-size: clamp(1rem,1.8vw,1.125rem); letter-spacing:0.04rem; }
.title_box { border-bottom: 1px solid rgba(0,0,0,0.1); }
.title_box h1 { font-size: clamp(1.2rem,1.5vw,2rem); white-space: nowrap; }
.title_box h1 br { display: none; }
.menu-item:hover { /*color: #5bb;*/ color: #e96; transition: all 0.3s ease; }
.menu-item.active { /*color: #5bb;*/ color: #e96;  }
input:focus, textarea:focus { outline: none; border-color: #259; box-shadow: 0 0 0 3px rgba(34, 85, 153, 0.1); }
body, .bg01 { /*background:#effafa;*/ background: #ffffe0; }
main p { margin-bottom: clamp(1rem,3vw,2rem); }
.side-menu { min-width: 20rem; max-width: 32rem; }
.side-menu nav a { font-size: clamp(1.25rem,1.5vw,1.5rem); }
.copy_box { line-height: 1.25 !important; }


table { border-collapse: collapse; border-top: 1px solid rgba(0,0,0,0.15); margin-bottom: 1rem; }
table tr { border-bottom: 1px solid rgba(0,0,0,0.15); }
table th, table td { padding: clamp(0.5rem,1.6vw,1rem); text-align: left; }

main h2 { font-size: 1.875rem; line-height: 2.25rem; margin-bottom: 1rem; font-weight:bold; }
main h3 { font-size: 1.5rem; line-height: 2rem; margin-bottom: 1rem; font-weight:bold; }
main h4 { font-size: 1.125rem; line-height: 1.75rem; margin-bottom: 1rem; font-weight:bold; }

a.link, body.temp .bg-white a { position: relative; text-decoration: underline; }
a[href*='.pdf'], a[href*='.xls'], a[href*='.xlsx'], a[href*='.doc'], a[href*='.docx'] { position: relative; text-decoration: underline; }
a[href*='.pdf']::after { content:"PDF" !important; position:relative; display:inline-block !important; font-size:0.6rem; line-height:1; width:auto !important; height:auto !important; padding:0.15rem 0.25rem; letter-spacing:normal; color:#e55; font-weight:bold; background:#fff !important; margin:0 0.25rem; border:1px solid #ddd; border-radius:2px; transform:translate(0,-2px); vertical-align:middle; }

a[href*='.xls']::after, a[href*='.xlsx']::after { content:"Excel" !important; position:relative; display:inline-block !important; font-size:0.6rem; line-height:1; width:auto !important; height:auto !important; padding:0.15rem 0.25rem; letter-spacing:normal; color:#7da52b; font-weight:bold; background:#fff !important; margin:0 0.25rem; border:1px solid #ddd; border-radius:2px; transform:translate(0,-2px); }
a[href*='.doc']::after, a[href*='.docx']::after { content:"Word" !important; position:relative; display:inline-block !important; font-size:0.6rem; line-height:1; width:auto !important; height:auto !important; padding:0.15rem 0.25rem; letter-spacing:normal; color:#7b8d42; font-weight:bold; background:#fff !important; margin:0 0.5rem; border:1px solid #ddd; border-radius:2px; transform:translate(0,-2px); }

main a:link[target='_blank']::after { content:""; position:relative; display:inline-block; vertical-align:middle; width:1.2rem; height:1.2rem; margin:0 0.1rem; background:url(../img/i_blank.svg) center bottom /100% no-repeat; }
.index_box a[target='_blank']::after { display:none !important; }
a[target='_blank'].banner::after { display:none !important; }

.q { position: relative; padding-left: 2rem; }
.q::before { content: "Ｑ"; position: absolute; left:0; top:0; color:#2bc; }
.a { position: relative; padding-left: 2rem; }
.a::before { content: "Ａ"; position: absolute; left:0; top:0; color:#e96; }

.accordion-content { display: none; overflow: hidden; transition: all 0.3s ease; padding:1rem 0; }
.toggle-btn { background-color: #e96; color: #fff; padding: 10px 15px; border: none; cursor: pointer; border-radius: 0.5rem;}
.toggle-btn:hover {background-color: #d85; }

.orange { color:#e96; }
.primary_bk { color:#2bc; }
.primary_bk { color:#e96; }

/*Pagination*/
.simple-pagination {}
.simple-pagination li {}
.simple-pagination li a, .simple-pagination li span { width:2.5rem; height: 2.5rem; display: flex; justify-content: center; align-items: center; background: #fff; border-radius: 3rem; }
.simple-pagination li.disabled span { }
.simple-pagination li.active span { background: #e96; color: #fff; }
.simple-pagination li a:hover { opacity: 0.7; }

ul.kome { list-style: none; }
ul.kome li { padding: 0 0 0 1.5rem; position: relative; }
ul.kome li::before {content: "※"; position: absolute; left:0; }


/*TABLE*/
table { border-collapse: collapse; border-top: 1px solid rgba(0,0,0,0.15); margin-bottom: 1rem; width:100%; }
table tr { border-bottom: 1px solid rgba(0,0,0,0.15); }
table th, table td { padding: clamp(0.5rem,1.6vw,1rem); text-align: left; }

.table01 { border-top: 1px dashed rgba(0,0,0,0.15); border-bottom:1px dashed rgba(0, 38, 33, 0.1); }
.table01 tr { border-bottom: 1px dashed rgba(0,0,0,0.15); }
.table01 th, .table01 td { border-top:1px dashed rgba(0,0,0,0.1); }
.table01 thead th { }
.table01 th {text-align:left; }
.table01 td { }

.table02 { border-bottom:1px solid rgba(0,0,0,0.15); }
.table02 th, .table02 td { border-top:1px solid rgba(0,0,0,0.15); }
.table02 thead th, .table02 thead td, .deco-tb thead th, .deco-tb thead td { background:rgba(255,255,255,0.05); }
.table02 th { text-align:left; background:rgba(255,255,255,0.05); vertical-align:top; font-weight:normal; }
.table02 td { }
.table02 th.tr, .table02 td.tr { width:auto; text-align: right;}

.table03 { background:rgba(255,255,255,0.5); border-spacing: 0; border-top:1px solid rgba(0,0,0,0.15); border-left:1px dotted rgba(0,0,0,0.1); }
.table03 th, .table03 td { border-right:1px dashed rgba(0,0,0,0.15); border-bottom:1px solid rgba(0,0,0,0.15); vertical-align: top; }
.table03 thead th { background:#f7f7fa; text-align:left; }
.table03 thead td { background:#f7f7fa; text-align:left; }
.table03 tbody th { text-align:left; border-bottom:1px solid rgba(0,0,0,0.15); border-right:1px dotted rgba(0,0,0,0.15);  }
.table03 tbody td { border-bottom:1px solid rgba(0,0,0,0.15); border-right:1px dotted rgba(0,0,0,0.15);  letter-spacing:normal; }

input { accent-color:#e96; }
a.tel, body.temp .bg-white a.tel { pointer-events: none; text-decoration: none; }
img { max-width: 100%; height: auto; vertical-align: bottom; }

@media (max-width: 768px) { 
.side-menu { position: fixed; left: -100%; top: 0; height: 100vh; transition: all 0.3s ease; z-index: 50; width: 80%; max-width: 300px; }
.side-menu.open { left: 0; }
.side-menu.open .close-menu { position: fixed; }
.overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); z-index: 40; display: none; }
.overlay.open { display: block; }
a.tel, body.temp .bg-white a.tel  { pointer-events:auto; text-decoration: underline; }
.page-title a { display: none; }
}

@media screen and (max-width:480px) {
.mobile_menu ul.grid-cols-2 { grid-template-columns:repeat(1, minmax(0, 1fr)); }
}

@media print { 
h1.fixed, button.fixed { position:absolute!important; }

}