@import url("https://fonts.googleapis.com/css2?family=Aboreto&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap");
.mainClm main {
  padding-bottom: 0;
}

.mainVisual h1 {
  margin: 0;
}

.greeting {
  max-width: 1000px;
  margin-inline: auto;
  padding: clamp(2.5rem, -0.299rem + 11.94vw, 5rem) clamp(1rem, 0.44rem + 2.388vw, 1.5rem) 0;
}
.greeting h2 {
  margin-block: 0 1.5rem;
  padding: 0 1rem 0.75rem;
  font-size: clamp(1.5rem, 0.94rem + 2.388vw, 2rem);
  font-weight: 600;
  color: #425267;
  border-bottom: 1px solid #E0ECEE;
  text-align: center;
}
.greeting_contents {
  padding: clamp(1rem, 0.44rem + 2.388vw, 1.5rem);
  background: #fff;
}

.chairman {
  max-width: 1000px;
  margin-inline: auto;
  padding: clamp(1.25rem, -0.149rem + 5.97vw, 2.5rem) clamp(1rem, 0.44rem + 2.388vw, 1.5rem) 0;
}
.chairman h2 {
  margin-block: 0 2.5rem;
  padding: 0 1rem 0.75rem;
  font-size: clamp(1.5rem, 0.94rem + 2.388vw, 2rem);
  font-weight: 600;
  color: #425267;
  border-bottom: 1px solid #E0ECEE;
  text-align: center;
}
.chairman_contents {
  padding: clamp(1rem, 0.44rem + 2.388vw, 1.5rem);
  background: #fff;
}
@container mainClm (min-width: 710px) {
  .chairman_wrap {
    overflow: hidden;
  }
}
.chairman_photo {
  line-height: 1.4;
  font-weight: 600;
  text-align: center;
}
@container mainClm (min-width: 710px) {
  .chairman_photo {
    float: right;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 2rem 1rem;
  }
}
.chairman_photo img {
  text-align: center;
}
@container mainClm (min-width: 710px) {
  .chairman_names {
    text-align: right;
  }
}
.chairman_position01 {
  margin-right: 0.5rem;
  font-size: 1rem;
}
.chairman_name {
  font-size: 1.5rem;
}
.chairman_position02 {
  font-size: 0.875rem;
}

.concept {
  position: relative;
  padding: 0;
  background: #425267;
  color: #fcfdfe;
}
.concept_contents {
  display: grid;
  grid-template-columns: clamp(5rem, -2.836rem + 33.433vw, 12rem) 1fr;
  align-items: start;
  gap: 0;
  max-width: 1000px;
  margin-inline: auto;
}
.concept_ttl {
  position: sticky;
  top: 0;
  grid-column: 1;
  grid-row: 1/4;
  justify-items: center;
  padding-bottom: clamp(2.5rem, -0.299rem + 11.94vw, 5rem);
}
.concept h2 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin: 0;
  font-size: 2rem;
  font-weight: 500;
  font-feature-settings: "palt";
  line-height: 1.2;
  letter-spacing: 0.3rem;
  writing-mode: vertical-rl;
}
.concept h2::before {
  content: "";
  width: 1px;
  height: 4rem;
  background: #fff;
}
.concept .concept_unit {
  grid-column: 2;
  top: 10px;
  max-width: 1000px;
  padding: clamp(2.5rem, -0.299rem + 11.94vw, 5rem) clamp(1rem, 0.44rem + 2.388vw, 1.5rem) clamp(3.75rem, -0.448rem + 17.91vw, 7.5rem) 0;
  background: #425267;
  border-top: 1px solid #fcfdfe;
  letter-spacing: 0.05rem;
}
@container (min-width: 710px) {
  .concept .concept_unit {
    position: sticky;
    margin-bottom: 4rem;
  }
}
.concept .concept_unit hgroup {
  font-feature-settings: "palt";
}
.concept .concept_unit hgroup h3 {
  margin-top: 0;
  font-size: 1.5rem;
  font-weight: 500;
  color: #f2EFCF;
  line-height: 1.5;
  letter-spacing: 0.1rem;
}
.concept .concept_unit hgroup span {
  font-family: "Aboreto", serif;
}
.concept .concept01 {
  border-top: none;
}
.concept .concept03 {
  padding-bottom: 0;
}
@container (min-width: 710px) {
  .concept .concept03 {
    margin-bottom: 5rem;
  }
}
.concept_deco {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  margin: 0;
  pointer-events: none;
}
.concept_deco-contents {
  position: sticky;
  top: 0;
  right: 0;
  margin: 0;
  font-size: clamp(5rem, 0.522rem + 19.104vw, 9rem);
  font-family: "Aboreto", serif;
  font-feature-settings: "palt";
  line-height: 0.75;
  opacity: 0.1;
  font-kerning: normal;
  letter-spacing: -0.1em;
}

