/* -------------------------------------
#title
----------------------------------------*/
#title {
  background: #F4F6FB;
}
#title .inner {
  width: 95%;
  padding: 30px 0;
  margin: 0 auto;
}
#title h1 {
  font-size: 28px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
@media (min-width: 768px) {
  #title .inner {
    max-width: 1080px;
    padding: 40px 0;
  }
  #title h1 {
    font-size: 40px;
  }
}

/* -------------------------------------
#search
----------------------------------------*/
#search .inner {
  width: 90%;
  max-width: 940px;
  margin: 0 auto;
}
#search form {
  margin-bottom: 50px;
}
#search form .inputWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  border: 2px solid #121A38;
}
#search form .inputWrap input {
  width: calc(100% - 50px);
  max-width: 860px;
  padding: 15px 10px;
  font-size: 15px;
}
#search form .inputWrap input::-webkit-input-placeholder {
  color: #A5A5A5;
}
#search form .inputWrap input::-moz-placeholder {
  color: #A5A5A5;
}
#search form .inputWrap input:-ms-input-placeholder {
  color: #A5A5A5;
}
#search form .inputWrap input::-ms-input-placeholder {
  color: #A5A5A5;
}
#search form .inputWrap input::placeholder {
  color: #A5A5A5;
}
#search form .inputWrap button {
  width: 50px;
  background: #121A38;
}
#search form .inputWrap button img {
  width: 20px;
}
#search .linkList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
#search .linkList a {
  position: relative;
  display: block;
  width: calc((100% - 4px) / 3);
  padding: 12px 5px;
  background: #DFE5F3;
}
#search .linkList a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 30px;
  height: 2px;
  background: #46B2E7;
}
#search .linkList a + a {
  margin-left: 4px;
}
#search .linkList a p {
  position: relative;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.6;
  text-align: center;
  z-index: 2;
}
#search .linkList a.active {
  color: #ffffff;
  background: #121A38;
}
#search .linkList a.active::after {
  content: "";
  position: absolute;
  bottom: -15px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 23px solid transparent;
  border-left: 23px solid transparent;
  border-top: 41px solid #121A38;
  border-bottom: 0;
  background: transparent;
}
@media (max-width: 375px) {
  #search .linkList a p {
    font-size: 13px;
  }
}
@media (min-width: 768px) {
  #search form {
    margin-bottom: 80px;
  }
  #search form .inputWrap {
    border: 5px solid #121A38;
  }
  #search form .inputWrap input {
    width: calc(100% - 80px);
    max-width: 860px;
    padding: 24px 28px;
    font-size: 18px;
  }
  #search form .inputWrap button {
    width: 80px;
  }
  #search form .inputWrap button img {
    width: 30px;
  }
  #search .linkList a {
    width: calc((100% - 4px) / 3);
    padding: 25px 10px;
  }
  #search .linkList a p {
    font-size: 18px;
  }
}

