/*-------------------------------------------
 メニュー 
--------------------------------------------*/
.inner{
margin:0 auto;
width:100%;
}
nav{z-index:2;}
nav a:link, nav a:active, nav a:hover, nav a:visited{
	color:#fff;
	z-index:2;
}
#policy{
	position:absolute;
	display:grid;
	padding:0 16px;
	margin:32px 0 0 -30px;
	background:rgb(58, 133, 240);
	display:none;
	z-index:2;
}
#menu{display:none;}
.menu-button{display:none;}
#policy2{
	display:none;
}
#policy a{display: block;padding:30px 0;}
.policy2025:hover #policy{
  display: block;
}
/* PC用
------------------------------------------------------------*/
@media only screen and (min-width: 781px){



	nav#mainNav{

		text-align:center;
		margin: 0px;
	}

	nav#mainNav ul {
		list-style-type: none;
		padding:0;
		margin:0;
        text-align: center;
        background:#003F98;

	}

	nav#mainNav ul li{
		display: inline-block; 
		padding:15px 30px;
	}



	nav#mainNav ul li a,nav#mainNav ul li span{
		font-size:14px;
        text-decoration:none;
        padding: 10px 20px;


	}


	nav#mainNav ul li a span,nav#mainNav ul li a strong{
		display:block;
	}

	nav#mainNav ul li a span{
		color:#fff;
		font-size:10px;
		font-weight:normal;
	}
	nav#mainNav span{
		color:#fff;
		font-size:10px;
		font-weight:normal;
	}

	nav div.panel{
		display:block !important;
	}

	a#menu{display:none;}

	nav#mainNav li.active,nav#mainNav li:hover{
        background-color: rgb(58, 133, 240);
	}
	nav#mainNav ul li.active span{
		color: #fff;
        background-color: rgb(29, 101, 203);
	}
}


@media only screen and (max-width:780px){
	*{
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
	}

	.policy2025:hover #policy{
	display: none;
	}
	#policy2{
	display:block;
	}
	nav#mainNav{
	clear:both;
	width:100%;
	height:46px;
	margin:0 auto 20px 0;
	padding:0;
	color:#fff;
    background:#008F40;
	border-top:1px solid #e4e4e4;
	border-bottom:1px solid #e4e4e4;
	display:block;
	z-index:2 !important;
	}
	.catchrikken{
		top:calc(6vw + 140px);
	}

	.menu-button{
	width:100%;
	display:block;
	height:40px;
	line-height:40px;
	font-weight: bold;
	text-align:left;
	}

	.menu-button{padding-left:10px; font-size:15px;}
	.menu-button font{display:none;}

	.menu-button:hover{cursor:pointer;}

	nav .panel{
		opacity: 0;
		visibility: hidden;
		height:0px;
		width:100%;
		position: relative;
		right: 0;
		top:-8px;
		z-index: 2;
		transition: all 0.5s ease;
	}
	#menu:checked + .menu-button + .panel {
		visibility: visible;
		height:auto; /* 十分な高さを指定 */
		opacity: 1;
		display:block;
		background:#008F40;
		z-index:10;
	}
	#menu:checked + .menu-button font{
	display:inline;
	}
	#menu:checked + .menu-button span{
	display:none;
	}
	nav#mainNav ul li{
	float: none;
	clear:both;
	width:100%;
	height:auto;
	line-height:1.2;
	}

	nav#mainNav ul li a,nav#mainNav ul li.current-menu-item li a{
	display: block;
	padding:15px 10px;
	text-align:left;
	border-bottom:1px dashed #ccc;
	}
	nav#mainNav li span{
	display: block;
	padding:15px 10px;
	text-align:left;
	border-bottom:1px dashed #ccc;
	}
	
	nav#mainNav ul li a span{padding-left:10px;}
	
	nav#mainNav ul li:first-child a{
	border-top:1px solid #e4e4e4;
	}
	
	nav#mainNav ul li:last-child a{border:0;}
	
	nav#mainNav ul li.active a{color:#65c0ed;}

	nav div.panel{float:none;}
	#policy2 a{border:none !important;padding:8px 0 8px 16px !important;}


}




/* スマホ
------------------------------------------------------------*/

@media only screen and (max-width:479px){
    *{
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
        box-sizing: border-box;
    }

	.catchrikken{
		font-size:10.5vw;
		top:calc(12vw + 82px);
		left:26px;
	}
	.catchrikken::after {
	-webkit-text-stroke: 1.8vw white;
	}
	.ctrb{
		margin:9vw 0 0 2vw;
	}
	.ctrb2{
		margin:3.0vw 0 0 74vw;transform:rotate(12deg);
	}

    nav#mainNav{
        clear:both;
        width:100%;
		height:46px;
        margin:0 auto 0 0;
        padding:0;
        color:#002f7b;
        font-family:verdana,"メイリオ","Meiryo","ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
        background:#003F98;
        border-top:3px solid #002f7b;
        border-bottom:3px solid #002f7b;
        
    }
#menu:checked + .menu-button + .panel {
  background:#003F98;
}

    nav#mainNav a.menu{
        color: #ffffff;
        width:100%;
        display:block;
        height:40px;
        line-height:40px;
        font-weight: bold;
        text-align:left;
    }

    .menu-button{padding-left:10px; font-size:15px;color:#ffffff;}

    a.menuOpen hover{color:#ffffff}
    .menu-button:hover{cursor:pointer}
    .menu-button:hover{color:#ffffff}

    nav .panel{
        display: none;
        width:100%;
        position: relative;
        right: 0;
        top:-12px;
        z-index: 2;
        
    }
    


    nav#mainNav ul li{
        float: none;
        clear:both;
        width:100%;
        height:auto;
        line-height:1.2;
        
    }

    nav#mainNav ul li a,nav#mainNav ul li.current-menu-item li a{
        display: block;
        padding:15px 10px;
        text-align:left;
        border-bottom:1px solid #ffffff;
        text-decoration: none;
    }

    nav#mainNav ul li a span{padding-left:10px;}

    nav#mainNav ul li:first-child a{
        border-top:1px solid #ffffff;
    }

    nav#mainNav ul li:last-child a{border:0;}

    nav#mainNav ul li.active a{color:#4f8df2;}

    nav div.panel{float:none;}

	nav#mainNav li span{
		color:#fff;
	display: block;
	padding:15px 10px;
	text-align:left;
	border-bottom:1px solid #ffffff;
	}


    .panel a:hover{ 
        color:#002f7b;   
    } 
	#policy2 a{border:none !important;padding:8px 0 8px 16px !important;}


}