@charset "UTF-8";  

body {
	font-family	: 'Zen Kaku Gothic New', '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;
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 150;
	transition: 0.2s linear;
}
	header a.logo {
		display: inline-block;
		width: 100%;
		margin: 0;
		padding: 1.5% 3% 1.5%;
		text-decoration: none;
	}
		header a.logo h1 {
			display: inline-block;
			width: 70%;
			margin: 0;
			padding: 0;
			text-decoration: none;
			display: flex;
			align-items: center;
		}
		header a.logo h1 img {
			display: inline-block;
			padding: 0; 
		}
			header a.logo h1 img:nth-of-type(1) {
				width: 25%;
				height: auto;
				margin: 0;
			}
			header a.logo h1 img:nth-of-type(2) {
				width: 75%;
				height: auto;
				margin: 0 0 0 2%;
			}

	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.2em;
		background: #777fbd;
		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(255,255,255,0.9);
	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: #000;
				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;
}

#page_top {
	position: fixed;
	bottom: 5%;
    right: 2%;
	z-index: 50;
}
	#page_top a {
		display: inline-block;
		margin: 0;
		padding: 0.5em 0.2em;
		font-size: 3.2vw;
		line-height: 120%;
		font-weight: var(--weight-nomal);
		color: #000;
		text-decoration: none;
		font-weight: var(--weight-bold2);
		writing-mode: vertical-rl;
		text-orientation: mixed;
		position: relative;
	}
		#page_top a:before {
			position: absolute;
			content: '';
			width: 1px;
			height: 60px;
			margin: 0;
			padding: 0;
			background: #777fbd;
			bottom: 0;
			left: -2px;
			z-index: 1;
		}
