@charset "UTF-8";
/* Break point
---------------------------------------------------------- */
/* Placeholder
---------------------------------------------------------- */
.p-member__kanaNavList a {
  text-decoration: underline;
  text-underline-offset: 0.25em;
}
@media (any-hover: hover) {
  .p-member__kanaNavList a:hover {
    text-decoration: none;
  }
  .p-member__kanaNavList a:focus-visible {
    text-decoration: none;
  }
}

@media (any-hover: hover) {
  .p-memberSearch__submit:hover, .p-memberSearch__reset:hover {
    opacity: 0.7;
  }
  .p-memberSearch__submit:focus-visible, .p-memberSearch__reset:focus-visible {
    opacity: 0.7;
  }
}

.p-article__title { /* | タイトル文字 */
  position: relative;
  padding-left: 1rem;
  line-height: 1.45;
  font-weight: bold;
}
.p-article__title::before {
  content: "";
  position: absolute;
  left: 0;
  width: 0.25rem;
  height: 99%;
  background: var(--color-main);
}
@media screen and (min-width: 960px) {
  .p-article__title {
    padding-left: 1.25rem;
  }
}

/* ==================================================================

    Archive

================================================================== */
/* Base
---------------------------------------------------------- */
.p-archive__title {
  margin-block: 1em 0.5em;
}

/* Heading
---------------------------------------------------------- */
.p-archive__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 0.25em 0.5em;
  margin-bottom: 0.85em;
  font-size: var(--font-18);
  font-weight: bold;
}
@media screen and (min-width: 960px) {
  .p-archive__heading {
    font-size: var(--font-24);
  }
}
.p-archive__heading__category + .p-archive__heading__year {
  color: var(--color-gray);
  font-size: 70%;
}
.p-archive__heading__category + .p-archive__heading__year::before {
  content: "/";
  margin-right: 0.5em;
}

.p-archive__headingItem.is-current {
  color: var(--color-main);
}

/* Box
---------------------------------------------------------- */
.p-archive__box {
  background-color: #fff;
  padding: 1.5rem;
  border-radius: 0.5rem;
}
@media screen and (min-width: 960px) {
  .p-archive__box {
    padding: 2rem 2rem 4rem;
  }
}

/* Banner Slider
---------------------------------------------------------- */
.p-archive__bannerSlider {
  margin-top: 1.5rem;
}

