@charset "utf-8";
/* スマホ横向きCSS */
@media screen and (min-width:1px) and (max-width:768px) {
	/* iOSでのデフォルトスタイルをリセット */
	input[type="submit"],
	input[type="button"] {
		border-radius: 0;
		-webkit-box-sizing: content-box;
		-webkit-appearance: button;
		appearance: button;
		border: none;
		box-sizing: border-box;
		cursor: pointer;
	}
	input[type="submit"]::-webkit-search-decoration,
	input[type="button"]::-webkit-search-decoration {
		display: none;
	}
	input[type="submit"]:focus,
	input[type="button"]:focus {
		outline-offset: -2px;
	}

	
	/*改行のPC,SPでの表示切替*/
	br.pc,
	img.pc,
	span.pc{
		display:none;
	}
	
	br.sp,
	img.sp,
	span.sp{
		display:inline;
	}

}

/* ##########SP########## */
@media screen and (min-width:1px) and (max-width:479px) {
	html{
		font-size: 3.6vw;
	}
	
	body {
		min-width:initial;
		min-width:auto;
		overflow-y: scroll;
	}
	
	#container{
		min-width:initial;
		min-width:auto;
	}
	
	#container::after{
		content: "";
		display: block;
		width: 100%;
		height: auto;
		aspect-ratio: 1080 / 1920;
		background-image: url(../../shared/page_sp_bg.jpg);
		background-repeat: no-repeat;
		background-position: left bottom;
		background-size: 100% auto;
		position: fixed;
		bottom: 0;
		left: 0;
		z-index: 0;
	}

	/*----------header----------*/
	header{
		height: 16vw;
		background: rgba(255,255,255,0.9);
	}

		header > .box_header,
		.small_header header > .box_header{
			height: auto;
			margin: 0 0 0.1rem 0;
			padding: 0 17vw 0 16vw;
			width: 100%;
			height: 16vw;
		}

			header > .box_header .ku_logo,
			.small_header header > .box_header .ku_logo{
				width: 16vw;
				height: 16vw;
				left: 0;
			}

				header > .box_header .ku_logo a,
				.small_header header > .box_header .ku_logo a{
					width: 100%;
					height: 100%;
					padding: 1vw;
				}

			header > .box_header .division_name,
			.small_header header > .box_header .division_name{
				font-size: 0.8rem;
				line-height: 1.5;
				width: 100%;
			}

				header > .box_header .division_name a{
					display: flex;
					flex-direction: column;
					align-items: center;
					width: 100%;
				}
	
					header > .box_header .division_name a .lbl2{
						font-size: 0.91rem;
						font-weight: 600;
					}

			header > .box_header .lang_btn{
				display: none;
			}

		header > .box_inner,
		.small_header header > .box_inner{
			border-top: none;
			height: auto;
		}

			header > .box_inner .site_title_global_nav{
				width: auto;
				height: auto;
				margin: 0;
				justify-content: center;
				padding-left: 0;
			}

			header > .box_inner .site_title,
			.small_header header > .box_inner .site_title{
				width: 28vw;
			}

			header > .box_inner .global_nav{
				display: none;
			}

	/*----------contents----------*/
	.contents{
		padding-bottom: 3em;
		padding-top: 20vw;
		/*background-image: url('../../shared/bg_sp.jpg');
		background-repeat: repeat-y;*/
	}

	.contents::before{
		content: none;
	}

	/*-----footer-----*/
	footer{
		padding: 1.5rem 0 1rem;
	}

		footer > .box_header{
			box-sizing: border-box;
			width: 100%;
			margin: 0 auto 1.5rem;
			padding: 0 5vw 0.5rem;
		}

			footer > .box_header ul{
				justify-content: flex-start;
				flex-wrap: wrap;
                align-items: flex-start;
			}

				footer > .box_header ul li{
					box-sizing: border-box;
					margin-bottom: 0.5rem;
					width: calc((100% - 5vw) / 2);
					line-height: 1.2;
					margin-right: 5vw;
				}
	
				footer > .box_header ul li:nth-child(even){
					margin-right: 0;
				}

					footer > .box_header ul li a{
						align-items: flex-start;
						height: auto;
						background-size: 0.7rem 0.7rem;
					}
    
                    footer > .box_header ul li a br{
                        display: none;
                    }

			footer > .box_inner .f_addr{
				margin-bottom: 1.5rem;
			}

					footer > .box_inner .f_addr dl dt{
						margin-bottom: 1.2rem;
						width: 28vw;
					}
	
			footer > .box_inner .f_nav{
				display: none;
			}

	footer > .box_footer{
		text-align: center;
	}

		footer > .box_footer .copyright{
			line-height: 1.2;
		}
	
	.nav_oc,
	.small_header .nav_oc{
        display: block;
		width: 16vw;
		height: 16vw;
		top: 0;
		right: 0;
	}

			.menu-trigger span {
				width: 7vw;
				left: 4.5vw;
				height: 0.6vw;
			}

			.menu-trigger span:nth-of-type(1) {
				top: 4.9vw;
			}

			.menu-trigger span:nth-of-type(2) {
				top: 7.7vw;
			}
			.menu-trigger span:nth-of-type(3) {
				bottom: 4.9vw;
			}

			.menu-trigger.active span:nth-of-type(1) {
				-webkit-transform: translateY(2.8vw) rotate(-315deg);
				transform: translateY(2.8vw) rotate(-315deg);
			}
	
			.menu-trigger.active span:nth-of-type(3) {
				-webkit-transform: translateY(-3.6vw) rotate(315deg);
				transform: translateY(-2.7vw) rotate(315deg);
			}

		.side_nav{
			justify-content: flex-start;
			padding-top: 20vw;
		}

		.side_nav .side_global_nav{
			box-sizing: border-box;
			width: 100%;
			justify-content: space-between;
			padding: 0 5vw;
		}

			.side_nav .side_global_nav > ul{
				width: 100%;
			}

				.side_nav .side_global_nav > ul > li > a{
					height: 10vw;
					padding: 0 0 0 0.5em;
					font-size: 3.6vw;
				}
	
				.side_nav .side_global_nav > ul > li > .nolink{
					height: 7vw;
					padding: 0 0 0 0.5em;
					font-size: 3.4vw;
				}
	
				.side_nav .side_global_nav > ul > li > ul{
					margin: 0.5em 0 0 0.5em;
				}
	
					.side_nav .side_global_nav > ul > li > ul > li > a{
						font-size: 3.2vw;
					}

	
	/*ページトップ*/
	.pagetop{
		width:14vw;
		height:14vw;
		bottom:6vw;
		right:4vw;
	}
	
		.pagetop a:before{
			width: 3vw;
			height: 3vw;
		}

	.sns_btns{
		bottom: 6vw;
		right: auto;
		left: 4vw;
	}

	.sns_btns.show{
		bottom: 6vw;
	}

		.sns_btns ul{
			flex-direction: row;
		}

		.sns_btns ul li{
			margin-bottom: 0;
			margin-right: 0.75rem;
		}

		.sns_btns ul li:last-child{
			margin-right: 0;
		}

		.sns_btns ul li a{
			width: 10vw;
			height: 10vw;
		}

			.sns_btns ul li a .fig{
				width: 5vw;
			}

	
}