@charset "UTF-8";

html {
	font-size: 62.5%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

body {
	line-height: 1.5;
	letter-spacing: normal;
	font-weight: 400;
	color: #2c2c2c;
	font-size: 16px;
	font-family: "Noto Sans JP", 'メイリオ', 'Meiryo', Meiryo, メイリオ, 游ゴシック体, 'Yu Gothic', YuGothic, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', arial, helvetica, sans-serif;
	display: flex;
  flex-flow: column;
  min-height: 100vh;
}


a {
	text-decoration: none;
}

body {
	position: relative;
}

.sp_blo {
	display: none;
}

@media screen and (max-width: 768px) {
	.sp_blo {
		display: block;
	}
}

/*------------------------
 fixed部
------------------------*/
.header {
	position: fixed;
	z-index: 110;
	transition: .5s;
}

.header img {
	width: 438px;
}

/* アニメーション用CSS */
.sc-active .header {
	transform: translate(-180px, 190px) rotate(-90deg);
}

@media screen and (max-width: 1024px) {
	.header img {
		width: 300px;
	}
}

@media screen and (max-width: 768px) {
	.header img {
		width: 200px;
	}
}

/*------------------------
 side navi
------------------------*/
div.nav {
	background-color: #FBFBFB;
	width: 140px;
	height: 100vh;
	position: fixed;
	z-index: 100;
	top: 0;
	right: 0;
	padding-top: 120px;
	transition: .5s;
}

.nav ul li {
	text-align-last: center;
}

.nav ul li a {
	color: #242424;
}

.test-icon {
	display: block;
	width: 30px;
	height: 30px;
	background-color: #fff;
	border-radius: 50%;
	margin: 0 auto;
}

.navic-box {
	width: 35px;
	margin: 0 auto;
	margin-bottom: 3px;
}

.navic-box img {
	width: 100%;
	height: 100%;
}

.navic-box.w50p {
	width: 50px;
}

.nav ul li {
	margin-bottom: 35px;
}

.nav ul li:last-child {
	background-color: #515151;
	height: 140px;
	width: 140px;
	position: absolute;
	bottom: 110px;
	margin-bottom: 0;
}

.nav ul li:last-child a {
	color: white;
	position: relative;
	top: 40px;
}

/* アニメーション用CSS */
.sc-active .nav {
	transform: translate(140px);
}

@media screen and (max-width: 1280px) {
	.nav {
		display: none;
	}
}

/*------------------------
 footer
------------------------*/
.footer {
	background-color: #303030;
	display: flex;
	justify-content: space-between;
	line-height: 60px;
	margin-top: 50px;
}

.footer p,
.footer a {
	font-size: 16px;
	color: white;
	display: inline-block;
}

.footer a:hover {
	text-decoration: underline;
}

.footer-right {
	margin-right: 140px;
}

.footer-right p {
	margin-right: 40px;
}

.footer-left {
	margin-left: 40px;
}

@media screen and (max-width: 1280px) {
	.footer-right {
		margin-right: 40px;
	}

	.footer-right:last-child {
		margin-right: 0;
	}
}

@media screen and (max-width: 768px) {
	.footer {
		display: block;
	}

	.footer p {
		font-size: 12px;
		margin: 0 auto;
		text-align: center;
		display: block;
		line-height: 40px;
	}
}


/*------------------------
 コンテンツコンテナ
------------------------*/
.main {
	/* width: calc(100% - 140px); */
	padding-top: 100px;
	flex: 1;
}

.main * {
	box-sizing: border-box;
}

.container {
	position: relative;
}

.maxW_side {
	width: calc(100% - 140px);
	margin-right: 140px;
	position: relative;
}

.maxW_1146 {
	max-width: 1146px;
	margin: 0 auto;
	padding: 0 20px;
}

@media screen and (max-width: 1280px) {
	.main {
		width: 100%;
	}

	.maxW_side {
		width: 100%;
		margin-right: 0;
	}

	.maxW_1146 {
		margin-right: 5px;
		margin-left: 5px;
	}
}

/*------------------------
 ハンバーガー
------------------------*/
/* ボタン---------------*/
button {
	background: none;
	border: none;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.hum-btn {
	position: fixed;
	top: 16px;
	right: 16px;
	width: 58px;
	height: 48px;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 10000;
	visibility: hidden;
}

.hum-btn .btn-line {
	width: 100%;
	height: 4px;
	background-color: #515151;
	position: relative;
	transition: .2s;
}

.hum-btn .btn-line::before,
.hum-btn .btn-line::after {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: #515151;
	transition: .2s;
}

.hum-btn .btn-line::before {
	transform: translateY(-16px);
}

.hum-btn .btn-line::after {
	transform: translateY(16px);
}

/***** メニューオープン時 *****/
.hum-btn .btn-line.open {
	background-color: transparent;
}

.hum-btn .btn-line.open::before,
.hum-btn .btn-line.open::after {
	content: "";
	transition: .2s;
	background-color: #fff;
}

.hum-btn .btn-line.open::before {
	transform: rotate(45deg);
}

.hum-btn .btn-line.open::after {
	transform: rotate(-45deg);
}

@media screen and (max-width: 1280px) {
	.hum-btn {
		visibility: visible;
	}
}

@media screen and (max-width: 768px) {
	.hum-btn {
		width: 45px;
	}

	.btn-line::before {
		transform: translateY(-12px);
	}

	.btn-line::after {
		transform: translateY(12px);
	}
}

/*　メニュー　----------- */
.hum-menu .inner {
	position: fixed;
	top: 0;
	z-index: 100;
	background-color: #fff;
	padding-top: 100px;
	width: 250px;
	height: 100vh;
	transition: .3s;
	transform: translateX(-250px);
}

.hum-menu .inner li {
	margin-bottom: 35px;
	text-align: center;
}

.hum-menu .inner li a {
	color: #242424;
}

.hum-menu .bggray {
	position: fixed;
	top: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0, 0, 0, .7);
	z-index: 10;
	display: none;
}

/* ハンバーガーメニュー open */
.hum-menu.open .bggray {
	display: block;
}

.hum-menu.open .inner {
	transform: translateX(0);
}