.bg_gray.search { padding: 35px; margin-bottom: 20px; }

.form_row { padding: 15px 0; display: flex; align-items: center; text-align: left; }
.form_row2 { padding: 20px 0; display: flex; align-items: center; text-align: left; }
label, .form_label { display: inline-block; width: 25%; }
legend { position:absolute!important; width:1px;height:1px; padding:0;margin:-1px; overflow:hidden;clip:rect(0,0,0,0); white-space:nowrap;border:0; }

input[type="search"] { height: 40px; width: 250px; border: 1px solid #ccc; line-height: 40px; padding: 0 10px; border-radius: 4px; font-family: inherit; }
select { border: 1px solid #ccc; height: 40px; width: 55%; font-family: inherit; padding: 5px; border-radius: 4px; }

.radio_box{ display: inline-flex; width: 15%; align-items: center; gap: 10px; cursor: pointer; user-select: none; margin-right: 24px; }
.radio_icon{ -webkit-appearance: none; appearance: none; width: 18px; height: 18px; border: 2px solid #aac841; border-radius: 50%; background: #fff; display: grid; place-content: center; margin: 0; }
.radio_icon::before{ content: ""; width: 9px; height: 9px; border-radius: 50%; background: #aac841; transform: scale(0); }
.radio_icon:checked::before{ transform: scale(1); }
.radio_icon:focus-visible{ outline: 2px solid #aac841; outline-offset: 2px; }
.radio_icon:disabled{ border-color: #ccc; background: #eee; }
.radio_icon:disabled::before{ background: #aaa; }
.radio_box:has(.radio_icon:disabled){ cursor: not-allowed; opacity: .6; }
.radio_group{ display: flex; gap: 32px; align-items: center; }

.checkbox_box{ display: inline-flex; align-items: center; gap: 10px; cursor: pointer; user-select: none; }
.checkbox_icon{ -webkit-appearance: none; appearance: none; width: 18px; height: 18px; border: 2px solid #aac841; background: #fff; display: inline-grid; place-content: center; margin: 0 8px 0 0; border-radius: 4px; }
.checkbox_icon::before{ content: ""; width: 6px; height: 10px; border-right: 2px solid #fff; border-bottom: 2px solid #fff; transform: translateY(-2px) rotate(45deg) scale(0); }
.checkbox_icon:checked{ background: #aac841; border-color: #aac841; }
.checkbox_icon:checked::before{ transform: translateY(-2px) rotate(45deg) scale(1); }
.checkbox_icon:focus-visible{ outline: 2px solid #aac841; outline-offset: 2px; }
.checkbox_icon:disabled{ border-color: #ccc; background: #eee; }
.checkbox_icon:disabled::before{ border-color: #fff; }
.checkbox_box:has(.checkbox_icon:disabled){ cursor: not-allowed; opacity: .6; }

.form_actions { margin-top: 20px; text-align: center; }
.form_actions button { font-family: inherit; padding: 5px 30px 7px 30px; background-color: #999; border: #999 1px solid; color: #fff; font-size: 16px; border-radius: 4px; transition: ease .3s;}
.form_actions button:hover { cursor: pointer; opacity: .7; }
.form_actions button:disabled{ opacity:.5; cursor:not-allowed; }

.keywords { width: 75%; margin: 45px auto 0 auto; }
.kwd_ttl { text-align: left; font-weight: 400; }
.kwd_toggle { cursor: pointer; text-align: center; margin-top: 10px; }
.kwd_toggle::before { content: "＋ もっと見る"; }
.kwd_toggle.open::before { content: "－ 閉じる"; }
ul.kwd_main { display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; padding: 20px 0; }
ul.kwd_more { display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; padding-bottom: 20px; }

.for_sp_il { display: none; }
.tablelist2.result { border-collapse: collapse; border-spacing: 0; display: table; }
.tablelist2.result th { font-size: 14px; border: 1px solid #ccc; }
.tablelist2.result td { padding: 12px; }
.tablelist2.result td, .tablelist2.result td a { line-height: 1.7; }
.btn_txt a[href$=".pdf"] { padding: 0 20px 0 0; }

h2.tit2 { font-size: 22px; font-weight: 500; letter-spacing: 0.08em; border-bottom: 2px solid #aac841; margin: 0 0 30px 0; padding: 0 0 10px 0; line-height: 1.8; }
h2.tit2 span { font-size: 16px; font-weight: 400; line-height: 2; }

.rsch_name, .rsch_affili, .rsch_period { padding-right: 2rem; }
.rsch_name { font-size: 16px; font-weight: 500; }
.rsch_spec, .rsch_theme { margin-bottom: 2rem; line-height: 2.4; }
.rsch_pdf { margin-top: 3rem; margin-bottom: 1rem; }
.rsch_body { font-weight: 400; line-height: 2.4; margin-bottom: 40px; }

.annotation { list-style: disc; font-weight: 400; padding-left: 20px; margin-bottom: 40px; }
.annotation li { font-weight: 400; line-height: 1.6; margin-bottom: 5px; color: #333; font-size: small; }
.search_meta { font-weight: 500; margin-bottom: 15px; font-size: 16px; }
#cont .annotation_result p { font-weight: 400; line-height: 1.6; margin-bottom: 5px; color: #333; font-size: small; }

a[href$=".pdf"] { white-space: nowrap; } 

@media screen and (max-width: 780px) {
	.bg_gray.search { padding: 25px; }
	.form_row, .form_row2 { flex-direction: column; align-items: flex-start; padding: 10px 0; }
	label, .form_label { width: 100%; margin-bottom: 10px; }
	input[type="search"], select { width: 100%; }
	.radio_box { width: 50%; }
	.form_actions { margin: 15px 0; }

	.for_sp_il { display: inline; }
	.tablelist2.result tr.for_pcTable { display: none; }
	
	.tablelist2.result tr { display: block; border:  1px #ccc solid; border-radius: 10px; overflow: hidden; margin-bottom: 20px; }
	.tablelist2.result td::before { content: attr(data-label);  display: block;  font-weight: 700;  color: #333;  background: #e6f1c4;  padding: 6px 10px;  margin: -12px -12px 8px;  border-bottom: 1px #ccc solid; }
	.tablelist2.result th, .tablelist2.result td { border: 0; }
	.tablelist2.result tr td:first-child, .tablelist2.result tr td:last-child { border:  0; }
}

















