/* 共通 　ーーーーーーーーーーーー */
body,
button,
input,
select,
textarea {
  font-family: "BIZ UDPGothic", "Yu Gothic", "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
}

p,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.5;
}

img {
  height: auto;
}
.white {
  color: white;
}

.font-14 {
  font-size: 14px;
}

a:hover {
  opacity: 0.6;
}
/* 共通ここまで　ーーーーーーーーーーー */

/*  header　ーーーーーーーーーーーーー*/
.header-menu {
  background-color: #0057a7;
  padding: 13px 0 13px 0;
  text-align: center;
}

.header-menu img {
  vertical-align: top;
}

.header-menu nav {
  display: inline-block;
}

.header-menu ul {
  display: flex;
}

.header-menu ul li {
  padding: 0 20px 0 20px;
  border-left: 1px solid white;
  border-right: 1px solid white;
}

.header-menu ul li a {
  font-size: 14px;
  color: white;
}

.header-menu-sub {
  display: flex;
  margin: 0 auto;
  justify-content: space-between;
  padding: 17px 0 17px 0;
}

.header-info {
  display: flex;
}

.header-info_innner {
  display: inline-block;
}

boby {
	 -webkit-text-size-adjust: 100%;
}

body .header-info .candidates-site {
  margin: 5px 40px 5px 0;
  font-size: 16px;
  padding: 11px 95px 8px 95px;
  color: white;
  background-color: #ed6d1f;
  border-radius: 20px;
}

body .header-info .candidates-site-request {
	margin: 5px 40px 5px 0;
	margin-right: 20px;
	margin-left: 20px;
	font-size: 16px;
	padding: 11px 95px 8px 95px;
	color: white;
	background-color: #ed6d1f;
	border-radius: 20px;
}

.header-info .access {
  padding: 6.5px 0 6.5px 0;
}

.header-info .search {
  margin: 0 20px 0 20px;
  padding: 7.5px 0 7.5px 0;
}

.header-info .humburger {
  padding: 7px 0 7px 0;
}

.header-info .humburger:hover,
.header-info .search:hover {
  opacity: 0.6;
}

.header-menu-sub_wrapper {
  position: relative;
}

.search-form {
  position: absolute;
  top: 78px;
  right: 0px;
  z-index: 200000;
  display: none;
  padding: 10px;
}

.search-form_text {
  width: 300px;
  height: 40px;
  font-size: 20px;
}

.search-form_submit {
  height: 46px;
  font-size: 20px;
  width: 80px;
}

.humburger-menu {
  position: absolute;
  top: 84px;
  right: 0px;
  width: 500px;
  background: white;
  color: #010101;
  overflow: hidden;
  z-index: 100000;
  display: none;
}
.humburger-menu a {
  color: #010101;
  display: block;
  text-decoration: none;
  padding: 5px 20px;
  border-bottom: 1px solid rgba(169,169,169,0.45);
  font-size: 14px;
}

.humburger-menu p {
  text-align: center;
  border-bottom: 1px solid #555;
}

.humburger-menu ul {
  display: flex;
  flex-wrap: wrap;
}

.humburger-menu ul li {
  width: 50%;
  line-height: 2.0em;
}

.header-menu-blue {
  background-color: #0057a7;
}
.humburger-menu .header-menu-orange {
  background-color: #ed6d1f;
  padding: 9px 20px 9px 20px;
  color: white;
  text-align: center;
  line-height: 2.0em;
}

.header-menu-gray {
  background-color: #e1e1e1;
}
.header-menu-blue a,
.header-menu-orange {
  color: white;
}

.humburger-menu ul a span,
.header-menu-orange span {
  float: right;
}
/* headerここまで　ーーーーーーーーー */

/* footer ーーーーーーーーーーーーー */
footer {
  margin-top: 0;
  position: relative;
}

.footer-inner {
  text-align: center;
}

.footer-inner .to-top {
  position: absolute;
  right: 40px;
  bottom: 33px;
}

.footer-logo {
  margin-bottom: 45px;
}

.footer-sns {
  display: flex;
  justify-content: center;
  margin-bottom: 40px;
}

.footer-sns a {
  display: inline-block;
  padding: 0 18px 0 18px;
}

.footer-adress {
  margin-bottom: 35px;
}

.footer-adress p {
  font-size: 14px;
}

.footer-sitemap {
  margin-bottom: 55px;
}

.footer-sitemap h3 {
  padding-top: 10px;
  padding-bottom: 10px;
  font-size: 16px;
  color: white;
  background-color: #0057a7;
}

.page-id-769 .footer-sitemap h3 {
  font-size: 16px;
  font-weight: normal;
}

.footer-sitemap h3:hover {
  cursor: pointer;
  opacity: 0.6;
}

.footer-sitemap h3 img {
  width: 16px;
}

.footer-sitemap_inner {
  padding-top: 30px;
  display: none;
}

.footer-sitemap_rows {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  justify-content: space-between;
}

.sitemap_row {
  width: 20%;
  text-align: left;
}

.sitemap_row_title {
  background-color: #888888;
  padding: 5px 0 5px 10px;
  font-size: 14px;
  color: white;
}

.page-id-769 .sitemap_row_title {
  font-size: 14px;
  font-family: "BIZ UDPGothic", "Meiryo", sans-serif;
  font-weight: normal;
}

.sitemap_row ul {
  margin: 10px 0 10px 0;
}

.sitemap_row ul li {
  font-size: 12px;
  padding-left: 10px;
  margin: 5px 0 5px 0;
}

.footer-menu {
  margin-bottom: 50px;
}

.footer-menu nav {
  display: inline-block;
}

.footer-menu nav ul {
  display: flex;
}

.footer-menu nav ul li {
  border-left: 1px black solid;
  padding: 0px 35px 0px 35px;
}

.footer-menu nav ul li:hover {
  background-color: #c4c4c4;
}

.footer-menu nav ul li a {
  color: black;
  font-size: 14px;
}

.footer-menu nav ul li:first-child {
  border-left: none;
}

.footer-copyright {
	margin: 20px 0 20px;
	padding: 30px 0 10px 0;
	background-color: #e1e1e1;
}

.footer-copyright p {
  font-size: 10px !important;
}

/* footerここまでーーーーーーーーーー */

/* コンテンツーーーーーーーーーーーーー */

.header-wrapper {
  margin: 0 auto;
}

li {
  line-height: 1.5em;
}

#sideinfo {
  display: none;
}

/* サイドバー  --------------*/
/* #sidebar {
  position: fixed;
  right: 0;
  top: 163px;
  width: 40px;
  z-index: 100;
}

#sidebar a {
  display: block;
}

#sidebar a img {
  width: 100%;
  vertical-align: top;
} */

/* サイドバー ここまで */

.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

.clrfix::after {
  content: "";
  display: block;
  clear: both;
}

#mainArea hr {
  display: none;
}

.teacher div {
  width: 100% !important;
}

.teacher .leftCol {
  width: 50% !important;
  float: left;
}

.teacher .rightCol {
  width: 50% !important;
  float: right;
}

/* サイズ変更時の挙動 */
@media screen and (max-width: 781px) {
  #sidebar {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .header-menu {
    display: none;
  }

  .humburger-menu {
    width: 100%;
    top: 78px;
  }

  #sideinfo {
    display: none;
  }

  .footer-menu nav ul {
    flex-wrap: wrap;
  }

  .candidates-site {
    display: none;
  }

  .header-wrapper {
    width: 95%;
  }

  .teacher .leftCol,
  .teacher .rightCol {
    width: 100% !important;
  }

  .Layout_2col .Layout_2col>.Wrapper .leftCol,
  .Layout_2col .Layout_2col>.Wrapper .rightCol {
    width: 50% !important;
  }
}

@media screen and (max-width: 480px) {
  .header-info {
    display: -webkit-box;
    justify-content: stretch;
    align-items: center;
  }

  .header-logo img {
    width: 150px;
  }

  .header-info {
    height: 22px;
  }

  .header-info a img {
    height: 100%;
  }

  .header-info .access,
  .header-info .search,
  .header-info .humburger {
    padding: 0;
  }

  .header-info .search {
    margin: 0 15px;
  }

  .search-form_text {
    width: 200px;
  }

  .humburger-menu {
    top: 56px;
  }

  .humburger-menu a {
    font-size: 12px;
  }

  .footer-menu nav ul {
    display: block;
  }

  .footer-menu nav ul li {
    border: none;
  }
}

@media screen and (min-width: 481px) {
  .header-info .access img {
    height: 31px;
  }
}

@media screen and (min-width: 768px) and (max-width: 1279px) {
  .header-wrapper,
  .footer-sitemap_rows {
    width: 90%;
  }

  body .header-info .candidates-site {
    padding: 11px 10px 8px 10px;
  }

  .department a {
    width: 240px;
    font-size: 24px;
  }
}

@media screen and (min-width: 1280px) {
  .header-wrapper,
  .footer-sitemap_rows {
    width: 1080px;
  }
}

/*国際学部ページ*/
#page-id-691 h5 {
    font-size: 1.2em;
}

/*データで見るNUIS*/
.page-id-2520 table th {
    line-height: 2em;
    padding: 0.5em 0;
}

.page-id-2520 table td {
    padding: 0.5em 0;
}

/*データで見るNUIS（テストページ）*/
.page-id-6873 table th {
    line-height: 2em;
    padding: 0.5em 0;
}

