@charset "UTF-8";

@import url("https://fonts.googleapis.com/css2?family=Federo&family=Noto+Sans+JP:wght@100..900&display=swap");
@font-face {
	font-family: "icomoon";
	src: url("/font/icomoon.eot?upsj4w");
	src: url("/font/icomoon.eot?upsj4w#iefix") format("embedded-opentype"),
		url("/font/icomoon.ttf?upsj4w") format("truetype"),
		url("/font/icomoon.woff?upsj4w") format("woff"),
		url("/font/icomoon.svg?upsj4w#icomoon") format("svg");
	font-weight: normal;
	font-style: normal;
	font-display: block;
}

[class^="icon-"],
[class*=" icon-"] {
	/* use !important to prevent issues with browser extensions that change fonts */
	font-family: "icomoon" !important;
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;

	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.icon-instagram:before {
	content: "\ea92";
}
body {
	min-width: 1000px;
	color: #ffffff;
	font-size: 16px;
	line-height: 1.5;
	font-family: "Federo", "Noto Sans JP", "ヒラギノ角ゴ Pro W3",
		"Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック",
		sans-serif;
	outline: none;
	background: linear-gradient(
		to bottom,
		#00294a 0,
		#333333 200px,
		#333333 calc(100% - 200px),
		#00294a 100%
	);

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
}
img {
	max-width: 100%;
	height: auto;
}
.hovact {
	transition: opacity 0.4s;
}
.hovact:hover {
	opacity: 0.6;
}
.inner {
	max-width: 1380px;
	margin: 0 auto;
	padding: 0 70px;
}
.cmnhd {
	padding: 40px;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 5000;
	width: 100%;
	transition: all 0.4s;
}
.cmnhd::before {
	content: "";
	width: 100%;
	height: 100%;
	z-index: -1;
	background: linear-gradient(45deg, #00294a, transparent);
	opacity: 0;
	display: block;
	transition: all 0.4s;
	position: absolute;
	left: 0;
	top: 0;
}
.cmnhd.-active {
	padding: 20px 40px;
}
.cmnhd.-active::before {
	opacity: 1;
}
.cmnhd {
	padding: 40px;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 5000;
	width: 100%;
}
.cmnhd_wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.cmnhd_logo {
}
.cmnhd_menu {
	width: 90px;
	height: 13px;
	display: block;
	cursor: pointer;
	position: relative;
	z-index: 3000;
}
.cmnhd_menu span {
	width: 100%;
	height: 1px;
	background: #ffffff;
	display: block;
	position: absolute;
	transform: translate(50%, 50%);
	right: 50%;
	transition: all 0.1s;
}
.cmnhd_menu span:first-child {
	bottom: calc(100% + 1px);
}
.cmnhd_menu span:last-child {
	bottom: 0;
}
.-open.cmnhd_menu span:first-child {
	bottom: 50%;
	transform: translate(50%, 50%) rotate(15deg);
}
.-open.cmnhd_menu span:last-child {
	bottom: 50%;
	transform: translate(50%, 50%) rotate(-15deg);
}
.cmnnav {
	transform: translateX(100%);
	width: 100%;
	position: fixed;
	padding: 150px 40px;
	right: 0;
	top: 0;
	z-index: 2000;
	max-width: 300px;
	max-height: 600px;
	height: 100dvh;
	background: linear-gradient(
		to bottom,
		#333333 0,
		#333333 300px,
		#00294a 100%
	);
	border-radius: 0 0 0 60px;
	transition: transform 0.4s;
}
.cmnnav.-open {
	transform: translateX(0);
}
.cmnnav_wrap {
}
.cmnnav_cnt {
	display: flex;
	flex-flow: column;
	gap: 25px;
	font-size: 32px;
	line-height: 1;
	margin-bottom: 60px;
}
.cmnnav_sns {
	font-size: 25px;
}

.pagehd {
}
.pagehd_wrap {
	position: relative;
	padding: 0 90px;
}
.pagehd_ttl {
	font-size: 98px;
	position: absolute;
	right: 50%;
	top: 0;
	transform: translate(50%, -50%);
	white-space: nowrap;
}
.pagehd_img {
}
.pagehd_img img {
	width: 100%;
}
.cmnlink {
}
.cmnlink {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 30px;
	width: fit-content;
}
.cmnlink p {
}
.cmnlink span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 25px;
	border-radius: 5px;
	background: #ffffff20;
	position: relative;
	overflow: hidden;
	transition: all 0.4s;
}
.cmnlink:hover span {
	background: #ffffff;
}
.cmnlink span img {
	transform: translateX(0);
	display: block;
	transition: all 0.4s;
}
.cmnlink:hover span img {
	transform: translateX(70px);
}
.cmnlink span::after {
	content: "";
	display: block;
	background: url(../img/cmn/cmnhd-logo_hover@2x.png) center / cover;
	width: 18px;
	height: 9px;
	position: absolute;
	bottom: 50%;
	right: 50%;
	transform: translate(calc(50% - 70px), 50%);
	transition: all 0.4s;
}
.cmnlink:hover span::after {
	transform: translate(50%, 50%);
}
.cmnpagehd {
	margin-bottom: 100px;
}
.cmnpagehd_wrap {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
}
.cmnpagehd_ttl {
	font-size: 98px;
	position: relative;
}
.cmnpagehd_ttl::before {
	content: "";
	width: 100%;
	height: 11px;
	background: #126db7;
	mix-blend-mode: multiply;
	display: block;
	position: absolute;
	left: 0;
	bottom: 50%;
	transform: translateY(50%);
}
.cmnpagehd_pnkz {
	font-size: 15px;
	display: flex;
	gap: 15px;
}
.cmnpagehd_pnkz_cnt {
}
.cmnpagehd_pnkz_cnt.pnkz_now {
	display: flex;
	gap: 15px;
	align-items: center;
}
.cmnpagehd_pnkz_cnt.pnkz_now::after {
	content: "▶︎";
	display: block;
	font-size: 10px;
}
.cmnpagehd_pnkz_cnt.pnkz_link {
	position: relative;
}
.cmnpagehd_pnkz_cnt.pnkz_link::after {
	content: "";
	width: 100%;
	height: 1px;
	display: block;
	position: absolute;
	background: #ffffff;
	left: 0;
	bottom: 50%;
	transform: translateY(50%);
}
.cmnsec_hd {
	padding-bottom: 40px;
}
.cmnsec_hd p {
	font-size: 25px;
	margin-bottom: 14px;
}
.wp-pagenavi {
	display: flex;
	justify-content: center;
	gap: 10px;
	padding: 50px 0;
}

.wp-pagenavi > a,
.wp-pagenavi > span {
	height: 40px;
	width: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #7e7e7e;
	border-radius: 4px;
	transition: all 0.4s;
}
.wp-pagenavi > a:hover {
	background: #7e7e7e;
}
.wp-pagenavi > a {
}

.wp-pagenavi > a.page {
}

.wp-pagenavi > a.previouspostslink {
}

.wp-pagenavi > a.nextpostslink {
}

.wp-pagenavi > span {
	background: #7e7e7e;
}
.wp-pagenavi > span.extend {
	border: none;
	background: none;
}
.cmnft {
	padding: 130px 0;
}
.cmnft_line {
	margin-bottom: 90px;
}
.cmnft_line a {
	margin: 0 auto;
	max-width: 100%;
	width: fit-content;
	display: flex;
}
.cmnft_wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.cmnft_cnt {
}
.cmnft_cnt small {
	font-size: 14px;
	color: #7c7c7c;
}
.cmnft_logo {
	width: 290px;
	margin-bottom: 75px;
}
.cmnft_logo img {
	display: flex;
	width: 100%;
}
.cmnft_sns {
	font-size: 25px;
	margin-bottom: 100px;
}
.cmnft_logo img {
	width: 100%;
}
.cmnftnav {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 25px 65px;
	font-size: 24px;
}

.vis-sp,
.vis-tb {
	display: none;
}

@media screen and (max-width: 1240px) {
	.vis-tb {
		display: block;
	}

	.hide-tb {
		display: none;
	}
}

@media screen and (max-width: 768px) {
	body {
		min-width: 0;
		font-size: 14px;
	}

	.inner {
		padding: 0 24px;
	}
	.cmnhd {
		padding: 35px 20px;
	}
	.cmnhd::before {
	}
	.cmnhd.-active {
		padding: 20px;
	}
	.cmnhd.-active::before {
	}
	.cmnhd {
		padding: 35px 20px;
	}
	.cmnhd_wrap {
	}
	.cmnhd_logo {
		width: 147px;
	}
	.cmnhd_menu {
		width: 70px;
		height: 10px;
	}
	.cmnhd_menu span {
	}
	.cmnhd_menu span:first-child {
	}
	.cmnhd_menu span:last-child {
	}
	.-open.cmnhd_menu span:first-child {
	}
	.-open.cmnhd_menu span:last-child {
	}
	.cmnnav {
	}
	.cmnnav.-open {
	}
	.cmnnav_wrap {
	}
	.cmnnav_cnt {
	}
	.cmnnav_sns {
	}
	.pagehd {
	}
	.pagehd_wrap {
		padding: 0;
	}
	.pagehd_ttl {
		font-size: 58px;
	}
	.pagehd_img {
	}
	.pagehd_img img {
	}
	.cmnlink {
	}
	.cmnlink {
	}
	.cmnlink p {
	}
	.cmnlink span {
	}
	.cmnlink:hover span {
	}
	.cmnlink span img {
	}
	.cmnlink:hover span img {
	}
	.cmnlink span::after {
	}
	.cmnlink:hover span::after {
	}
	.cmnpagehd {
		margin-bottom: 50px;
	}
	.cmnpagehd_wrap {
		flex-flow: column;
	}
	.cmnpagehd_ttl {
		font-size: 49px;
	}
	.cmnpagehd_ttl::before {
		height: 5px;
	}
	.cmnpagehd_pnkz {
		font-size: 14px;
	}
	.cmnpagehd_pnkz_cnt {
	}
	.cmnpagehd_pnkz_cnt.pnkz_now {
	}
	.cmnpagehd_pnkz_cnt.pnkz_now::after {
	}
	.cmnpagehd_pnkz_cnt.pnkz_link {
	}
	.cmnpagehd_pnkz_cnt.pnkz_link::after {
	}
	.cmnsec_hd {
		padding-bottom: 15px;
	}
	.cmnsec_hd p {
		margin-bottom: 0;
	}
	.wp-pagenavi {
	}
	.wp-pagenavi > a,
	.wp-pagenavi > span {
		height: 35px;
		width: 35px;
	}
	.wp-pagenavi > a:hover {
	}
	.wp-pagenavi > a {
	}
	.wp-pagenavi > a.page {
	}
	.wp-pagenavi > a.previouspostslink {
	}
	.wp-pagenavi > a.nextpostslink {
	}
	.wp-pagenavi > span {
	}
	.wp-pagenavi > span.extend {
		border: none;
		background: none;
		width: 19px;
	}
	.cmnft {
		padding: 60px 0 40px;
	}
	.cmnft_line {
		margin-bottom: 60px;
	}
	.cmnft_wrap {
		gap: 60px;
		flex-flow: column-reverse;
	}
	.cmnft_cnt {
	}
	.cmnft_cnt small {
	}
	.cmnft_logo {
		width: 176px;
		margin: 0 auto 70px;
	}
	.cmnft_logo img {
	}
	.cmnft_sns {
		margin-bottom: 29px;
		display: flex;
		justify-content: center;
	}
	.cmnft_logo img {
	}
	.cmnftnav {
		font-size: 19px;
		gap: 15px 40px;
	}

	.vis-sp {
		display: block;
	}

	.hide-sp {
		display: none;
	}
}

@media print {
}
