/*
 Theme Name:  明星大学経営者ネットワーク
 Template:    blankslate
 Author:      明星大学経営者ネットワーク
 Version:     1.0
 Description: BlankSlate の子テーマ。明星大学経営者ネットワーク用カスタム。
*/

/* =========================
   共通
   ========================= */
body {
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  font-size: 16px;
  color: #000;
  line-height: 1.6;
  font-weight: 400;
}

p {
  clear: both;
  padding: 10px;
}

a {
  text-decoration: none;
  color: #000;
}

img {
  image-rendering: -webkit-optimize-contrast;
}

button {
    display: inline-block;
    padding: 8px 24px;
    border-radius: 9999px;
    border: none;
    background: #333;
    color: #fff;
    font-size: 16px;
    cursor: pointer;
}

button:hover {
    opacity: 0.9;
}

/* ========== 共通：必須マーク ========== */
/* 必須マークは共通スタイル（style.css でもOK） */
.required {
    color: #e60033;
    margin-left: 4px;
    font-size: 16px;
    font-weight: bold;
}

/* 親テーマ（BlankSlate）のPAGE TOPボタンを完全にオフにする */
#page_top,
#page_top::before,
#page_top::after {
  display: none !important;
  content: none !important;
}

/* =========================
   ExNet 専用 PAGE TOP
   ========================= */
.exnet-page-top {
    position: fixed;
    right: -13px;
    bottom: 13px;
    z-index: 9999;

    display: flex;
    align-items: center;
    justify-content: center;

    min-width: 110px;
    height: 36px;
    padding: 0 20px;

    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

/* ホバー時のちょいリアクション */
.exnet-page-top:hover {
    transform: translateY(-2px);
}

/* 表示モード */
.exnet-page-top.is-visible {
    opacity: 1;
    pointer-events: auto;
}


/* =========================
   フロントスライダー
   ========================= */
.front-slider {
    max-width: 1200px;
    max-height: 600px;
    margin: 0 auto 24px;
    padding: 10px 16px 0; /* 左右の安全マージン */
    position: relative;
    overflow: hidden;
}

.front-slider__inner {
    position: relative;
    aspect-ratio: 2 / 1; /* PC画像に合わせる（= 2:1） */
}

.front-slider__item {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.5s ease;
}

.front-slider__item img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.front-slider__item.is-active {
    opacity: 1;
    position: relative;
}

#exnet-search-results {
  min-height: 200px;      /* 結果なしのときもガクッと縮まない */
  position: relative;
}

/* ▽▽TOPIXブロック▽▽ */
/*####### News & Topics #####*/
#index-01-02 {
    max-width: 1200px;
    margin: 0 auto 24px;
}

#index-01-02 h2 {
  font-size: 40px;
  font-weight: 600;
  text-align: center;
}
#index-01-02 h3 {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  position: relative;
}

.topix {
	height: 300px;
	margin: 0 auto;
  overflow-y: auto;
  overflow-x: hidden;

  /* 横にはみ出す原因（長いURL等）を潰す */
  overflow-wrap: break-word;
  word-break: break-word;

  -ms-overflow-style: none; /* IE, Edge 対応 */
	scrollbar-width: none; /* Firefox 対応 */
}
.topix::-webkit-scrollbar { /* Chrome, Safari 対応 */
	display: none;
}

.topix dl {
  border-bottom: dotted 1px #d9d9d9;
  padding: 10px 30px 10px 10px;
  margin: 0 10px;
}
.topix dl dd {
  padding: 10px 10px 10px 20px;
  transition-property: opacity;
  transition-duration: 0.5s;
}
.topix dl dd a {
  color: #333333;
  text-decoration: none;
}
.topix dl dd a:hover {
  opacity: 0.7;
}

.topix img,
.topix table {
  max-width: 100%;
  height: auto;
}

.topix pre,
.topix code {
  white-space: pre-wrap;
  word-break: break-word;
  max-width: 100%;
}
/* △△TOPIXブロック△△ */


/*####### footer #####*/

/*#####　TOPに戻るボタン　#####*/
#t-scroll {
  right: 10px;
}
#t-scroll a {
  padding: 12px 12px;
}

/* =========================
   「もっと見る」「戻す」ボタン表示
   ========================= */

.exnet-company-more-controls {
  max-width: 100%;
  margin: 20px auto 40px;
  
  display: none;    /* JSでfadeIn/fadeOut */
  justify-content: flex-start; /* ← 左寄せ */
  gap: 8px;

  display: none; /* 初期非表示 → スクロール最下部で表示 */
}

.exnet-company-more-controls button {
  padding: 10px 30px;
  font-size: 16px;
  border-radius: 9999px;
  border: 1px solid #ccc;
  background-color: #772a2e;
  color: #fff;
  cursor: pointer;
}

.exnet-company-more-controls button:disabled {
  opacity: 0.5;
  cursor: default;
}

.pc_area {
  display: block;
}
.phone_area {
  display: none;
}
.side-phone_area {
  display: none;
}
.pc_side_area {
  display: block;
}
.side_and_phone_area {
  display: none;
}
.br-pc {
  display: block;
}
.br-sp {
  display: none;
}
.br-side-phone {
  display: none;
}
.br-side-and-phone {
  display: none;
}
.pc-center {
  text-align: center;
}


/* =========================
   スマホ表示の基礎
   ========================= */

@media (max-width: 768px) {

    /* 全体の左右余白調整 */
    body {
      padding: 0;
      margin: 0;
    }

    /* スマホでは少し小さめに */
    .exnet-page-top {
        bottom: 80px; /* ← 下から少し離す（フッターやメニューと重ならないように） */
        min-width: 90px;
        height: 34px;
        font-size: 11px;
        opacity: 0;
        pointer-events: none;   /* クリックできない状態 */
        transition: opacity 0.3s ease;
    }

    .img100 img {
      width: 100%;
      height: auto;
    }

    .pc_area {
      display: none;
    }
    .phone_area {
      display: block;
    }
    .side-phone_area {
      display: block;
    }
    .pc_side_area {
      display: none;
    }
    .side_and_phone_area {
      display: block;
    }
    .br-pc {
      display: none;
    }
    .br-sp {
      display: block;
    }
    .br-side-phone {
      display: none;
    }
    .br-side-and-phone {
      display: block;
    }
    .sp-center {
      text-align: center;
    }
}
