/* TCSM-88 advanced search + search result cards */

/* 20260527 コース検索結果 修正ここから ---------------------------------- */

a:hover{opacity: 0.7; transition:.3s; text-decoration:none;}

/* kensaku_table */
.kensaku_table{border-radius:10px; overflow: hidden; border:solid 1px #b3b3b3; border-spacing:0; width: 100%; margin-bottom: 30px;}
.kensaku_table th{background:#f0f0f0; padding:15px 5px; font-weight: bold; font-size: 14px; border-bottom:solid 1px #b4b4b4; border-right:solid 1px #d5d4d4; text-align: center;}
.kensaku_table tr th:nth-child(1){width: 15%;}
.kensaku_table tr th:nth-child(2){width: 60%;}
.kensaku_table tr th:nth-child(3){width: 10%;}
.kensaku_table tr th:nth-child(4){width: 15%;}
.kensaku_table td{font-size: 14px; padding:15px 5px;}
.kensaku_table tr:not(:last-child) td{border-bottom:solid 1px #b4b4b4;}
.kensaku_table td:not(:last-child), .security_table th:not(:last-child){border-right: solid 1px #e6e6e6;}
.kensaku_table td a{color:#36c; border-bottom:dotted 1px #36c;}
.kensaku_table tr td.text{padding: 15px; line-height:24px; }

/* favorite (search result list only) */
#SearchCourseResult .favorite{text-align: right; margin-bottom: 15px;}
#SearchCourseResult .favorite label{position: relative; color: #e94b22; background: #fff; border:solid 1px #e94b22; border-radius: 100px; font-weight: bold; padding:5px 20px 5px 40px;}
#SearchCourseResult .favorite label::before{content:""; background:url(https://www.trainocate.co.jp/reference/images/ranking4.png) no-repeat; background-size:cover; width:15px; height:15px; position:absolute; left: 20px; top:50%; transform:translateY(-50%);}
#SearchCourseResult .favorite input{display: none;}
#SearchCourseResult .favorite input:checked+label{background: #e94b22; color: #fff;}
#SearchCourseResult .favorite input:checked+label::before{content:""; background:url(https://www.trainocate.co.jp/reference/images/ranking5.png) no-repeat; background-size:cover; width:15px; height:15px; position:absolute; left: 20px; top:50%; transform:translateY(-50%);}
.kensaku_table .clamp-text{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;}
.kensaku-result-list table{width:100%;}
.adv-search-count{text-align:center;margin:12px 0;font-weight:bold;}
.kensaku-result-count{margin:0 0 20px;font-size:16px;font-weight:bold;text-align:left;}
.adv-search-submit{display:block;text-align:center;margin:16px auto;padding:12px 24px;background:#e94b22;color:#fff;border-radius:4px;font-weight:bold;}
.adv-calendar-btn, .adv-calendar-clear{margin-left:8px; box-sizing:border-box; height:34px; padding:0 14px; border:2px solid #a0a0a0; border-radius:5px; background:#fff; color:#555; font-size:13px; line-height:1; white-space:nowrap; cursor:pointer; -webkit-appearance:none; appearance:none;}
.adv-calendar-btn:hover, .adv-calendar-clear:hover{background:#f0f0f0;}

/* detail search panel */
.Shosai_box_1 input[type="radio"],
.Shosai_box_4 input[type="checkbox"],
.adv-other-conds-op__radios input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}
.modal0 {position: fixed; left: 0; top: 0; width: 100%; height: 100%; z-index: 9999; display: none;}
.modal0_open-input:checked + label + input + .modal0 {display: block; animation: modal0-animation .6s;}
.modal0_content-wrap {position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 70%; max-width: 900px; background-color: #fefefe; z-index: 2; border-radius:10px; overflow: hidden;}
.modal0_close-label {cursor: pointer;}
.modal0_close-label {position: absolute; top:5px; right:20px; font-size:50px; font-weight: normal;}
.modal0_content {padding: 0;}
.modal0_background {position: absolute; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, .45); z-index: 1;}

@keyframes modal0-animation {
    0% {opacity: 0;}
    100% {opacity: 1;}
}
@media only screen and (max-width: 520px) {
    .modal0_open-label {max-width: 90%; padding: .94em 2.1em .94em 2.6em;}
    .modal0_close-label {top: -17px; right: -4%;}
    .modal0_content-wrap {width: 90vw;}
    .modal0_content { padding: 33px 21px 35px; max-width: 100%;}
}

/* .modal0_open-label */
.modal0_wrap{display: flex; flex-wrap: wrap; justify-content: space-between;}
.block-search .search-form{display: flex; align-items: center; gap: 8px;}
.block-search .search-form .txt-input-search, .block-search .search-form .btn-search, .block-search .search-form .modal0_open-label{box-sizing: border-box; height: 47px; margin: 0; vertical-align: top;}
.block-search .search-form .btn-search{cursor: pointer;}
.block-search .search-form .txt-input-search{width: auto; flex: 1 1 auto; min-width: 0;}
.modal0_open-label{display: flex; align-items: center; justify-content: center; flex: 0 0 auto; padding: 0 16px; border: 0; -webkit-appearance: none; appearance: none; border-radius:5px; background-color: #E94B22; color: #fff; text-align: center; font-family: inherit; font-size: 16px; font-weight: normal; line-height: 1; white-space: nowrap; cursor: pointer;}
.modal0_open-label p{margin: 0 5px;}

/* .Shosai_box_0 */
.Shosai_box_0{ padding:40px; max-height: 80vh; overflow: auto; text-align: left;}
.Shosai_box_0 *{ box-sizing: border-box;}
.Shosai_box_0 h3{font-size: 15px; font-weight: 800; position: relative; width: 130px; margin-top:5px; text-align: left;}
.Shosai_box_0 h3::after{content:""; position:absolute; top:50%; transform:translateY(-50%); right:0; height:100%; border-right:solid 2px #e94b22;}
.Shosai_box_0 h3 span{color: #e94b22; border: solid 1px #e94b22; border-radius: 5px; padding: 2px 8px; margin: 0 5px; font-size: 12px;}
.Shosai_box_flex{display: grid; grid-template-columns:150px auto; margin: 20px 0;}
.Shosai_box_0 a{display: block;  color: #fff; font-size:16px; font-weight: bold; text-align: center; line-height: 20px; width: 300px; padding: 10px 0; align-items: center; background:#e94b22; border-radius:100px; position: relative; margin: 30px auto;}
.Shosai_box_0 a::after{content:""; position:absolute; top:50%; transform:translateY(-50%) rotate(-45deg); right:20px; width:8px; height:8px; border-right:solid 2px #fff; border-bottom:solid 2px #fff;}
.Shosai_box_0 a:hover{opacity: 0.7; transition:.3s; text-decoration:none; color: #fff;}

/* Shosai_box_1 */
.Shosai_box_1{ text-align: left;}
.Shosai_box_1 label{font-size:14px; font-weight: normal; margin-right: 20px;}
.Shosai_box_1 .custom-radio { position: relative; display: inline-block; width: 15px; height: 15px; border-radius: 100%; border: 2px solid #a0a0a0; margin-right: 5px; vertical-align: middle;}
.Shosai_box_1 input[type="radio"]:checked + .custom-radio::after { content: ""; width: 12px; height: 12px; background: #e94b22; border-radius: 100%; position: absolute; left: 50%; top:50%; transform:translateY(-50%) translateX(-50%);}
.hidden { display: none;}

/* Shosai_box_3 */
.Shosai_box_3 { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.Shosai_box_3 .calendar { display: flex; align-items: center; gap: 10px;}
.Shosai_box_3 .calendar_box{ position: relative;}
.Shosai_box_3 .calendar_input {display: block; min-width: 200px; min-height: 14px; padding:5px 10px; border:2px solid #a0a0a0; border-radius: 5px; font-size: 14px; background: #f0f0f0;}
.Shosai_box_3 .calendar_wave { font-size: 16px;}
.Shosai_box_3 .adv-date-error { flex: 0 0 auto; max-width: 220px; color: #e94b22; font-size: 12px; line-height: 1.4; font-weight: bold;}

/* .Shosai_box_2 */
.Shosai_box_2{ position:relative; width:260px; max-width:100%;}
.Shosai_box_2 select{appearance: none; width:100%; height:30px; padding:5px 32px 5px 10px; font-size:14px; border:2px solid #a0a0a0; border-radius:5px; cursor:pointer; background: #f0f0f0; text-overflow:ellipsis;}
.Shosai_box_2::after{content:""; position:absolute; top:50%; right:15px; transform:translateY(-50%); border-left:8px solid transparent; border-right:8px solid transparent; border-top:12px solid #e94b22; pointer-events: none;}

/* Shosai_box_4 */
.Shosai_box_4 { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: .6em 1.5em; align-items: center;}
.Shosai_box_4 h4{grid-column: 1 / -1; width: 100%; font-size: 15px; font-weight: bold; margin: 30px 0 5px;}
.Shosai_box_4 h4:nth-child(1){margin-top: 0;}
.Shosai_box_4 label { display: flex; align-items: center; gap: 0 .5em; margin-bottom: 5px; position: relative; font-size: 14px; font-weight: normal;}
.Shosai_box_4 label::before { width: 15px; height: 15px; border-radius: 2px; border: 2px solid #a0a0a0; content: '';}
.Shosai_box_4 label:has(:checked)::after { position: absolute; top: 50%; left: 5px; transform:translateY(-60%) rotate(45deg); width: 5px; height: 10px; border: solid #e94b22 2px; border-width: 0 3px 3px 0; content: '';}

/* .Shosai_box_5 */
.Shosai_box_5 { border: 2px solid #a0a0a0; border-radius: 5px;}
.Shosai_box_5 input[type=text]{ display: block; width: 100%; height: 40px; padding: 5px 10px; border: none; font-size: 16px; font-weight: normal; outline: none; background: #f0f0f0;}
.Shosai_box_5 input::placeholder{color: #c8c8c8;}

/* 20260527 詳細条件検索 修正ここまで ----------------------- */
.block-search.active { padding-bottom: 30px; }

/* widen the search panel itself */
.block-search{box-sizing: border-box; width: 880px; left: 80px; padding: 45px 55px 30px;}
.block-search .google-search-form .google-input{width: 100%; box-sizing: border-box;}

.modal0.is-open { display: block; animation: modal0-animation .6s; pointer-events: none; z-index: 10001; }

.modal0.is-open .modal0_background {
  background-color: rgba(0, 0, 0, .45);
  pointer-events: auto;
}

.modal0.is-open .modal0_content-wrap,
.modal0.is-open .modal0_close-label {
  pointer-events: auto;
}

.modal0__wrap { position: relative; pointer-events: none; }

/* TCSM-88 result list pager (override legacy common_reference/common_elearning) */
#SearchCourseResult tr.pager,
#SearchCourseResult tr.pager td{ background:#fff !important; }
#SearchCourseResult tr.pager td h5{ margin:24px 0 8px !important; padding:0 !important; background:#fff !important; color:#555 !important; font-size:13px !important; font-weight:normal !important; height:auto !important; min-height:0 !important; overflow:visible !important; line-height:2.4 !important; text-align:center !important; white-space:nowrap !important; }
#SearchCourseResult tr.pager td span.paging_link,
#SearchCourseResult tr.pager td span.paging_current_link,
#SearchCourseResult tr.pager td span.paging_no_link{ display:inline-block !important; min-width:30px !important; margin:0 2px !important; border-radius:5px !important; font-size:13px !important; line-height:1 !important; text-align:center !important; vertical-align:middle !important; white-space:nowrap !important; }
#SearchCourseResult tr.pager td span.paging_current_link,
#SearchCourseResult tr.pager td span.paging_no_link{ padding:6px 9px !important; }
#SearchCourseResult tr.pager td span.paging_link{ border:1px solid #c8c8c8 !important; background:#fff !important; padding:0 !important; }
#SearchCourseResult tr.pager td span.paging_link a{ display:block !important; padding:6px 9px !important; color:#555 !important; text-decoration:none !important; }
#SearchCourseResult tr.pager td span.paging_link:hover{ background:#f0f0f0 !important; }
#SearchCourseResult tr.pager td span.paging_link:hover a{ color:#222 !important; }
#SearchCourseResult tr.pager td span.paging_current_link{ border:1px solid #e94b22 !important; background:#e94b22 !important; color:#fff !important; font-weight:bold !important; }
#SearchCourseResult tr.pager td span.paging_no_link{ border:1px solid #e6e6e6 !important; background:#fafafa !important; color:#bbb !important; }
/* TCSM-88 layout overrides (ASCII only; keep advanced_search.css encoding untouched) */

#ContentsArea #ContentsBodyArea #SearchCourseResult #contDiv {
  margin-left: 0 !important;
  box-sizing: border-box;
}

#ContentsArea #ContentsBodyArea #SearchCourseResult table#dgCourseList.kensaku-result-list {
  margin: 10px 0 !important;
  width: 100% !important;
  box-sizing: border-box;
}

#ContentsArea #ContentsBodyArea #SearchCourseResult .kensaku_table {
  table-layout: fixed;
  width: 100% !important;
  max-width: 100%;
  overflow: hidden;
  border-collapse: separate;
  border-spacing: 0;
  box-sizing: border-box;
}

#ContentsArea #ContentsBodyArea #SearchCourseResult .kensaku_table th {
  line-height: 1.35;
  word-break: keep-all;
}

#ContentsArea #ContentsBodyArea #SearchCourseResult .kensaku_table tr:first-child th:first-child {
  border-top-left-radius: 9px;
}

#ContentsArea #ContentsBodyArea #SearchCourseResult .kensaku_table tr:first-child th:last-child {
  border-top-right-radius: 9px;
}

#ContentsArea #ContentsBodyArea #SearchCourseResult .kensaku_table tr:last-child td.text {
  border-bottom-left-radius: 9px;
  border-bottom-right-radius: 9px;
}

#ContentsArea #ContentsBodyArea #SearchCourseResult .kensaku_table tr th:nth-child(1),
#ContentsArea #ContentsBodyArea #SearchCourseResult .kensaku_table tr td:nth-child(1) {
  width: 13%;
}

#ContentsArea #ContentsBodyArea #SearchCourseResult .kensaku_table tr th:nth-child(2),
#ContentsArea #ContentsBodyArea #SearchCourseResult .kensaku_table tr td:nth-child(2) {
  width: 59%;
}

#ContentsArea #ContentsBodyArea #SearchCourseResult .kensaku_table tr td:nth-child(2) {
  padding-left: 12px;
}

#ContentsArea #ContentsBodyArea #SearchCourseResult .kensaku_table tr th:nth-child(3),
#ContentsArea #ContentsBodyArea #SearchCourseResult .kensaku_table tr td:nth-child(3) {
  width: 10%;
}

#ContentsArea #ContentsBodyArea #SearchCourseResult .kensaku_table tr th:nth-child(4),
#ContentsArea #ContentsBodyArea #SearchCourseResult .kensaku_table tr td:nth-child(4) {
  width: 18%;
}

#ContentsArea #ContentsBodyArea #SearchCourseResult .kensaku_table tr td:nth-child(4),
#ContentsArea #ContentsBodyArea #SearchCourseResult .kensaku_table tr td.price {
  padding-left: 4px;
  padding-right: 6px;
  font-size: 13px;
  line-height: 1.5;
  white-space: normal;
  text-align: center;
}

#ContentsArea #ContentsBodyArea #SearchCourseResult .kensaku_table tr td:nth-child(4) p {
  margin: 0;
  white-space: normal;
}

#ContentsArea #ContentsBodyArea #SearchCourseResult .kensaku_table tr td.price .corp-amount {
  display: block;
  line-height: 1.35;
  white-space: normal;
  text-align: center;
}

#ContentsArea #ContentsBodyArea #SearchCourseResult .kensaku_table tr td.price .corp-amount s {
  display: block;
  line-height: 1.3;
  margin: 0 0 3px;
}

#ContentsArea #ContentsBodyArea #SearchCourseResult .kensaku_table tr td.price .corp-amount strong {
  display: block;
  line-height: 1.35;
  margin: 0 0 2px;
  color: #ff0000;
  font-weight: bold;
}

#ContentsArea #ContentsBodyArea #SearchCourseResult .kensaku_table tr td.price .corp-amount .corp-price-note {
  display: block;
  margin-top: 6px;
  font-size: 11px;
  line-height: 1.4;
  color: #ff0000;
}

#ContentsArea #ContentsBodyArea #SearchCourseResult .kensaku_table th .corp-price-note {
  display: none;
}

#ContentsArea #ContentsBodyArea #SearchCourseResult .kensaku_table.kensaku_table-el tr th:nth-child(1),
#ContentsArea #ContentsBodyArea #SearchCourseResult .kensaku_table.kensaku_table-el tr td:nth-child(1) {
  width: 13%;
}

#ContentsArea #ContentsBodyArea #SearchCourseResult .kensaku_table.kensaku_table-el tr th:nth-child(2),
#ContentsArea #ContentsBodyArea #SearchCourseResult .kensaku_table.kensaku_table-el tr td:nth-child(2) {
  width: 69%;
}

#ContentsArea #ContentsBodyArea #SearchCourseResult .kensaku_table.kensaku_table-el tr th:nth-child(3),
#ContentsArea #ContentsBodyArea #SearchCourseResult .kensaku_table.kensaku_table-el tr td:nth-child(3) {
  width: 18%;
}

#ContentsArea #ContentsBodyArea #SearchCourseResult .kensaku_table.kensaku_table-el tr td:nth-child(3),
#ContentsArea #ContentsBodyArea #SearchCourseResult .kensaku_table.kensaku_table-el tr td.price {
  padding-left: 4px;
  padding-right: 6px;
  font-size: 13px;
  line-height: 1.5;
  white-space: normal;
  text-align: center;
}

#ContentsArea #ContentsBodyArea #SearchCourseResult .kensaku_table.kensaku_table-el tr td:nth-child(3) p {
  margin: 0;
  white-space: nowrap;
}

#ContentsArea #ContentsBodyArea #SearchCourseResult .kensaku_table a.STRINGLINK {
  font-weight: normal;
  transition: color 0.2s ease, border-bottom-color 0.2s ease, border-bottom-style 0.2s ease;
}

#ContentsArea #ContentsBodyArea #SearchCourseResult .kensaku_table a.STRINGLINK:hover {
  font-weight: normal;
  opacity: 1;
  color: #1a4dcc;
  border-bottom-style: solid;
  border-bottom-color: #1a4dcc;
}

.Shosai_box_1 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  min-width: 0;
}

.Shosai_box_1 label {
  margin-right: 0;
  white-space: nowrap;
}

.Shosai_box_flex > div {
  min-width: 0;
}
