@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: 'メイリオ',Meiryo, 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック','MS PGothic',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;
}

.inner {
	margin: 0 auto;
	padding: 0 10rem;
	max-width: 1000px;
}

@media (max-width: 768px) {
	.sp {
		display: block;
	}

	.pc {
		display: none;
	}

	.inner {
		padding: 0 6rem;
	}
}


/* --------------------------------
	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.2rem 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: 23rem;
}

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: 3.3rem;
	width: 0;
	height: 70.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: 35rem;
	}

	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
-------------------------------- */
main h2 {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 10rem;
	height: 20rem;
	background-color: #F5F5F0;
	font-size: 4rem;
	font-weight: 700;
	letter-spacing: .015em;
	text-decoration: underline;
	text-align: center;
}

.btn {
	width: 100%;
	text-align: center;
}

.btn > a {
	display: inline-block;
	position: relative;
	padding: 1.2rem 2.5rem;
	padding-right: 4.5rem;
	color: #464646;
	background: #fff;
	font-size: 1.4rem;
	letter-spacing: .1em;
	line-height: 1.3;
	border: 1px solid #464646;
	opacity: 1;
	transition: background-color 0.2s ease-in;
}

.btn > a::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 2.2rem;
	margin-top: -.6rem;
	width: 1.2rem;
	height: 1.2rem;
	border-top: 1px solid #464646;
	border-right: 1px solid #464646;
	transform: rotate(45deg);
}

.btn > a:hover {
	background-color: #ddd;
}

.btnFs {
	display: inline-block;
	margin: .5rem 0 1.2rem;
}

.btnFs img {
	width: 16.4rem;
}

@media (max-width: 768px) {
	main h2 {
		margin-bottom: 5rem;
		font-size: 5rem;
	}

	.btn > a {
		padding: 1.2rem 3.5rem;
		padding-right: 5.5rem;
		font-size: 2.3rem;
	}

	.btnFs {
		margin: .5rem 0 1.5rem;
	}

	.btnFs img {
		width: 25rem;
	}
}

/* slider */
.slideCont {
	margin-bottom: 2.7rem;
}

.slick-arrow {
	position: absolute;
	top: 50%;
	margin-top: 1rem;
	width: 1.3rem;
	height: 1.3rem;
	cursor: pointer;
	border-top: 1px solid #464646;
	border-right: 1px solid #464646;
	z-index: 10;
}

.prev-arrow {
	left: -2rem;
	transform: rotate(-135deg);
}

.next-arrow {
	right: -2rem;
	transform: rotate(45deg);
}

.sliderDots {
	display: flex;
	justify-content: center;
	position: absolute;
	bottom: -2.7rem;
	right: 0;
	left: 0;
	margin: auto;
	z-index: 10;
}

.undermin + .sliderDots {
	display: none;
}

.sliderDots li {
	margin: 0 0.7rem;
	width: 1rem;
	height: 1rem;
	border-radius: 0.5rem;
	border: 1px solid #464646;
}

.sliderDots li button {
	display: none;
}

.sliderDots li.slick-active {
	background: #464646;
}

@media (max-width: 768px) {
	.slideCont {
		margin: 0 auto 6rem;
	}

	.slick-arrow {
		width: 2rem;
		height: 2rem;
	}

	.prev-arrow {
		left: -4rem;
	}

	.next-arrow {
		right: -4rem;
	}

	.sliderDots {
		bottom: -6rem;
	}

	.sliderDots li {
		margin: 0 1.25rem;
		width: 1.8rem;
		height: 1.8rem;
		border-radius: 0.9rem;
		border: 2px solid #464646;
	}
}
.footTxt {
	margin: 10rem auto 15rem;
	padding: 0 5rem;
	max-width: 78rem;
	font-size: 1.3rem;
	line-height: 1.9;
	text-align: justify;
}
@media (max-width: 768px) {
	.footTxt {
		margin: 7rem 0 4.5rem 0;
		max-width: 100%;
		font-size: 2.1rem;
	}
}
