@charset "UTF-8";
/* CSS Document */

/**********************************************************
* CSS表記
**********************************************************/
:root {
  --black: #444444;
  --blue: #1bb8ce;
  --pink: #ec6d74;
  --font-ja-sans: "Noto Sans JP", sans-serif;
  --font-ja-serif: YakuHanMP, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
  --width-XL: min(100% - 40px, 1200px);
  --width-L: min(100% - 40px, 1000px);
  --width-M: min(100% - 40px, 800px);
}
body {
  color: var(--black); font-family: var(--font-ja-sans);
  -webkit-font-feature-settings: "palt";
  -moz-font-feature-settings: "palt";
  font-feature-settings: "palt"; 
}
main{font-size: 1rem; line-height: 2; overflow: clip;}
@media (width <= 768px) {main{font-size: 0.875rem;}}
img {pointer-events: none;}

/******　PC、スマホ・タブレット オンリー仕様　******/
@media (width <= 768px) {.pc_only {display: none;}}
@media not all and (width <= 768px) {.sp_only {display: none;}}

/**********************************************************
* メイン
**********************************************************/
.firstView {
  position: relative;
  width: var(--width-L);
  margin: 0 auto;
}
/* particles.js コンテナのスタイル */
.fv_particles {
  position: absolute;
  z-index: -2;
  top: 0;
  right: -90vw;
  width: 100vw;
  height: 101%;
  /* background-color: #122058; */
  background: linear-gradient(to bottom, #81cbff, #b5d1e8, #fbacc6);
}
@media (width <=768px) {
  .fv_particles {
    right: -75vw;
  }
}

.header {
  line-height: 1;
  padding: 25px 0 0;
  margin-bottom: clamp(30px, 8.333vw, 45px);
}
.header_logo {
  display: inline-block;
  line-height: 1;
  margin-bottom: 20px;
}
.header_logo img {
  width: clamp(200px, 36.46vw, 280px);
}
.header_txt .ad {
  font-size: 0.75rem;
  font-weight: 700;
  margin-bottom: 12px;
}
.header_txt .sponsored {
  font-size: 0.75rem;
  font-weight: 400;
}

.fv-title-shoulder {
  font-size: clamp(1rem, 4.444vw, 1.75rem);
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: var(--black);
  margin-bottom: 0.875em;
}
h1.fv-title {
  margin-bottom: clamp(25px, 6.944vw, 35px);
}
h1.fv-title img {
  width: 100%;
  aspect-ratio: 2;
  object-fit: cover;
  object-position: right bottom;
}

@media (width <=768px) {
  h1.fv-title {
    width: 100vw;
    margin-left:-20px;
  }
  h1.fv-title img {
    aspect-ratio: 1.44;
  }
}

.fv-credit {
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.fv-credit p {
  position: relative;
  padding-left: 34px;
  margin: 0;
  word-break: keep-all;
  overflow-wrap: break-word;
}
.fv-credit p:not(:last-child) {
  margin-bottom: 0.625rem;
}
.fv-credit p::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  font-size: 0.625rem;
  font-weight: 700;
  border-radius: 3px;
  padding: 1px 3px;
  color: #fff;
}
.fv-credit p:nth-child(1)::before {
  content: "主催";
  background-color: var(--blue);
}
.fv-credit p:nth-child(2)::before {
  content: "後援";
  background-color: var(--pink);
}

.lead_txt {
  width: 100%;
  padding-top: clamp(25px, 6.944vw, 35px);
}
.lead_txt_inner {
  padding: 0 12.5vw 0 0;
}
.lead_txt_inner p {
  text-align: justify;
  letter-spacing: 0.025em;
}
@media (width <=768px) {
  .lead_txt_inner {
    padding: 0;
  }
}

/* メインの記事部分・共通 */
.frontier_content {
  width: var(--width-M);
  margin: 0 auto;
}
.frontier_content_inner {
  padding-top: clamp(70px, 19.444vw, 120px);
}
.content_title {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.content_title_shoulder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 2.5rem;
  background: url(/adv/az_expo2025_heart/img/section_titleBack.png) no-repeat center/cover;
  border-radius: 9999px;
  margin-bottom: 2.5rem;
}
.content_title_shoulder img {
  width: auto;
  height: 1.125rem;
}
.content_title_text {
  width: 100%;
  font-family: var(--font-ja-serif);
  font-weight: 600;
}
.content_title_text_main {
  display: block;
  width: 100%;
  font-size: clamp(2.375rem, 6.944vw, 3.125rem);
  line-height: 1.25;
  text-align: center;
  word-break: keep-all;
  overflow-wrap: break-word;
}
.content_title_text_main .nowrap {
  display: inline-block;
}
.content_title_text_main .sub_title {
  display: block;
  font-size: clamp(1.25rem, 3.611vw, 1.75rem);
  line-height: 1;
  margin-top: 1.25rem;
}


.content_title_speaker {
  width: 100%;
}
/* 講演 */
.speaker_item_txt {
  width: 100%;
  font-size: 1.125rem;
  line-height: 1.6;
  font-weight: 700;
  text-align: center;
  border-top: 1px solid var(--black);
  padding-top: 1.875rem;
  margin-top: 2.5rem;
}
.speaker_item_name {
  display: block;
  font-size: 1.125rem;
  line-height: 1.6;
  font-weight: 700;
}
.speaker_item_name span {
  font-size: 0.6875rem;
}
.speaker_item_position {
  display: block;
  font-size: 0.6875rem;
  line-height: 1.6;
  font-weight: 400;
  word-break: keep-all;
  overflow-wrap: break-word;
}

/* トークセッション */
.speaker_list_inner {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-top: clamp(2.5rem, 7.292vw, 3.125rem);
}
.another_speaker {
  font-size: 0.75rem;
  line-height: 1;
  font-weight: 700;
  text-align: right;
  margin-top: clamp(1.25rem, 3.472vw, 1.875rem);
}
.speaker_list_title {
  font-size: 0.75rem;
  line-height: 1.6;
  font-weight: 700;
  text-align: center;
  color: var(--blue);
  border: 1px solid var(--blue);
  padding: 0.5rem 0;
  margin-bottom: clamp(1.375rem, 3.889vw, 1.875rem);
}
.speaker_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  justify-content: space-between;
  gap: 2.5rem;
}
@media (width < 570px) {
  .speaker_list {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
  }
}
.speaker_item {
  width: 100%;
  min-width: 150px;
}
.speaker_item_img {
  width: 100%;
  margin-bottom: 1rem;
}
.speaker_item_img img {
  width: 100%;
  height: 8.75rem;
  object-fit: cover;
}
.speaker_item .speaker_item_position {
  word-break: normal;
  overflow-wrap: normal;
}

