@charset "UTF-8";  

body {
	font-family	: 'Noto Sans JP', 'Yu Gothic', YuGothic, '游ゴシック体', 'メイリオ', Meiryo, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', 'MS PGothic', Osaka, sans-serif;
	font-size	: 3.6vw;
	line-height	: 180%;
	font-weight	: 400;
	-webkit-text-size-adjust: 100%; /* for iOS */
}  
.pc ,.pc2 {
	display: none;
}

.sp {
	display: inline-block ;
}

.sp2 {
	display: block ;
}


#wrapper {
	width: 100%;
	margin: auto;
	padding: 0;
	position: relative;
}


/*====================================
ヘッダー
=====================================*/
header {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 150;
	transition: 0.2s linear;
	&.scroll {
		background: rgba(255,255,255,0.8);
	}
	#header_in {
		margin: 0 auto;
		padding: 3% 4%; 
		display: flex;
		justify-content: space-between;
		align-items: center;
		a.logo {
			margin: 0;
			padding: 0;
			text-decoration: none;
			display: flex;
			align-items: center;
			opacity: 0;
			visibility: hidden;
			transition: 0.2s linear;
			img {
				display: inline-block;
				width: 14%;
				height: auto;
				margin: 0 0.3em 0 0;
				padding: 0;
			}
			h2 {
				display: inline-block;
				margin: 0;
				padding: 0;
				font-size: 3.0vw;
				line-height: 160%;
				font-weight: var(--weight-bold2);
				color: #041945 !important;
			}
		}
	}
	&.scroll #header_in a.logo {
				opacity: 1;
				visibility: visible;
	}
	nav {
		display: none;
	}
	#sp_menu {
		position: fixed;
		width: 11%;
		margin: 0;
		padding: 0;
		top: 0.3em;
		right: 2%;
		z-index: 110 !important;
	}
	#sp_menu span.btn {
		display: block;
		width: 100%;
		height: 3.0em;
		background: #041943;
		margin: auto;
		position: relative;
		cursor: pointer;
	}

		#sp_menu span.btn:before,
		#sp_menu span.btn:after,
		#sp_menu span.btn span {
			display: block;
			width: 60%;
			position: absolute;
			left: 0;
			right: 0;
			margin: auto;
			-webkit-transition: .35s ease-in-out;
			-moz-transition: .35s ease-in-out;
			transition: .35s ease-in-out;
		}
		#sp_menu span.btn span {
			height: 3px;
			background-color: #c7a96e;
			top: calc(50% - 1.5px);
		}

		#sp_menu span.btn:before {
			content: "";
			top: calc(30% - 3px);
			border-top: 3px solid #c7a96e;
		}
		#sp_menu span.btn:after {
			content: "";
			bottom: calc(30% - 3px);
			border-bottom: 3px solid #c7a96e;
		}
		#sp_menu.active span.btn span {
			width: 0;
		}

		#sp_menu.active span.btn:before {
			top: calc(50% - 1.5px);
			-webkit-transform: rotate(315deg);
			-moz-transform: rotate(315deg);
			transform: rotate(315deg);
		}
		#sp_menu.active span.btn:after {
			bottom: calc(50% - 1.5px);
			-webkit-transform: rotate(-315deg);
			-moz-transform: rotate(-315deg);
			transform: rotate(-315deg);
		}
}

#accordion {
	display: none;
	position: fixed;
	width: 100%;
	height: 100vh;
	margin: auto;
	padding: 0;
	top: 0;
	left: 0;
	background: rgba(255,255,255,0.85);
	z-index: 90;
	ul {
		width: 100%;
		height: 100vh;
		margin: 0 auto;
		padding: 0;
		list-style: none;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		li {
			display: block;
			margin: 1em auto 0;
			padding: 0;
			a {
				display: inline-block;
				margin: 0 auto;
				padding: 2% 0;
				font-size: 5.4vw;
				line-height: 160%;
				font-weight: var(--weight-bold2);
				font-family: var(--font-min);
				font-style: italic;
				color: #081d46;
				letter-spacing: 0.1em;
				text-decoration: none;
			}
		}
	}
}


/*====================================
共通
=====================================*/
main {
	margin: 0 auto;
}

footer {
	width: 100%;
	margin: 0 auto;
	padding: 8% 3.5% 5%;
	background: #011335;
	div.logo {
		margin: 0;
		padding: 0;
		text-align: left;
		display: flex;
		align-items: center;
		img {
			width: 20%;
			height: auto;
		}
		.txt {
			margin: 0 0 0 20px;
			padding: 0;
			color: #abb1bc;
			h6 {
				margin: 0;
				padding: 0;
				font-size: 3.4vw;
				line-height: 160%;
				font-weight: var(--weight-nomal);
			}
			p {
				margin: 0.2em 0 0;
				padding: 0;
				font-size: 3.2vw;
				line-height: 160%;
			}
		}
	}
	.copy {
		margin: 5% 0 0;
		padding: 0;
		font-size: 3.2vw;
		line-height: 160%;
		color: #abb1bc;
	}
}

#page_top {
    position: fixed;
	display: none;
	width: 9%;
    bottom: 1.6em;
    right: 3%;
	z-index: 49;
	img {
		width: 100%;
		height: auto;
	}
}