/* -------------------------------------
#searchDetail
----------------------------------------*/
#searchDetail {
  padding: 40px 0;
  margin-bottom: 50px;
  background: #F4F6FB;
}
#searchDetail .searchDetailBox {
  width: 95%;
  max-width: 1180px;
  padding: 45px 5%;
  margin: 0 auto;
  background: #ffffff;
}
#searchDetail .searchDetailBox .univWrap + .univWrap {
  margin-top: 65px;
}
#searchDetail .searchDetailBox .univWrap.otaru .titleWrap .univName::before {
  background: #7E0B14;
}
#searchDetail .searchDetailBox .univWrap.obihiro .titleWrap .univName::before {
  background: #008D39;
}
#searchDetail .searchDetailBox .univWrap.kitami .titleWrap .univName::before {
  background: #006098;
}
#searchDetail .searchDetailBox .titleWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  padding-bottom: 20px;
  margin-bottom: 35px;
  border-bottom: 1px solid #CCCCCC;
}
#searchDetail .searchDetailBox .titleWrap .univName {
  position: relative;
  padding: 6px 0 6px 26px;
  font-size: 23px;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-decoration: underline;
}
#searchDetail .searchDetailBox .titleWrap .univName::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 6px;
  height: 100%;
}
#searchDetail .searchDetailBox .titleWrap .count {
  padding: 6px 0;
  margin-left: 20px;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #A5A5A5;
}
#searchDetail .searchDetailBox .detailWrap .detailBox.toggle {
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
#searchDetail .searchDetailBox .detailWrap .detailBox.toggle:hover {
  cursor: pointer;
  opacity: 0.7;
}
#searchDetail .searchDetailBox .detailWrap .detailBox.active .structure02 p .icon::after {
  -webkit-transform: rotate(0);
          transform: rotate(0);
}
#searchDetail .searchDetailBox .detailWrap .detailBox + .detailBox {
  margin-top: 25px;
}
#searchDetail .searchDetailBox .detailWrap .structure02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 10px 15px;
  background: #DFE5F3;
  border: 1px solid #DFE5F3;
}
#searchDetail .searchDetailBox .detailWrap .structure02 a {
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 1.8;
  text-decoration: underline;
}
#searchDetail .searchDetailBox .detailWrap .structure02 p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: 10px;
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 1.8;
  color: #A5A5A5;
  white-space: nowrap;
}
#searchDetail .searchDetailBox .detailWrap .structure02 p .icon {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-left: 10px;
  background: #121A38;
  border-radius: 50%;
}
#searchDetail .searchDetailBox .detailWrap .structure02 p .icon::before, #searchDetail .searchDetailBox .detailWrap .structure02 p .icon::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 7px;
  height: 2px;
  background: #ffffff;
}
#searchDetail .searchDetailBox .detailWrap .structure02 p .icon::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
#searchDetail .searchDetailBox .detailWrap .structure03 {
  display: none;
  padding: 15px;
  border: 1px solid #DFE5F3;
}
#searchDetail .searchDetailBox .detailWrap .structure03 ul li {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0 30px 0 20px;
}
#searchDetail .searchDetailBox .detailWrap .structure03 ul li + li {
  margin-top: 8px;
}
#searchDetail .searchDetailBox .detailWrap .structure03 ul li::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto 0;
  width: 10px;
  height: 7px;
  background: url("/img/common/icon-arrow-blue.svg");
  background-repeat: no-repeat;
  background-size: cover;
}
#searchDetail .searchDetailBox .detailWrap .structure03 ul li a {
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 1.8;
  text-decoration: underline;
}
#searchDetail .searchDetailBox .detailWrap .structure03 ul li p {
  margin-left: 10px;
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 1.8;
  color: #A5A5A5;
  white-space: nowrap;
}
#searchDetail .searchDetailBox .overflowText {
  margin-bottom: 10px;
  font-size: 15px;
  letter-spacing: 0.05em;
  line-height: 1.8;
}
#searchDetail .searchDetailBox .overflowText .sm {
  font-size: 13px;
}
#searchDetail .searchDetailBox .imgList ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#searchDetail .searchDetailBox .imgList ul li {
  width: calc((100% - 30px) / 3);
}
#searchDetail .searchDetailBox .imgList ul li + li {
  margin-left: 10px;
}
#searchDetail .searchDetailBox .imgList ul li:nth-of-type(3n+1) {
  margin-left: 0;
}
#searchDetail .searchDetailBox .imgList ul li:nth-of-type(n+4) {
  margin-top: 10px;
}
#searchDetail .searchDetailBox .imgList ul li p {
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 2;
  color: #A5A5A5;
  text-align: right;
}
@media (min-width: 500px) {
  #searchDetail .searchDetailBox .imgList ul li {
    width: calc((100% - 40px) / 4);
  }
  #searchDetail .searchDetailBox .imgList ul li:nth-of-type(3n+1) {
    margin-left: 10px;
  }
  #searchDetail .searchDetailBox .imgList ul li:nth-of-type(n+4) {
    margin-top: 0;
  }
  #searchDetail .searchDetailBox .imgList ul li:nth-of-type(4n+1) {
    margin-left: 10px;
  }
  #searchDetail .searchDetailBox .imgList ul li:nth-of-type(n+5) {
    margin-top: 10px;
  }
}
@media (min-width: 768px) {
  #searchDetail {
    margin-bottom: 80px;
  }
  #searchDetail .searchDetailBox {
    padding: 65px 5%;
  }
  #searchDetail .searchDetailBox .titleWrap {
    padding-bottom: 26px;
    margin-bottom: 40px;
  }
  #searchDetail .searchDetailBox .titleWrap .univName {
    padding: 6px 0 6px 26px;
    font-size: 28px;
  }
  #searchDetail .searchDetailBox .titleWrap .count {
    margin-left: 20px;
    font-size: 20px;
  }
  #searchDetail .searchDetailBox .detailWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #searchDetail .searchDetailBox .detailWrap .detailBox {
    width: calc((100% - 40px) / 2);
  }
  #searchDetail .searchDetailBox .detailWrap .detailBox + .detailBox {
    margin-top: 0;
  }
  #searchDetail .searchDetailBox .detailWrap .detailBox:nth-of-type(n+3) {
    margin-top: 20px;
  }
  #searchDetail .searchDetailBox .imgList ul li {
    width: calc((100% - 70px) / 6);
  }
  #searchDetail .searchDetailBox .imgList ul li + li {
    margin-left: 14px;
  }
  #searchDetail .searchDetailBox .imgList ul li:nth-of-type(4n+1) {
    margin-left: 14px;
  }
  #searchDetail .searchDetailBox .imgList ul li:nth-of-type(n+5) {
    margin-top: 0;
  }
  #searchDetail .searchDetailBox .imgList ul li:nth-of-type(6n+1) {
    margin-left: 0;
  }
  #searchDetail .searchDetailBox .imgList ul li:nth-of-type(n+7) {
    margin-top: 14px;
  }
}
@media (min-width: 1000px) {
  #searchDetail .searchDetailBox {
    padding: 65px 120px;
  }
}

