@charset "UTF-8";

/*--------------------------------------------------------
 ページスタイル
--------------------------------------------------------*/

/* =======================================
　P00.トップページ
======================================= */
/*----- リードエリア -----*/
/* セクション */
.wp-block-snow-monkey-blocks-section.smb-section.lead-section.toppage {
  min-height: 48vw;
  padding-top: 0 !important;
  padding-bottom: 80px !important;
  align-items: flex-start;
  margin-top: -1vw;
}

.wp-block-snow-monkey-blocks-section.smb-section.lead-section.toppage .smb-section__fixed-background {
  background: url(../../images/p00-toppage/p00-lead-mask.webp) no-repeat center top, var(--color-primary);
  background-size: contain;
}

.lead-section.toppage .smb-section__body {
  margin-top: -1vw;
}


/* タイトル部 */
.wp-block-group.lead-section-title {
  margin-bottom: 4vw;
}

.wp-block-group.lead-section-title h2 {
  font-size: 48px;
  letter-spacing: 4px;
}


@media screen and (max-width: 1024px) {

  /* タイトルエリア */
  .wp-block-group.lead-section-title {
    margin-top: -8vw;
  }

  figure.wp-block-image.toppage-lead-icon {
    width: 150px !important;
  }

  .wp-block-group.lead-section-title h2 {
    font-size: 32px;
    letter-spacing: 4px;
  }

  /* グリッド */
  .wp-block-group.toppage-lead-grid {
    gap: 20px !important;
  }

  h3.wp-block-heading.no-style {
    font-size: 24px !important;
    margin-bottom: 16px !important;
  }
}


@media screen and (max-width: 781px) {
  .wp-block-group.toppage-lead-grid {
    display: grid;
    grid-template-columns: 1fr;
  }
}


@media screen and (max-width: 639px) {
  .wp-block-snow-monkey-blocks-section.smb-section.lead-section.toppage {
    margin-top: 8vw;
  }

  .wp-block-group.lead-section-title {
    margin-top: 0;
  }
}


@media screen and (max-width: 399px) {
  .wp-block-snow-monkey-blocks-section.smb-section.lead-section.toppage {
    margin-top: 160px;
  }

  .wp-block-group.lead-section-title {
    margin-top: -120px;
  }

  figure.wp-block-image.toppage-lead-icon {
    width: 100px !important;
  }
}




/*----- 協会について -----*/
/* タイトルアクセント */
.about-section.toppage p.font-accent.title-accent {
  font-size: max(8vw, 48px) !important;
  font-weight: 600;
  line-height: 1;
}


/* コンテンツ */
.wp-block-snow-monkey-blocks-box.smb-box.about-content-box p.font-accent.tag {
  background: var(--color-primary);
  color: #FFF;
  font-weight: 600;
  padding: 4px 8px;
  line-height: 1;
}

.wp-block-snow-monkey-blocks-box.smb-box.about-content-box p.font-accent.number {
  color: var(--color-primary);
  font-weight: 600;
  padding: 0;
  line-height: 1;
  font-size: 40px;
}

/* Fixedコンテンツ */
.wp-block-group.fixed-contents {
  position: sticky;
  top: 100px;
  align-self: flex-start;
}



@media (max-width: 1023px) {

  /* タイトル部 */
  figure.wp-block-image.toppage-about-icon {
    width: 180px !important;
  }

  /* 推薦人 */
  .wp-block-snow-monkey-blocks-box.smb-box.toppage-recommend-box {
    width: 80%;
    margin: 0 auto;
  }
}


@media (max-width: 399px) {
  .wp-block-snow-monkey-blocks-box.smb-box.toppage-recommend-box {
    width: calc(100% - 32px);
    margin: -80px auto 0;
  }

  figure.wp-block-image.toppage-about-icon {
    width: 130px !important;
  }
}





/*----- 開催レポート -----*/
/* セクション */
.wp-block-snow-monkey-blocks-section.smb-section.report-section.toppage .smb-section__fixed-background {
  background: url(../../images/p00-toppage/p00-bg-report.webp) no-repeat center top, var(--color-gray02);
  background-size: contain;
}

