@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400..700&amp;display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500&amp;display=swap');
* {
		margin: 0;
		padding: 0;
}
img {
		border: none;
		vertical-align: top;
}
html {
		overflow-y: scroll;
}
body {
		font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
		font-size: 16px;
		color: #1e1e1e;
		background: #fff;
}
.mainLock {
		overflow: hidden;
}
main.mainLock {
		position: fixed !important;
		width: 100%;
		height: 100vh;
		overflow: hidden;
}
.page_container {
		overflow: hidden;
}
.loading_base {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		z-index: 9999;
		background: #fff;
		display: flex;
		align-items: center;
		justify-content: center;
}
.loading_logo {
		width: 160px;
		position: relative;
		top: -50px;
		opacity: 0;
		animation: fadeIn 0.3s linear forwards;
}
@media(max-width: 767px) {
		.loading_logo {
				width: 100px;
				top: -20px;
		}
}
@keyframes fadeIn {
		0% {
				opacity: 0;
		}
		100% {
				opacity: 1;
		}
}
.loading_logo img {
		width: 100%;
		height: auto;
}
header {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 1000;
}
header.isWht {
		background: #ffff;
		border-bottom: 1px solid #ededed;
}
.header_inner {
		padding: 35px 90px 35px 40px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		position: relative;
}
.header_logo_col {
		display: flex;
		align-items: center;
}
.header_logo {
		width: 70px;
		margin-right: 23px;
}
.isBlk .header_logo img {
		opacity: 0;
}
.isBlk .header_logo {
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 100%;
		background-image: url("../png/header_logo_wht.png")
}
.header_logo_col p {
		font-weight: 600;
		letter-spacing: 0.03em
}
.isBlk .header_logo_col p {
		color: #fff;
}
nav {
		margin-right: 140px;
}
nav ul {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		list-style: none;
}
nav ul li {
		font-weight: 500;
		margin-left: 30px;
}
nav ul li a {
		color: #1e1e1e;
		text-decoration: none;
		padding: 0 10px;
		position: relative;
}
.isBlk nav ul li a {
		color: #fff;
}
nav ul li a span {
		position: relative;
}
.header_desktop_menu li a span::after {
		content: '';
		display: block;
		position: absolute;
		bottom: -7px;
		left: 0;
		width: 100%;
		height: 1px;
		transform-origin: left center;
		transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
		background: #1e1e1e;
		transform: scaleX(0);
}
.isBlk .header_desktop_menu li a span::after {
		background: #fff;
}
@media (hover: hover) {
		.header_desktop_menu a:hover span::after {
				transform: scaleX(1);
		}
}
@media(max-width: 1200px) {
		nav {
				margin-right: 60px;
		}
		nav ul li {
				margin-left: 20px;
		}
}
a.navSwitch::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 2.5px);
		right: -3px;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 6px 3px 0 3px;
		border-color: #1e1e1e transparent transparent transparent;
}
.isBlk a.navSwitch::after {
		border-color: #fff transparent transparent transparent;
}
.header_inner .header_tigger {
		position: absolute;
		right: 40px;
		top: calc(50% - 24px);
		width: 94px;
		height: 48px;
		cursor: pointer;
}
.header_tigger .header_tigger_txt {
		position: absolute;
		font-family: DINNextLTPro-Regular;
		left: 0;
		top: calc(50% - 8px)
}
.isBlk .header_tigger .header_tigger_txt {
		color: #fff;
}
.header_tigger .header_tigger_btn {
		position: absolute;
		top: 0;
		right: 0;
		width: 48px;
		height: 48px;
		border-radius: 50%;
		box-sizing: border-box;
		border: 1px solid #a4a4a4;
		cursor: pointer;
}
.isBlk .header_tigger .header_tigger_btn {
		border: 1px solid #fff;
}
.header_tigger_btn .header_tigger_bar {
		width: 32px;
		height: 32px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 32px;
		position: absolute;
		top: 8px;
		left: 7px;
		transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
		transform-origin: 19px center;
}
.header_tigger_btn .header_tigger_bar:nth-child(1) {
		background-image: url("../png/drawer_hasami_up.png");
		top: 8px;
}
.header_tigger_btn .header_tigger_bar:nth-child(2) {
		background-image: url("../png/drawer_hasami_btm.png");
		top: 9px;
}
.isBlk .header_tigger_btn .header_tigger_bar:nth-child(1) {
		background-image: url("../png/drawer_hasami_up_wht.png");
}
.isBlk .header_tigger_btn .header_tigger_bar:nth-child(2) {
		background-image: url("../png/drawer_hasami_btm_wht.png");
}
.drawer .header_tigger_btn .header_tigger_bar:nth-child(1) {
		background-image: url("../png/drawer_hasami_up_wht.png");
}
.drawer .header_tigger_btn .header_tigger_bar:nth-child(2) {
		background-image: url("../png/drawer_hasami_btm_wht.png");
}
@media (hover: hover) {
		header .navClose:hover .header_tigger_bar:nth-child(1) {
				transform: rotate(-23deg);
		}
		header .navClose:hover .header_tigger_bar:nth-child(2) {
				transform: rotate(23deg);
		}
}
.drawerOpen .header_tigger_btn .header_tigger_bar:nth-child(1) {
		transform: rotate(-23deg);
		transition-delay: 0.1s;
}
.drawerOpen .header_tigger_btn .header_tigger_bar:nth-child(2) {
		transform: rotate(23deg);
		transition-delay: 0.1s;
}
@media (hover: hover) {
		.drawerOpen .header_tigger_btn:hover .header_tigger_bar:nth-child(1) {
				transform: rotate(0deg);
		}
		.drawerOpen .header_tigger_btn:hover .header_tigger_bar:nth-child(2) {
				transform: rotate(0deg);
		}
}
/* =================== */
.cont_wrap {
		max-width: 1000px;
		margin: 0 auto;
		padding: 0 40px;
}
.fv {
		background-repeat: no-repeat;
		background-position: right center;
		background-size: cover;
		background-image: url("../jpg/fv_pc.jpg");
		display: flex;
		align-items: center;
		aspect-ratio: 16 / 8;
}
@media(max-height: 600px) {
		.desktopDevice .fv {
				min-height: 500px;
		}
}
.fv_inner {
		display: flex;
		flex-direction: column-reverse;
		padding-left: 8.4vw;
		padding-top: 80px;
}
.fv_inner h1 {
		font-size: 24px;
		line-height: 1.6;
		font-weight: 600;
		letter-spacing: 0.03em;
}
.fv_inner h2 {
		font-size: 88px;
		line-height: 1.2;
		letter-spacing: -0.03em;
		font-weight: normal;
		font-family: DINNextLTPro-Bold;
		margin: 0 0 70px;
}
@media(min-width: 2100px) {
		.fv_inner {
				padding-top: 100px;
		}
		.fv_inner h1 {
				font-size: 36px;
				line-height: 1.6;
		}
		.fv_inner h2 {
				font-size: 110px;
				line-height: 1.2;
				letter-spacing: -0.03em;
				font-weight: normal;
				margin: 0 0 70px;
		}
}
@media(max-width: 1280px) {
		.fv_inner {
				padding-left: 6vw;
				padding-top: 80px;
		}
		.fv_inner h1 {
				font-size: 22px;
		}
		.fv_inner h2 {
				font-size: 70px;
				line-height: 1.2;
				margin: 0 0 70px;
		}
}
@media(max-width: 1100px) {
		.fv_inner h2 {
				font-size: 68px;
				margin: 0 0 30px;
		}
}
@media(max-width: 1024px) {
		header nav {
				display: none;
		}
}
@media(max-width: 960px) {
		.fv_inner {
				padding-left: 50px;
				padding-top: 50px;
		}
		.fv_inner h1 {
				font-size: 20px;
		}
		.fv_inner h2 {
				font-size: 54px;
				line-height: 1.2;
				margin: 0 0 20px;
		}
		.desktopDevice .fv {
				background-image: url("../jpg/fv_pc.jpg") !important;
				background-size: 100% !important;
				background-position: right top !important;
				height: 56vw !important;
				aspect-ratio: inherit !important;
		}
}
@media(max-width: 767px) {
		.header_inner {
				display: block;
				padding: 25px 20px 20px;
		}
		.header_logo {
				width: 57px;
				margin-right: 15px;
		}
		.header_logo img {
				width: 57px;
				height: auto;
		}
		.header_logo_col p {
				font-size: 12px;
		}
		.header_inner .header_tigger {
				right: 15px;
				width: 88px;
				height: 48px;
		}
		.header_tigger .header_tigger_txt {
				font-size: 13px;
		}
		.fv {
				background-repeat: no-repeat;
				background-position: 0 bottom;
				background-size: cover;
				box-sizing: border-box;
				background-image: url("../jpg/fv_sp.jpg");
				display: flex;
				align-items: flex-start;
				height: 100vh;
				aspect-ratio: inherit;
		}
		.fv_inner {
				padding-left: 20px;
				padding-top: 90px;
		}
		.fv_inner h2 {
				font-size: 58px;
				line-height: 1.1;
				margin: 0 0 20px;
		}
}
@media(max-width: 740px) {
		.desktopDevice .fv {
				background-image: url("../jpg/fv_sp.jpg") !important;
				background-size: cover !important;
				background-position: left bottom !important;
				height: 100vh !important;
				max-height: 164vw !important;
				aspect-ratio: inherit !important;
		}
}
@media(max-width: 375px) {
		.fv {
				background-repeat: no-repeat;
				background-position: 0 bottom;
				background-size: 100%;
				background-image: url("../jpg/fv_xs.jpg");
		}
		.fv_inner {
				padding-left: 20px;
				padding-top: 75px;
		}
		.fv_inner h2 {
				font-size: 44px;
				line-height: 1.1;
				margin: 0 0 10px;
		}
		.fv_inner h1 {
				font-size: 18px;
				line-height: 1.7;
		}
}
/* =============== */
/* =============== */
@media(min-width: 961px) {
		br.largebr {
				display: none;
		}
}
@media(min-width: 841px) {
		br.tabletbr {
				display: none;
		}
}
@media(min-width: 768px) {
		br.spBrMin {
				display: block;
		}
		br.spbr {
				display: none;
		}
}
@media(max-width: 767px) {
		br.spBrMin {
				display: none;
		}
}
.anchor {
		margin-top: -150px;
		padding-top: 150px;
		position: relative;
		pointer-events: none;
}