/* -------------------------------------
#result
----------------------------------------*/
#result {
  margin-bottom: 50px;
}
#result .inner {
  width: 90%;
  max-width: 940px;
  margin: 0 auto;
}
#result .noResult {
  padding: 45px 0;
  font-size: 14px;
  letter-spacing: 0.05em;
  text-align: center;
  border-top: 1px solid #363C56;
  border-bottom: 1px solid #363C56;
}
#result .outline {
  margin: 60px 0 45px;
}
#result .outline .title {
  padding-bottom: 18px;
  border-bottom: 2px solid;
  -o-border-image: linear-gradient(90deg, #46B2E4 0%, #5EA786 100%);
     border-image: -webkit-gradient(linear, left top, right top, from(#46B2E4), to(#5EA786));
     border-image: linear-gradient(90deg, #46B2E4 0%, #5EA786 100%);
  border-image-slice: 1;
}
#result .outline .title h2 {
  display: inline-block;
  font-size: 26px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.3;
}
#result .outline .title span {
  display: inline-block;
  padding-left: 10px;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.3;
  color: #A5A5A5;
}
#result .outline .detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 25px;
}
#result .outline .detail .imgWrap {
  width: 95px;
}
#result .outline .detail .textWrap {
  width: calc(100% - 95px);
  padding-left: 15px;
}
#result .outline .detail .textWrap h3 {
  font-size: 20px;
  letter-spacing: 0.05em;
  line-height: 1.4;
}
#result .outline .detail .textWrap p {
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 2;
}
#result ul {
  border-top: 1px solid #363C56;
  border-bottom: 1px solid #363C56;
}
#result ul li {
  padding: 20px 10px;
}
#result ul li + li {
  border-top: 1px solid #363C56;
}
#result ul li:not(.header) {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#result ul li:not(.header):nth-of-type(2n) {
  background: rgba(244, 246, 251, 0.5);
}
#result ul li:not(.header) > div {
  margin-bottom: 15px;
}
#result ul li:not(.header) > div p {
  font-size: 15px;
  letter-spacing: 0.05em;
  line-height: 1.6;
}
#result ul li:not(.header) > div p.title {
  padding: 4px 16px;
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #363C56;
  background: #EBECEF;
  border-radius: 10px;
}
#result ul li:not(.header) > div.univ.otaru p::before {
  background: #7E0B14;
}
#result ul li:not(.header) > div.univ.kitami p::before {
  background: #006098;
}
#result ul li:not(.header) > div.univ.obihiro p::before {
  background: #008D39;
}
#result ul li:not(.header) > div.univ p {
  position: relative;
  padding: 0 15px;
  line-height: 1.3;
}
#result ul li:not(.header) > div.univ p::before {
  content: "";
  position: absolute;
  top: 1px;
  left: 0;
  width: 5px;
  height: 20px;
}
#result ul li:not(.header) > div.name {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 10px 0 18px;
}
#result ul li:not(.header) > div.name a {
  position: relative;
  text-decoration: underline;
  line-height: 1.6;
}
#result ul li:not(.header) > div.name a::before {
  content: "";
  position: absolute;
  top: 7px;
  left: -18px;
  width: 10px;
  height: 7px;
  background: url("/img/common/icon-arrow-blue.svg");
  background-repeat: no-repeat;
  background-size: cover;
}
#result ul li:not(.header) > div.specialty p {
  font-size: 12px;
}
#result ul li:not(.header) > div.keyword p {
  font-size: 12px;
}
@media (min-width: 500px) {
  #result .outline .detail .imgWrap {
    width: 125px;
  }
  #result .outline .detail .textWrap {
    width: calc(100% - 125px);
  }
}
@media (min-width: 768px) {
  #result {
    margin-bottom: 80px;
  }
  #result .noResult {
    padding: 75px 0;
    font-size: 18px;
  }
  #result .outline {
    margin: 80px 0 64px;
  }
  #result .outline .title {
    padding-bottom: 22px;
  }
  #result .outline .title h2 {
    font-size: 32px;
  }
  #result .outline .title h2 span {
    padding-left: 20px;
    font-size: 20px;
  }
  #result .outline .detail {
    margin-top: 45px;
  }
  #result .outline .detail .imgWrap {
    width: 160px;
  }
  #result .outline .detail .textWrap {
    padding-left: 24px;
  }
  #result .outline .detail .textWrap h3 {
    font-size: 28px;
  }
  #result .outline .detail .textWrap p {
    font-size: 18px;
  }
  #result ul {
    border: none;
  }
  #result ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    padding: 0;
  }
  #result ul li + li {
    border: none;
  }
  #result ul li > div.univ {
    width: 160px;
    min-width: 135px;
  }
  #result ul li > div.name {
    width: 200px;
  }
  #result ul li > div:nth-of-type(3) {
    width: 292px;
  }
  #result ul li > div:nth-of-type(4) {
    width: 291px;
  }
  #result ul li.header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background: #363C56;
  }
  #result ul li.header > div {
    padding: 10px 5px;
  }
  #result ul li.header > div + div {
    border-left: 1px solid #ffffff;
  }
  #result ul li.header p {
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 2;
    color: #ffffff;
    text-align: center;
  }
  #result ul li:not(.header) {
    border-left: 1px solid #CCCCCC;
    border-right: 1px solid #CCCCCC;
    border-bottom: 1px solid #CCCCCC;
  }
  #result ul li:not(.header):nth-of-type(2n) {
    background: transparent;
  }
  #result ul li:not(.header):nth-of-type(2n+1) {
    background: rgba(244, 246, 251, 0.5);
  }
  #result ul li:not(.header) > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 10px;
    margin-bottom: 0;
  }
  #result ul li:not(.header) > div + div {
    border-left: 1px solid #CCCCCC;
  }
  #result ul li:not(.header) > div.univ p {
    padding: 0 10px;
  }
  #result ul li:not(.header) > div.univ p::before {
    width: 4px;
  }
  #result ul li:not(.header) > div.name {
    padding: 20px 10px 20px 18px;
  }
  #result ul li:not(.header) > div.name a {
    padding-left: 12px;
  }
  #result ul li:not(.header) > div.name a::before {
    top: 9px;
    left: -5px;
  }
  #result ul li:not(.header) > div.name p {
    padding-left: 12px;
  }
  #result ul li:not(.header) > div.specialty p {
    font-size: 15px;
  }
  #result ul li:not(.header) > div.keyword p {
    font-size: 15px;
  }
}