@media (max-width: 1023px) {
  figure.wp-block-image.size-full.is-resized.report-title-icon {
    width: 160px;
    margin-top: 56px;
  }
}


@media (max-width: 399px) {
  figure.wp-block-image.size-full.is-resized.report-title-icon {
    width: 130px;
    margin-top: 80px;
  }
}



/*-- レポート投稿カルーセル（ここから） --*/
.report-carousel-wrapper {
  position: relative;
  width: 100%;
  margin: 0 auto;
}

.report-carousel-container {
  position: relative;
  width: 100%;
  padding: 0 60px;
  box-sizing: border-box;
}

.report-carousel-track {
  width: 100%;
  overflow: hidden;
  position: relative;
}

.report-carousel-slides {
  display: flex;
  transition: transform 0.5s ease-in-out;
  will-change: transform;
}

.report-carousel-slide {
  flex: 0 0 calc(100% / 3);
  padding: 0 15px;
  box-sizing: border-box;
}


/* 投稿コンテンツ調整 */
.report-carousel-slide article.news {
  background: #FFF;
  padding: 16px 16px 24px;
  border-radius: 16px;
  margin-bottom: 0;
}

.report-carousel-slide article.news .news_pic {
  border-radius: 4px;
}

/* テキスト部 */
.report_content {
  padding: 16px;
  gap: 16px;
  display: flex;
  flex-direction: column;
}

/* カルーセル内タクソノミー表示 */
.report-carousel-taxonomy {
  margin-bottom: 4px;
}

.report-carousel-taxonomy .taxonomy-terms {
  font-size: 12px;
  line-height: 1.4;
}

.report-carousel-taxonomy .report-carousel-term {
  color: var(--color-primary);
  text-decoration: none;
}

.report-carousel-taxonomy .report-carousel-term:hover {
  text-decoration: underline;
}


/* 投稿タイトル */
.report-carousel-slide h2.news_title {
  font-size: 24px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  font-feature-settings: "palt";
  text-decoration: none;
}

/* 詳しく見るボタン */
.news_desc.report-more p {
  margin-bottom: 0;
}

.news_desc.report-more a {
  color: var(--color-primary);
  font-weight: 600;
  padding: 0;
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0;
  font-feature-settings: "palt";
  text-decoration: none;
}

.news_desc.report-more a::after {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  background-image: url(../../images/common/btn-arrow-main.webp);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  margin-left: 8px;
  vertical-align: -5px;
}


@media (max-width: 1023px) {
  .report-carousel-slide {
    flex: 0 0 100%;
  }
}

.report-carousel-slide .news_pic {
  position: relative;
  width: 100%;
  padding-top: 80%;
  /* 28/35 = 0.8 = 80% */
  overflow: hidden;
  display: block;
}

.report-carousel-slide .news_pic a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
}

.report-carousel-slide .news_pic img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}

.report-carousel-slide article.news .news_pic img {
  height: 100% !important;
  width: 100% !important;
}

.report-carousel-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  z-index: 10;
  padding: 10px;
  transition: opacity 0.3s ease;
}

.report-carousel-arrow:hover {
  opacity: 0.7;
}

.report-carousel-arrow:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

.report-carousel-prev {
  left: 0;
}

.report-carousel-next {
  right: 0;
}

.report-carousel-arrow img {
  width: 30px;
  height: 52px;
  display: block;
}

.report-carousel-prev img.arrow-left {
  transform: scaleX(1);
}

.report-carousel-next img.arrow-right {
  transform: scaleX(-1);
}

.report-carousel-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-top: 30px;
  padding: 0;
}

.report-carousel-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #FFF;
  cursor: pointer;
  padding: 0;
  transition: all 0.3s ease;
}

