@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Hind:wght@300;400;500;600;700&display=swap');

/*----------------------------
	common
------------------------------*/
* {
	box-sizing: border-box;
}
html {
	font-size: 10px;
	color: #333;
}
@media (max-width: 980px) {
	html {
		font-size: 1.02vw;
	}
}
@media (max-width: 768px) {
	html {
		font-size: 1.3333vw;/*750pxの時のベース*/
	}
}
body {
	font-size: 1.5rem;
	line-height: 1.86;
	font-family: "Noto Sans CJK JP", sans-serif;
	font-feature-settings: "palt";
	font-weight: 700;
	color: #323c50;
}
body.menuOpen {
	width: 100%;
	height: 100%;
	overflow: hidden;
}
@media (max-width: 768px) {
	body {
		font-size: 2.8rem;
		line-height: 1.89;
	}
}
a {
	color: #323c50;
	text-decoration: none;
}
a,
a img {
	transition: opacity 0.3s ease-out;
}
a:hover,
a img:hover {
	opacity: 0.7;
}
img {
	max-width: 100%;
	height: auto;
}
img[src$=".svg"] {
	width: 100%;
	height: auto;
}
.wrapper {
	max-height: 100%; /*for android*/
}
.inner {
	margin: 0 auto;
	max-width: 98rem;
}
.sp {
	display: none;
}
.hidden {
	visibility: hidden;
}
@media (max-width: 768px) {
	.sp {
		display: block;
	}
	.pc {
		display: none;
	}
	.hidden {
		display: none;
	}
}

/* button reset */
button {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-family:inherit;
}

/* nav */
nav {
	border-bottom: 0.2rem solid #323c50;
}
nav .menuBtn,
nav .menuBtn02 {
	display: none;
}
nav ul {
	margin: 1rem 0 2rem;
	display: flex;
	justify-content: flex-end;
}
nav ul li {
	font-size: 1.2rem;
	line-height: 1.2;
	text-align: center;
}
nav ul li + li {
	border-left: 1px solid #323c50;
}
nav ul li a,
nav ul li > span {
	display: block;
	padding: 0 3rem;
}
nav ul li a span,
nav ul li > span span {
	font-size: 1.4rem;
	font-family: "Hind", serif;
	font-weight: 700;
	font-style: normal;
}
nav #focusTrap {
	display: none;
}
@media (max-width: 768px) {
	nav .menuBtn {
		margin-top: 1rem;
		position: fixed;
		right: 2.5rem;
		display: grid;
		place-items: center;
		place-content: center;
		width: 8rem;
		height: 8rem;
		border: none;
		cursor: pointer;
		z-index: 999;
		background-color: #fff;
		border: solid 1px #323c50;
		border-radius: 50%;
	}
	nav .bar,
	nav .bar::before,
	nav .bar::after {
		width: 4.8rem;
		height: 0.2rem;
		background-color: #323c50;
		transition: transform 0.4s;
		border-radius: 0.5rem;
	}
	nav .bar {
		display: grid;
	}
	nav .bar::before ,
	nav .bar::after {
		content: "";
		grid-area: 1 / 1;
	}
	nav .bar::before {
		transform: translateY(-1.5rem);
	}
	nav .bar::after {
		transform: translateY(1.5rem);
	}
	.menuOpen nav .menuBtn {
		background-color: unset;
	}
	.menuOpen nav .bar,
	.menuOpen nav .bar::before,
	.menuOpen nav .bar::after {
		background-color: #fff;
	}
	.menuOpen nav .bar {
		background-color: transparent;
	}
	.menuOpen nav .bar::before {
		transform: rotate(45deg);
	}
	.menuOpen nav .bar::after {
		transform: rotate(-45deg);
	}
	#menu {
		margin: 0;
		padding: 15rem 6rem 4rem;
		width: 100%;
		height: 100vh;
		justify-content: flex-start;
		flex-direction: column;
		background-color: #323c50;
		position: fixed;
		top: 0;
		z-index: 998;
		opacity: 0;
		overflow-y: scroll;
	}
	.menuOpen #menu {
		opacity: 1;
		transition: opacity 0.3s ease-in-out;
	}
	nav ul {
		flex-direction: column;
		justify-content: flex-start;
	}
	nav ul li {
		font-size: 3.2rem;
		line-height: 1.2;
		text-align: center;
	}
	nav ul li + li {
		border-left: none;
		border-top: 1px solid #fff;
	}
	nav ul li a,
	nav ul li > span {
		display: block;
		padding: 5.5rem 0;
		color: #fff;
		text-align: center;
	}
	nav ul li a span,
	nav ul li > span span {
		font-size: 4rem;
		padding-right: 3rem;
	}
	nav .menuBtn02 {
		display: block;
		margin: 0 auto;
		padding: 1.5rem;
		width: 80%;
		border: solid 1px #fff;
		border-radius: 0.5rem;
		font-size: 2.6rem;
		color: #fff;
		text-align: center;
	}
	nav #focusTrap {
		display: block;
	}
}

/* note */
.note p {
	margin: 5rem 2rem;
	font-size: 1.4rem;
}
@media (max-width: 768px) {
	.note ul {
		margin: 5rem 4rem;
		font-size: 2.4rem;
	}
}

/* bnr */
.bnr {
	margin-bottom: 5rem;
}
.bnr .tsunagu a {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 2rem;
	padding: 1.5rem;
	color: #0064b4;
	border-top: 2px solid #323c50;
	border-bottom: 2px solid #323c50;
}
.bnr .tsunagu .logo {
	width: 28.4rem;
}
.bnr .tsunagu .btn {
	width: 22.3rem;
	background-color: #0064b4;
	border-radius: 2rem;
	font-size: 1.5rem;
	color: #fff;
	text-align: center;
	position: relative;
}
.bnr .tsunagu .btn::after {
	display: block;
	content: '';
	width: 2.4rem;
	height: 0.84rem;
	background-image: url(/base/pc/store/special/ffays/2026/img/common/arrow02.svg);
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: calc(50% - 0.42rem);
	right: 1rem;
}
@media (max-width: 768px) {
	.bnr .tsunagu a {
		flex-direction: column;
		gap: 1rem 0;
		padding: 4rem 2rem;
	}
	.bnr .tsunagu .txt {
		font-size: 3rem;;
	}
	.bnr .tsunagu .logo {
		width: 56.8rem;
	}
	.bnr .tsunagu .btn {
		margin-top: 2rem;
		width: 41.8rem;
		border-radius: 3rem;
		font-size: 2.8rem;
	}
	.bnr .tsunagu .btn::after {
		width: 4.5rem;
		height: 1.5rem;
		top: calc(50% - 0.7rem);
		/* right: 1rem; */
	}
}