/* -------------------------------------
#pagenation
----------------------------------------*/
#pagenation {
  margin-bottom: 50px;
}
#pagenation .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#pagenation a,
#pagenation p {
  display: block;
  width: 30px;
  height: 35px;
  padding: 2px 0 13px;
  font-size: 15px;
  font-family: "Oswald";
  letter-spacing: 0.1em;
  line-height: 1.6;
  text-align: center;
  color: #121A38;
  border-bottom: 1px solid #DCDCDC;
}
#pagenation .current {
  border-bottom: 2px solid #121A38;
}
#pagenation .prev {
  position: relative;
  width: 35px;
}
#pagenation .prev::before, #pagenation .prev::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 7px;
  height: 1px;
  background: #000000;
}
#pagenation .prev::before {
  top: -10px;
  rotate: -45deg;
}
#pagenation .prev::after {
  top: 0;
  rotate: 45deg;
}
#pagenation .next {
  position: relative;
  width: 35px;
}
#pagenation .next::before, #pagenation .next::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 7px;
  height: 1px;
  background: #000000;
}
#pagenation .next::before {
  top: -10px;
  rotate: 45deg;
}
#pagenation .next::after {
  top: 0;
  rotate: -45deg;
}
@media (min-width: 768px) {
  #pagenation {
    margin-bottom: 80px;
  }
  #pagenation a,
  #pagenation p {
    width: 40px;
    height: 38px;
    padding: 2px 0 13px;
    font-size: 16px;
  }
}/*# sourceMappingURL=list.css.map */