@charset "UTF-8";
/*======================================
  第38回 専用追加スタイル（ロゴ・ヒーロー・準備中）
  ※前回サイトの構造を踏襲しつつ追加した分のみ。
======================================*/

/*--- テキストロゴ（後日画像差し替え前提） ---*/
.site-logo {
  display: flex;
  align-items: center;
  gap: 12px;
  line-height: 1.25;
}

.site-logo__icon {
  width: 46px;
  height: 46px;
  flex: none;
  border-radius: 8px;
  object-fit: cover;
  box-shadow: 0 1px 4px rgba(12, 79, 138, 0.25);
}

.site-logo__text {
  display: block;
  font-weight: 700;
  color: #0c4f8a;
  font-size: 17px;
  letter-spacing: 0.02em;
}

.site-logo__no {
  color: #1c7fc4;
  margin-right: 0.15em;
}

.site-logo__en {
  display: block;
  font-size: 10px;
  font-weight: 500;
  color: #5a8bb0;
  letter-spacing: 0.01em;
  margin-top: 2px;
}

/* PC上部の下層ヘッダー内ロゴ */
.lower-header .site-logo__icon {
  width: 54px;
  height: 54px;
}

.lower-header .site-logo__text {
  font-size: 22px;
}

.lower-header .site-logo__en {
  font-size: 12px;
}

/* モバイルのヘッダーバー内ロゴ */
@media screen and (max-width: 1000px) {
  .header-logobox .site-logo__icon {
    width: 40px;
    height: 40px;
  }

  .header-logobox .site-logo__text {
    font-size: 15px;
  }

  .header-logobox .site-logo__en {
    display: none;
  }
}

@media screen and (max-width: 480px) {
  .header-logobox .site-logo__text {
    font-size: 12.5px;
  }
}

/*--- トップ ヒーロー（月モチーフ） ---*/
.hero38 {
  position: relative;
  background: url(../img/common/bg.png) center top / cover no-repeat, linear-gradient(180deg, #7cb8e4 0%, #a9d3ef 45%, #d6ebf9 100%);
  overflow: hidden;
}

.hero38__inner {
  max-width: 1180px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 88px 5% 80px;
  box-sizing: border-box;
}

.hero38__text {
  flex: 1 1 52%;
  min-width: 0;
  container-type: inline-size;
  color: #0a3a63;
  --hero38-theme-size: 30px;
  --hero38-theme-sub-size: 26px;
}

.hero38__title-img {
  margin: 0 0 24px;
}

.hero38__title-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
  flex-wrap: wrap;
}

.hero38__title-row:last-child {
  margin-bottom: 0;
}

.hero38__img-no,
.hero38__img-name1,
.hero38__img-name2 {
  height: 56px;
  height: clamp(28px, 6.5cqi, 56px);
  width: auto;
  display: inline-block;
  vertical-align: middle;
  filter: drop-shadow(0 2px 4px rgba(10, 58, 99, 0.3)) drop-shadow(0 4px 12px rgba(10, 58, 99, 0.15));
}

.hero38__en-img {
  margin: 0 0 30px;
}

.hero38__en-img img {
  height: 24px;
  height: clamp(12px, 2.8cqi, 24px);
  width: auto;
  display: block;
}

.hero38__theme-img {
  margin: 0 0 40px;
}

.hero38__img-theme1 {
  height: 46px;
  height: clamp(26px, 5.5cqi, 46px);
  width: auto;
  display: inline-block;
  margin-bottom: 6px;
}

.hero38__img-theme2 {
  height: 42px;
  height: clamp(24px, 5cqi, 42px);
  width: auto;
  display: inline-block;
}

.hero38__meta {
  margin: 0;
  background: rgba(255, 255, 255, 0.66);
  border-radius: 8px;
  padding: 20px 24px;
  backdrop-filter: blur(2px);
}

.hero38__meta>div {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 10px 0;
}

.hero38__meta>div+div {
  border-top: 1px dashed rgba(12, 79, 138, 0.3);
}

.hero38__meta>div:first-child {
  padding-top: 0;
}

.hero38__meta>div:last-child {
  padding-bottom: 0;
}

.hero38__meta dt {
  flex: none;
  width: 3.4em;
  text-align: center;
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  background: #1c7fc4;
  border-radius: 4px;
  padding: 4px 0;
}

.hero38__meta dd {
  flex: 1 1 0%;
  margin: 0;
  min-width: 0;
  padding-top: 3px;
}

.hero38__meta-main-img,
.hero38__meta-link-img {
  display: inline-block;
  text-decoration: none;
}

.hero38__meta-link-img:hover {
  opacity: 0.75;
}

.hero38__meta img {
  width: auto;
  max-width: 100%;
  display: block;
}

.hero38__meta-img-day {
  height: 31px;
  height: clamp(22px, 3.6cqi, 31px);
}

.hero38__meta-img-venue1 {
  height: 31px;
  height: clamp(22px, 3.6cqi, 31px);
}

.hero38__meta-sub-img {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
}