.outline {
  padding: clamp(2.5rem, -0.299rem + 11.94vw, 5rem) clamp(1rem, 0.44rem + 2.388vw, 1.5rem) 0;
}
.outline .dt_list01 {
  max-width: 1000px;
  margin-inline: auto;
  font-size: 1.125rem;
}
.outline .fzs {
  display: inline-block;
  font-size: 0.875rem;
}

.program {
  padding: clamp(2.5rem, -0.299rem + 11.94vw, 5rem) clamp(1rem, 0.44rem + 2.388vw, 1.5rem) 0;
}
.program_contents {
  max-width: 1000px;
  margin-inline: auto;
}
.program_anchor {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  list-style: none;
  padding-left: 0;
  margin-bottom: 2rem;
}
.program_anchor li {
  width: calc(50% - 0.5rem);
}
@container mainClm (min-width: 710px) {
  .program_anchor li {
    width: 20%;
    max-width: 160px;
  }
}
.program_anchor a {
  position: relative;
  display: block;
  padding: 0.5rem 1rem 1.5rem;
  color: #3A3D40;
  background: rgba(255, 255, 255, 0.5);
  text-decoration: none;
  border: 1px solid #E0ECEE;
  text-align: center;
  line-height: 1.3;
  transition: 0.2s;
}
.program_anchor a::before {
  position: absolute;
  bottom: 0.5rem;
  left: 50%;
  transform: translateX(-50%);
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f078";
  font-weight: 900;
  color: #b38249;
  transition: 0.2s;
}
.program_anchor a:hover {
  background: #fff;
  border: 1px solid #c89f63;
}
.program_anchor a:hover::before {
  bottom: 0.35rem;
}
.program_anchor span {
  font-size: 0.75rem;
}

.registration {
  padding: clamp(2.5rem, -0.299rem + 11.94vw, 5rem) clamp(1rem, 0.44rem + 2.388vw, 1.5rem);
}
.registration_contents {
  max-width: 1000px;
  margin-inline: auto;
}
.registration_aside {
  margin-top: 2rem;
  padding: clamp(1rem, 0.44rem + 2.388vw, 1.5rem);
  border: 4px solid #E0ECEE;
  background: #fff;
}
.registration_aside h4 {
  margin: 0;
  padding: 0 0.25rem 0.25rem;
  font-size: clamp(1rem, 0.86rem + 0.597vw, 1.125rem);
  border-bottom: 1px solid #E0ECEE;
}
.registration_aside .aside_body {
  display: flex;
  gap: 1rem;
}
.registration_aside .aside_img {
  flex-shrink: 1;
  min-width: 80px;
}
.registration_aside .aside_txt {
  font-size: 0.875rem;
}
@container (min-width: 710px) {
  .registration_seminar .seminar {
    display: flex;
    justify-content: center;
    gap: 2.5rem;
  }
}
.registration_seminar .seminars {
  width: 80%;
  margin: auto;
}
@container (min-width: 710px) {
  .registration_seminar .seminars {
    width: 40%;
    max-width: 360px;
    margin: 0;
  }
}
.registration_seminar .headline03 {
  font-size: clamp(1rem, 0.86rem + 0.597vw, 1.125rem);
}
@container (min-width: 710px) {
  .registration_seminar .headline03 {
    margin-top: 0;
  }
}

.meeting {
  position: relative;
  padding: clamp(2.5rem, -0.299rem + 11.94vw, 5rem) clamp(1rem, 0.44rem + 2.388vw, 1.5rem);
  background-image: url("../img/img_bg_wh.svg"), linear-gradient(90deg, rgba(2, 115, 180, 0.2), rgba(113, 185, 203, 0.2));
  background-attachment: fixed, fixed;
  background-position: top right, top right;
  background-repeat: no-repeat, no-repeat;
  background-size: 70vw auto, 100% 100%;
}
@media screen and (min-width: 1025px) {
  .meeting {
    background-size: 30vw auto, 100% 100%;
  }
}
.meeting_contents {
  max-width: 1000px;
  margin-inline: auto;
  padding: clamp(1rem, 0.44rem + 2.388vw, 1.5rem);
  background: #fff;
}
.meeting hgroup {
  line-height: 1.5;
}
.meeting hgroup p {
  margin-block: 0;
  text-align: center;
  font-size: clamp(1.25rem, 0.97rem + 1.194vw, 1.5rem);
}
.meeting hgroup span {
  display: inline-block;
}
.meeting h2 {
  margin-top: 1rem;
  background: #425267;
  color: #fcfdfe;
  text-align: center;
  font-size: clamp(1.5rem, 0.94rem + 2.388vw, 2rem);
  font-weight: 600;
}
.meeting .headline03 {
  margin-top: 2.5rem;
}
.meeting .headline03:first-of-type {
  margin-top: 0;
}

