/***************************************** フッター*/
.l-footer{
	border-top: 1px solid #EAEAEA;
}

.widget.widget_categories ul li a:before, .widget.widget_nav_menu ul.menu li a:before {
    font-family: icomoon;
    content: "";
    margin-right: 5px;
    color: #fff;
}
/* ボタン調整 */
/* ナビゲーションメニュー全体 */
.widget.widget_nav_menu ul.menu {
  border: none !important;
}

/* メニュー項目 */
.widget.widget_nav_menu ul.menu li {
  border-top: 0 !important;
}

/* メニューリンク */
.widget.widget_nav_menu ul.menu li a {
  color: #333 !important;
  background: #fff !important;
	border-top: 1px solid #EAEAEA;
}
.heading-widget {
    font-size: 1.5rem;
    margin-bottom: 0px;
  background: none !important;
  background-color: transparent !important;
    color:#2F3E5C;
    border-radius: 5px;
}

/* ホバー時 */
.widget.widget_nav_menu ul.menu li a:hover {
	background:#fff!important;
  background: none !important;
  color: #333 !important;
}

/* アイコンや疑似要素 */
.widget.widget_nav_menu ul.menu li a:before {
  color: #333 !important;
}
.bottomFooter__list li a{
	color:#333;
	text-decoration: none;
	font-weight: normal;
}
.bottomFooter__link{
	color: inherit;
}

.bottomFooter{
	background:#fff;
}
.bottomFooter {
    border-top: 1px solid #EAEAEA;
}
.l-footer{
	background:#fff;
	padding:1px 0px 0px 0px;
}
.widget-title{
  font-size: 17px;
  margin: 40px 0 20px;
  color: #111;
  line-height: 1.4;
  position: relative;
}
.widget-title::after {
  content: "";
  display: block;
  width: 50px;
  height: 3px;
  background: #1E90FF;
  margin-top: 8px;
  border-radius: 3px;
}

/************************************
 topヘッダー
************************************/
@media screen and (max-width: 767px) {
.l-header{
	padding:10px 0px 0px 0px;
}
}
/* ms-megaNav はPCのみ表示 */
@media screen and (max-width: 767px){
  .globalNavi__inner{ display:none !important; }
	.ms-megaNav__top{ display:none !important; }
	
}

.bottomFooter__topBtn {
background-color: #ff8694;
}

.menuBtn__link{
background:#fff;
color:#F46F72!important;
}
.menuBtn__link:hover{
color:#fff!important;
background:#F46F72;
}


/* デフォルト：スマホでは非表示 */
.guide-header-top {
    display: none;
}

