@charset "utf-8";
/*2025.9.4-so*/

/******************
header
******************/
.header .header-menu .nav .nav-item .nav-link.active {
    font-weight: 500;
}
.header .header-logo img {
    width: auto;
    height: 50px;
    max-height: 50px;
}
@media (max-width: 413px){
	.header .header-logo img {
    max-height: 50px;
	}
}
.h1tx{
	font-size:12px!important;
	color: #121518 !important;
	font-weight: normal !important;
	text-align:center;
	margin-bottom:0;
}
.header.sticky-autohide, .header.sticky {
    position: fixed;
    top: 0;
    left: 0;
    -webkit-box-shadow: 0 0 36px 0 rgb(22 25 28 / 0%);
    box-shadow: 0 0 36px 0 rgb(22 25 28 / 0%);
}
@media (min-width: 992px) {
    .header.transparent-light .header-menu .nav .nav-item .nav-link:hover, .header.transparent-light .header-menu .nav .nav-item .nav-link:focus, .header.transparent-light .header-menu .nav .nav-item .nav-link.active, .header.transparent-light .header-menu .nav .nav-item .nav-dropdown-toggle:hover, .header.transparent-light .header-menu .nav .nav-item .nav-dropdown-toggle:focus, .header.transparent-light .header-menu .nav .nav-item .nav-dropdown-toggle.active {
        color: #999;
    }
}
@media (max-width: 991.98px){
	.nav-link {
		font-size: 20px !important;
	}
	.header .header-menu .nav .nav-item .nav-dropdown .nav-dropdown-item {
        position: relative;
        margin: 10px 0;
    }
	.header-menu.show ul.nav li.nav-item a.button.button-md.button-radius.button-gradient-7.align-middle{
	font-size:1rem;	
	}
}
@media (max-width: 575.98px){
	.nav-dropdown a:not([class^='button']):not([class^="link-social"]) {
    font-size: 17px;
	}
}

.header .header-menu {
    display: inline-block;
    /*font-size: 0.9rem;*/
    z-index: 995;
}
.header {
    top: 0;
    z-index: 993;
    overflow: visible;
    width: 100%;
    height: 80px;
    -webkit-transition: ease-in-out 0.2s;
    transition: ease-in-out 0.2s;
}
.header-menu .nav {
	display: flex;
	align-items: center;
	height: 100%;
}
.header.header-transparent .header-logo a, .header.header-transparent .header-menu .nav .nav-link {
    color: #121518;
}
@media (min-width: 1200px){
	.header-menu .nav {
    position: absolute;
    top: 0;
    right: 0;
    /*width: 85%;*/
	}
	.header .header-menu .nav .nav-item .nav-link {
        font-size: 15px;
    }
	.nav-link {
    padding-left: 0.8rem;
	padding-right: 0.8rem;
	}
}
@media screen and (min-width: 1200px) and (max-width: 1399.98px) {
	.header .header-menu {
    display: inline-block;
    font-size: 15px;
	}
	.header .header-logo img {
    width: 250px;
	height: auto;
	}
}
@media screen and (min-width: 992px) and (max-width: 1199.98px) {
	.header .header-menu {
    display: inline-block;
    font-size: 13px;
	}
	.header .header-logo img, .header-logo {
	/*width: 200px;*/
	height: auto;
	}
	.header li.nav-item a.h3{
    font-size: 20px;
	}
}

.header.header-transparent .header-toggle span, .header.header-transparent .header-toggle span:before, .header.header-transparent .header-toggle span:after {
    background: #121518;
}

/* ===== スマートフォン用メニューの強制修正 ===== */
@media (max-width: 1199.98px) {
	/* メニュー全体のコンテナ設定 */
	.header-menu {
    height: 100vh; /* 高さを画面いっぱいに確保 */
    top: 0; /* 表示の基準を画面の一番上にする */
    padding-top: 10px; /* ヘッダーの高さ分(70px)だけ内側に余白を作り、メニューが隠れないようにする */
    box-sizing: border-box; /* paddingを含めて高さを計算するようにする */
    overflow-y: auto !important;   /* 縦スクロールを最優先で許可 */
    overflow-x: hidden !important; /* 横スクロールを最優先で禁止 */
    width: auto;
	}
	/* メニューリスト(ul)のレイアウトを縦並びに強制 */
	.header-menu .nav {
    flex-direction: column !important; /* Flexboxの並びを「縦」に最優先で変更 */
    height: auto !important; /* 高さを自動に設定し、メニュー項目が増えても伸びるようにする */
	}
	.header-menu ul li {
        margin-bottom: 0;
	}
	.header-menu .nav .nav-item{
        padding: 20px 16px;
	}
	.nav-link {
    padding: 0;
	}
}
/* ===== スマホ用メニューの追加修正 ===== */
@media (max-width: 1199.98px) {
  /* メニューリスト(ul)がコンテナの高さいっぱいを占めるように設定 */
  .header-menu .nav {
    height: 100%;
    padding-bottom: 2rem; /* 下部に余白を追加 */
    box-sizing: border-box;
  }

  /* 「閉じる」ボタンのスタイル */
  .close-menu-button {
    color: #555;
    text-decoration: none;
    padding: 0.5rem 1rem;
    border-radius: 5px;
    transition: background-color 0.2s ease;
  }
  .close-menu-button:hover {
    background-color: #f0f0f0;
    color: #121518;
  }
	/* メニュー本体のz-indexを明示的に設定 */
  .header-menu {
    z-index: 995; /* オーバーレイより上に表示 */
  }
}

/* メニュー表示時の背景オーバーレイ */
.menu-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 990; /* メニュー本体(z-index:995)より下、コンテンツより上 */
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}

/* メニュー表示時にオーバーレイを有効化 */
.menu-overlay.show {
  opacity: 1;
  visibility: visible;
}
@media (min-width: 1200px) {
  /* PC幅ではメニュー最下部の「閉じる」ボタンを非表示にする */
  .header-menu .nav .close-menu-button {
    display: none !important;
  }
	.header:not(.header-dark):not(.header-blue):not(.header-mint):not(.header-transparent) .header-menu .nav .nav-link:hover {
    color: #f36c1e !important;
  }
}
