/*
Theme Name: x-t9_child
Theme URI: 
Author: Ateliace
Author URI: 
Description: x-t9の子テーマです。
Requires at least: 6.7
Tested up to: 6.7
Requires PHP: 5.7
Version: 
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: x-t9
Text Domain: x-t9_child
Tags: 
*/
/* ロゴの幅 */
@media (max-width: 575px) {/* モバイル（～575pxまで） */
    .logo-width-control img {
    width: 300px !important;
    }
}

/* 選択時の色指定 */
::selection {
  background-color: #EBF3F7; /* 背景色（例：薄いオレンジ） */
  /* color: #333;             */
  /* 文字色（例：黒） */
}
/* マウスオーバー時の背景色リセット */
.footer:hover,
.footer-nav li a:hover {
  background-color: inherit !important;
}

/* フッターナビ調整 */
footer {
    .wp-block-navigation[class*=nav--vertical-with-hr] .wp-block-navigation-item .wp-block-navigation-item__content {/* 余白調整 */
        padding: 0.5em !important;
    }
    .wp-block-navigation[class*=nav--vertical-with-hr] .wp-block-navigation-item .wp-block-navigation-item__content:hover {/* 背景削除 */
        background-color: inherit;
    }  
    .wp-block-navigation[class*=nav--vertical-with-hr] .wp-block-navigation-item__content {
        border-bottom: none; /* 下線消去 */
    }
    a:hover {
        text-decoration: none !important;
        /* transition: width 0.3s ease; */
        span {
        /* text-decoration: underline !important; */
        /* transition: width 0.3s ease; */
        }
    }
    a span {
  position: relative;
  text-decoration: none;
  color: inherit;
}
a span::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.2em;
  width: 0%;
  height: 1px;
  background: currentColor; /* リンクの文字色と同じ */
  transition: width 0.3s ease;
}
a span:hover::after {
  width: 100%;
}
}
/* タイトル下線消去 */
html footer :where([style*=border-bottom-color]) {
    border-bottom-style: none;
}
/* フッタータイトル四角付与 */
.has-square::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  background-color: #88A4D9; /* 四角の色 */
  margin-right: 0.5em;    /* テキストとの間隔 */
  vertical-align: middle; /* テキストとの高さ揃え */
}


/* 外部リンク */
.outer-link::after {
  content: "";
  display: inline-block;
  width: 13px;
  height: 11px;
  background-image: url('https://www.phys.waseda.ac.jp/wp-content/uploads/2025/07/outer-link-icon-footer.png');
  background-size: contain;
  background-repeat: no-repeat;
  margin-left: 0;
  vertical-align: middle;
}
.staff-template-default .outer-link::after {
  margin-left: .3em;
}

/* ヘッダー検索ボックスの調整 */
.header-search-box {
input {
line-height:0;
padding:2px 8px;
border-radius: 0;
border-color: #CCDBEA;
}
input:focus,
textarea:focus,
select:focus {
  outline: none; /* デフォルトのアウトラインを消す */
  border: 2px solid #98B9D6; /* 枠線の色を変更 */
  /* box-shadow: 0 0 5px rgba(0, 123, 255, 0.5);  */
  /* 外側の影 */
}

button {
line-height:0;
padding:2px 8px;
border-radius: 0;
}
.wp-block-search__button {
margin-left: 0;
}
}
/* フッタースクロールテキスト */
.background-text-wrapper {
  position: relative;
  overflow: hidden;
  /* height: 240px;  */
  /* 高さは適宜変更 */
}

.background-text {
  /* position: absolute; */
  display: flex;
  white-space: nowrap;
  animation: scrollText 30s linear infinite;
}
.background-text .inner-text {
    font-size: clamp(65px, 12.769vw, 130px) !important; 
line-height: 1;
  font-family: "Space Grotesk", sans-serif;
  font-weight: 700;
  letter-spacing: -0.05em !important;
  opacity: 1; /* 薄くすることで背景感を出す */
  color: #081F4D;
}

@keyframes scrollText {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(-200%);
  }
}

/* kv-テキスト指定 */
.kv-title {
font-size:  clamp(45px, 6.3vw, 90px) !important;
}
/* ページタイトル四角付与 */
.has-square-blue {margin-top: 0;}
.has-square-blue::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  background-color: #005099; /* 四角の色 */
  margin-right: 0.5em;    /* テキストとの間隔 */
  vertical-align: middle; /* テキストとの高さ揃え */
}

