@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;
}
header.scroll {
	background: rgba(255,255,255,0.9);
	border-bottom: 1px solid #16334f;
}
header.active {
	background: none!important;
	border: none !important;
}
	header #header_in {
		margin: 0 auto;
		padding: 3% 4%; 
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
		header #header_in a.logo {
			margin: 0;
			padding: 0;
			text-decoration: none;
			display: flex;
			align-items: center;
		}
			header #header_in a.logo img {
				display: inline-block;
				width: 12%;
				height: auto;
				margin: 0 0.3em 0 0;
				padding: 0; 
				transition: 0.2s linear;
			}
				header.active #header_in a.logo img {
					-webkit-filter: brightness(0) invert(1);
					filter: brightness(0) invert(1);
				}
			header #header_in a.logo div {
				margin: 0;
				padding: 0; 
				display: flex;
				flex-direction: column;
				align-items: flex-start;
			}
				header #header_in a.logo div h1 {
					display: inline-block;
					margin: 0;
					padding: 0;
					font-size: 3.8vw;
					line-height: 120%;
					font-weight: var(--weight-extrabold1);
					color: #16334f !important;
					text-decoration: none !important;
					transition: 0.2s linear;
				}
						header #header_in a.logo div h1 a small {
							font-size: 3.2vw;
							line-height: 120%;
							font-weight: var(--weight-bold2);
						}
				header #header_in a.logo div h2 {
					display: inline-block;
					margin: 0;
					padding: 0;
					font-size: 3.2vw;
					line-height: 120%;
					font-weight: var(--weight-extrabold1);
					color: #009e95 !important;
					text-decoration: none !important;
					font-family: "Roboto", sans-serif;
					letter-spacing: 0.02em;
					transition: 0.2s linear;
				}
				header.active #header_in a.logo div h1, header.active #header_in a.logo div h2 {
					color: #fff !important;
				}
	nav {
		display: none;
	}

	#sp_menu {
		position: fixed;
		width: 12%;
		margin: 0;
		padding: 0;
		top: 0.3em;
		right: 2%;
		z-index: 110 !important;
	}
	#sp_menu span.btn {
		display: block;
		width: 100%;
		height: 3.2em;
		background: #16334f;
		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: #fff;
			top: calc(50% - 1.5px);
		}

		#sp_menu span.btn:before {
			content: "";
			top: calc(30% - 3px);
			border-top: 3px solid #fff;
		}
		#sp_menu span.btn:after {
			content: "";
			bottom: calc(30% - 3px);
			border-bottom: 3px solid #fff;
		}
		#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(0,158,149,0.85);
	z-index: 90;
}
	#accordion ul {
		width: 100%;
		height: 100vh;
		margin: 0 auto;
		padding: 0;
		list-style: none;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
		#accordion ul li {
			display: block;
			margin: 1em auto 0;
			padding: 0;
		}
			#accordion ul li a {
				display: inline-block;
				margin: 0 auto;
				padding: 2% 0;
				font-size: 4.6vw;
				line-height: 200%;
				font-weight: var(--weight-bold2);
				color: #fff;
				letter-spacing: 0.2em;
				text-decoration: none;
			}
				#accordion ul li a span {
					display: block;
					margin: -0.5em auto 0;
					padding: 0;
					font-size: 3.4vw;
					line-height: 200%;
					font-weight: var(--weight-bold2);
					font-family: "Roboto", sans-serif;
				}



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