/* Filter
---------------------------------------------------------- */
.p-archive__filter {
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 120;
  width: 100%;
  height: 50dvh;
  overflow-y: auto;
  background: #fff;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  -ms-scroll-chaining: none;
      overscroll-behavior: contain;
  font-size: var(--font-15);
}
.p-archive__filter.is-open {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
@media screen and (min-width: 960px) {
  .p-archive__filter {
    position: static;
    z-index: auto;
    width: auto;
    height: auto;
    overflow: visible;
    background: transparent;
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
    font-size: 1rem;
  }
}
.p-archive__filter__reset {
  margin-bottom: 0.5em;
  text-align: right;
  font-size: var(--font-15);
  color: var(--color-main);
}
.p-archive__filter__inner {
  padding: 1.5rem;
}
@media screen and (min-width: 960px) {
  .p-archive__filter__inner {
    padding: 0;
  }
}
.p-archive__filter__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 960px) {
  .p-archive__filter__head {
    display: none;
  }
}
.p-archive__filter__close {
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  font-size: 1.5rem;
  cursor: pointer;
}
.p-archive__filter__title {
  margin-bottom: 0.75em;
  font-weight: bold;
}
.p-archive__filter__section {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--color-line);
}
@media screen and (min-width: 960px) {
  .p-archive__filter__section {
    margin-top: 2rem;
  }
}
.p-archive__filter__overlay {
  position: fixed;
  inset: 0;
  z-index: 110;
  background: rgba(0, 0, 0, 0.4);
}
.p-archive__filter__button {
  padding: 0.65em 1em 0.5em;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.5em;
     -moz-column-gap: 0.5em;
          column-gap: 0.5em;
  border: 1px solid var(--color-gray);
  font-size: var(--font-14);
  border-radius: 0.25rem;
  cursor: pointer;
}
@media (any-hover: hover) {
  .p-archive__filter__button:hover {
    background-color: var(--color-line);
  }
  .p-archive__filter__button:focus-visible {
    background-color: var(--color-line);
  }
}
.p-archive__filter__buttonBox {
  margin-bottom: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media screen and (min-width: 960px) {
  .p-archive__filter__buttonBox {
    display: none;
  }
}

body.is-filterOpen {
  overflow: hidden;
}

/* Filter List
---------------------------------------------------------- */
.p-archive__filterList {
  display: grid;
  gap: 0.5em;
}

.p-archive__filterLinks {
  font-size: var(--font-15);
}

/* Report List
---------------------------------------------------------- */
.p-archive__reportList {
  grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr));
}
@media screen and (min-width: 960px) {
  .p-archive__reportList {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* Layout
---------------------------------------------------------- */
.p-archive__layout {
  display: grid;
}
@media screen and (min-width: 960px) {
  .p-archive__layout {
    grid-template-columns: 1fr 24%;
    gap: 3rem;
  }
}

/* ==================================================================

    Article

================================================================== */
.p-article {
  --contentMaxWidth: 90rem;
}
@media screen and (min-width: 960px) {
  .p-article {
    --inner: 8%;
  }
}

.p-article__box {
  margin-top: 1.5rem;
  background-color: #fff;
  border-radius: 0.5rem;
  position: relative;
}
@media screen and (min-width: 960px) {
  .p-article__box {
    margin-top: 2rem;
  }
}

.p-article__inner {
  padding: 1.5rem 1rem 0;
}
@media screen and (min-width: 768px) {
  .p-article__inner {
    padding: 1.5rem 2rem 0;
  }
}
@media screen and (min-width: 960px) {
  .p-article__inner {
    padding: 2rem 3rem 0;
  }
}

.p-article__label {
  position: absolute;
  top: 0;
  right: 1rem;
  padding: 0.5em 1.5em;
  color: var(--color-gray);
  font-weight: 700;
  text-align: center;
  background: var(--color-line);
  border-radius: 0 0 0.25rem 0.25rem;
  font-size: var(--font-13);
}
@media screen and (min-width: 768px) {
  .p-article__label {
    font-size: var(--font-15);
    right: 1.5rem;
  }
}

.p-article__header {
  margin-bottom: 2rem;
}
@media screen and (min-width: 960px) {
  .p-article__header {
    margin-bottom: 2.5rem;
  }
}

.p-article__infoTable {
  font-size: var(--font-15);
}

.p-article__title {
  margin-block: 1.5em 1em;
  font-size: var(--font-24);
}
@media screen and (min-width: 960px) {
  .p-article__title {
    font-size: var(--font-30);
  }
}

.p-article__footer {
  margin-top: 4rem;
  text-align: center;
  border-top: 1px solid var(--color-line);
}

.p-article__backLink {
  padding: 1.25rem 1rem;
  display: block;
  color: var(--color-main);
}
@media (any-hover: hover) {
  .p-article__backLink:hover {
    text-decoration: underline;
  }
  .p-article__backLink:focus-visible {
    text-decoration: underline;
  }
}

/* ==================================================================

    Pages

================================================================== */
.p-page__layout {
  padding-top: 1rem;
  display: grid;
  gap: 2rem;
  max-width: var(--contentMaxWidth);
  margin-inline: auto;
}
@media screen and (min-width: 960px) {
  .p-page__layout {
    padding: 2rem var(--inner) 4rem;
    grid-template-columns: 1fr 24%;
    gap: 3rem;
  }
}
.p-page__layout--col1 {
  --contentMaxWidth: 90rem;
  padding-block: 1.5rem 3rem;
  max-width: var(--contentMaxWidth);
  margin-inline: auto;
}
@media screen and (min-width: 960px) {
  .p-page__layout--col1 {
    --inner: 8%;
    padding: 2rem var(--inner) 4rem;
  }
}

.p-page__title {
  padding-block: 1em 0.5em;
  border-bottom: 1px solid var(--color-line);
}

.p-page__main {
  padding-inline: var(--inner);
}
@media screen and (min-width: 960px) {
  .p-page__main {
    padding-inline: 0;
  }
}

.p-page__side {
  padding: 2rem var(--inner) 4rem;
  background-color: var(--color-background);
}
@media screen and (min-width: 960px) {
  .p-page__side {
    padding: 2rem 0 0 0;
    background-color: transparent;
  }
}

@media screen and (min-width: 960px) {
  .p-page__nav {
    position: -webkit-sticky;
    position: sticky;
    top: var(--headerHeight, 0);
    max-height: calc(100dvh - var(--headerHeight, 0));
    overflow-y: auto;
  }
}

/* ==================================================================

    Profile

================================================================== */
.p-profile__sign {
  margin-inline: auto;
  display: block;
  width: 100%;
  max-width: 10rem;
}

.p-profile__conceptList {
  display: grid;
  gap: 0.5em 1.5em;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .p-profile__conceptList {
    grid-template-columns: 9em 1fr;
  }
}

.p-profile__aboutTable__col {
  min-width: 7rem;
}

/* ==================================================================

    Member

================================================================== */
.p-member__tabList {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.p-member__tabButton {
  font-size: var(--font-15);
}
@media screen and (min-width: 960px) {
  .p-member__tabButton {
    font-size: var(--font-18);
  }
}

.p-member__kanaNav {
  padding: 1.5rem;
  background-color: var(--color-background);
}

.p-member__kanaNavList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1em;
}
@media screen and (min-width: 960px) {
  .p-member__kanaNavList {
    font-size: var(--font-18);
  }
}
.p-member__kanaNavList a {
  color: var(--color-main);
}

.p-member__heading {
  padding-block: 1.5em 0.5em;
  font-size: var(--font-20);
  font-weight: bold;
}
@media screen and (min-width: 960px) {
  .p-member__heading {
    font-size: var(--font-24);
  }
}

.p-memberSearch {
  background: var(--color-background);
}
.p-memberSearch.is-open .p-memberSearch__bodyWrap {
  grid-template-rows: 1fr;
}
.p-memberSearch.is-closed .p-memberSearch__bodyWrap {
  grid-template-rows: 0fr;
}
.p-memberSearch__inner {
  padding: 1.5rem;
}
@media screen and (min-width: 960px) {
  .p-memberSearch__inner {
    padding: 2rem;
  }
}
.p-memberSearch__bodyWrap {
  display: grid;
  -webkit-transition: grid-template-rows 0.3s ease;
  transition: grid-template-rows 0.3s ease;
  transition: grid-template-rows 0.3s ease, -ms-grid-rows 0.3s ease;
}
.p-memberSearch__body {
  overflow: hidden;
}
.p-memberSearch__row {
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #fff;
}
.p-memberSearch__label {
  padding-block: 0.75rem;
  font-weight: 700;
  display: block;
}
.p-memberSearch__field {
  min-width: 0;
}
.p-memberSearch__input {
  width: min(100%, 34rem);
  padding: 0.5rem;
  border: 1px solid #484848;
  background: #fff;
}
.p-memberSearch__checks {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.75rem 1.5rem;
}
.p-memberSearch__checks label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.375rem;
  line-height: 1.6;
  font-size: var(--font-15);
}
.p-memberSearch__checks input {
  width: 1rem;
  height: 1rem;
}
.p-memberSearch__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
  margin-top: 2rem;
}
.p-memberSearch__submit, .p-memberSearch__reset {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  padding-block: 0.75rem;
  font-weight: 700;
  border-radius: 0.25rem;
  min-width: 8rem;
  cursor: pointer;
}
.p-memberSearch__submit {
  padding-inline: 1.5rem 2.5rem;
  color: #fff;
  border: 1px solid var(--color-main);
  background: var(--color-main);
}
.p-memberSearch__reset {
  padding-inline: 1.5rem;
  color: var(--color-main);
  border: 1px solid var(--color-main);
  background: #fff;
}
.p-memberSearch__toggle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
  width: 100%;
  min-height: 3.5rem;
  padding: 1rem;
  border: 0;
  font-weight: 700;
  background: #d0e6fa;
  font-size: var(--font-15);
  cursor: pointer;
}
.p-memberSearch__toggle[aria-expanded=false] .p-memberSearch__toggleIcon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.p-memberResult {
  margin-top: 2rem;
}
.p-memberResult__count {
  margin-bottom: 1rem;
  font-weight: 700;
}
.p-memberResult__word {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5em;
  margin-bottom: 1rem;
  color: var(--color-gray);
  font-size: var(--font-15);
}
.p-memberResult__wordItem {
  display: inline-block;
  padding: 0.25em 0.75em;
  background-color: var(--color-background);
  border-radius: 0.25rem;
}

