@media only screen and ( max-width : 768px ) {
  .fixed {
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 1;
  }
	#header .mask {
		background: rgba(22,34,42,.4);
    top: 60px;
    left: 0;
    z-index: 1;
    position: absolute;
    width: 100%;
    height: 100vh;
    opacity: 1;
    display: none;
	}
}

a.meanmenu-reveal{
  display:none;
}

.mean-container .mean-bar{
  width:100%;
  position:fixed;
  background:none;
  min-height:60px;
  z-index:999998;
  top:0;
  left:0;
}
.mean-container .mean-bar {
	width: 100%;
	position: fixed;
	background: none;
	min-height: 60px;
	z-index: 98;
	top: 0;
	left: 0;
}
.meanmenu-reveal-btn {
  position: absolute;
  display: block;
  z-index: 99999;
  box-sizing: border-box;
  width: 60px;
  height: 60px;
  right: 0;
  top: 0;
}
.meanmenu-reveal {
  width: 26px;
  height: 20px;
  margin: 13px 17px 27px 17px;
  display: block !important;
  position: relative;
}
.meanmenu-reveal:after {
	content: "MENU";
	position: absolute;
	bottom: -20px;
	color: #fff;
	font-size: 10px;
	width: 60px;
	left: -17px;
	text-align: center;
	display: block;
	/*font-family:serif;*/
}
.meanmenu-reveal.meanclose:after {
	content: "CLOSE";
}
.meanmenu-reveal span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  margin: 0 auto;
}
.meanmenu-reveal span:nth-of-type(1) {
  top: 0;
  background: #fff;
}
.meanmenu-reveal span:nth-of-type(2) {
  top: 8px;
  background: #fff;
}
.meanmenu-reveal span:nth-of-type(3) {
  top: 16px;
  background: #fff;
}

.meanmenu-reveal  span:nth-of-type(1) {
  -webkit-animation: menu-ber01 .75s forwards;
  animation: menu-ber01 .75s forwards;
}
.meanmenu-reveal  span:nth-of-type(2) {
  transition: all .25s .25s;
  opacity: 1;
}
.meanmenu-reveal  span:nth-of-type(3) {
  -webkit-animation: menu-ber02 .75s forwards;
  animation: menu-ber02 .75s forwards;
}

.meanclose span:nth-of-type(1) {
  -webkit-animation: active-menu-ber01 .75s forwards;
  animation: active-menu-ber01 .75s forwards;
  top: -2px;
}
.meanclose span:nth-of-type(2) {
  opacity: 0;
}
.meanclose span:nth-of-type(3) {
  -webkit-animation: active-menu-ber03 .75s forwards;
  animation: active-menu-ber03 .75s forwards;
}

@-webkit-keyframes menu-ber01 {
  0% {
    -webkit-transform: translateY(8px) rotate(45deg);
  }
  50% {
    -webkit-transform: translateY(8px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(0) rotate(0);
  }
}

@keyframes menu-ber01 {
  0% {
    transform: translateY(8px) rotate(45deg);
  }
  50% {
    transform: translateY(8px) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}

@-webkit-keyframes menu-ber02 {
  0% {
    -webkit-transform: translateY(-8px) rotate(-45deg);
  }
  50% {
    -webkit-transform: translateY(-8px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(0) rotate(0);
  }
}

@keyframes menu-ber02 {
  0% {
    transform: translateY(-8px) rotate(-45deg);
  }
  50% {
    transform: translateY(-8px) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}

@-webkit-keyframes active-menu-ber01 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
  }
  50% {
    -webkit-transform: translateY(10px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(10px) rotate(45deg);
  }
}

@keyframes active-menu-ber01 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(10px) rotate(0);
  }
  100% {
    transform: translateY(10px) rotate(45deg);
  }
}

@-webkit-keyframes active-menu-ber03 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
  }
  50% {
    -webkit-transform: translateY(-8px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(-8px) rotate(-45deg);
  }
}