/* マウスオーバーで画像拡大 */
.link-box-wrapper {
    cursor: pointer !important;
}
.hover-big img {
    transition: transform 0.3s ease; /* 常にトランジションを適用 */
}
.link-box-wrapper .hover-big {
    overflow: hidden;
}
.link-box-wrapper:hover .hover-big img {
    transform: scale(1.1, 1.1);
}

/* リンクタイトル四角付与 リンクバージョン */
.has-square-blue-right {
    position: relative;
    a {
        text-decoration: none;
        display: block;
        padding-top: 1rem;
        padding-bottom: 1rem;
    }
}
.has-square-blue-right::after {
    position: absolute;
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  background-color: #005099; /* 四角の色 */
  margin-left: 0.5em;    /* テキストとの間隔 */
  top: calc(50% - 3.5px);
  right: 0;
}
/* 見出しフォントサイズ */
@media (max-width: 575px) {/* モバイル（～575pxまで） */
    .h2-en {
    font-size: 32px !important;
    }
}
@media (min-width: 576px) and (max-width: 991.98px) {
  /* タブレット（md）だけに適用するスタイル */
    .h2-en {
    font-size: 48px !important;
    }
}
@media (min-width: 992px) {
  /* タブレット（md）だけに適用するスタイル */
    .h2-en {
    font-size: 64px;
    }
}
.narrow-container {
  max-width: 744px !important;
  margin-left: auto;
  margin-right: auto;
  padding: 35px 50px 50px !important;
}
.narrow-container-inner {
    max-width: 644px !important;
}

/* ボタン */
.animated-button-wrapper {

}
.animated-button {
    position: relative;
    display: inline-block;
    width: 260px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    /* padding: 12px 24px; */
    color: var(--wp--preset--color--primary);
    background: transparent;
    border: 1px solid var(--wp--preset--color--primary);
    font-size: 16px;
  font-family: "Space Grotesk", sans-serif;
  font-weight: 700;

    overflow: hidden;
    cursor: pointer;
    text-decoration: none;
    transition: color 0.3s ease;
}

.animated-button::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: var(--wp--preset--color--primary);
    transition: all 0.3s ease;
    z-index: 0;
}

.animated-button:hover::before {
    left: 0;
}

.animated-button span {
    position: relative;
    z-index: 1;
}

.animated-button:hover {
    color: white;
}
/* コンテナ幅伸ばし共通 */
.w-100vw {
    max-width: 100vw !important;
}

/* ページタイトル白四角付与 */
.has-square-white {margin-top: 0;}
.has-square-white::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  background-color: #fff; /* 四角の色 */
  margin-right: 0.5em;    /* テキストとの間隔 */
  vertical-align: middle; /* テキストとの高さ揃え */
}
/* 白ボタン */
.white-button {
    position: relative;
    display: inline-block;
    width: 260px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: transparent;
    border: 1px solid #fff;
    font-size: 16px;
  font-family: "Space Grotesk", sans-serif;
  font-weight: 700;

    cursor: pointer;
    text-decoration: none;
    transition: color 0.3s ease;
  background: rgba(255, 255, 255, 0.2); /* 半透明の白 */
  backdrop-filter: blur(8px);           /* 背景をぼかす */
  -webkit-backdrop-filter: blur(8px);   /* Safari対応 */
}
/* NEWS */
.news-link {
    a, a:visited, a:hover {
        color: var(--wp--preset--color--primary) !important;
    }
}
.news-link {
    transition: transform 0.3s ease;
}
/* 投稿アーカイブリスト */
.search-results main .wp-block-query .wp-block-post-title a,
.search-results main .wp-block-query .wp-block-post-title a:hover,
.archive main .wp-block-query .wp-block-post-title a,
.archive main .wp-block-query .wp-block-post-title a:hover {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-weight: 400 !important;
}
/* 404 error 検索ボタン */
.error404 .wp-block-search__button svg {
  width: calc(1.25em + 32px);
  padding-left: 16px !important;
  padding-right: 16px !important;
}

