@charset "utf-8";
/* スマホだけに適用するCSS */
@media screen and (min-width:1px) and (max-width:479px){
	html {
		min-width:initial;
		min-width:auto;
		font-size:3.6vw;
	}
	
	body {
		min-width:initial;
		min-width:auto;
		overflow-y: scroll;
	}
	
	#container{
		min-width:initial;
		min-width:auto;
		padding-top: 14vw;
	}
	
	/*----------header----------*/
	header{}
	
		header > .box_inner,
		.small_header header > .box_inner{
			box-sizing: border-box;
			max-width: initial;
			max-width: auto;
			min-width: initial;
			min-width: auto;
			height: 14vw;
			justify-content: center;
			align-items: center;
		}


			header > .box_inner .site_title{
				padding-bottom: 0;
			}

				header > .box_inner .site_title a,
				.small_header header > .box_inner .site_title a{
					width: auto;
				}

					header > .box_inner .site_title a .fig_logo,
					.small_header header > .box_inner .site_title a .fig_logo{
						width: 11vw;
						margin-right: 3vw;
					}

					header > .box_inner .site_title a .fig_site_title,
					.small_header header > .box_inner .site_title a .fig_site_title{
						width: calc(11vw / 70 * 185);
						padding-bottom: 1vw;
					}

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


	/*-----contents-----*/
	.contents {}
		
	/*-----footer-----*/
	footer{
		width: auto;
		padding: 6vw 5vw 16vw 5vw;
	}
	
	
		footer a{
			color: #29275e;
		}
	
		footer > .box_inner{
			width: 100%;
			margin: 0 auto 1em;
			padding: 0;
		}

			footer > .box_inner .f_address{
				width: 100%;
				display: flex;
				flex-direction: column;
				align-items: center;
			}

				footer > .box_inner .f_address .f_site_title{
					width: 30vw;
				}

				footer > .box_inner .f_address address{
					text-align: center;
				}

			footer > .box_inner .f_global_nav{
				display: none;
			}

		footer > .box_footer{
			width: auto;
			padding-bottom: 0;
		}

			footer > .box_footer .f_sub_nav{
				display: none;
			}

			footer > .box_footer .copyright{
				width: 100%;
				text-align: center;
			}

	
	/*ハンバーガーボタン*/
	.nav_oc{
		display:block;
		position:fixed;
		z-index:99;
		text-align:center;
		width: 14vw;
		height: 14vw;
		top: 0;
		right: 0;
	}
	
		.menu-trigger,
		.menu-trigger span {
			display: inline-block;
			transition: all .4s;
			box-sizing: border-box;
		}
		
		.menu-trigger {
			position:relative;
			width: 100%;
			height: 100%;
			border:none;
			outline:none;
			cursor:pointer;
			background: rgba(255,255,255,0);
		}
		
			.menu-trigger span {
				width: 6vw;
				left: 4vw;
				height: 2px;
				background: #29275e;
				position: absolute;
			}

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

			.menu-trigger span:nth-of-type(2) {
				top: calc(7vw - 1px);
			}
			.menu-trigger span:nth-of-type(3) {
				bottom: 4.5vw;
			}
	
			.menu-trigger.active span:nth-of-type(1) {
				-webkit-transform: translateY(2.2vw) rotate(-315deg);
				transform: translateY(2.2vw) rotate(-315deg);
			}
	
			.menu-trigger.active span:nth-of-type(2) {
				opacity: 0;
			}
	
			.menu-trigger.active span:nth-of-type(3) {
				-webkit-transform: translateY(-2.2vw) rotate(315deg);
				transform: translateY(-2.2vw) rotate(315deg);
			}
	

	
	/*ナビゲーション*/
	.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:14vw 4vw 0 4vw;
		z-index:98;
		opacity:1;
		background:rgba(250,240,230,0.95);
	}
	
		.side_nav ul{}
		
			.side_nav ul li{}
			
			.side_nav ul li a{
				display:block;
				text-decoration:none;
			}
		
		.side_nav .side_global_nav{
			display: flex;
		}
	
			.side_nav .side_global_nav > ul{
				width: calc((100% - 4vw) / 2);
				margin-right: 4vw;
			}
			.side_nav .side_global_nav > ul:nth-child(even){
				margin-right: 0;
			}
		
			.side_nav .side_global_nav > ul > li{
				width:100%;
				margin-bottom:1.5vw;
			}
			
				.side_nav .side_global_nav > ul > li > a{
					color:#111;
					font-size:3.4vw;
					padding:2.8vw 2vw;
					border:1px solid #fff;
					background:#fff;
					box-shadow:0 0 1px 1px rgba(0,0,0,0.1);
					border-radius: 2px;
					position: relative;
				}
	
					.side_nav .side_global_nav > ul > li > a:before{
						content: "";
						display: block;
						width: 0;
						height: 0;
						border-style: solid;
						border-width: 0 0 2vw 2vw;
						border-color: transparent transparent #29275e transparent;
						position: absolute;
						bottom: 0.2vw;
						right: 0.2vw;
					}
	
				.side_nav .side_global_nav > ul > li > ul{
					padding: 2vw;
					font-size: 3.2vw;
					line-height: 1.2;
				}
	
					.side_nav .side_global_nav > ul > li > ul > li{
						margin-bottom: 1vw;
					}
	
	
					.side_nav .side_global_nav > ul > li > ul > li:last-child{
						margin-bottom: 0;
					}
	
						.side_nav .side_global_nav > ul > li > ul > li a{
							color: #111;
							padding: 0.3em 0 0.3em 0.8em;
							position: relative;
						}
	
							.side_nav .side_global_nav > ul > li > ul > li a:before{
								font-family: FontAwesome;
								content:"\f105";
								color: #555;
								display: inline-block;
								position: absolute;
								top: 0.3em;
								left: 0;
							}

	/*ページトップ*/
	.pagetop{
		right: 5vw;
		bottom: 16vw;
		width:12vw;
		height:12vw;
	}
	
	.side_fixed_nav{
		position: fixed;
		top: auto;
		bottom: 0;
		width: 100%;
	}

		.side_fixed_nav ul{
			display: flex;
			padding: 0 3vw;
		}

			.side_fixed_nav ul li{
				margin-bottom: 0;
				margin-right: 1vw;
				width: calc((100% - 1vw) / 2);
				align-items: flex-end;
			}

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

				.side_fixed_nav ul li a{
					width: 100%;
					height: 12vw;
					border-radius: 8px 8px 0 0;
					font-size: 4.2vw;
					padding: 3.9vw 0 0 3.9vw;
				}
	
				.side_fixed_nav ul li a:hover{
					width: 100%;
					height: 13vw;
					padding-right: 0;
					padding-bottom: 1vw;
				}

					.side_fixed_nav ul li a:before{
						width: 4vw;
						height: calc(4vw / 22 * 20);
						bottom: 4vw;
						left: auto;
						right: 3.9vw;
						transition: .3s all ease;
					}
	
					.side_fixed_nav ul li a:hover:before{
						bottom: 5vw;
					}
	

	
	/*改行のPC,SPでの表示切替*/
	br.pc,
	img.pc,
	span.pc{
		display:none;
	}
	
	br.sp,
	img.sp,
	span.sp{
		display:inline;
	}
	
	.mfp-iframe-scaler{
		padding-top: 150% !important;
	}

}