.p-search-box {
  background: #f9fafb;
}
@media only screen and (max-width: 740px) {
  .p-search-box {
    padding-block: 0.25rem;
  }
}
@media print, screen and (min-width: 741px) {
  .p-search-box {
    padding: 0.3rem;
  }
}

.p-search-ttl {
  font-size: 0.2rem;
  border-bottom: 1px solid #cccccc;
}
@media only screen and (max-width: 740px) {
  .p-search-ttl {
    padding-bottom: 0.2rem;
    padding-inline: 0.2rem;
  }
}
@media print, screen and (min-width: 741px) {
  .p-search-ttl {
    padding-bottom: 0.25rem;
  }
}

.p-search-item {
  border-bottom: 1px solid #cccccc;
  display: grid;
}
@media only screen and (max-width: 740px) {
  .p-search-item {
    padding: 0.2rem;
    grid-gap: 0.1rem;
  }
}
@media print, screen and (min-width: 741px) {
  .p-search-item {
    padding: 0.2rem 0.05rem;
    grid-template-columns: 1.5rem 1fr;
  }
}

.p-search-item-hl {
  font-size: 0.15rem;
  font-weight: 600;
  line-height: 1.6;
}
.p-search-item-list {
  display: grid;
  line-height: 1.6;
}
@media only screen and (max-width: 740px) {
  .p-search-item-list {
    font-size: 0.13rem;
    grid-gap: 0.1rem;
  }
}
@media print, screen and (min-width: 741px) {
  .p-search-item-list {
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 0.1rem;
  }
}
.p-search-item-list label {
  cursor: pointer;
}
@media print, screen and (min-width: 741px) {
  .p-search-item-list label {
    transition: color 0.2s;
  }
  .p-search-item-list label:hover {
    color: #e88418;
  }
  .p-search-item-list label:hover .-txt:before {
    border-color: #f7be86;
  }
}
.p-search-item-list .-txt {
  display: inline-block;
  position: relative;
}
@media only screen and (max-width: 740px) {
  .p-search-item-list .-txt {
    padding-left: 0.3rem;
    padding-top: 0.01rem;
  }
}
@media print, screen and (min-width: 741px) {
  .p-search-item-list .-txt {
    padding-left: 0.35rem;
  }
}
.p-search-item-list .-txt:before {
  content: "";
  display: block;
  border: 2px solid #e6e7eb;
  background: #fff;
  position: absolute;
  left: 0;
  top: 0;
  transition: border 0.2s, background 0.2s;
}
@media only screen and (max-width: 740px) {
  .p-search-item-list .-txt:before {
    width: 0.22rem;
    height: 0.22rem;
  }
}
@media print, screen and (min-width: 741px) {
  .p-search-item-list .-txt:before {
    width: 0.26rem;
    height: 0.26rem;
  }
}
.p-search-item-list .-txt:after {
  content: "";
  display: block;
  border-left: 2px solid #e88418;
  border-bottom: 2px solid #e88418;
  position: absolute;
  rotate: -45deg;
  opacity: 0;
  scale: 0;
  transition: opacity 0.2s, scale 0.2s;
}
@media only screen and (max-width: 740px) {
  .p-search-item-list .-txt:after {
    width: 0.1rem;
    height: 0.06rem;
    top: 0.06rem;
    left: 0.06rem;
  }
}
@media print, screen and (min-width: 741px) {
  .p-search-item-list .-txt:after {
    width: 0.12rem;
    height: 0.07rem;
    top: 0.07rem;
    left: 0.07rem;
  }
}
.p-search-item-list input:checked + .-txt:before {
  border-color: #e88418;
  background: #fdf3e8;
}
.p-search-item-list input:checked + .-txt:after {
  opacity: 1;
  scale: 1;
}

.p-search-btns {
  grid-gap: 0.2rem;
  align-items: center;
}
@media only screen and (max-width: 740px) {
  .p-search-btns {
    padding-inline: 0.2rem;
  }
}
.p-search-btn-clear {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.1rem;
}
@media only screen and (max-width: 740px) {
  .p-search-btn-clear {
    margin-inline: auto;
  }
}
.p-search-btn-clear .-icon {
  width: 0.22rem;
  height: 0.22rem;
  background: #333333;
  border-radius: 100%;
  position: relative;
}
.p-search-btn-clear .-icon:before, .p-search-btn-clear .-icon:after {
  content: "";
  display: block;
  width: 0.12rem;
  height: 1px;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}
.p-search-btn-clear .-icon:before {
  rotate: 45deg;
}
.p-search-btn-clear .-icon:after {
  rotate: -45deg;
}

@media print, screen and (min-width: 741px) {
  .p-search-btn-submit {
    width: 3.2rem;
  }
}

@media only screen and (max-width: 740px) {
  .p-result {
    padding-bottom: 0.8rem;
  }
}
@media print, screen and (min-width: 741px) {
  .p-result {
    padding-bottom: 1.2rem;
  }
}

.p-result-list {
  display: grid;
}
@media only screen and (max-width: 740px) {
  .p-result-list {
    grid-gap: 0.35rem;
  }
}
@media print, screen and (min-width: 741px) {
  .p-result-list {
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 0.3rem 0.4rem;
  }
}