@charset "utf-8";
/*==================================================
  スマホ時のメニュー（ハンバーガーメニュー）
==================================================*/
@media only screen and (max-width: 768px) {
	#menu {
		display: none;
	}
	#menuOverlay {
		position: fixed;
		top: 0;
		left: 0;
		display: none;
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,0.6);
		z-index: 9997;
	}
	/**/
	#switchBtnArea #switchBtn {
		position: absolute;
		top: -3px;
		right: -8px;
		display: block;
		width: 46px;
		height: 50px;
		z-index: 9998;
	}
	#switchBtnArea #switchBtn:after{
		position: absolute;
		bottom: 5px;
		left: 0;
		display: block;
		width: 100%;
		font-size: 10px;
		color: #0b4d99;
		text-align: center;
		white-space: nowrap;
		content:"メニュー";
	}
	#switchBtnArea #switchBtn span {
		right: 10%;
		width: 80%;
		height: 3px;
		display: block;
		position: absolute;
		background-color: #0b4d99;
		transition: all 0.2s linear;
	}
	#switchBtnArea #switchBtn span:nth-of-type(1) {
		top: 6px;
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}
	#switchBtnArea #switchBtn span:nth-of-type(2) {
		top: 14px;
		-webkit-transform: scale(1);
		transform: scale(1);
	}
	#switchBtnArea #switchBtn span:nth-of-type(3) {
		bottom: 24px;
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}
	/**/
	#switchBtnArea #switchBtn.btnClose span:nth-of-type(1) {
		top: 16px;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	#switchBtnArea #switchBtn.btnClose span:nth-of-type(2) {
		-webkit-transform: scale(0);
		transform: scale(0);
	}
	#switchBtnArea #switchBtn.btnClose span:nth-of-type(3) {
		bottom: 30px;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	/**/
	#rwdMenuWrap {
		overflow: auto;
		position: fixed;
		top: 0;
		left: calc((100% - 138px) * -1);
		width: calc(100% - 138px);
		height: 100%;
		background: #001654;
		z-index: 9999;
	}
	#rwdMenuWrap .dsp_hp {
		display: none;
	}
	#rwdMenuWrap ul li {
		border-bottom: 1px solid #001654;
	}
	#rwdMenuWrap ul li ul li:first-of-type {
		border-top: 1px solid #001654;
	}
	#rwdMenuWrap ul li ul li:last-of-type {
		margin-bottom: -1px;
	}
	#rwdMenuWrap ul li a,#rwdMenuWrap ul li span {
		position: relative;
		display: block;
		padding: 15px;
		padding-right: 30px;
		background: #FFFFFF;
		color: var(--color-font);
		font-family: var(--font-sans);
		font-size: 15px;
		font-weight: 500;
		text-align: left;
		text-decoration: none;
	}
	#rwdMenuWrap ul li a:after {
		position: absolute;
		top: 50%;
		right: 15px;
		display: block;
		width: 8px;
		height: 8px;
		margin-top: -4px;
		border-top: 2px solid #001654;
		border-right: 2px solid #001654;
		opacity: 0.3;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		content: '';
	}
	#rwdMenuWrap ul li ul {
		display: none;
	}
	#rwdMenuWrap ul li span {
		cursor: pointer;
	}
	#rwdMenuWrap ul li span::after {
		content: '+';
		top: calc(50% - 12px);
		right: 18px;
		width: 8px;
		height: 8px;
		color: var(--color-font);
		font-size: 18px;
		font-weight: bold;
		line-height: 1.2em;
		display: block;
		position: absolute;opacity: 0.3;
	}
	#rwdMenuWrap ul li span.selected::after {
		display: none;
	}
	#rwdMenuWrap ul li span.selected::before {
		content: '';
		top: 50%;
		transform: translateX(-50%);
		width: 10px;
		height: 3px;
		right: 15px;
		background: #001654;
		font-weight: bold;
		line-height: 1.2em;
		display: block;
		position: absolute;
		transition: transform .8s ease-in-out;
		animation: rotateAnimation .8s ease-in-out forwards;opacity: 0.3;
	}
	#rwdMenuWrap ul li ul li a {
		border-top: none;
		font-size: 95%;
		padding: 10px;
		position: relative;
		padding-left: 2em;
	}
}
	@media only screen and (max-width: 320px) {
		#rwdMenuWrap ul li ul li a {
			font-size: 3.5vw;
		}
	}
	@keyframes rotateAnimation {
		from {
			transform: rotate(0deg);
		}
		to {
			transform: rotate(360deg);
		}
	}