.page-id-6873 table td {
    padding: 0.5em 0;
}

/*就職サポート
.page-id-2816 img{
    width: 90%;
}
*/

/*外国語ページ
ul#in_list {
    display: flex;
    flex-wrap: wrap;
}

li.list_la {
    width: 45%;
    padding: 2%;
    border: solid 1px #d0d0d1;
}
*/

/*テーブル調整*/
#t-height table tbody tr th , #t-height table tbody tr td {
    padding: 1em;
}

/*テーブル調整 -採用-
table.saiyou｛
    width: 100%;
    border: 1px solid #999;
    border-collapse: separate;
    border-spacing: 1px;
    text-align: left;
}

table.saiyou th,
table.saiyou td {
    padding: 5;
}
*/
.page-id-691 .site-main h2 a {
    color: #fff;
}
/*
.page-id-691 h2 a {
    color: #fff;
}
*/
.page-id-691 .dean-ko {
    background: #f7f3f3;
    padding-left: 2em;
}

.page-id-691 .dean-ko h3 {
    color: #dd666d;
    line-height: 2em;
    padding: 1em 0;
}

.page-id-691 .dean-ke {
    background: #e8f4fd;
    padding-left: 2em;
}

.page-id-691 .dean-ke h3 {
    color: #428dc3;
    line-height: 2em;
    padding: 1em 0;
}

/* =================================================================================
 *   2026 RENEWAL CSS
 *  ================================================================================ */

/* body {
	margin: 44px 180px 0 0;
} */

