@charset "utf-8";
/* スマホだけに適用するCSS */
@media screen and (max-width:479px){
	body {
		min-width:initial;
		min-width:auto;
		overflow-y: scroll;
		font-size:3.6vw;
	}
	
	#container{
		min-width:initial;
		min-width:auto;
		padding-top:3vw;
	}
	
	/*----------header----------*/
	header{
		min-width:initial;
		min-width:auto;
		width:100%;
		height:auto;
		margin:0;
	}
	

		header > .box_inner {
			display: flex;
			justify-content: space-between;
			align-items: center;
			height: auto;
			width: auto;
			margin: 0;
			padding: 2vw 60px 2vw 2vw;
		}
		
			header > .box_inner img{
				max-width:100%;
				height:auto;
			}
	
			header > .box_inner .ku_logo{
				width:13%;
			}
		
			header > .box_inner .site_title_global_nav{
				width:87%;
				box-sizing:border-box;
				padding-left:2vw;
			}
		
				header > .box_inner .site_title_global_nav .site_title{
					margin-bottom:0;
				}
				
					header > .box_inner .site_title_global_nav .site_title a{
						display:block;
					}
			
				header > .box_inner .site_title_global_nav .global_nav{
					display:none;
				}
				
				header > .box_inner .site_title_global_nav .goto_sitemap{
					display:none;
				}

	/*共通の吹き出し設定*/
	.balloon_box{
		display:block;
		padding:0 0 18px 0;
		position:relative;
		top:0;
		left:0;
		z-index:2;
	}
	
		.balloon_box:before{
			content:"";
			display:inline-block;
			width: 0;
			height: 0;
			border-style: solid;
			border-width: 18px 6px 0 6px;
			border-color: #fff transparent transparent transparent;
			position:absolute;
			bottom:1px;
			left:0;
			right:0;
			z-index:3;
			margin:0 auto;
		}
		
		.balloon_box:after{
			content:"";
			display:inline-block;
			width: 0;
			height: 0;
			border-style: solid;
			border-width: 19px 7px 0 7px;
			border-color: #000 transparent transparent transparent;
			position:absolute;
			bottom:0;
			left:0;
			right:0;
			z-index:2;
			margin:0 auto;
		}
	
		.balloon_box > .box_inner{
			display:block;
			color:#000;
			background:#fff;
			border:1px solid #111;
			padding:0.5em;
			position:relative;
			top:0;
			left:0;
			z-index:1;
		}
		
	
			.balloon_box .lbl_en{
				display:block;
				text-align:center;
				font-weight:bold;
			}
			
			.balloon_box .lbl_ja{
				display:block;
				text-align:center;
			}



	/*----------contents----------*/
	.contents{}


	/*-----footer-----*/
	footer{
		padding:10vw 0 6vw 0;
	}
	
		.bns_box{
			margin-bottom:4vw;
			padding:0 5vw;
		}
		
			.bns_box ul{
				justify-content:flex-start;
			}
			
				.bns_box ul li{
					margin:0 3vw 3vw 0;
					width:calc((100% - 3vw) / 2);
				}
				
				.bns_box ul li:last-child,
				.bns_box ul li:nth-child(even){
					margin-right:0;
				}
				
					.bns_box ul li img{
						max-width:100%;
						height:auto;
					}
				
			footer .copyright{
				text-align:center;
				font-size:0.9em;
			}
		
	
	/*ハンバーガーボタン*/
	.nav_oc.sp{
		display:block;
		position:fixed;
		top:3vw;
		right:1vw;
		z-index:99;
		text-align:center;
		background:rgba(255,255,255,0.9);
		padding:3vw 3vw 1vw 3vw;
	}
	
		.menu-trigger{
			cursor:pointer;
		}
		
		.menu-trigger,
		.menu-trigger span {
			display: inline-block;
			transition: all .4s;
			box-sizing: border-box;
		}
		
		.menu-trigger {
			position:relative;
			width: 32px;
			height: 20px;
			background:none;
			border:none;
			outline:none;
		}
		
			.menu-trigger span {
				position: absolute;
				left: 0;
				width: 80%;
				height: 3px;
				background-color: #555;
				border-radius: 4px;
				left:10%;
			}
			
			.menu-trigger span:nth-of-type(1) {
				top: 0;
			}
			
			.menu-trigger span:nth-of-type(2) {
				top: 8px;
			}
			.menu-trigger span:nth-of-type(3) {
				bottom: 0;
			}
			
			.menu-trigger.active span:nth-of-type(1) {
				-webkit-transform: translateY(6px) rotate(-315deg);
				transform: translateY(6px) rotate(-315deg);
			}
			.menu-trigger.active span:nth-of-type(2) {
				opacity: 0;
			}
			.menu-trigger.active span:nth-of-type(3) {
				-webkit-transform: translateY(-11px) rotate(315deg);
				transform: translateY(-11px) rotate(315deg);
			}
			
		.lbl_nav_oc{
			display:block;
			text-align:center;
			font-size:2.8vw;
			padding-top:0.5em;
			color:#555;
		}
	
	/*ナビゲーション*/
	.side_nav{
		display:block;
		position:fixed;
		top:0;
		right:0;
		box-sizing:border-box;
		width:100vw;
		height:100vh;
		transition:.3s all ease;
		z-index:-1;
		opacity:0;
	}
	
	.side_nav.active{
		padding:18vw 3vw 0 3vw;
		z-index:98;
		opacity:1;
		background:rgba(255,255,255,0.9);
	}
	
		.side_nav ul{
			width:100%;
			display:flex;
			flex-wrap:wrap;
		}
		
			.side_nav ul li a{
				display:block;
				text-decoration:none;
			}
			
		
		.side_nav ul.side_global_nav{
			margin-bottom:2vw;
		}
		
			.side_nav ul.side_global_nav li{
				width:calc(50% - 0.5vw);
				margin-right:1vw;
				margin-bottom:2vw;
				background:#fff;
			}
			
			.side_nav ul.side_global_nav li:nth-child(even){
				margin-right:0;
			}
			
				.side_nav ul.side_global_nav li a{
					text-align:center;
					color:#111;
					font-size:3.6vw;
					padding:0.6em 0 0.5em 0;
					border:1px solid #555;
					background:rgba(255,255,255,0.8);
					box-shadow:0 0 1px 1px rgba(0,0,0,0.1);
				}
				
					.side_nav ul.side_global_nav li a .lbl_ja{
						display:block;
						font-weight:bold;
						margin-bottom:0.3em;
					}
					
					.side_nav ul.side_global_nav li a .lbl_en{
						display:block;
						font-size:3vw;
						color:#888;
					}
					
		.side_nav ul.side_target_nav{
			margin-bottom:2vw;
		}
		
			.side_nav ul.side_target_nav li{
				width:calc((100% - 6vw) / 3);
				margin:0 3vw 3vw 0;
			}
			
			.side_nav ul.side_target_nav li:nth-child(3n){
				margin:0 0 3vw 0;
			}
			
				.side_nav ul.side_target_nav li a{
					display:block;
					text-decoration:none;
					color:#111;
				}
				
					.side_nav ul.side_target_nav li a .hn_pict{
						display:block;
						width:50%;
						margin:0 auto;
						padding:0 0 1vw 0;
					}
					
						.side_nav ul.side_target_nav li a .hn_pict img{
							max-width:100%;
							height:auto;
						}
					
					.side_nav ul.side_target_nav li a .hn_lbl{
						display:block;
						line-height:1.4;
						font-weight:bold;
						text-align:center;
					}
					
		.side_nav .side_other_nav{
			margin-top:1em;
			display:block;
			text-align:center;
		}
		
			.side_nav .side_other_nav a{
				color:#111;
				text-decoration:none;
			}
			
			.side_nav .side_other_nav li.on_sitemap a:before{
				font-family: FontAwesome;
				content:"\f0e8";
				margin-right:0.3em;
				color:#888;
			}



	/*ページトップ*/
	.pagetop{
		right: 2vw;
		bottom: 2vw;
		width:12vw;
		height:12vw;
	}
	
		.pagetop a:before{
			width:4vw;
			height:4vw;
		}
		
	/*旧ページリダイレクト用*/
	.renewal_msg_box{
		box-sizing:border-box;
		height:100vh;
		padding:8vw 3vw 0 3vw;
		line-height:1.6;
	}
	
		.renewal_msg_box > .box_header{
			margin-bottom:2em;
		}
		
		.renewal_msg_box > .box_inner{
			margin-bottom:2em;
			font-size:3.4vw;
		}
	
	/*改行のPC,SPでの表示切替*/
	br.pc,
	img.pc,
	span.pc{
		display:none;
	}
	
	br.sp,
	img.sp,
	span.sp{
		display:inline;
	}

}