/* PC だけ表示（768px以上） */
@media screen and (min-width: 768px) {
	/* ヘッダーのコンテナを全幅化 */
header .container {
    max-width: 100%;
    width: 100%;
    padding-left: 40px;
    padding-right: 40px;
}
	.siteTitle {
        margin: 0 100px 0 0;
    }
    .guide-header-top {
        display: block;
        width: 100%;
        background: #ffffff;
        border-bottom: 1px solid #eee;
        padding: 8px 0;
        font-size: 13px;
    }

    .guide-header-top__inner {
    max-width: 100%;
    padding-left: 40px;
    padding-right: 40px;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .guide-header-copy {
        color: #333;
    }
	.guide-header-top-menu a {
		margin:0px 16px 0px 0px;
		color: #0C77C3;
		text-decoration: none;
	}

    .guide-header-top-menu a:hover {
        text-decoration: underline;
    }
}

.globalNavi__list>li .children>li, .globalNavi__list>li .sub-menu>li {
	background:#1E90FF;
	}

	.globalNavi__list>li:hover .children::before, .globalNavi__list>li:hover .sub-menu::before {
		border-bottom: 6px solid #1E90FF;
	}

.globalNavi__list .current-menu-item>a, .globalNavi__list .current-menu-parent>a, .globalNavi__list .current_page_item>a, .globalNavi__list .menu-item a:hover, .globalNavi__list .page_item a:hover{
	border-bottom: 2px solid #1E90FF;
	color:#1E90FF;
}

.l-wrapper.l-wrapper--news {
    display: block;
}
/************************************
 ヘッダーメガメニュー
************************************/

/* 親メニュー：ホバー時に青い下線が中央からスッと伸びる */
.ms-megaNav__topLink{
  position: relative;
}

.ms-megaNav__topLink::after{
  content: "";
  position: absolute;
  left: 50%;
  bottom: 12px;
  width: 100%;
  height: 2px;
  background: #F46F72;
  transform: translateX(-50%) scaleX(0);
  transform-origin: center;
  transition: transform .18s ease;
}

/* ホバー時 */
.ms-megaNav__top > li:hover > .ms-megaNav__topLink::after,
.ms-megaNav__top > li:focus-within > .ms-megaNav__topLink::after{
  transform: translateX(-50%) scaleX(1);
}

/* ヘッダー高さ（必要なら実寸に合わせて変更） */
:root{
  --ms-header-h: 120px;
}

.ms-megaNav{
  position: relative;
  margin-left: 0px;
}

.ms-megaNav__top{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 22px;
  align-items: center;
}

.ms-megaNav__top > li{
  position: relative;
}

.ms-megaNav__topLink{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 24px 6px;
  text-decoration: none;
  color: #1f2b3a;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.ms-megaNav__caret{
  width: 6px;
  height: 6px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  opacity: .6;
  margin-top: -2px;
}

/* 現在地（文字だけ青） */
.ms-megaNav__top > li.current-menu-item > a,
.ms-megaNav__top > li.current_page_item > a,
.ms-megaNav__top > li.current-menu-ancestor > a,
.ms-megaNav__top > li.current_page_ancestor > a{
  color: #F46F72;
}

/* ===== メガパネル：全幅・ヘッダー直下に固定 ===== */
.ms-megaNav__panel{
  position: fixed;
  left: 0;
  right: 0;
  top: var(--ms-header-h);
  width: 100vw;
  background: #fff;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transform: translateY(10px);
  transition: opacity .16s ease, transform .16s ease, visibility .16s ease;

  border-top: 1px solid rgba(10,47,96,0.08);
  box-shadow: 0 18px 50px rgba(10,47,96,0.10);
  z-index: 9999;
}

/* 中身はメインカラム幅に合わせる */
.ms-megaNav__panel-inner{
  max-width: 1200px;
  margin: 0 auto;
  padding: 25px 38px 40px;
}

/* 4列 */
.ms-megaNav__grid{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: 26px;
  row-gap: 0;
}

/* 子メニュー：常に下線を出す（項目が少なくても下線あり） */
.ms-megaNav__grid > li{
  margin: 0;
  padding: 0;
}

.ms-megaNav__subLink{
  position: relative; 
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: #243447;
  padding: 15px 44px 15px 15px;
  border-bottom: 1px solid #d8d8d8;
}

/* 右矢印（青）：位置ズレ防止 */
.ms-megaNav__subLink::after{
  content: "›";
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 30px;
  line-height: 1;
  color: #F46F72;
  opacity: 1;
}
.ms-megaNav__topLink:hover,
.ms-megaNav__topLink:focus {
  color: #F46F72 !important;
}

.ms-megaNav__subLink:hover{
  background: rgba(10,47,96,0.05);
}

.ms-megaNav__ico{
  font-size: 18px;
  line-height: 1;
  width: 18px;
  height: 18px;
  color: rgba(10,47,96,0.70);
  flex: 0 0 auto;
}

/* 子メニュー文字：太字NGなので、色・字間・行間で視認性を上げる */
.ms-megaNav__text{
  display: inline-block;
  font-size: 14.5px;
  line-height: 2.0;
  letter-spacing: 0.02em;
  color: #333;
	font-weight:700;
}

.ms-megaNav__subLink:hover .ms-megaNav__text{
  color: #0a3a7a;
}

/* 開閉（ホバー/フォーカス） */
.ms-megaNav__top > li:hover > .ms-megaNav__panel,
.ms-megaNav__top > li:focus-within > .ms-megaNav__panel{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0px);
}

/* 親リンクもホバーで青 */
.ms-megaNav__top > li:hover > a{
  color: #1E90FF;
}

/* SPでは表示しない（SPは既存メニュー維持） */
@media (max-width: 1024px){
  .ms-megaNav{
    display: none;
  }
}

/* walkerが生成する通常ulは使わない（念のため） */
.ms-megaNav__top > li > ul{
  display: none;
}
