@charset "utf-8";

/* --------------------------------
	common
-------------------------------- */
* { box-sizing: border-box }
*:focus { outline: none }

html { font-size: 10px }
@media (max-width: 1000px) {
	html { font-size: 1vw; }
}
@media (max-width: 768px) {
	html { font-size: 1.3333vw; }
}

body {
	font-size: 1.8rem;
	font-family: "Noto Sans CJK JP", sans-serif;
	font-feature-settings: "palt";
}

a {
	color: inherit;
	text-decoration: none;
}

a img {
	transition: opacity 0.2s;
}
a img:hover {
	opacity: 0.75;
}

img {
	max-width: 100%;
	width: auto;
}

img[src$=".svg"] {
	width: 100%;
	height: auto;
}

button {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-family: inherit;
}

.sp {
	display: none;
}

.txtRed {
	color: #f00;
}

.invisible {
	display: none;
}

/* 非表示設定 */
.invisible {
	display: none;
}
@media (max-width: 768px) {
	.sp {
		display: block;
	}

	.pc {
		display: none;
	}
}


/* --------------------------------
	nav
-------------------------------- */
nav .inner {
	padding: 0 5rem;
	max-width: 100%;
}

nav .hLogo {
	margin: 0 auto;
	padding-top: 2rem;
	padding-bottom: 1.5rem;
	line-height: 1;
}

nav .hLogo img {
	width: 13rem;
}

nav .tArea {
	position: relative;
	padding: 1.5rem 0;
	width: 100%;
	background-color: #000;
	z-index: 50;
}

nav .tArea.on {
	position: fixed;
	top: 0;
}

nav .tArea .inner {
	display: flex;
	position: relative;
	align-items: center;
	justify-content: space-between;
line-height: 1;
}

nav .tArea h1 img {
	width: 11.3rem;
}

nav .tArea .links {
	display: flex;
	align-items: center;
}

nav .tArea .links .fs img {
	width: 2.83rem;
}

nav .tArea .links > p {
	margin-left: 1.5rem;
}

nav .tArea .links .insta {
	margin-top: auto;
	margin-bottom: 0;
}

nav .tArea .links .insta img {
	width: 2.53rem;
}

nav .tArea .links .menu {
	cursor: pointer;
}

nav .tArea .links .menu img {
	width: 2.3rem;
}

nav .tArea .menuList {
	position: absolute;
	right: 0;
	top: 4.3rem;
	width: 0;
	height: 45.5rem;
	background: rgb(0,0,0);
	filter: alpha(opacity=85);
	background: rgba(0,0,0,0.85);
	z-index: 20;
	transition: all 0.3s ease-in-out;
}

nav .tArea .menuList.open {
	padding: 3.5rem 5rem 5.5rem;
	width: 32rem;
}

nav .tArea .close {
	display: none;
	margin-bottom: 3rem;
	cursor: pointer;
}

nav .tArea .close img {
	width: 4.5rem;
}

nav .tArea .menuList li {
	display: none;
	margin-top: 2rem;
	color: #fff;
	font-size: 1.5rem;

}

nav .tArea .menuList li a {
	display: block;
	letter-spacing: .05em;
	line-height: 1.3;
}

nav .tArea .menuList li a:hover {
	background: rgb(255,255,255);
	filter: alpha(opacity=20);
	background: rgba(255,255,255,0.2);
}

nav .tArea .menuList li span {
	display: block;
	padding-top: .5rem;
}

nav .tArea .menuList li span > a {
	margin-top: .8rem;
	font-size: 1.3rem;
	line-height: 1.5;
}

nav .tArea .menuList li span > a::before {
	content: '—';
	padding-right: .5rem;
}

nav .tArea .menuList li.others {
	margin-top: 3rem;
	border-bottom: 1px solid #fff;
}

nav .tArea .menuList li.others a {
	display: flex;
	align-items: center;
	height: 5.5rem;
	border-top: 1px solid #fff;
}

nav .tArea .menuList li.others a.insta > img {
	padding-left: .6rem;
	width: 12rem;
}

nav .tArea .menuList li.others a.fs > img {
 width: 17.9rem;
}

@media (max-width: 768px) {
	nav .hLogo img {
		width: 18.1rem;
	}

	nav .tArea {
		padding: 2.8rem 0;
	}

	nav .tArea h1 img {
		width: 18rem;
	}

	nav .tArea .links > p {
		margin-left: 2.5rem;
	}

	nav .tArea .links .fs img {
		width: 4.7rem;
	}

	nav .tArea .links .insta img {
		width: 4.2rem;
	}

	nav .tArea .links .menu img {
		width: 3.9rem;
	}

	nav .tArea .menuList {
		position: fixed;
		top: 0;
		height: 100vh;
		overflow: scroll;
	}

	nav .tArea .menuList.open {
		padding: 6rem 8.5rem 5.5rem;
		width: 100%;
	}

	nav .tArea .close {
		margin-bottom: 5rem;
	}

	nav .tArea .close img {
		width: 10.3rem;
	}

	nav .tArea .menuList li {
		margin-top: 4.5rem;
		font-size: 3.5rem;
		font-weight: 300;
	}
	nav .tArea .menuList li span {
		margin-top: 1rem;
	}

	nav .tArea .menuList li span > a {
		margin-top: 1.8rem;
		font-size: 3rem;
	}

	nav .tArea .menuList li.others {
		margin-top: 7rem;
	}

	nav .tArea .menuList li.others a {
		height: 13.6rem;
	}

	nav .tArea .menuList li.others a.insta > img {
		width: 28.6rem;
	}

	nav .tArea .menuList li.others a.fs > img {
		width: 42.6rem;
	}
}


/* --------------------------------
	main
-------------------------------- */
.footTxt {
	margin: 10rem auto 6rem;
	padding: 0 2rem;
	width: 65rem;
	font-size: 1.3rem;
	line-height: 1.9;
	text-align: justify;
}
@media (max-width: 768px) {
	.footTxt {
		margin: 10rem 0 4.5rem;
		padding: 0 6rem;
		width: 100%;
		font-size: 2.2rem;
		line-height: 3.2rem;
	}
}
