@charset "utf-8";

*{
	margin: 0;
	padding: 0;
	overflow-x: hidden;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
}

a{
	text-decoration: none;
	color: #000;
	display: block;
}
li{
	list-style: none;
}

.wrapper{
	display: flex;
}

/*==========左側==========*/
/*グローバルナビゲーション*/
.left{
	width: 250px;
	background-color: #3361AC;
}
h1{
	padding-top: 40px;
	width: 250px;
}
h1 img{
	display: block;
	padding: 10px 12px 9px 10px;
	width: 100%;
	height: auto;
	background-color: #fff;
	box-sizing: border-box;
}
.navmenu{
	position: fixed;
	text-align: center;
	margin: 0 auto;
}
.hamburger{
	display: none;
}
.nav-ul{
	display: inline-block;
	text-align: left;
}
.nav-li{
	margin: 50px auto;
	font-size: 18px;
}
.nav-li a{
	color: #FFF;
}
.nav-li a:hover{
	opacity: .8;
}
.official-site{
	width: 210px;
	
	background-color: #EF862F;
	border-radius: 30px;
	line-height: 20px;
	
	margin: 0 auto;
	padding: 10px 0;
}
.official-site p:nth-of-type(1){
	font-size: 15px;
	padding-right: 5px;
	text-align: center;
	padding: 2px;
}
.official-site a{
	display: flex;
	justify-content: center;
	color: #FFF;
}
.window-icon img{
	width: 22px;
	height: auto;
	padding-top: 10px;
	padding-left: 4px;
}
.official-site:hover{
	background-color: #FF9238;
}

.menu-button-set{
	display: none;
}

/*==========右側==========*/
.right{
	width: calc(100% - 250px);
}

/*==========フッター==========*/
footer{
	display: flex;
	align-items: center;
	width: 100%;
	height: 100px;
	background-color: #3361AC;
}
footer p:nth-of-type(1){
	width: calc(100% - 250px);
	margin-left: auto;
	
	text-align: center;
	color: #FFF;
}
small {
	position: relative;
	padding-left: 1.4em;
	text-transform: uppercase;
}
small::before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 0;
	margin-left: 0.7em;
	width: 1px;
	height: 1.2em;
	background-color: #fff;
	transform: translateY(-50%);
}

#page-top img{
	width: 60px;
	height: auto;
}
#page-top{
    position: fixed;
    display: none;
    right: 20px;
    bottom: 15px;
    z-index: 40;
}

/*==========レスポンシブ==========*/
@media screen and (max-width: 1100px){
	main{
		display: block;
	}
	.right{
		width: 100%;
		padding-top: 60px;
	}
	.left{
		z-index: 100;
		width: 100%;
		height: 60px;
		background-color: #FFF;
		position: fixed;
		overflow-x: visible;/*safari*/
	}
	
	.navmenu{
		z-index: 101;
		width: 100%;
		position: fixed;
		background-color: #fff;
		overflow-x: visible;/*safari*/
	}
	h1{
		padding-top: 0;
		text-align: left;
	}
	h1 img{
		padding: 17px 17px 11px 15px;
	}
	.nav-ul{
		width: 100%;
		height: 470px;
		background-color: #3361AC;
		
		text-align: center;
		font-size: 22px;
		
		overflow: auto;
		position: fixed;
		z-index: 50;
		transition: all .3s;
		top: -500px;
		left: 0;
	}
	.nav-li{
		margin: 0;
		border-bottom: 1px solid #FFF;
	}
	.nav-li a {
		padding: 20px 0;
	}
	.official-site{
		width: 300px;
		margin: 30px auto 0;
		padding: 15px 0;
		border: none;
		border-radius: 40px;
	}
	.official-site a{
		padding: 0;
	}
	.official-site p:nth-of-type(1){
		font-size: 18px;
		padding: 0 2px;
		overflow: hidden;
	}
	.window-icon img{
		width: 26px;
		height: auto;
		padding: 5px 0 0 3px;
	}
	
	.menu-button-set {
		display: block;
	}
	
	.menu-button{
		position: absolute;
		top: 0;
		right: 0;
		width: 60px;
		height: 60px;
		background: #3361AC;
		border: none;
		z-index: 150;
	}
	.menu-button span{
		display: block;
		position: absolute;
		margin-left: -10px;
		top: 48%;
		left: 50%;
		width: 20px;
		height: 2px;
		overflow: hidden;
		background: #FFF;
		transition: all 0.3s;
	}
	.menu-button::before,.menu-button::after{
		display: block;
		position: absolute;
		content: "";
		margin-left: -10px;
		top: 48%;
		left: 50%;
		width: 20px;
		height: 2px;
		background: #FFF;
		transition: all 0.3s;
	}
	.menu-button::before{
		margin-top: -8px;
	}
	.menu-button::after{
		margin-top: 8px;
	}
	.menu-button-active{
		position: fixed;
	}
	.menu-button-active span{
		opacity: 0;
	}
	.menu-button-active::before{
		margin-top: 0;
		transform: rotate(45deg);
	}
	.menu-button-active::after{
		margin-top: 0;
		transform: rotate(-45deg);
	}
	
	.nav-open{
		top: 60px;
	}
	
	.overlay{
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0,0,0,0.4);
		z-index: 49;
	}
	.overlay-active{
		display: block;
	}
	
	footer p:nth-of-type(1){
		width: 100%;
	}
}

@media screen and (max-width: 601px){
	footer{
		height: 170px;
	}
	footer p:nth-of-type(1){
		margin-top: -70px;
	}
	small {
		display: block;
	}
	small::before {
		display: none;
	}
}

@media screen and (max-width: 501px){
	.official-site{
		width: 75%;
	}
	footer{
		height: 170px;
		font-size: 14px;
	}
}