.membership {
  margin-top: 2.5rem;
  padding: clamp(1rem, 0.44rem + 2.388vw, 1.5rem);
  border: 4px solid #E0ECEE;
  background: #fff;
}
.membership h4 {
  margin: 0;
  padding: 0 0.25rem 0.25rem;
  font-size: clamp(1rem, 0.86rem + 0.597vw, 1.125rem);
  border-bottom: 1px solid #E0ECEE;
}
.membership_kinds {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 1.5rem;
}
@container mainClm (min-width: 710px) {
  .membership_kinds {
    flex-direction: row;
  }
}
.membership_kinds .kind {
  width: 100%;
  max-width: 240px;
  margin: 0 0 1.5rem;
  text-align: center;
}
.membership_kinds .kind dt {
  padding: 0.5rem 1rem;
  background: #E0ECEE;
  font-size: 0.875rem;
}
.membership_kinds .kind_ttl {
  display: block;
  width: 100%;
  border-bottom: 1px solid #fff;
  font-size: 1.25rem;
}
.membership_kinds .kind dd {
  margin-left: 0;
}
.membership_kinds .kind > dd {
  border: 1px solid #E0ECEE;
}
.membership_kinds .kind_fee {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  max-width: 180px;
  margin: auto;
}
.membership_kinds .kind_fee dt {
  width: -moz-max-content;
  width: max-content;
  padding: 0.25rem 1rem;
  background: none;
  font-size: 1rem;
  text-align: left;
}
.membership_kinds .kind_fee dd {
  width: 5rem;
  text-align: right;
}
.membership_aside {
  padding: clamp(1rem, 0.44rem + 2.388vw, 1.5rem) clamp(1rem, 0.44rem + 2.388vw, 1.5rem) 0;
  border: 1px solid #E0ECEE;
  font-size: 0.875rem;
}
.membership_aside h5 {
  margin: 0;
  font-size: 1.125rem;
  color: #486B8E;
}

.topics {
  padding: clamp(2.5rem, -0.299rem + 11.94vw, 5rem) clamp(1rem, 0.44rem + 2.388vw, 1.5rem) 0;
}
.topics .headline01 {
  margin-bottom: 0.5rem;
}
.topics_lists {
  max-width: 1000px;
  margin-inline: auto;
}

.webabstract {
  padding: clamp(2.5rem, -0.299rem + 11.94vw, 5rem) clamp(1rem, 0.44rem + 2.388vw, 1.5rem) 0;
}

.sponsor {
  padding: clamp(2.5rem, -0.299rem + 11.94vw, 5rem) clamp(1rem, 0.44rem + 2.388vw, 1.5rem) 0;
}
.sponsor_list {
  list-style: none;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  max-width: 648px;
  margin-inline: auto;
  padding-left: 0;
}
.sponsor_list li {
  display: flex;
  align-items: center;
  width: 150px;
  height: 128px;
  background: #fff;
  border-radius: 8px;
}
.sponsor_list a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 8px;
}
.sponsor_list img {
  width: 140px;
}

.access {
  padding: clamp(2.5rem, -0.299rem + 11.94vw, 5rem) clamp(1rem, 0.44rem + 2.388vw, 1.5rem) 0;
}
.access_place {
  margin-block: 0;
  font-size: 1.125rem;
  font-weight: 500;
}
.access_address {
  margin-block: 0 1rem;
  font-size: 0.875rem;
}

.gmap {
  width: 100%;
}
.gmap iframe {
  display: block;
  width: 100%;
  height: 320px;
}

.js-scroll_fade {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.5s ease;
  transition-delay: 0.1s;
}
.js-scroll_fade.same {
  transform: translateY(40px);
}
.js-scroll_fade.is-visible {
  opacity: 1;
  transform: none;
}