/* インタビューリスト、教員リスト抜粋部分 */
.post-type-archive-interview .wp-block-post-excerpt,
.post-type-archive-staff .wp-block-post-excerpt,
.post-type-staff .wp-block-post-excerpt,
.page main .staff-list .wp-block-post-excerpt{
  font-size: 14px;
  font-weight: 400;
  color: #005099;
    margin-top: 0.15em !important;
  margin-bottom: 0 !important;
  p {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  }
}
/* インタビューリスト、教員リスト hoverを除外 */
.post-type-archive-interview .link-box-wrapper .wp-block-post-excerpt, 
.post-type-archive-staff .link-box-wrapper .wp-block-post-excerpt,
.page main .staff-list .wp-block-post-excerpt {
  cursor: default;
}
.archive.post-type-archive-interview main .wp-block-query .wp-block-post-title a,
.archive.post-type-archive-interview main .wp-block-query .wp-block-post-title a:hover, 
.archive.post-type-archive-staff main .wp-block-query .wp-block-post-title a,
.archive.post-type-archive-staff main .wp-block-query .wp-block-post-title a:hover,
.archive.post-type-staff main .wp-block-query .wp-block-post-title a,
.archive.post-type-staff main .wp-block-query .wp-block-post-title a:hover
{
  font-weight: 700 !important;
}
/* ページ内リンク */
.in-page-link-wrap a {
  position: relative;
  padding-right: 1.5em;
  display: inline-block;
  
}
.in-page-link-wrap a::after {
  position: absolute;
  content: "";
  display: inline-block;
  width: 14px;
  height: 15px;
  background-image: url('https://www.phys.waseda.ac.jp/wp-content/uploads/2025/07/i-down.png');
  background-size: contain;
  background-repeat: no-repeat;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

/* 教員・研究室末端ページ */

.flex-shrink-0 {
  flex-shrink: 0;
}
.staff-profile-box {
  padding: 50px;
  gap: 3vw;
}
.keyword-boxes {
  gap: 1.5em;
}
@media (max-width: 575px) {/* モバイル（～575pxまで） */
.staff-profile-box {
  padding: 15px;
}

}

@media (max-width: 991.98px) {
  /* タブレット以下は縦にする */
  .keyword-boxes {
  flex-direction: column;
  gap: 0;
  }
  .keyword-list2 {
    margin-bottom: 1em !important;
  }
}
/* 教員・研究室コンテンツ */
.w-730 {
  width: 730px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 729px) {/* 幅より狭い場合モバイル（～575px）含む */
.w-730 {
  width: 100%;
}
}
.w-910 {
  width: 730px;
  margin-left: auto;
  margin-right: auto;
}
/* 教員・研究室コンテンツ 背景青色部分幅を広げる */
.wp-block-group-alignfull {
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
/* 教員・研究室インデックス カテゴリボタン */
.staff-cat-btn a {
  text-decoration: none;
  padding-left: .5em;
  padding-right: .5em;
}

/* 教員・研究室インデックス 退職者リンク */
.retired-item-link a {
  position: relative;
  text-decoration: none;
  color: inherit;
}
.retired-item-link a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -.15em;
  width: 0%;
  height: 1.5px;
  /* background: currentColor; リンクの文字色と同じ */
  background: var(--wp--preset--color--primary); 
  transition: width 0.3s ease;
}
.retired-item-link a:hover::after {
  width: 100%;
}

/* グループ画像のキャプションを左に */
.caption-left .wp-block-image figcaption {
  text-align: left !important; /* キャプションだけ左 */
}
/* 同階層リンク */
.same-hierarchy-link.research-dev {
  gap: .8em !important;
}
@media (max-width: 575px) {/* モバイル（～575pxまで） */
.same-hierarchy-link {
  gap: .5em;
}
.in-page-link {
  gap: .6em;
}

}
.same-hierarchy-link .on a {
  text-decoration: none !important;
}
.in-page-link a {
    text-decoration: none !important;
  position: relative;
  display: inline-block;
  padding-right: 18px;

}
.in-page-link a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 14px;
  height: 15px;
  background-image: url('https://www.phys.waseda.ac.jp/wp-content/uploads/2025/07/i-down.png'); 
  background-size: contain;
  background-repeat: no-repeat;
}
.in-page-link.reverse a::after {
  transform: translateY(-50%) rotate(180deg);
}
/* 学科ページ、四角で囲んだナンバーリストの背景変更 */
ol.is-style-vk-numbered-square-mark.list-margin-larger li:before {
  background: #7bc4fe !important;
  line-height: 1.5 !important;
  top: 0 !important;
}
.list-margin-larger li {
padding-bottom: 1.5em !important;
}
/* 学科ページ、キャプションを白に */
.text-white .wp-block-image figcaption {
  color: #fff !important;
}
/* 受験生の方へFAQ */

.faq-custom .is-style-vk_faq-border-square .vk_faq_title:before {
border: 1px solid var(--wp--preset--color--primary);
background: var(--wp--preset--color--primary);
    color: #fff;

}

.faq-custom .vk_faq .vk_faq_title:before {
    color:  #fff;
}
.faq-custom .is-style-vk_faq-border-square .vk_faq_content:before
 {
    border: 1px solid var(--wp--preset--color--primary);
    color: var(--wp--preset--color--primary);
}
.faq-custom .vk_faq .vk_faq_content:before {
    color: var(--wp--preset--color--primary);
}