.hero38__meta-sub-img+.hero38__meta-sub-img {
  margin-top: 12px;
}

.hero38__meta-img-venue2 {
  height: 31px;
  height: clamp(22px, 3.6cqi, 31px);
}

.hero38__meta-img-venue3 {
  height: 16px;
  height: clamp(12px, 1.8cqi, 16px);
}

.hero38__meta-img-chairman1 {
  height: 31px;
  height: clamp(22px, 3.6cqi, 31px);
}

.hero38__meta-img-chairman2 {
  height: 16px;
  height: clamp(12px, 1.8cqi, 16px);
}

.hero38__meta-img-chairman3 {
  height: 16px;
  height: clamp(12px, 1.8cqi, 16px);
}

.hero38__visual {
  flex: 0 0 42%;
  text-align: center;
}

.hero38__visual img {
  width: 100%;
  max-width: 460px;
  filter: drop-shadow(0 4px 14px rgba(12, 79, 138, 0.28));
}

@media screen and (max-width: 900px) {
  .hero38__inner {
    flex-direction: column-reverse;
    padding: 30px 6% 34px;
  }

  .hero38__text,
  .hero38__visual {
    flex: 1 1 100%;
    width: 100%;
  }

  .hero38__visual img {
    max-width: 340px;
  }

  .hero38__title-row {
    gap: 8px;
    margin-bottom: 6px;
  }

  .hero38__meta dt {
    font-size: 13px;
    flex: 0 0 48px;
    padding: 1px 6px;
  }

  .hero38__meta dd {
    padding-top: 2px;
  }
}

@media screen and (max-width: 480px) {
  .hero38__title-row {
    gap: 6px;
    margin-bottom: 4px;
  }

  .hero38__meta dt {
    font-size: 12px;
    flex: 0 0 44px;
    padding: 1px 4px;
  }

  .hero38__meta dd {
    padding-top: 1px;
  }
}

/*--- 準備中ブロック ---*/
.prep {
  max-width: 600px;
  margin: 30px auto 10px;
  text-align: center;
  background: #f4f9fd;
  border: 1px solid #cfe2f3;
  border-radius: 12px;
  padding: 48px 24px 44px;
}

.prep__icon {
  width: 76px;
  height: 76px;
  border-radius: 10px;
  object-fit: cover;
  box-shadow: 0 2px 8px rgba(12, 79, 138, 0.2);
}

.prep__main {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 500;
  font-size: 28px;
  letter-spacing: 0.12em;
  color: #0c4f8a;
  margin: 18px 0 10px;
}

.prep__sub {
  font-size: 15px;
  color: #4a6f8e;
  line-height: 1.8;
  margin: 0;
}

@media screen and (max-width: 600px) {
  .prep {
    padding: 36px 16px 32px;
  }

  .prep__main {
    font-size: 23px;
  }

  .prep__sub {
    font-size: 13.5px;
  }
}

/* 日本語大文字タイトル専用スタイル */
.sectit-large-ja {
  font-size: 24px;
  color: #0c4f8a;
  font-family: "M PLUS Rounded 1c", sans-serif;
  letter-spacing: 0.05em;
  font-weight: 500;
  line-height: 1.4;
}

@media screen and (max-width: 768px) {
  .sectit-large-ja {
    /* スマホで学会名が不自然に改行されないようサイズを縮小 */
    font-size: 18px;
  }
}

/* プロフィールエリア：PC表示時の左右反転とテキスト右揃え */
@media screen and (min-width: 766px) {
  .profile-reverse .flexbox {
    flex-direction: row-reverse;
    justify-content: flex-start;
    /* 全体を右側（写真側）に寄せる場合は flex-start (反転しているため) */
  }

  .profile-reverse .textbox {
    text-align: right;
    /* テキストの各行を右端（写真側）に揃える */
  }

  .profile-reverse .profile-img-small {
    max-width: 250px;
    margin: 0 0 0 30px;
    /* 写真の左側に30pxの余白を設ける */
  }
}

/* プロフィールエリア：SP表示時の画像サイズ調整（並び順とテキスト揃えは標準を維持） */
@media screen and (max-width: 765px) {
  .profile-reverse .profile-img-small {
    max-width: 300px;
    margin: 0 auto 20px auto;
    /* 写真の下に余白を追加してテキストとの間隔を確保 */
  }

  .profile-reverse .textbox {
    text-align: center;
    /* SP表示時は中央揃えが見やすい場合は設定（不要なら削除） */
  }
}

/*======================================
  第38回 ヒーローセクション 中央揃え調整
======================================*/
/* 新設したラッパーでテキスト群全体を中央揃えに設定 */
.hero38__header-group {
  text-align: center;
  width: 100%;
}

/* 既存のflex-start(左寄せ)を中央寄せ(center)に上書き */
.hero38__header-group .hero38__title-row {
  justify-content: center;
}

/* 英語表記の画像ブロックを中央に配置 */
.hero38__header-group .hero38__en-img img {
  margin: 0 auto;
}