@charset "UTF-8";

/*
  MAIN VISUAL
 */

/* スマホ 幅が 0px - 599px */
@media screen and (max-width: 599px) {
  .main-visual {
    background: url(../images/list-visual_sp.png) center center no-repeat;
    background-size: cover;
  }
}

/* PC 幅が 600px 以上 */
@media screen and (min-width: 600px) {
  .main-visual {
    background: url(../images/list-visual_pc.png) center center no-repeat;
    background-size: cover;
  }
}

/*
 フィルター選択
*/

.filter-selection-and-info {
  margin-bottom: 2rem;
  margin-top: 3.6rem;
}

.filter-selection-wrap {
  background-color: #edf0f3;
  border: 1px solid #e2e6ec;
  display: flex;
  margin-bottom: 0.8rem;
}

.filter-head {
  text-align: center;
}

.filter-selection {
  background-color: #fff;
  display: flex;
  flex-wrap: wrap;
}

.filter-selection-item {
  color: #929395;
  font-size: 0.9rem;
  margin: 0 0.3rem 1rem;
}

.filter-selection-item button {
  background-color: #fff;
  border: 1px solid #e2e6ec;
  border-radius: 1rem;
  color: #444;
  cursor: pointer;
  font-size: 0.9rem;
  line-height: 2;
  outline: none;
  padding: 0 0.8rem;
}

.filter-selection-item button:hover {
  background-color: #fff;
  border-color: #5596c8;
  color: #5596c8;
}

.filter-selection-item button.selected {
  background-color: #5596c8;
  color: #fff;
}

.filter-selection-item button.selected:hover {
  border-color: #e2e6ec;
}

.filter-selection-marketplace-information {
  line-height: 1.6;
  font-size: 0.9rem;
}

.filter-selection-marketplace-information li {
  list-style-type: disc;
  margin-left: 1.2rem;
}

.filter-selection-marketplace-information a {
  color: #5596c8;
}

/* スマホ 幅が 0px - 599px */
@media screen and (max-width: 599px) {
  .filter-selection-wrap {
    flex-direction: column;
    margin-left: 1rem;
    margin-right: 1rem;
  }

  .filter-head {
    margin: 1rem;
  }

  .filter-selection {
    padding: 1.4rem 0.5rem 0.4rem;
    margin: 0 1rem 1rem;
  }

  .filter-selection-marketplace-information {
    margin-left: 1rem;
    margin-right: 1rem;
  }
}

/* PC 幅が 600px 以上 */
@media screen and (min-width: 600px) {
  .filter-selection-wrap {
    align-items: center;
  }

  .filter-head {
    flex-basis: 7rem;
  }

  .filter-body {
    flex-basis: 62rem;
  }

  .filter-selection {
    margin: 1rem 1rem 1rem 0;
    padding: 1.4rem 1rem 0.4rem;
  }
}

/*
  partners
*/

.partners-not-found {
  padding: 1.35rem 0;
  text-align: center;
}

.section-partner {
  border: 1px solid #cfcfcf;
  border-top: 3px solid #374252;
  margin-top: 1.14rem;
  transition: border-color 0.4s;
}

.section-partner.open {
  border-color: #0e2c3a;
}

.partner-upper {
  background-color: #f4f5f6;
  padding: 1.5rem;
}

.partner-name {
  color: #0e2c3a;
  font-size: 1.14rem;
  margin-bottom: 1rem;
}

.partner-name::after {
  background-color: #d23d2a;
  content: '';
  display: block;
  height: 2px;
  margin-top: 1rem;
  width: 4rem;
}

.partner-logo {
  background-color: #fff;
  text-align: center;
}

.partner-logo img {
  vertical-align: middle;
}

.partner-relation dt {
  float: left;
}

.partner-relation dd {
  margin-left: 10rem;
}

.partner-relation-content:not(:last-child) {
  margin-bottom: 0.5rem;
}

.partner-relation-content-marketplace-title a,
.partner-relation-content-marketplace-title a:visited {
  color: #5596c8;
}

.partner-relation-content-marketplace-link a {
  color: #5596c8;
}

.partner-relation-content-marketplace-link a:hover {
  text-decoration: underline;
}

.partner-appeal-wrap {
  height: 4rem;
  overflow-y: hidden;
  transition: all 0.4s;
}

.partner-appeal {
  border-bottom: 1px solid #d0d6d9;
  padding-bottom: 1.5rem;
}

.partner-appeal-message {
  line-height: 2;
}

.partner-profile {
  font-style: normal;
  margin-top: 2rem;
}

.partner-profile dt {
  float: left;
  width: 6rem;
}

.partner-profile dd {
  margin: 0 0 0.5rem 6.85rem;
}

.partner-profile a {
  color: inherit;
}

.partner-profile a:hover {
  text-decoration: underline;
}

.partner-profile a::after {
  content: '\f08e'; /* external-link */
  font-family: FontAwesome, sans-serif;
  font-size: 1.1rem;
  margin-left: 0.5rem;
  vertical-align: bottom;
}

.toggle-accordion-wrap {
  text-align: center;
}

.toggle-accordion {
  background-color: #fff;
  border: none;
  color: #5596c8;
  cursor: pointer;
  font-size: 1rem;
  margin: 0 0 1.6rem;
  outline: none;
}

.toggle-accordion:hover {
  color: #88b5d8;
}

.toggle-accordion::after {
  content: '\f107';
  font-family: FontAwesome, sans-serif;
  font-size: 2rem;
  margin-left: 0.5rem;
  vertical-align: sub;
}

.open .toggle-accordion::after {
  content: '\f106';
}

/* パートナーズブロックのアニメーション */
.fade {
  animation: fadeInUp 500ms ease-in-out;
}

.loading {
  line-height: 1;
  text-align: center;
  padding-top: 4rem;

  i,
  span {
    vertical-align: middle;
    display: inline-block;
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(2rem);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* スマホ 幅が 0px - 599px */
@media screen and (max-width: 599px) {
  .section-partner {
    margin-left: 1rem;
    margin-right: 1rem;
  }

  .partner-logo {
    margin-bottom: 2rem;
    padding: 1rem;
  }

  .partner-logo img {
    height: auto;
    max-width: 100%;
  }

  .partner-appeal-wrap {
    margin: 1.5rem;
  }
}

/* PC 幅が 600px 以上 */
@media screen and (min-width: 600px) {
  #partners:target {
    margin-top: -55px;
    padding-top: calc(55px - 1rem);
  }

  .partner-upper {
    min-height: 100px; /* ロゴ画像の高さ */
    padding-left: 228px;
    position: relative;
  }

  .partner-logo {
    left: 29px;
    position: absolute;
    top: 1.5rem;
    min-height: 100px;
    line-height: 100px;
    width: 174px;
  }

  .partner-appeal-wrap {
    margin: 21px 46px;
  }

  .partner-appeal {
    padding-left: 182px;
  }
}