.p-member__table {
  font-size: var(--font-15);
}
@media screen and (min-width: 960px) {
  .p-member__table {
    font-size: 1rem;
  }
}
.p-member__table .head02 {
  min-width: 6em;
}
.p-member__table .head03 {
  min-width: 8em;
}

/* ==================================================================

    Committee

================================================================== */
.p-committee__content {
  margin-top: 1.5rem;
  container-type: inline-size;
}

.p-committee__contentInner {
  display: grid;
  gap: 1.5rem;
}
@container (min-width: 45rem) {
  .p-committee__contentInner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 3rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.p-committee__chair {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@container (min-width: 45rem) {
  .p-committee__chair {
    gap: 2rem;
  }
}

.p-committee__vice {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5rem;
}

.p-committee__activity {
  padding: 1.5rem;
  background-color: var(--color-background);
  width: 100%;
}

/* ==================================================================

    Executive

================================================================== */
.p-executive__data {
  margin-top: 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5rem 2rem;
}
.p-executive__list {
  display: grid;
  gap: 1.5rem;
}
.p-executive__name {
  font-weight: bold;
  font-size: var(--font-17);
}
@media screen and (min-width: 960px) {
  .p-executive__name {
    font-size: var(--font-18);
  }
}
.p-executive__position {
  margin-top: 0.25em;
  color: var(--color-gray);
  font-size: var(--font-15);
}
@media screen and (min-width: 960px) {
  .p-executive__position {
    font-size: 1rem;
  }
}
.p-executive__position + .p-executive__name {
  margin-top: 1rem;
}

/* ==================================================================

    404

================================================================== */
.p-error__box {
  max-width: 52rem;
  margin: 2.5rem auto 0;
  padding: 3rem 1.5rem;
  text-align: center;
  background: #fff;
  border-radius: 0.5rem;
}
@media screen and (min-width: 960px) {
  .p-error__box {
    margin-top: 3rem;
    padding: 4.5rem 4rem;
  }
}

.p-error__title {
  font-size: var(--font-24);
  font-weight: bold;
  letter-spacing: 0.08em;
}
@media screen and (min-width: 960px) {
  .p-error__title {
    font-size: var(--font-32);
  }
}

.p-error__content {
  margin-top: 1.5rem;
  line-height: 2;
}
.p-error__content p {
  margin: 0;
}
.p-error__content p + p {
  margin-top: 0.75rem;
}

.p-error__search {
  max-width: 32rem;
  margin: 2rem auto 0;
  text-align: left;
}

.p-error__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 2.5rem;
}

/* ==================================================================

    Member

================================================================== */
.p-join__check {
  font-size: var(--font-18);
  font-weight: bold;
  color: var(--color-main);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5em;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 960px) {
  .p-join__check {
    font-size: var(--font-20);
  }
}
.p-join__checkIcon {
  margin-top: 0.3em;
  width: 1em;
  height: 1em;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.p-join__message {
  color: var(--color-main);
  font-size: var(--font-22);
  font-weight: bold;
}
@media screen and (min-width: 960px) {
  .p-join__message {
    font-size: var(--font-28);
  }
}

.p-join__president {
  margin-block: 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 1.5rem;
}

.p-join__dataList {
  display: grid;
  gap: 1.5rem;
}
.p-join__dataList__item {
  display: grid;
  gap: 0.75rem;
}
@media screen and (min-width: 768px) {
  .p-join__dataList__item {
    grid-template-columns: 10rem minmax(0, 1fr);
    gap: 2rem;
  }
}
.p-join__dataList__item .title {
  font-weight: bold;
  color: var(--color-main);
}
@media screen and (min-width: 960px) {
  .p-join__dataList__item .title {
    font-size: var(--font-18);
  }
}

/* ==================================================================

    Access

================================================================== */
.p-access__map {
  margin-top: 1.5rem;
  width: 100%;
  aspect-ratio: 16/9;
}
.p-access__map iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

/* ==================================================================

    Organizaition

================================================================== */
.p-organization__relatedList {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  gap: 0.5rem;
}
.p-organization__relatedList a {
  width: 100%;
}

/* ==================================================================

    Foreign Language

================================================================== */
.p-foreignLanguage__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  gap: 0.5rem;
}
.p-foreignLanguage__list a {
  width: 100%;
}

/* ==================================================================

    Vision

================================================================== */
.p-vision__title {
  padding: 1rem;
  background-color: var(--color-main);
  text-align: center;
  font-size: var(--font-24);
  font-weight: bold;
  color: #fff;
}
@media screen and (min-width: 960px) {
  .p-vision__title {
    font-size: var(--font-30);
  }
}
.p-vision__smallTitle {
  margin-top: 0.5em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.5em;
  font-size: 63%;
}
.p-vision__lead {
  padding-block: 2rem;
  font-weight: bold;
  text-align: center;
}
.p-vision__goals {
  display: grid;
  gap: 1.5rem;
}
@media screen and (min-width: 960px) {
  .p-vision__goals {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
}
.p-vision__goalItem {
  padding: 1rem 1.5rem 1.5rem;
  background-color: var(--color-background);
  border-top: 5px solid var(--color-main);
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 0;
}
.p-vision__goalHeading {
  font-size: var(--font-15);
  color: var(--color-main);
  font-weight: bold;
}
.p-vision__goal {
  padding-block: 1.5em;
  font-size: var(--font-20);
  color: var(--color-main);
  font-weight: bold;
  text-align: center;
}
.p-vision__goalText {
  padding-top: 1.5rem;
  border-top: 1px dashed var(--color-main);
}