body:not(.home):not(.page-template-template-examinee-page) .site-main {
  margin-top: 62px;
  margin-bottom: 100px;
}
body:not(.home):not(.page-template-template-examinee-page) .page-title {
  margin-top: 60px;
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * Header
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

/* ====== base ====== */
.site-header { position: relative; z-index: 50; }
.screen-reader-text {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

/* ====== Sticky header (2段まとめて固定) ====== */
.site-header{
  position: fixed;
  top: var(--adminbar-h);
  left: 0;
  right: 0;
  width: 100%;
  z-index: 9999;
}

/* iOSなどでstickyが機能しない場合 */
@supports (-webkit-touch-callout: none) {
  .site-header{ position: -webkit-sticky; }
}

/* ====== 1段目：グラデーション + 右寄せメニュー ====== */
.header-top{
	position: relative;
	z-index: 1000;
/* 	background: linear-gradient(90deg, #0058a7 0%, #00a699 100%); */
	background: linear-gradient(90deg, #0068b7 0%, #00a0e9 100%);
}

/* Header Top：SPでは非表示 */
@media screen and (max-width: 767px) {
  .header-top {
    display: none !important;
  }
}

.top-nav{
  position: relative;
  z-index: 1001;
/*   max-width: 1200px; */
  margin: 0 auto;
  padding: 10px 16px;
}

.top-nav__menu{
  display: flex;
  justify-content: flex-end;
  gap: 18px;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* ====== 1階層目 ====== */
.top-nav__menu > li{
  position: relative;
  list-style: none;
  margin: 0;
}

/* hover維持用の見えない橋 */
.top-nav__menu > li.menu-item-has-children{
  padding-bottom: 14px;
  margin-bottom: -14px;
}

.top-nav__menu > li > a{
  display: block;
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  line-height: 1;
  opacity: .95;
  white-space: nowrap;
  padding: 0;
}

.top-nav__menu > li > a:hover,
.top-nav__menu > li > a:focus{
  opacity: 1;
  text-decoration: underline;
}

/* クリック用ボタンは使わない */
.top-nav__accordion-toggle{
  display: none !important;
}

/* ====== 2階層目 ====== */
.top-nav__menu > li > .sub-menu{
  display: none;
  position: absolute;
  top: calc(100% - 2px);
  left: 0;
  min-width: 180px;
  list-style: none;
  margin: 0;
  padding: 6px;
  /*background: #0068b7;background: rgba(0, 88, 167, 0.96);*/
  border-radius: 0;
  box-sizing: border-box;
  z-index: 2000;
  box-shadow: 0 8px 20px rgba(0,0,0,.15);
	background: linear-gradient(90deg, #0068b7 0%, #00a0e9 100%);
	opacity: 0.95;
}

/* 1階層目 hover で 2階層目表示 */
.top-nav__menu > li.menu-item-has-children:hover > .sub-menu,
.top-nav__menu > li.menu-item-has-children:focus-within > .sub-menu{
  display: block;
}

/* 2階層目 li */
.top-nav__menu > li > .sub-menu > li{
  position: relative;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* 2階層目リンク */
.top-nav__menu > li > .sub-menu > li > a{
  display: block;
  margin: 0;
  padding: 10px 12px;
  color: #fff;
  text-decoration: none;
  font-size: 13px;
  line-height: 1.5;
  opacity: .95;
  white-space: normal;
  border-radius: 0;
  box-sizing: border-box;
}

/* 2階層目 hover時に反転 */
.top-nav__menu > li > .sub-menu > li > a:hover,
.top-nav__menu > li > .sub-menu > li > a:focus{
  background: #fff;
  color: #0058a7;
  opacity: 1;
  text-decoration: none;
}

/* ====== 3階層目 ====== */
.top-nav__menu > li > .sub-menu > li > .sub-menu{
  display: none;
  position: absolute;
  top: 0;
  left: calc(100% + 1px);
  min-width: 180px;
  list-style: none;
  margin: 0;
  padding: 6px;
  background: rgba(0, 88, 167, 0.96);
  border-radius: 0;
  box-sizing: border-box;
  z-index: 2001;
  box-shadow: 0 8px 20px rgba(0,0,0,.15);
}

/* 2階層目 hover で 3階層目表示 */
.top-nav__menu > li > .sub-menu > li.menu-item-has-children:hover > .sub-menu,
.top-nav__menu > li > .sub-menu > li.menu-item-has-children:focus-within > .sub-menu{
  display: block;
}

/* 3階層目 li */
.top-nav__menu > li > .sub-menu > li > .sub-menu > li{
  list-style: none;
  margin: 0;
  padding: 0;
}

/* 3階層目リンク */
.top-nav__menu > li > .sub-menu > li > .sub-menu > li > a{
  display: block;
  margin: 0;
  padding: 10px 12px;
  color: #fff;
  text-decoration: none;
  font-size: 13px;
  line-height: 1.5;
  opacity: .95;
  white-space: normal;
  border-radius: 0;
  box-sizing: border-box;
}

/* 3階層目 hover時に反転 */
.top-nav__menu > li > .sub-menu > li > .sub-menu > li > a:hover,
.top-nav__menu > li > .sub-menu > li > .sub-menu > li > a:focus{
  background: #fff;
  color: #0058a7;
  opacity: 1;
  text-decoration: none;
}

/* ====== 3階層目を持つ2階層目に矢印表示 ====== */
.top-nav__menu > li > .sub-menu > li.menu-item-has-children > a{
  position: relative;
  padding-right: 22px;
}

.top-nav__menu > li > .sub-menu > li.menu-item-has-children > a::after{
  content: "›";
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 14px;
  line-height: 1;
  color: #fff;
}

/* hover時は矢印色も反転 */
.top-nav__menu > li > .sub-menu > li.menu-item-has-children > a:hover::after,
.top-nav__menu > li > .sub-menu > li.menu-item-has-children > a:focus::after{
  color: #0058a7;
}

/* ====== 右端ではみ出す場合の保険 ====== */
.top-nav__menu > li:last-child > .sub-menu,
.top-nav__menu > li:nth-last-child(2) > .sub-menu{
  left: auto;
  right: 0;
}

.top-nav__menu > li:last-child > .sub-menu > li > .sub-menu,
.top-nav__menu > li:nth-last-child(2) > .sub-menu > li > .sub-menu{
  left: auto;
  right: calc(100% + 1px);
  border-radius: 6px 0 6px 6px;
}

/* ====== 2段目：白 50% 透過 + ロゴ左、右にUI ====== */
.header-bottom{
  background: rgba(255,255,255,.5);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.header-bottom__inner{
  margin: 0 auto;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

/* ロゴ＋受験生特設ページを横並び・中央揃え */
.site-branding.header-logo{
  display: flex;
  align-items: center;
}

/* aタグの中のロゴ画像も中央揃え */
.site-branding.header-logo a{
  display: inline-flex;
  align-items: center;
}

.site-branding img{
  height: 44px;
  width: auto;
  display: block;
}

.header-actions{
  display: flex;
  align-items: center;
  gap: 10px;
}

.header-actions__link{
  color: #0b2341;
  text-decoration: none;
  font-size: 14px;
  padding: 8px 10px;
  border-radius: 999px;
}

.header-actions__link:hover{
  background: rgba(0,0,0,.05);
}

/* 受験生特設ページ ラベル */
.examinee-label{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  background: #fff;
  color: #0b2341;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;

  padding: 6px 14px;
  margin-left: 14px;

  border-top: 2px solid transparent;
  border-bottom: 2px solid transparent;

  border-image-source: linear-gradient(90deg, #0068b7 0%, #00a0e9 100%);
  border-image-slice: 1;

  line-height: 1.2;
}

/* === Language switcher（click）=== */
.lang-switcher{
  position: relative;
}

/* summary のデフォルト三角を消す */
.lang-dropdown summary{
  list-style: none;
}
.lang-dropdown summary::-webkit-details-marker{
  display: none;
}

/* 現在言語（ボタン） */
.lang-current{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 14px;
	padding: 8px 12px;
	border-radius: 999px;
	cursor: pointer;
	background: rgba(255,255,255,0);
	user-select: none;
	transition: opacity .15s ease;
}

/* Language current hover */
.lang-current:hover{
	opacity: 0.6;
}

/* 矢印 */
.lang-arrow{
	font-size: 12px;
}

/* ドロップダウン本体 */
.lang-list{
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  min-width: 120px;
  background: #1c1c1c;
  border-radius: 6px;
  padding: 6px 0;
  margin: 0;
  list-style: none;
  box-shadow: 0 10px 24px rgba(0,0,0,.25);
  z-index: 1000;
}

/* 各言語 */
.lang-list li{
  border-bottom: 1px solid rgba(255,255,255,.15);
}
.lang-list li:last-child{
  border-bottom: 0;
}

.lang-list a{
  display: block;
  padding: 8px 14px;
  color: #fff;
  font-size: 13px;
  text-decoration: none;
}

.lang-list a:hover{
  background: rgba(255,255,255,.15);
}

/* open時だけ表示 */
.lang-dropdown:not([open]) .lang-list{
  display: none;
}

@media (max-width: 767px){
  .lang-switcher{
    display: none;
  }
}

/* Google search */
.google-search{
  display:flex;
  align-items:center;
  gap: 6px;
  border: 1px solid rgba(0,0,0,.15);
  border-radius: 999px;
  padding: 6px 8px;
  background: rgba(255,255,255,.8);
}
.google-search input[type="search"]{
  border: none;
  outline: none;
  background: transparent;
  width: 170px;
  font-size: 14px;
}
.google-search__btn{
  border: none;
  background: transparent;
  cursor: pointer;
  padding: 6px;
  border-radius: 999px;
}
.google-search__btn:hover{ background: rgba(0,0,0,.06); }

/* 検索アイコン（簡易） */
.icon-search{
  display:inline-block;
  width: 16px;
  height: 16px;
  border: 2px solid rgba(0,0,0,.55);
  border-radius: 50%;
  position: relative;
}
.icon-search::after{
  content:"";
  position:absolute;
  width: 8px; height: 2px;
  background: rgba(0,0,0,.55);
  right: -6px; bottom: -2px;
  transform: rotate(45deg);
}

/* 検索アイコン hover 時の透過 */
.icon-search {
  transition: opacity .2s ease;
}

.header-search__toggle:hover .icon-search,
.icon-search:hover {
  opacity: 0.6;
}

/* === Header search (toggle) === */
.header-search{
  position: relative;
  display: inline-flex;
  align-items: center;
}

/* 虫眼鏡ボタン */
.header-search__toggle{
/*   border: 1px solid rgba(0,0,0,.15); */
  border: none;
  background: rgba(255,255,255,.0);
  border-radius: 999px;
  width: 44px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.header-search__toggle:hover{ background: rgba(255,255,255,1); }

/* フォーム（開いたときに右から出す） */
.header-search__form{
  position: absolute;
  top: calc(100% + 8px);
  right: 0; 
  transform: none;
  display: flex;
  align-items: center;
  gap: 6px;

  padding: 8px 10px;
  border: 1px solid rgba(0,0,0,.15);
  background: rgba(255,255,255,.95);
  border-radius: 18px;
  box-shadow: 0 12px 26px rgba(0,0,0,.18);

  white-space: nowrap;
  z-index: 10000;
}

/* 入力 */
.header-search__form input[type="search"]{
  width: 240px;
  border: none;
  outline: none;
  background: transparent;
  font-size: 14px;
}
/* hidden が付いている間は必ず非表示 */
.header-search__form[hidden]{
  display: none !important;
}

/* 送信 */
.header-search__submit{
  border: none;
  background: rgba(0,0,0,.06);
  border-radius: 999px;
  padding: 6px 10px;
  cursor: pointer;
}
.header-search__submit:hover{ background: rgba(0,0,0,.10); }

/* スマホは幅短め */
@media (max-width: 640px){
  .header-search__form input[type="search"]{ width: 160px; }
}

/* Burger */
.burger{
	display:flex;
	align-items:center;
	gap: 8px;
	padding: 8px 12px;
	border-radius: 999px;
	/*border: 1px solid rgba(0,0,0,.15);
	background: rgba(255,255,255,.8);*/
	border: none;
	background: rgba(255,255,255,0);
	cursor:pointer;
}
.burger__icon{
  width: 18px;
  height: 12px;
  position: relative;
  display:inline-block;
}
.burger__icon::before,
.burger__icon::after,
.burger__icon span{
  content:"";
  position:absolute;
  left:0; right:0;
  height:2px;
  background: rgba(0,0,0,.7);
  border-radius: 2px;
}
.burger__icon::before{ top:0; }
.burger__icon::after{ bottom:0; }
.burger__icon span{ top:50%; transform: translateY(-50%); }
.burger__text{ font-size: 14px; color:#0b2341; }

/* バーガーメニュー hover 透過 */
.burger {
  transition: opacity .2s ease;
}

.burger:hover {
  opacity: 0.6;
}

/* =========================
   Drawer 全体
   ========================= */
.drawer {
  position: fixed;
  inset: 0;
  z-index: 9999;
  visibility: hidden;
  opacity: 0;
  transition: opacity .3s ease, visibility .3s ease;
}

.drawer.is-open {
  visibility: visible;
  opacity: 1;
}

.drawer__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.08);
}

.drawer__panel {
  position: relative;
  width: 100%;
  height: 100vh;
  background: #eef6f8;
  overflow-y: auto;
}

/* 閉じるボタン */
.drawer__close {
  position: absolute;
  top: 4px;
  right: 18px;
  z-index: 20;
  border: 0;
  background: transparent;
  font-size: 40px;
  line-height: 1;
  color: #333;
  cursor: pointer;
}

/* =========================
   レイアウト
   ========================= */
/* =========================
   Drawer 全体
   ========================= */
.drawer {
  position: fixed;
  inset: 0;
  z-index: 9999;
  visibility: hidden;
  opacity: 0;
  transition: opacity .3s ease, visibility .3s ease;
}

.drawer.is-open {
  visibility: visible;
  opacity: 1;
}

.drawer__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.08);
}

.drawer__panel {
  position: relative;
  width: 100%;
  height: calc(100vh - 136px);
  background: #eef6f8;
  overflow-y: auto;
}

/* 閉じるボタン */
.drawer__close {
  position: absolute;
  top: 4px;
  right: 18px;
  z-index: 20;
  border: 0;
  background: transparent;
  font-size: 40px;
  line-height: 1;
  color: #333;
  cursor: pointer;
}

/* =========================
   レイアウト
   ========================= */
.drawer__layout {
  width: 100%;
  min-height: 100vh;
}

.drawer__cols {
  width: 100%;
  padding: 48px;
  box-sizing: border-box;
}

.drawer__menu-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 32px 28px;
  align-items: start;
}

.drawer__column {
  display: flex;
  flex-direction: column;
  gap: 20px;
  min-width: 0;
}

/* =========================
   グループ
   ========================= */
.drawer__group h3 {
  position: relative;
  margin: 0 0 10px;
  padding-bottom: 10px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
  color: #183b56;
}

.drawer__group h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 90%;
  height: 1px;
  background: #000;
}

.drawer__group ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.drawer__group li {
  margin: 0 0 7px;
}

.drawer__group li:last-child {
  margin-bottom: 0;
}

.drawer__group a {
  display: inline-block;
  text-decoration: none;
  color: #222;
  line-height: 1.7;
  transition: opacity .2s ease;
}

.drawer__group a:hover {
  opacity: .7;
}

/* =========================
   自由追記用
   ========================= */
.drawer__free {
  margin-top: 4px;
}

.drawer__free p {
  margin: 0 0 12px;
  line-height: 1.7;
  color: #333;
}

.drawer__cta {
  display: inline-block;
  padding: 10px 16px;
  text-decoration: none;
  border: 1px solid #183b56;
  color: #183b56;
  border-radius: 999px;
  transition: all .2s ease;
}

.drawer__cta:hover {
  background: #183b56;
  color: #fff;
}

/* =========================
   レスポンシブ
   ========================= */
@media (max-width: 1093px) {
  .drawer__cols {
    padding: 72px 32px 40px;
  }

  .drawer__menu-grid {
    gap: 28px 24px;
  }
}

@media (max-width: 767px) {
  .drawer__cols {
    padding: 64px 20px 32px;
  }

  .drawer__menu-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 20px;
  }

  .drawer__column {
    gap: 24px;
  }

  .drawer__group h3 {
    font-size: 16px;
    margin-bottom: 10px;
  }

  .drawer__group li {
    margin-bottom: 8px;
  }

  .drawer__group a {
    font-size: 14px;
    line-height: 1.6;
  }
}

/* WordPress管理バー表示中の位置調整 */
@media screen and (max-width: 450px) {

  body.admin-bar .examinee-label {
    top: calc(var(--header-height, 69px) + var(--adminbar-h, 46px));
  }
}

/* =========================================
   スマホ：553px以下
   ロゴを縮小して、アクセス・検索・メニューを1行表示
   「受験生特設ページ」はヘッダー外 / MV左上へ配置
========================================= */
@media screen and (max-width: 553px) {

  .header-bottom {
    width: 100%;
    overflow: visible;
  }

  .header-bottom_inner,
  .header-bottom__inner {
    width: 100%;
    max-width: 100%;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    box-sizing: border-box;
    padding: 0 10px;
    overflow: visible;
  }

  /* 左側：ロゴ */
  .site-branding.header-logo {
    flex: 1 1 auto;
    min-width: 0;
    max-width: calc(100% - 132px);
  }

  .site-branding.header-logo a {
    display: flex;
    align-items: center;
    min-width: 0;
    max-width: 100%;
  }

  .site-branding.header-logo img {
    display: block;
    width: auto;
    max-width: 170px;
    max-height: 34px;
    height: auto;
  }

  /* 右側：アクセス・検索・メニュー */
  .header-actions.header-info {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    min-width: 120px;
    max-width: 132px;
    white-space: nowrap;
  }

  .header-actions.header-info a,
  .header-actions.header-info button {
    flex: 0 0 auto;
  }

  .header-actions.header-info img,
  .header-actions.header-info svg,
  .header-actions.header-info i {
    width: 17px;
    height: 22px;
  }

  /* 受験生特設ページ：MV左上へ移動 */
/*   body.page-id-4923 .examinee-label {
    display: inline-flex !important;
    position: fixed;

    top: var(--header-height, 69px);
    left: 16px;
    z-index: 9999;

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

    width: auto;
    max-width: calc(100vw - 32px);
    box-sizing: border-box;

    padding: 6px 12px;
    margin-left: 0;

    font-size: 13px;
    line-height: 1.2;
    font-weight: 700;
    white-space: nowrap;

    background: #fff;
    color: #0b2341;

    border-top: 2px solid transparent;
    border-bottom: 2px solid transparent;
    border-image-source: linear-gradient(90deg, #0068b7 0%, #00a0e9 100%);
    border-image-slice: 1;

    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  }*/
}
	
	/* =========================================
   767px以下：
   ロゴ右の「受験生特設ページ」を幅に応じて縮小
========================================= */
@media screen and (max-width: 767px) {

  .header-bottom__inner,
  .header-bottom_inner {
    gap: clamp(4px, 1.2vw, 10px);
  }

  .site-branding.header-logo {
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
    max-width: none;
  }

  .site-branding.header-logo a {
    flex: 0 1 auto;
    min-width: 0;
    max-width: 58vw;
  }

  .site-branding.header-logo img {
    width: auto;
    max-width: clamp(130px, 34vw, 190px);
    height: auto;
    max-height: 40px;
  }

  .examinee-label {
    flex: 0 1 auto;
    min-width: 0;
    max-width: clamp(96px, 28vw, 150px);

    padding: clamp(3px, 0.9vw, 6px) clamp(6px, 1.8vw, 12px);
    margin-left: clamp(4px, 1.2vw, 10px);

    font-size: clamp(10px, 2.2vw, 13px);
    line-height: 1.2;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .header-actions.header-info {
    flex: 0 0 auto;
  }
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * Side
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

/* ===== 右固定サイドバー ===== */
.right-sidebar{
  position: fixed;
  top: 0;
  right: 0;
  width: 180px;
  height: 100vh;
  z-index: 9010;
  overflow: revert;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-left: 1px solid rgba(0,0,0,.12);
}

.right-sidebar__inner{
	height: 100%;
	display: flex;
	flex-direction: column;
/* 	padding: 113px 0 10px; */
/* 	gap: 12px; */
}

/* ===== メニュー（親：縦並び） ===== */
.side-nav{
  padding-top: calc(var(--header-h, 0px) + var(--adminbar-h, 0px));
}

.side-nav__menu{
  list-style: none;
  margin: 0;
  padding: 0;
  background: #fff;
}

/* 重要：オーバーレイ/子パネルの基準になる */
.side-nav__menu > li{
	position: relative;
	border-bottom: 1px solid rgba(0,0,0,.3);
	z-index: 1; /* 通常時 */
}

.side-nav__menu > li:last-child{ border-bottom: 0; }

.side-nav__menu > li > a{
  display: block;
  padding: 14px 10px;
  text-align: center;
  font-weight: 700;
  font-size: 13px;
  color: #0b2341;
  text-decoration: none;
  background: #fff;
}

.side-nav__menu > li:hover > a{
  background: rgba(0,0,0,.03);
}

/* ===== 画面を暗くするオーバーレイ（疑似要素） =====
   - 親li hover時に表示
   - position: fixed なので「画面全体」にかかる
   - サブメニューとサイドバーより背面にするため z-index を調整 */
.side-nav__menu > li::before{
  content:"";
  position: fixed;
  top: 0;
  left: 0;
  right: 180px;
  bottom: 0;

  background: rgba(0,0,0,.18);
  opacity: 0;
  pointer-events: none;
  transition: opacity .15s ease;
  z-index: 9000; 
}

/* hover中だけ暗くする */
.side-nav__menu > li:hover::before{
  opacity: 1;
}

/* ===== 「左側にアコーディオン展開」（子メニューのパネル） ===== */
.side-nav__menu .sub-menu{
  list-style: none;
  margin: 0;
  padding: 0;
}

/* 1階層目の子を「左に飛び出すパネル」にする */
.side-nav__menu > li > .sub-menu{
  position: absolute;
  top: 0;
  right: 100%;
  width: 540px;
  min-height: 100%;
  background: #fff;

  border: 1px solid rgba(0,0,0,.2);
  border-right: 0;
  box-shadow: 0 10px 30px rgba(0,0,0,.18);

  display: none;
  padding: 0;

  column-count: 2;
  column-gap: 0;

  /* 重要：暗幕より上、サイドバーと同等以上に */
  z-index: 9200;
}

/* 親にホバーしたらパネル表示 */
.side-nav__menu > li:hover > .sub-menu{
  display: block;
}

/* hover中の親liは前面に（リンク領域が暗幕に負けない） */
.side-nav__menu > li:hover{
  z-index: 9300;
}

/* 子リンク（反転ホバー） */
.side-nav__menu > li > .sub-menu > li{
  break-inside: avoid;
  border-right: 1px solid rgba(0,0,0,.12);
  border-bottom: 1px solid rgba(0,0,0,.12);
  text-align: center;
  vertical-align: middle;
}
.sub-menu > li:not(:last-child){
  border-bottom: none;
}

.side-nav__menu > li > .sub-menu > li > a{
  display: block;
  padding: 12px 14px;
  font-size: 13px;
  color: #0b2341;
  text-decoration: none;
  background: #fff;
}

.side-nav__menu > li > .sub-menu > li > a:hover{
  background: #0b2341;
  color: #fff;
}

/* 孫（任意） */
.side-nav__menu > li > .sub-menu .sub-menu{
  column-count: 1;
  border-top: 1px solid rgba(0,0,0,.12);
}
.side-nav__menu > li > .sub-menu .sub-menu a{
  padding: 10px 14px 10px 22px;
  opacity: .9;
}

/* ===== SNS ===== */
.side-sns{
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 6px;
  padding: 8px 0;
  border-top: 1px solid rgba(0,0,0,.12);
}

.side-sns__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 28px;
  border-radius: 6px;
  text-decoration: none;
}

.side-sns__btn svg{
  width: 18px;
  height: 18px;
  fill: rgba(0,0,0,.75);
}

.side-sns__btn:hover{
  background: rgba(0,0,0,.06);
}

/* ===== 画像枠 ===== */
.side-banner{
	/*
	 * margin-top: auto;
	 * border-top: 1px solid rgba(0,0,0,.12);
	 * padding-top: 10px;
	*/
	padding-top: 20px;
}
.side-banner__placeholder{
  width: 100%;
  height: 140px;
  border: 1px dashed rgba(0,0,0,.25);
  background: rgba(255,255,255,.6);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  color: rgba(0,0,0,.6);
}

/* バナー内の画像がはみ出さないように */
.side-banner img{
  max-width: 100%;
  height: auto;
  display: block;
}

/* サイドバナー（縦並び） */
.side-banner__list{
  display: grid;
  gap: 12px;
}
.side-banner__item img{
/*   width: 100%;
  height: auto;
  display: block; */
	width: 94%;
    height: auto;
    display: block;
    margin: 0 auto;
}
.side-banner__item a{
  display: block;
}

/* Body オーバーレイ設定 */
/* ===== 1) 画面を覆う薄黒オーバーレイ（初期は非表示） ===== */
/* body::before{
  content:"";
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.35);
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease;
  z-index: 8000;
} */

/* ===== 2) サイドメニューに hover したら表示 ===== */
body:has(ul.side-nav__menu:hover)::before{
  opacity: 1;
}

/* ===== 3) ヘッダーとサイドメニューはオーバーレイより前面に ===== */
/* ヘッダー（テーマ側の実クラスがあれば置き換え推奨） */
header, .site-header, .l-header{
  z-index: 9030;
}

/* サイドメニュー全体 */
ul.side-nav__menu{
  z-index: 9020!important;
}

/* サブメニュー（左に出るやつ） */
ul.side-nav__menu .sub-menu{
  z-index: 9040!important;
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * Footer
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

/* ===== Footer base ===== */
.site-footer{
	background: linear-gradient(90deg, #0068b7 0%, #00a0e9 100%);
	color: #fff;
	padding: 36px 0 18px;
	position: relative;
}
@media (max-width: 767px){
  .site-footer{
	  padding-bottom: 73px;
  }
}

.footer-content-wrapper{
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 40px;
	display: block;
	justify-content: space-between;
	gap: 32px;
	align-items: flex-start;
}

.footer-columns{
  display: flex;
  justify-content: space-between;
  gap: 32px;
  align-items: flex-start;
}

.footer-logo--full{
	margin: 0 0 16px;
	padding-top: 42px;
}

/* 左 */
.footer-contact-info{ max-width: 520px; }
.footer-logo img{
  height: 44px;
  width: auto;
  display: block;
}
.footer-address, .footer-tel-fax{ margin: 0; }
.footer-tel-fax,
.footer-tel-fax p,
.footer-tel-fax a,
.footer-tel-fax a:link,
.footer-tel-fax a:visited,
.footer-tel-fax a:hover,
.footer-tel-fax a:active {
  color: #fff;
  text-decoration: none;
}

.footer-address p, .footer-tel-fax p{
	margin: 4px 0;
	font-size: 14px;
	line-height: 1.6;
	opacity: .95;
	font-style: normal;
}

/* SNS */
.social-links ul{
  list-style: none;
  display: flex;
  gap: 10px;
  margin: 28px 0 0;
  padding: 0;
}
.social-links a{
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  text-decoration: none;
  background: rgba(255,255,255,.12);
}
.social-links a:hover{ background: rgba(255,255,255,.22); }
.social-links svg{
  width: 18px;
  height: 18px;
  fill: #fff;
}

/* 右：ユーティリティリンク */
.footer-utility-links__menu{
  list-style: none;
  margin: 6px 0 0;
  padding: 0;
  text-align: right;
}
.footer-utility-links__menu li{ margin: 5px 0; }
.footer-utility-links__menu a{
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  opacity: .95;
}
.footer-utility-links__menu a:hover{
  text-decoration: underline;
  opacity: 1;
}

/* 下部 */
.footer-bottom{
  max-width: 100%;
  margin: 26px auto 0;
  padding: 0 0 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.sitemap-button-area{
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  opacity: .95;
}
/* .sitemap-label{
  margin: 0;
  font-size: 12px;
  letter-spacing: .08em;
}
.sitemap-toggle{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.45);
  background: rgba(255,255,255,.08);
  color: #fff;
  cursor: pointer;
  font-size: 20px;
  line-height: 1;
}
.sitemap-toggle:hover{ background: rgba(255,255,255,.18); }

.sitemap-menu{
  width: 100%;
	background: #fff;
	border: 1px solid rgba(255, 255, 255, .20);
	padding: 14px 16px;
}
.sitemap-menu__list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px 14px;
}
.sitemap-menu__list a{
  color: #fff;
  text-decoration: none;
  font-size: 13px;
  opacity: .95;
}
.sitemap-menu__list a:hover{ text-decoration: underline; opacity: 1; }
 */

.copyright{
	margin: 30px 0 20px;
	font-size: 12px;
	opacity: .85;
}

/* =========================
   SITEMAP 全体
   ========================= */
.sitemap-menu {
  width: 100%;
  box-sizing: border-box;
}

/* hidden属性制御 */
.sitemap-menu[hidden] {
  display: none;
}

/* sitemap 背景色 */
.nuis-bg {
  width: 100%;
  min-height: 465px;
  background-color: #f7f4f2;
  background-image:
    radial-gradient(
      58% 47% at 92% 4%,
      rgba(190, 232, 246, 0.78) 0%,
      rgba(201, 236, 248, 0.62) 28%,
      rgba(217, 241, 249, 0.40) 50%,
      rgba(234, 246, 250, 0.16) 68%,
      rgba(245, 249, 251, 0.00) 84%
    ),
    linear-gradient(
      180deg,
      #dde8f1 0%,
      #e5eef5 12%,
      #edf1f3 28%,
      #f3f1f0 53%,
      #f6f2f1 100%
    ),
    linear-gradient(
      90deg,
      rgba(227, 236, 244, 0.62) 0%,
      rgba(230, 238, 245, 0.42) 20%,
      rgba(237, 241, 243, 0.18) 38%,
      rgba(245, 244, 243, 0.00) 58%
    );
  background-repeat: no-repeat;
}

/* =========================
   レイアウト
   ========================= */
.sitemap-menu__layout {
  width: 100%;
}

.sitemap-menu__cols {
  width: 100%;
  padding: 48px;
  box-sizing: border-box;
}

.sitemap-menu__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 32px 28px;
  align-items: start;
}

.sitemap-menu__column {
  display: flex;
  flex-direction: column;
  gap: 20px;
  min-width: 0;
}

/* =========================
   グループ
   ========================= */
.sitemap-menu__heading {
  position: relative;
  margin: 0 0 10px;
  padding-bottom: 10px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
  color: #183b56;
}

.sitemap-menu__heading::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 90%;
  height: 1px;
  background: #000;
}

.sitemap-menu__sublist {
  margin: 0;
  padding: 0;
  list-style: none;
}

.sitemap-menu__sublist li {
  margin: 0 0 7px;
}

.sitemap-menu__sublist li:last-child {
  margin-bottom: 0;
}

.sitemap-menu__sublist a {
  display: inline-block;
  text-decoration: none;
  color: #222;
  line-height: 1.7;
  transition: opacity .2s ease;
}

.sitemap-menu__sublist a:hover {
  opacity: .7;
}

/* =========================
   自由追記用
   ========================= */
.sitemap-menu__free {
  margin-top: 4px;
}

.sitemap-menu__free p {
  margin: 0 0 12px;
  line-height: 1.7;
  color: #333;
}

.sitemap-menu__cta {
  display: inline-block;
  padding: 10px 16px;
  text-decoration: none;
  border: 1px solid #183b56;
  color: #183b56;
  border-radius: 999px;
  transition: all .2s ease;
}

.sitemap-menu__cta:hover {
  background: #183b56;
  color: #fff;
}

/* =========================
   トグルボタン周辺
   必要に応じて使用
   ========================= */
.sitemap-button-area {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.sitemap-label {
  margin: 0;
  font-weight: 300;
  line-height: 1;
}

.sitemap-toggle {
  appearance: none;
  border: 1px solid #fff;
  background: none;
  color: #fff;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  cursor: pointer;
  font-size: 20px;
  line-height: 1;
  transition: all .2s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	margin: 0;
	font-weight: 300;
	text-align: center;
}

.sitemap-toggle:hover {
	/*
	background: #183b56;
	color: #fff;
	*/
	background: #fff;
    color: #c5c5c5;
    opacity: 0.4;
    border: 1px solid #c5c5c5;
}

/* =========================
   レスポンシブ
   ========================= */
@media (max-width: 1093px) {
  .sitemap-menu__cols {
    padding: 72px 32px 40px;
  }

  .sitemap-menu__grid {
    gap: 28px 24px;
  }
}

@media (max-width: 767px) {
  .sitemap-menu__cols {
    padding: 64px 20px 32px;
  }

  .sitemap-menu__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 20px;
  }

  .sitemap-menu__column {
    gap: 24px;
  }

  .sitemap-menu__heading {
    font-size: 16px;
    margin-bottom: 10px;
  }

  .sitemap-menu__sublist li {
    margin-bottom: 8px;
  }

  .sitemap-menu__sublist a {
    font-size: 14px;
    line-height: 1.6;
  }
}

/* トップへ戻る（右下固定） */
.back-to-top{
  position: fixed;
  right: 198px;
  bottom: 18px;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: none;
  background: rgba(255,255,255,.85);
  color: #0058a7;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(0,0,0,.25);
  z-index: 9999;
}
@media (max-width: 767px){
  .back-to-top{
	  right: 8px;
	  bottom: 68px;
  }
}
.back-to-top:hover{ background: #fff; }

/* responsive */
@media (max-width: 900px){
  .footer-columns{
    flex-direction: column;
    align-items: flex-start;
  }
  .footer-utility-links__menu{ text-align: left; }
  .sitemap-menu__list{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px){
  .sitemap-menu__list{ grid-template-columns: 1fr; }
}

/* サイドバー幅を変数で管理 */
:root{
  --sideMenuW: 180px;
}

/* 右固定サイドバー（必要ならセレクタは実物に合わせて） */
/* #right-sidebar{
  width: var(--sideMenuW);
  position: fixed;
  top: 0;
  right: 0;
  height: 100vh;
  z-index: 9020;
} */

/* * SP フッターボタン * */
/* 767px以下：サイドバー非表示＋右余白を戻す */
@media (max-width: 767px){
  #right-sidebar{
    display: none;
  }
}

.mobile-bottom-nav{
  display:none;
}

@media (max-width: 767px){
  .mobile-bottom-nav{
    display:flex;
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:1000;
    height:56px; /* 好みで */
    padding-bottom: env(safe-area-inset-bottom); /* iPhone安全 */
	  border-top: 1px solid #fff;
  }
  .mobile-bottom-nav__item{
    flex:1;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    text-decoration:none;
    border-right: 1px solid #fff;
    background: #000;
	  background: #44abe5;
  }
.mobile-bottom-nav__item:last-child{
	border-right: none;
}
  .mobile-bottom-nav__text{
    font-size:14px;
    font-weight: bold;
    color: #fff;
    line-height:1;
    white-space:nowrap;
  }
}
/* スマホ下部固定ナビ：500px以下対応 */
@media screen and (max-width: 500px) {

  .mobile-bottom-nav {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
    height: auto;
    min-height: 64px;
    box-sizing: border-box;
  }

  .mobile-bottom-nav__item {
    min-width: 0;
    width: 100%;
    height: 64px;

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

    gap: 4px;
    padding: 5px 2px;
    box-sizing: border-box;

    text-align: center;
    text-decoration: none;

    white-space: normal;
    overflow: hidden;
  }

  .mobile-bottom-nav__icon {
    display: block;
    width: 16px;
    height: 16px;
    line-height: 1;
    flex: 0 0 auto;
  }

  .mobile-bottom-nav__text {
    display: block;
    width: 100%;
    min-width: 0;

    font-size: clamp(9px, 2.5vw, 11px);
    line-height: 1.15;
    font-weight: 600;

    white-space: normal;
    word-break: keep-all;
    overflow-wrap: anywhere;
    text-align: center;
  }
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * main
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

/* ===== Body base ===== */

.has-fixed-header {
  padding-top: 44px;
}

.has-fixed-side {
  padding-right: 180px;
}

/* 767px以下：サイドバー非表示＋右余白を戻す */
@media (max-width: 767px){
  .has-fixed-side {
    padding-right: 0!important;
  }
}

/* ===== front-page 下部 card ===== */
.dept-cards a.dept-card:hover,
.dept-cards a.dept-card:focus,
.dept-cards a.dept-card:focus-visible {
  opacity: 1 !important;
}

/* ===== front-page 下部 CTAボタン ===== */
.admission-cta__card:hover,
.admission-cta__card:focus,
.admission-cta__card:focus-visible {
  opacity: 1 !important;
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * examinee-page 受験生ページ
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

/* ===== スライド下ボタン群・緊急情報エリア（トップページ併用） ===== */
/*
 * :root {
  --mv-fixed-top: 0px;
  --mv-side-offset: 180px; / * 右サイドメニュー幅 * /
}

.mv-actions {
  position: relative;
  padding: 20px;
  z-index: 10;
  background: #fff;
  box-sizing: border-box;
  width: 100%;
}

.mv-actions.is-fixed {
	position: fixed;
	top: var(--mv-fixed-top);
	left: 0;
	right: var(--mv-side-offset);
	width: auto;
	z-index: 999;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	box-sizing: border-box;
	padding-top: 12px;
	padding-bottom: 12px;
}

.mv-actions-placeholder {
  width: 100%;
  height: 0;
}

.mv-actions__inner {
  max-width: 1240px;
  margin: 0 auto;
}
*/

/* ===== スライド下ボタン群・緊急情報エリア（sticky版） ===== */
:root {
  --header-height: 103px;     /* 現在のヘッダー高さ */
  --mv-sticky-gap: 0px;       /* ヘッダーとの隙間 */
  --mv-side-offset: 180px;    /* 右サイドメニュー幅 */
}

/* examinee 微調整 */
body.page-id-49238 {
  --header-height: 135px!important;
}

/* top｜管理バー表示時はそのぶん加味 */
body.admin-bar {
  --header-height: 167px; /* 135 + 管理バー32 の想定。必要なら微調整 */
}

/* examinee｜管理バー表示時はそのぶん加味 */
body.page-id-49238.admin-bar {
  --header-height: 135px;
}

.mv-actions {
  position: sticky;
  top: calc(var(--header-height) + var(--mv-sticky-gap));
  z-index: 900;
  padding: 12px 20px;
  background: #fff;
  box-sizing: border-box;
}

/* 中身の最大幅 */
.mv-actions__inner {
  max-width: 1240px;
  margin: 0 auto;
}

/* sticky時の見た目を安定させる */
.mv-actions {
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
  border-top: 1px solid rgba(0, 0, 0, 0.04);
}

/* 右サイドがない幅では全幅 */
@media screen and (max-width: 1200px) {
  :root {
    --mv-side-offset: 0px;
  }

  .mv-actions {
    width: 100%;
  }
}

/* SPでヘッダー高が変わるなら調整 */
@media screen and (max-width: 767px) {
  :root {
    --header-height: 88px;   /* SP実寸に合わせて調整 */
    --mv-sticky-gap: 6px;
  }

  body.admin-bar {
    --header-height: 134px;  /* SP管理バー込み想定。必要なら調整 */
  }

  .mv-actions {
    padding: 10px 12px;
    width: 100%;
  }
}

/* 右サイドメニューが下に落ちる幅では通常幅に戻す */
@media screen and (max-width: 1200px) {
  :root {
    --mv-side-offset: 0px;
  }

  .mv-actions.is-fixed {
    right: 0;
  }
}

/* ===== ニュース ===== */
/* Pick Up */
.page-id-49238 .pickup-title {
text-align: start;
font-family: "BIZ UDPGothic", "Yu Gothic", "游ゴシック", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
font-size: 48px;
font-weight: bold;
margin-bottom: 20px;
}

/* ===== 受験生ページ パネル ===== */
.message-grid-section {
	margin: 6em 0;
    padding: 80px 0;
    background: #fff;
}

.message-grid {
/*     width: min(100%, 1400px); */
	width: 100%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: repeat(4, 1fr);
	aspect-ratio: 5 / 4;
    gap: 12px;
}

/* 共通 */
.grid-item,
.text-area {
    width: 100%;
    height: 100%;
    overflow: hidden;
    min-width: 0;
    min-height: 0;
}

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

/* 1枚目：A1、B1、A2、B2 */
.item-1 {
    grid-column: 1 / 3;
    grid-row: 1 / 3;
}

/* 2枚目：C1 */
.item-2 {
    grid-column: 3 / 4;
    grid-row: 1 / 2;
}

/* 3枚目：D1、E1 */
.item-3 {
    grid-column: 4 / 6;
    grid-row: 1 / 2;
}

/* 4枚目：E2 */
.item-4 {
    grid-column: 5 / 6;
    grid-row: 2 / 3;
}

/* 5枚目：A3、A4 */
.item-5 {
    grid-column: 1 / 2;
    grid-row: 3 / 5;
}

/* 6枚目：B3 */
.item-6 {
    grid-column: 2 / 3;
    grid-row: 3 / 4;
}

/* 7枚目：E3 */
.item-7 {
    grid-column: 5 / 6;
    grid-row: 3 / 4;
}

/* 8枚目：B4 */
.item-8 {
    grid-column: 2 / 3;
    grid-row: 4 / 5;
}

/* 9枚目：C4、D4 */
.item-9 {
    grid-column: 3 / 5;
    grid-row: 4 / 5;
}

/* 10枚目：E4 */
.item-10 {
    grid-column: 5 / 6;
    grid-row: 4 / 5;
}

/* テキスト：C2、D2、C3、D3 */
.text-area {
	position: relative;
    grid-column: 3 / 5;
    grid-row: 2 / 4;
/*     background: linear-gradient(90deg, #0058a7 0%, #00a699 100%); */
	background: linear-gradient(90deg, #0068b7 0%, #00a0e9 100%);
    color: #fff;
	overflow: hidden;
}

.text-area__inner {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 0;
	box-sizing: border-box;
    padding: 28px 24px 24px 28px;
}

/* 見出し画像 */
.text-area__heading-image {
    width: 100%;
    flex: 0 0 auto;
}

.text-area__heading-image img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
}

/* 説明文 */
.text-area__desc {
	position: absolute;
	left: 38px;
	bottom: 38px;
	margin: 0;
	font-size: clamp(8px, 1vw, 15px);
	font-weight: 700;
	line-height: 1.9;
	letter-spacing: 0.03em;
	word-break: keep-all;
	overflow-wrap: break-word;
	max-width: 60%;
}

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

  .message-grid-section {
    margin: 0;
    padding: 0;
  }

  .message-grid {
    width: 100%;
    display: grid;

    /* A列：61%、B列：39% */
    grid-template-columns: 61% 39%;

    /*
      5行構成
      1行目：上部画像
      2〜4行目：テキスト＋右側画像
      5行目：下部2画像
    */
    grid-template-rows:
      minmax(0, 1.05fr)
      minmax(0, 0.75fr)
      minmax(0, 0.75fr)
      minmax(0, 0.75fr)
      minmax(0, 1.05fr);

    gap: 4px;
    aspect-ratio: 576 / 1241;
  }

  /*
    SPでは使わない画像を一旦非表示
  */
  .message-grid .grid-item {
    display: none;
  }

  /*
    A1 + B1：1枚の画像
  */
  .message-grid .sp-img-a1b1 {
    display: block;
    grid-column: 1 / 3;
    grid-row: 1 / 2;
  }

  /*
    A2 + A3 + A4：テキストエリア
  */
  .message-grid .sp-text-area {
    display: block;
    grid-column: 1 / 2;
    grid-row: 2 / 5;
    width: 100%;
    min-height: 0;
  }

  /*
    B2：1枚の画像
  */
  .message-grid .sp-img-b2 {
    display: block;
    grid-column: 2 / 3;
    grid-row: 2 / 3;
  }

  /*
    B3 + B4：1枚の画像
  */
  .message-grid .sp-img-b3b4 {
    display: block;
    grid-column: 2 / 3;
    grid-row: 3 / 5;
  }

  /*
    A5：1枚の画像
  */
  .message-grid .sp-img-a5 {
    display: block;
    grid-column: 1 / 2;
    grid-row: 5 / 6;
  }

  /*
    B5：1枚の画像
  */
  .message-grid .sp-img-b5 {
    display: block;
    grid-column: 2 / 3;
    grid-row: 5 / 6;
  }

  .message-grid .grid-item img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
  }

  .text-area {
    background: linear-gradient(180deg, #0068b7 0%, #00a0e9 100%);
  }

  .text-area__inner {
    height: 100%;
    padding: 28px 18px 24px;
  }

  .text-area__heading-image {
    width: 78%;
  }

  .text-area__heading-image img {
    width: 100%;
    height: auto;
  }

  .text-area__desc {
    position: absolute;
    left: 18px;
    bottom: 26px;
    max-width: calc(100% - 36px);
    font-size: clamp(10px, 2.4vw, 13px);
    line-height: 1.9;
    letter-spacing: 0.03em;
  }

}
/* PCではテキスト見出しを非表示 */
.text-area__sub-title {
  display: none;
}

@media screen and (max-width: 767px) {
	
/* SPでは画像見出しを非表示 */
	.text-area__heading-image {
		display: none;
	}
	.text-area__inner {
		height: 100%;
		padding: clamp(22px, 5vw, 34px) clamp(16px, 4vw, 28px);
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
	}
	.text-area__sub-title {
		display: block;
		margin: 0;
		color: #fff;
		font-size: clamp(30px, 8vw, 48px);
		font-weight: 700;
		line-height: 1.55;
		letter-spacing: 0.05em;
	}
	.text-area__desc {
		position: static;
		left: auto;
		bottom: auto;
		margin: clamp(28px, 8vw, 56px) 0 0;
		max-width: 100%;
		font-size: clamp(12px, 3.1vw, 18px);
		font-weight: 700;
		line-height: 1.85;
		letter-spacing: 0.03em;
		word-break: keep-all;
		overflow-wrap: break-word;
	}
}

@media screen and (max-width: 351px) {
	.text-area__inner {
		padding: clamp(18px, 5vw, 24px) clamp(14px, 4vw, 18px);
	}
	.text-area__sub-title {
		font-size: clamp(27px, 8vw, 32px);
		line-height: 1.5;
	}
	.text-area__desc {
		margin-top: clamp(14px, 5vw, 22px);
		font-size: clamp(10px, 3.2vw, 11px);
		line-height: 1.65;
		letter-spacing: 0.01em;
	}
}

/* ========================= 大学を知る ========================= */
.discover-section {
    position: relative;
    overflow: hidden;
    background: #fff;
    padding: 80px 20px 100px;
	min-height: 280px;
}

/* 背景画像＋グラデーション */
.discover-section__bg {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #fff 78%),
        url("https://www.nuis.ac.jp/wp-content/uploads/2026/04/exa-dis-bg-01.png") left center / cover no-repeat;
	background-position: center bottom;
    z-index: 0;
}

.discover-section__inner {
    position: relative;
    z-index: 1;
    max-width: 1280px;
    margin: 0 auto;
}

/* 見出し */
.discover-section__heading {
    margin-bottom: 34px;
    text-align: center;
	border-bottom: 3px solid;
}

.discover-section__title {
    margin: 0 0 14px;
    display: inline-flex;
    align-items: baseline;
    gap: 14px;
    color: #222;
    line-height: 1.2;
}

.discover-section__title-ja {
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: 0.04em;
	text-shadow: 0 0 5px #ffffff;
}

.discover-section__title-en {
    font-size: 1.2rem; /* 日本語の約3/5 */
    font-weight: 600;
    letter-spacing: 0.02em;
	text-shadow: 0 0 5px #ffffff;
}

.discover-section__line {
    border: 0;
    border-top: 3px solid #333;
    margin: 0 auto;
    width: min(100%, 760px);
}

/* ボタンエリア */
.discover-section__buttons {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px 26px;
    max-width: 1280px;
    margin: 0 auto;
}

/* ボタン */
.discover-btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 26px;
    padding: 12px 48px 12px 24px;
    border-radius: 999px;
    text-decoration: none;
    color: #0068b7;
    font-weight: 700;
    font-size: 1.1rem;
    line-height: 1.4;
    background: linear-gradient(#fff, #fff) padding-box,linear-gradient(90deg, #0068b7 0%, #00a0e9 100%) border-box;
    border: 2px solid transparent;
    transition: background 0.3s ease, color 0.3s ease, opacity 0.3s ease;
}

.discover-btn::after {
    content: "・";
    position: absolute;
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.2em;
    line-height: 1;
    color: #00a0e9;
    transition: transform 0.3s ease, color 0.3s ease;
}

.discover-btn:hover {
    opacity: 1;
    color: #fff;
    background: linear-gradient(
        to bottom,
        rgba(0, 104, 183, 0.80),
        rgba(0, 160, 233, 0.80)
    );
}

.discover-btn:hover::after {
    color: #fff;
    transform: translateY(-50%) scale(1.2);
}

/* レスポンシブ */
@media (max-width: 900px) {
    .discover-section--dis {
        padding: 56px 20px 72px;
    }

    .discover-section--dis .discover-section__buttons {
        grid-template-columns: repeat(2, 1fr);
    }

    .discover-section--dis .discover-section__buttons .discover-btn:nth-child(4) {
        grid-column: auto;
    }
}

@media (max-width: 640px) {
    .discover-section--dis .discover-section__bg {
        background:
            linear-gradient(
                180deg,
                rgba(255, 255, 255, 0.90) 0%,
                rgba(255, 255, 255, 0.82) 100%
            ),
            url("https://www.nuis.ac.jp/wp-content/uploads/2026/04/exa-dis-bg-02.png") center center / cover no-repeat;
    }

    .discover-section--dis .discover-section__title {
        flex-direction: column;
        gap: 8px;
    }

    .discover-section--dis .discover-section__title-ja {
        font-size: 1.8rem;
    }

    .discover-section--dis .discover-section__title-en {
        font-size: 1rem;
    }

    .discover-section--dis .discover-section__buttons {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .discover-section--dis .discover-btn {
        font-size: 1rem;
        padding: 13px 48px 13px 22px;
    }

    .discover-section--dis .discover-btn::after {
        right: 20px;
    }
}

/* ========================= 受験を考える ========================= */
.discover-section--admission {
    position: relative;
    overflow: hidden;
    background: #fff;
    padding: 72px 20px 88px;
}

.discover-section--admission .discover-section__bg {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.96) 0%,
            rgba(255, 255, 255, 0.92) 42%,
            rgba(255, 255, 255, 0.72) 62%,
            rgba(255, 255, 255, 0.38) 78%,
            rgba(255, 255, 255, 0.20) 100%
        ),
        url("https://www.nuis.ac.jp/wp-content/uploads/2026/04/exa-dis-bg-02.png") right center / cover no-repeat;
    z-index: 0;
}

.discover-section--admission .discover-section__inner {
    position: relative;
    z-index: 1;
    max-width: 1280px;
    margin: 0 auto;
}

/* 見出し */
.discover-section--admission .discover-section__heading {
    text-align: center;
    margin-bottom: 38px;
    position: relative;
    padding-bottom: 12px;
}

.discover-section--admission .discover-section__title {
    margin: 0;
    display: inline-flex;
    align-items: baseline;
    gap: 16px;
    color: #222;
    line-height: 1.2;
}

.discover-section--admission .discover-section__title-ja {
    font-size: 2.1rem;
    font-weight: 700;
    letter-spacing: 0.04em;
	text-shadow: 0 0 5px #ffffff;
}

.discover-section--admission .discover-section__title-en {
    font-size: 1.05rem;
    font-weight: 600;
    letter-spacing: 0.01em;
	text-shadow: 0 0 5px #ffffff;
}

/* ボタンエリア */
.discover-section--admission .discover-section__buttons {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px 28px;
    max-width: 1280px;
    margin: 0 auto;
    align-items: start;
}

/* 4つ目のボタンを左下に配置 */
.discover-section--admission .discover-section__buttons .discover-btn:nth-child(4) {
    grid-column: 1 / 2;
}

/* ボタン */
.discover-section--admission .discover-btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 14px 52px 14px 28px;
    border-radius: 999px;
    text-decoration: none;
    color: #0068b7;
    font-weight: 700;
    font-size: 1.05rem;
    line-height: 1.4;
    background: linear-gradient(#fff, #fff) padding-box,
                linear-gradient(90deg, #0068b7 0%, #00a0e9 100%) border-box;
    border: 2px solid transparent;
    transition: background 0.3s ease, color 0.3s ease, opacity 0.3s ease;
    box-sizing: border-box;
}

.discover-section--admission .discover-btn::after {
    content: "・";
    position: absolute;
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.15em;
    line-height: 1;
    color: #00a0e9;
    transition: transform 0.3s ease, color 0.3s ease;
}

.discover-section--admission .discover-btn:hover {
    opacity: 1;
    color: #fff;
    background: linear-gradient(
        to bottom,
        rgba(0, 104, 183, 0.80),
        rgba(0, 160, 233, 0.80)
    );
}

.discover-section--admission .discover-btn:hover::after {
    color: #fff;
    transform: translateY(-50%) scale(1.2);
}

/* レスポンシブ */
@media (max-width: 900px) {
    .discover-section--admission {
        padding: 56px 20px 72px;
    }

    .discover-section--admission .discover-section__buttons {
        grid-template-columns: repeat(2, 1fr);
    }

    .discover-section--admission .discover-section__buttons .discover-btn:nth-child(4) {
        grid-column: auto;
    }
}

@media (max-width: 640px) {
    .discover-section--admission .discover-section__bg {
        background:
            linear-gradient(
                180deg,
                rgba(255, 255, 255, 0.90) 0%,
                rgba(255, 255, 255, 0.82) 100%
            ),
            url("https://www.nuis.ac.jp/wp-content/uploads/2026/04/exa-dis-bg-02.png") center center / cover no-repeat;
    }

    .discover-section--admission .discover-section__title {
        flex-direction: column;
        gap: 8px;
    }

    .discover-section--admission .discover-section__title-ja {
        font-size: 1.8rem;
    }

    .discover-section--admission .discover-section__title-en {
        font-size: 1rem;
    }

    .discover-section--admission .discover-section__buttons {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .discover-section--admission .discover-btn {
        font-size: 1rem;
        padding: 13px 48px 13px 22px;
    }

    .discover-section--admission .discover-btn::after {
        right: 20px;
    }
}

/* ========================= 暮らしを整える ========================= */
.discover-section--life {
    position: relative;
    overflow: hidden;
    background: #fff;
    padding: 76px 20px 150px;
}

.discover-section--life .discover-section__bg {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0) 0%,
            rgba(255, 255, 255, 0.18) 18%,
            rgba(255, 255, 255, 0.55) 38%,
            rgba(255, 255, 255, 0.82) 56%,
            rgba(255, 255, 255, 0.96) 72%,
            rgba(255, 255, 255, 1) 100%
        ),
        url("https://www.nuis.ac.jp/wp-content/uploads/2026/04/exa-dis-bg-03.png") left center / cover no-repeat;
    z-index: 0;
}

.discover-section--life .discover-section__inner {
    position: relative;
    z-index: 1;
    max-width: 1280px;
    margin: 0 auto;
}

/* 見出し */
.discover-section--life .discover-section__heading {
    text-align: center;
    margin-bottom: 38px;
    position: relative;
    padding-bottom: 12px;
}

.discover-section--life .discover-section__title {
    margin: 0;
    display: inline-flex;
    align-items: baseline;
    gap: 16px;
    color: #222;
    line-height: 1.2;
}

.discover-section--life .discover-section__title-ja {
    font-size: 2.1rem;
    font-weight: 700;
    letter-spacing: 0.04em;
	text-shadow: 0 0 5px #ffffff;
}

.discover-section--life .discover-section__title-en {
    font-size: 1.05rem;
    font-weight: 600;
    letter-spacing: 0.01em;
	text-shadow: 0 0 5px #ffffff;
}

/* ボタンエリア */
.discover-section--life .discover-section__buttons {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    max-width: 1280px;
    margin: 0 auto;
    align-items: start;
}

/* ボタン */
.discover-section--life .discover-btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 14px 52px 14px 28px;
    border-radius: 999px;
    text-decoration: none;
    color: #0068b7;
    font-weight: 700;
    font-size: 1.05rem;
    line-height: 1.4;
    background: linear-gradient(#fff, #fff) padding-box,
                linear-gradient(90deg, #0068b7 0%, #00a0e9 100%) border-box;
    border: 2px solid transparent;
    box-sizing: border-box;
    transition: background 0.3s ease, color 0.3s ease, opacity 0.3s ease;
}

.discover-section--life .discover-btn::after {
    content: "・";
    position: absolute;
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.15em;
    line-height: 1;
    color: #00a0e9;
    transition: transform 0.3s ease, color 0.3s ease;
}

.discover-section--life .discover-btn:hover {
    opacity: 1;
    color: #fff;
    background: linear-gradient(
        to bottom,
        rgba(0, 104, 183, 0.80),
        rgba(0, 160, 233, 0.80)
    );
}

.discover-section--life .discover-btn:hover::after {
    color: #fff;
    transform: translateY(-50%) scale(1.2);
}

/* レスポンシブ */
@media (max-width: 900px) {
    .discover-section--life {
        padding: 60px 20px 100px;
    }

    .discover-section--life .discover-section__buttons {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .discover-section--life {
        padding: 52px 20px 72px;
    }

    .discover-section--life .discover-section__bg {
        background:
            linear-gradient(
                180deg,
                rgba(255, 255, 255, 0.78) 0%,
                rgba(255, 255, 255, 0.92) 100%
            ),
            url("https://www.nuis.ac.jp/wp-content/uploads/2026/04/exa-dis-bg-03.png") center center / cover no-repeat;
    }

    .discover-section--life .discover-section__title {
        flex-direction: column;
        gap: 8px;
    }

    .discover-section--life .discover-section__title-ja {
        font-size: 1.8rem;
    }

    .discover-section--life .discover-section__title-en {
        font-size: 1rem;
    }

    .discover-section--life .discover-section__buttons {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .discover-section--life .discover-btn {
        font-size: 1rem;
        padding: 13px 48px 13px 22px;
    }

    .discover-section--life .discover-btn::after {
        right: 20px;
    }
}

/* ========================= もっと深く知る ========================= */
.discover-section--support {
    position: relative;
    overflow: hidden;
    background: #fff;
    padding: 76px 20px 150px;
}

.discover-section--support .discover-section__bg {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 1) 0%,
            rgba(255, 255, 255, 0.96) 34%,
            rgba(255, 255, 255, 0.82) 50%,
            rgba(255, 255, 255, 0.52) 64%,
            rgba(255, 255, 255, 0.18) 78%,
            rgba(255, 255, 255, 0.04) 100%
        ),
        url("https://www.nuis.ac.jp/wp-content/uploads/2026/04/exa-dis-bg-04.png") right center / cover no-repeat;
    z-index: 0;
}

.discover-section--support .discover-section__inner {
    position: relative;
    z-index: 1;
    max-width: 1280px;
    margin: 0 auto;
}

/* 見出し */
.discover-section--support .discover-section__heading {
    text-align: center;
    margin-bottom: 38px;
    position: relative;
    padding-bottom: 12px;
}

/*
.discover-section--support .discover-section__heading::after {
    content: "";
    display: block;
    width: 100%;
    max-width: 820px;
    margin: 10px auto 0;
    border-bottom: 3px solid #333;
}
*/

.discover-section--support .discover-section__title {
    margin: 0;
    display: inline-flex;
    align-items: baseline;
    gap: 16px;
    color: #222;
    line-height: 1.2;
}

.discover-section--support .discover-section__title-ja {
    font-size: 2.1rem;
    font-weight: 700;
    letter-spacing: 0.04em;
	text-shadow: 0 0 5px #ffffff;
}

.discover-section--support .discover-section__title-en {
    font-size: 1.05rem;
    font-weight: 600;
    letter-spacing: 0.01em;
	text-shadow: 0 0 5px #ffffff;
}

/* ボタンエリア */
/* .discover-section--support .discover-section__buttons {
    display: grid;
    grid-template-columns: repeat(2, minmax(240px, 1fr));
    gap: 28px;
    max-width: 520px;
    margin: 0;
} */

/* ボタン */
.discover-section--support .discover-btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 14px 52px 14px 28px;
    border-radius: 999px;
    text-decoration: none;
    color: #0068b7;
    font-weight: 700;
    font-size: 1.05rem;
    line-height: 1.4;
    background: linear-gradient(#fff, #fff) padding-box,
                linear-gradient(90deg, #0068b7 0%, #00a0e9 100%) border-box;
    border: 2px solid transparent;
    box-sizing: border-box;
    transition: background 0.3s ease, color 0.3s ease, opacity 0.3s ease;
}

.discover-section--support .discover-btn::after {
    content: "・";
    position: absolute;
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.15em;
    line-height: 1;
    color: #00a0e9;
    transition: transform 0.3s ease, color 0.3s ease;
}

.discover-section--support .discover-btn:hover {
    opacity: 1;
    color: #fff;
    background: linear-gradient(
        to bottom,
        rgba(0, 104, 183, 0.80),
        rgba(0, 160, 233, 0.80)
    );
}

.discover-section--support .discover-btn:hover::after {
    color: #fff;
    transform: translateY(-50%) scale(1.2);
}

/* レスポンシブ */
@media (max-width: 900px) {
    .discover-section--support {
        padding: 60px 20px 100px;
    }

    .discover-section--support .discover-section__buttons {
        max-width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .discover-section--support {
        padding: 52px 20px 72px;
    }

    .discover-section--support .discover-section__bg {
        background:
            linear-gradient(
                180deg,
                rgba(255, 255, 255, 0.82) 0%,
                rgba(255, 255, 255, 0.94) 100%
            ),
            url("https://www.nuis.ac.jp/wp-content/uploads/2026/04/exa-dis-bg-04.png") center center / cover no-repeat;
    }

    .discover-section--support .discover-section__title {
        flex-direction: column;
        gap: 8px;
    }

    .discover-section--support .discover-section__title-ja {
        font-size: 1.8rem;
    }

    .discover-section--support .discover-section__title-en {
        font-size: 1rem;
    }

    .discover-section--support .discover-section__buttons {
        grid-template-columns: 1fr;
        gap: 18px;
        max-width: 100%;
    }

    .discover-section--support .discover-btn {
        font-size: 1rem;
        padding: 13px 48px 13px 22px;
    }

    .discover-section--support .discover-btn::after {
        right: 20px;
    }
}
