@charset "UTF-8";

/* =========================================================
  organization
========================================================= */

/* soshikiTopUpper
----------------------------------------------- */
#soshikiTopUpper {
  margin-bottom: 60px;
}

#soshikiTopUpper .link-list {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 50px;
  margin-bottom: 50px ;
}

#soshikiTopUpper .link-list li {
  flex-basis: calc((100% - 16px) / 2);
}

#soshikiTopUpper .link-list li a {
  display: block;
  padding: 10px 5px;
  border: 1px solid var(--mono-color-5);
  border-radius: 8px;
  font-size: 1.125rem;
  text-align: center;
}

#soshikiTopUpper h2 {
  margin-bottom: 10px;
  font-weight: 700;
  font-size: 1.125rem;
}

#soshikiTopUpper p {
  line-height: 2;
}

@media only screen and (max-width: 534px) {
  #soshikiTopUpper {
    margin-bottom: 30px;
  }

  #soshikiTopUpper .link-list {
    flex-direction: column;
    margin-top: 0;
    margin-bottom: 20px ;
  }

  #soshikiTopUpper .link-list li {
    flex-basis: 0;
    text-align: left;
  }
}

/* contentOrganizationGroups
----------------------------------------------- */
.contentOrganizationGroups section:not(:last-child) {
  margin-bottom: 60px;
}

.contentOrganizationGroups section h2 {
  display: flex;
  flex-direction: column;
  margin-bottom: 20px;
  font-weight: inherit;
  font-size: inherit;
}

.contentOrganizationGroups section h2 .name a {
  display: block;
  padding: 15px 30px 15px 20px;
  border: 1px solid var(--ac-color-blue-3);
  border-radius: 6px;
  background: url(/_themes/site/images/arrow-blue.svg) right 15px center no-repeat var(--ac-color-blue-3);
  font-weight: 700;
  font-size: 1.125rem;
}

.contentOrganizationGroups section h2 .name a:hover {
  opacity: 0.6;
}

.contentOrganizationGroups section h2 .name + span {
  margin-top: 15px;
}

.contentOrganizationGroups section h2 .name ~ span {
  padding-left: 20px;
}

.contentOrganizationGroups section:has(ul) h2 span:not(.name) {
  display: none;
}

.contentOrganizationGroups ul {
  padding-left: 20px;
}

.contentOrganizationGroups ul li {
  display: flex;
  flex-direction: column;
  margin-bottom: 50px;
}

.contentOrganizationGroups ul li .name a {
  display: block;
  margin-bottom: 5px;
  padding: 15px 30px 15px 20px;
  border: 1px solid var(--mono-color-5);
  border-radius: 6px;
  background: url(/_themes/site/images/arrow-blue.svg) right 15px center no-repeat;
  font-weight: 700;
  font-size: 1.125rem;
}

.contentOrganizationGroups ul li .name a:hover {
  opacity: 0.6;
}

.contentOrganizationGroups ul li .name + span {
  margin-top: 10px;
}

.contentOrganizationGroups ul li .name ~ span {
  padding-left: 20px;
}

@media only screen and (max-width: 534px) {
  .contentOrganizationGroups section:not(:last-child) {
    margin-bottom: 30px;
  }

  .contentOrganizationGroups ul li {
    margin-bottom: 15px;
  }

  .contentOrganizationGroups ul li .name ~ span {
    padding-left: 10px;
    font-size: 0.875rem;
  }
}

/* contentOrganizationGroupDepartment, contentOrganizationGroupUnit
----------------------------------------------- */
.contentOrganizationGroupDepartment:has(.articleHeader),
.contentOrganizationGroupUnit:has(.articleHeader) {
  margin-bottom: 80px;
}

.contentOrganizationGroupDepartment .articleHeader h2,
.contentOrganizationGroupUnit .articleHeader h2 {
  margin-bottom: 5px;
  font-weight: 700;
  font-size: 1.75rem;
}

.contentOrganizationGroupDepartment ul:not(.feed) li,
.contentOrganizationGroupUnit ul:not(.feed) li {
  display: flex;
  gap: 0 16px;
  position: relative;
  padding: 15px 0;
  border-bottom: 1px dotted #ccc;
}

.contentOrganizationGroupDepartment ul:not(.feed) li a::before,
.contentOrganizationGroupUnit ul:not(.feed) li a::before {
  content: "";
  position: absolute;
  inset: 0;
  background: none;
}

.contentOrganizationGroupDepartment ul:not(.feed) li .update_date,
.contentOrganizationGroupUnit ul:not(.feed) li .update_date {
  flex-shrink: 0;
}

.contentOrganizationGroupDepartment .more,
.contentOrganizationGroupUnit .more {
  display: flex;
  justify-content: center;
  padding-top: 30px;
}

.contentOrganizationGroupDepartment .more a,
.contentOrganizationGroupUnit .more a {
  min-width: 300px;
}

@media only screen and (max-width: 534px) {
  .contentOrganizationGroupDepartment:has(.articleHeader),
  .contentOrganizationGroupUnit:has(.articleHeader) {
    margin-bottom: 40px;
  }

  .contentOrganizationGroupDepartment .articleHeader h2,
  .contentOrganizationGroupUnit .articleHeader h2 {
    font-size: 1.125rem;
  }

  .contentOrganizationGroupDepartment ul:not(.feed) li,
  .contentOrganizationGroupUnit ul:not(.feed) li {
    flex-direction: column;
  }
}

/* soshikiOutline, soshikiBusiness, soshikiAddress
----------------------------------------------- */
.contentOrganization + .piece[id^="soshiki"] ~ .piece[id^="soshiki"] {
  margin-top: 40px;
}

.contentOrganization ~ .piece[id^="soshiki"] .pieceHeader h2 {
  margin-bottom: 15px;
  padding: 15px 8px 15px 20px;
  border-bottom: 2px solid var(--ac-color-blue-1);
  background: var(--ac-color-blue-3);
  font-weight: 700;
  font-size: 1.125rem;
}