.content_text {
  width: 100%;
}
.content_text_item {
  padding-top: 4.375rem;
}
.content_text_item h3 {
  position: relative;
  font-size: clamp(1.375rem, 3.889vw, 1.875rem);
  line-height: 1.364;
  font-weight: 700;
  letter-spacing: 0.025em;
  padding-bottom: 1em;
  margin-bottom: 1em;
  word-break: keep-all;
  overflow-wrap: break-word;
}
.content_text_item h3::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 5px;
  background: linear-gradient(to right, var(--blue), var(--pink));
}
.content_text_item p {
  text-align: justify;
  letter-spacing: 0.025em;
} 
.content_text_item .talkTheme {
  display: inline-block;
  font-weight: 700;
  margin-top: 2rem;
}
.content_text_item .talkTheme:first-child {
  margin-top: 0;
}
.content_text_item .talkName {
  font-weight: 700;
  color: var(--blue);
}

/* トピックス */
.topics_content {
  width: 100%;
  padding: clamp(80px, 22.222vw, 120px) 0 0;
}
.topics_content_inner {
  position: relative;
  width: var(--width-M);
  margin: 0 auto;
  padding: 60px 0 30px 30px;
  /* Safari対応のための追加プロパティ */
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
}
.topics_content_inner::before{
  mix-blend-mode: multiply;
  -webkit-mix-blend-mode: multiply;
  position: absolute;
  top: -30px;
  left: clamp(20px, 5.556vw, 30px);
  z-index: 2;
  content: "";
  display: block;
  width: 200px;
  aspect-ratio: 3.54;
  background: url(/adv/az_expo2025_heart/img/topics_logo.svg) no-repeat center/cover;
  /* Safari対応のための追加プロパティ */
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  will-change: transform;
}
.topics_content_inner::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -5;
  content: "";
  display: block;
  width: 100vw;
  height: 100%;
  background: url(/adv/az_expo2025_heart/img/topics_texture.png) no-repeat center/cover;
}
.topics_detail {
  display: flex;
  flex-direction: column;
  gap: clamp(1.25rem, 3.472vw, 1.875rem);
  width: 100%;
}
.topics_title {
  font-weight: 700;
  font-size: clamp(1.125rem, 3.889vw, 1.5rem);
  line-height: 1.333;
  letter-spacing: 0.025em;
  word-break: keep-all;
  overflow-wrap: break-word;
}
.topics_item {
  display: flex;
  flex-direction: row;
  gap: clamp(1.25rem, 3.472vw, 1.875rem);
}
.topics_img {
  width: 100%;
}
.topics_img img {
  width: 100%;
  min-width: 240px;
  height: 100%;
  aspect-ratio: 1.143;
  object-fit: cover;
}
.topics_txt {
  font-size: 0.875rem;
  letter-spacing: 0.025em;
  text-align: justify;
}
@media (width <=768px) {
  .topics_content_inner {
    position: relative;
    padding: 60px 0 clamp(20px, 5.556vw, 30px);
  }
  .topics_content_inner::after {
    left: -20px;
  }
  .topics_item {
    flex-direction: column;
  }
  .topics_img {
    min-width: auto;
  }
  .topics_img img {
    width: 100%;
    height: auto;
    aspect-ratio: 1.524;
  }
}


/* 全ページ共通 */
.annotation_note {
  font-size: 0.625rem;
  font-weight: 400;
  line-height: 1;
  margin-top: 2em;
}
.frontier_img {
  width: 100%;
  margin: 40px auto 0;
}
.frontier_img img {
  width: 100%;
  aspect-ratio: 2;
  object-fit: cover;
}
@media (width <=768px) {
  .frontier_img img {
    aspect-ratio: 1.6;
  }
}

/* スポンサー・ロゴ */
.sponsorLogo {
  width: 100%;
  padding: clamp(40px,11.111vw,90px) 0 30px;
  text-align: center;
}
.sponsorLogo a {
  display: inline-block;
}
.sponsorLogo a img {
  width: clamp(320px, 88.889vw, 360px);
}
.sponsoredAZ_txt {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.sponsoredAZ_txt img {
  width: auto;
  height: 0.875rem;
}