.report-carousel-dot:hover {
  background: var(--color-primary, #333);
  opacity: 0.7;
}

.report-carousel-dot.active {
  background: var(--color-primary, #333);
}


@media (max-width: 1200px) {
  .report-carousel-container {
    padding: 0 50px;
  }
}


@media (max-width: 768px) {
  .report-carousel-container {
    padding: 0 40px;
  }

  .report-carousel-arrow img {
    width: 30px;
    height: 52px;
  }
}

@media (max-width: 639px) {
  .report-carousel-container {
    padding: 0 32px;
  }

  .report-carousel-arrow img {
    width: 15px;
    height: 26px;
  }

  .report-carousel-slide {
    padding: 0;
  }
}


/*-- レポート投稿カルーセル（ここまで） --*/




/*----- 新着情報 -----*/
/* タイトルアクセント */
.news-section.toppage p.font-accent.title-accent {
  font-size: max(8vw, 48px) !important;
  font-weight: 600;
  line-height: 1;
}

@media (max-width: 1023px) {
  figure.wp-block-image.news-title-icon {
    width: 130px !important;
  }
}


/* タブのスタイル */
.news-tab-wrap .smb-tabs__tabs {
  gap: 4px;
}

.news-tab-wrap .smb-tabs__tab[aria-selected="true"] {
  background-color: var(--color-primary);
  color: var(--color-wh);
  border: 6px solid var(--color-primary);
  border-radius: 8px 8px 0 0 !important;
}

.news-tab-wrap .smb-tabs[data-orientation=horizontal]>.smb-tabs__tabs {
  margin-bottom: 0;
}

.news-tab-wrap .smb-tabs__tab[aria-selected="false"] {
  background-color: var(--color-wh);
  color: var(--color-primary-font-main);
  border-radius: 8px 8px 0 0 !important;
  opacity: 1;
}

.news-tab-wrap .smb-tabs__tab[aria-selected="false"]:hover {
  background-color: var(--color-primary);
  color: var(--color-wh);
  opacity: 1;
}

.news-tab-wrap .smb-tabs__body {
  border: 6px solid var(--color-primary);
}

.wp-block-snow-monkey-blocks-tabs.smb-tabs.news-tab-wrap .wp-block-group.is-vertical.is-layout-flex.wp-container-core-group-is-layout-438e4d21.wp-block-group-is-layout-flex {
  border-bottom: 1px solid var(--color-primary);
  padding: 32px 16px !important;
  max-width: 100%;
}

h3.wp-block-post-title a {
  text-decoration: none !important;
}

.taxonomy-category.cate-style.wp-block-post-terms a {
  text-decoration: none;
  font-size: 12px;
  border: 1px solid var(--color-primary);
  padding: 2px 8px;
}


@media (max-width: 399px) {
  .wp-block-snow-monkey-blocks-tabs.smb-tabs.news-tab-wrap .wp-block-snow-monkey-blocks-tab-panel.smb-tab-panel {
    padding: 0;
  }

  figure.wp-block-image.news-title-icon {
    width: 110px !important;
  }
}


/*----- 代表メッセージ -----*/
/* セクション */
.wp-block-snow-monkey-blocks-section.smb-section.message-section.toppage .smb-section__fixed-background {
  background: url(../../images/p00-toppage/p00-bg-message.webp) no-repeat center top, var(--color-wh);
  background-size: contain;
}

/* タイトル部 */
.wp-block-group.message-title-group-wrap {
  margin-top: 5vw;
}

.wp-block-group.message-title-group p.font-accent.title-accent {
  font-size: max(8vw, 48px) !important;
  font-weight: 600;
  line-height: 1;
}

/* テキストコンテンツ部 */
.wp-block-snow-monkey-blocks-container.smb-container.c-container.message-text .smb-container__body {
  border-left: 3px solid var(--color-gray01);
  border-right: 3px solid var(--color-gray01);
  padding: 40px 80px;
  margin-top: 80px;
}


@media (max-width: 399px) {
  .wp-block-snow-monkey-blocks-container.smb-container.c-container.message-text .smb-container__body {
    border-left: none;
    border-right: none;
    padding: 0 24px;
    box-sizing: border-box;
    margin: 40px 0;
  }
}



/*----- クイズ -----*/
/* セクション */
.wp-block-snow-monkey-blocks-section.smb-section.quiz-section {
  padding: 80px 16px 8vw;
  margin-top: 10vw;
}

/* タイトル部 */
.wp-block-group.quiz-title-group {
  margin-top: -12vw;
}

.wp-block-image.quiz-accent-image {
  margin-bottom: -2vw;
  width: 17vw;
}

.quiz-section p.font-accent.title-accent {
  font-size: 14vw !important;
  font-weight: 600;
  line-height: 1;
}

/* h2グループ */
.wp-block-group.quiz-heading-group {
  border-top: 1px solid var(--color-primary);
  border-bottom: 1px solid var(--color-primary);
  padding: 32px 24px;
  margin: 48px;
}


@media (max-width: 1023px) {

  /* タイトル部 */
  .wp-block-group.quiz-title-group {
    margin-top: -22vw;
  }

  .wp-block-image.quiz-accent-image {
    margin-bottom: -1vw;
    width: 36vw;
  }
}



@media (max-width: 781px) {
  .wp-block-buttons.large-btn-wh.quiz-btn a.wp-block-button__link {
    font-size: 24px !important;
  }
}


@media (max-width: 399px) {
  .wp-block-group.quiz-heading-group {
    margin: 24px 0;
  }

  .wp-block-buttons.large-btn-wh.quiz-btn a.wp-block-button__link {
    font-size: 18px !important;
  }


  .wp-block-image.quiz-accent-image {
    margin-bottom: 1vw;
    width: 56vw;
  }
}


/* =======================================
　P01.協会について
======================================= */
/*----- 役員・メンバー -----*/
.wp-block-image.member-profile-image.r4 img {
  max-width: 300px;
  width: 100%;
}



/* =======================================
P03.個人会員向け
======================================= */

/*----- 会員特典 -----*/
/* タイトル部 */
.wp-block-group.special-bonus-content-title p.nunber {
  /* width: 80px; */
  white-space: nowrap;
}

h3.wp-block-heading.no-style {
  margin-top: 8px;
}

@media (max-width: 781px) {
  .wp-block-columns.special-bonus-col {
    gap: 24px !important;
  }

  .wp-block-group.environmental-support-grid {
    display: grid;
    grid-template-columns: 1fr;
  }
}


@media (max-width: 399px) {
  .wp-block-group.special-bonus-content-title p.nunber {
    font-size: 40px !important;
    padding-top: 10px !important;
  }
}



/* =======================================
　P04.賛助会員向け
======================================= */

@media (max-width: 781px) {
  .wp-block-group.supporting-member-benefit-grid {
    display: grid;
    grid-template-columns: 1fr;
  }
}




/* =======================================
　P05.講演会・機関誌について
======================================= */

@media (max-width: 781px) {
  .wp-block-group.needs-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
  }
}



/* =======================================
　06.協賛企業
======================================= */

.wp-block-group.sponsor-grid {
  display: grid;
}

@media (max-width: 781px) {
  .wp-block-group.sponsor-grid {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 639px) {
  .wp-block-group.sponsor-grid {
    grid-template-columns: 1fr !important;
  }
}



/* =======================================
　07.クイズ
======================================= */
.wp-block-group.quiz-select-grid {
  display: grid;
}


@media (max-width: 781px) {
  .wp-block-group.quiz-select-grid {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 639px) {
  .wp-block-group.quiz-select-grid {
    grid-template-columns: 1fr !important;
  }
}



/* =======================================
　LP（IRセミナー）
======================================= */

/*----- リードエリア -----*/
/* セクション */
.wp-block-snow-monkey-blocks-section-with-bgimage.lp-lead-section {
  padding-top: 10vw;
  padding-bottom: 8vw;
  min-height: 50vw;
}


/* h2見出し */
h2.lp-lead-heading {
  text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.15);
}

h2.lp-lead-heading span.large {
  font-size: 80px;
}



@media (max-width: 399px) {

  /* セクション */
  .wp-block-snow-monkey-blocks-section-with-bgimage.smb-section.lp-lead-section.sp-padding {
    padding-top: 36vw !important;
  }

  /* 見出し */
  h2.lp-lead-heading {
    line-height: 150%;
  }

  h2.lp-lead-heading span.large {
    font-size: 40px;
  }

  h2.lp-lead-heading span.small {
    font-size: 24px;
  }
}



/*----- 過去の開催実績 -----*/
/* セクション */
.wp-block-snow-monkey-blocks-section.smb-section.lp-archive-section {
  padding: 8vw 16px;
}

/* メイン見出し */
h2.wp-block-heading.lp-contact-heading {
  font-size: max(6vw, 40px) !important;
  font-feature-settings: "palt";
}

@media (max-width: 399px) {
  .wp-block-group.lp-results-title-group {
    margin-top: 40px;
  }

  figure.wp-block-image.lp-results-title-icon {
    width: 100px;
  }

  h2.wp-block-heading.no-style.lp-results-heading {
    font-size: 32px !important;
  }
}



/*----- YouTubeセクション -----*/
/* セクション */
.wp-block-snow-monkey-blocks-section-with-bgimage.lp-youtube-section {
  padding: 8vw 16px;
}

/* メイン見出し */
h2.wp-block-heading.youtube-heading-h2 {
  font-size: 5vw;
  font-weight: 900;
}

@media (max-width: 781px) {

  /* タイトル */
  figure.wp-block-image.youtube-logo img {
    max-width: 200px;
    margin-bottom: 24px;
  }

  /* グリッド */
  .wp-block-group.youtube-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    width: 80%;
    margin: 0 auto;
  }
}


@media (max-width: 399px) {
  .wp-block-snow-monkey-blocks-section-with-bgimage.smb-section.smb-section-with-bgimage.smb-section--fit.lp-youtube-section.sp-padding {
    padding-bottom: 80px !important;
    padding-top: 80px !important;
  }

  h2.wp-block-heading.youtube-heading-h2 {
    font-size: 40px;
    line-height: 120%;
  }

  p.lp-youtube-lead-text {
    font-size: 15px !important;
    margin-top: 32px;
  }

  .wp-block-group.youtube-grid {
    width: 100%;
  }
}




/*----- サービス一覧 -----*/

/* セクション */
.wp-block-snow-monkey-blocks-section-with-bgimage.lp-service-section {
  padding: 10vw 16px 6vw;
}

/* リスト */
ul.wp-block-list.lp-service-list {
  list-style: none;
  padding: 0;
  margin: 40px auto 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 16px;
}

ul.wp-block-list.lp-service-list li {
  color: var(--color-wh);
  border: 1px solid var(--color-wh);
  border-radius: 4px;
  padding: 12px 24px;
  line-height: 1.3;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0;
  font-feature-settings: "palt";
  text-decoration: none;
  display: inline-block;
}


@media screen and (max-width: 781px) {
  ul.wp-block-list.lp-service-list li {
    font-size: 18px;
  }
}


@media (max-width: 399px) {
  .wp-block-snow-monkey-blocks-section-with-bgimage.smb-section.smb-section-with-bgimage.lp-service-section {
    padding-top: 80px;
    padding-bottom: 56px;
  }

  figure.wp-block-image.lp-service-title-icon {
    width: 100px;
  }

  h2.wp-block-heading.lp-service-heading {
    font-size: 40px !important;
  }

  ul.wp-block-list.lp-service-list li {
    font-size: 16px;
    line-height: 150%;
  }
}


/*----- ご利用料金 -----*/
/* セクション */
.wp-block-snow-monkey-blocks-section.smb-section.smb-section--fit.lp-fee-section {
  padding: 8vw 16px 6vw;
}

/* 料金コンテンツ */
.wp-block-snow-monkey-blocks-box.smb-box.lp-fee-tag-box {
  width: 560px;
}

.wp-block-group.lp-fee-content-group {
  width: calc(100% - 360px);
}


@media screen and (max-width: 639px) {
  .wp-block-snow-monkey-blocks-box.smb-box.lp-fee-tag-box p {
    font-size: 24px !important;
  }

  .wp-block-group.lp-fee-content-group p {
    font-size: 32px !important;
  }

  .wp-block-group.lp-fee-content-group p.tax {
    font-size: 16px !important;
  }
}


@media screen and (max-width: 399px) {
  .wp-block-snow-monkey-blocks-section.smb-section.lp-fee-section.sp-padding {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  figure.wp-block-image.lp-fee-title-icon {
    width: 100px;
  }

  .wp-block-group.both-line-style.bk.lp-fee-heading-group {
    margin-top: 24px;
  }

  h2.wp-block-heading.lp-fee-title-heading {
    font-size: 40px !important;
  }

  p.lp-fee-lead-text {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    line-height: 140% !important;
    font-weight: 600 !important;
    font-size: 15px !important;
  }
}