@keyframes active-menu-ber03 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(-8px) rotate(0);
  }
  100% {
    transform: translateY(-8px) rotate(-45deg);
  }
}
.mean-container .mean-nav{
	width:100%;
	margin-top:60px;
	max-height:100vh;
	overflow-y:auto;
}
.mean-container .mean-nav ul{
	padding: 0;
	margin: 0;
	width: 100%;
	list-style-type: none;
	overflow-y: scroll;

	position: relative;
	z-index: 99;
	max-height: 100vh;
	max-height: calc(100vh - 60px);
  background: #425A6E;
}
.mean-container .mean-nav ul ul{
	padding-bottom:0;
	margin-bottom:0;
}
.mean-container .mean-nav ul li{
	position:relative;
  width:100%;
	box-sizing: border-box;
}
.mean-container .mean-nav ul li a,.mean-container .mean-nav ul li span.pre{
	display:block;
	width:100%;
	padding:1em;
	margin:0;
	text-align:left;
	text-decoration:none;
	text-transform:uppercase;
  color:#333;
  box-sizing: border-box;
}
.mean-container .mean-nav ul li li a{
	width:100%;
	padding:1em 10%;
	text-shadow:none !important;
	visibility:visible;
}
.mean-container .mean-nav ul li.mean-last a{
	border-bottom:none;
	margin-bottom:0;
}
.mean-container .mean-nav ul li li li a{
	width:70%;
	padding:1em 15%;
}
.mean-container .mean-nav ul li li li li a{
	width:60%;
	padding:1em 20%;
}
.mean-container .mean-nav ul li li li li li a{
	width:50%;
	padding:1em 25%;
}
.mean-container .mean-nav ul li a:hover{
	background:#252525;
	background:rgba(255,255,255,0.1);
}
.mean-container .mean-nav ul li a.mean-expand{
	/*margin-top:1px;*/
	width:60px;
	text-align:center;
	position:absolute;
	right:0;
	top:0;
	z-index:2;
  padding: 0.2em;
  font-size: 24px;
  color: #8e680e;
}
.mean-container .mean-nav ul li a.mean-expand:hover {
  background:#a0c6d1;
  color: #fff;
}
.mean-container .mean-push {
  float:left;
  width:100%;
  padding:0;
  margin:0;
  clear:both;
}
.mean-nav .wrapper{
  width:100%;
  padding:0;
  margin:0;
}
.mean-container .mean-bar, .mean-container .mean-bar *{
  -webkit-box-sizing:content-box;
  -moz-box-sizing:content-box;
  box-sizing:content-box;
}
.mean-remove{
  display:none !important;
}

.type{
	display:block;
	overflow:hidden;
	width:8em;
	float:left;
	padding:2px 5px;
	margin:0 1em 0 0;
	font-size:12px;
	text-align:center;
	background-color:#ffffff;
	border:1px solid #333333;
	border-radius: 5px;

}

.nType_01 .type{
	border-color: #00AE95 !important;
}
.nType_02 .type{
	border-color: #F39F28 !important;
}
.nType_03 .type{
	border-color:#10b1e0!important;
}

.parent_element {
  position: relative;
}

.child_element {
z-index:666;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}




/* 押下やフォーカス時にボーダー＆影を消す */
.btn-blue_green:active,
.btn-blue_green:focus {
  border-color: transparent !important; /* 縁色を透明に */
  box-shadow: none !important;          /* Bootstrapのフォーカス影を消す */
  outline: none;                        /* ブラウザのアウトラインを消す（必要に応じて） */
}

/* キーボード操作の視認性を確保したい場合（推奨） */
.btn-blue_green:focus-visible {
  /* 完全に消す代わりに、目立ちすぎないフォーカスリングを付ける */
  outline: 2px solid rgba(0,0,0,.15);
  outline-offset: 2px;
  box-shadow: none !important;
}

/* 基本（モバイル） */
.btn-blue_green {
  padding-left: 12px;   /* 0.75rem → 12px */
  padding-right: 40px;  /* 2.5rem → 40px */
}

/* >=576px (sm) */
@media (min-width: 576px) {
  .btn-blue_green {
    padding-left: 16px;  /* 1rem → 16px */
    padding-right: 44px; /* 2.75rem → 44px */
  }
}

/* >=768px (md) */
@media (min-width: 768px) {
  .btn-blue_green {
    padding-left: 100px;  /* 1.25rem → 20px */
    padding-right: 108px; /* 3rem → 48px */
  }
}

/* >=992px (lg) */
@media (min-width: 992px) {
  .btn-blue_green {
    padding-left: 100px;  /* 1.5rem → 24px */
    padding-right: 100px; /* 3.25rem → 52px */
  }
}




/* スマホ幅（lg未満）で余白をなくす */
@media (max-width: 991.98px) {
  /* ナビバー本体の上下左右パディングをゼロに */
  #mainNav {
    padding: 5px 0px 0 0px;
  }

  /* コンテナの左右パディングをゼロに（これが効くと端まで背景色が付く） */
  #mainNav .container-fluid {
    padding-left: 0;
    padding-right: 0;
  }

  /* 折りたたみ領域・ULの余白をゼロに */
  #mainNav .navbar-collapse {
    padding: 0;
    margin: 0;
  }
  #mainNav .navbar-nav {
    padding: 0;
    margin: 0;
    gap: 0;           /* 万一隙間があれば念のため */
    border-radius: 0; /* 角丸が原因の余白っぽさ対策（付けていなければ不要） */
  }

  /* 各リンクの左右余白をゼロにして、行全体をタップ可能に */
  #mainNav .navbar-nav .nav-link,
  #mainNav .navbar-nav .nav-item a {
    display: block;
    padding-left: 15px;
    padding-right: 0;
    /* 必要なら上下は残す（タップ領域確保）。完全に詰めたいなら 0 に */
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }

  /* ブランドロゴやトグラーの周りの余白もゼロにしたい場合（任意） */
  #mainNav .navbar-brand {
 
	  margin-left: 10px;
	  margin-bottom: 5px;
    padding: 0;
  }
  #mainNav .navbar-toggler {
	  margin-right: 10px;
	  margin-bottom: 5px;

    padding: 0.5rem; /* 完全に0だと押しづらいので少し残すのが安全 */
  }
}


@media (max-width: 991.98px) {
  #mainNav .navbar-collapse {
    background-color: #2b3a47; /* お好みの色 */
  }
}



