@charset "utf-8";
:root {
	--color--black: #010101;
	--color--white: #ffffff;
	--color--light_black: #141414;
	--color--page_bg: #1B1B1B;
	--color--dark_gray: #2C2A2A;
	--color--gray: #969696;
	--color--light_gray: #E3E3E3;
	--color--red: #811F02;
	--color--blue: #063D5B;
	--color--orange: #C84A00;

	--font--montserrat: "Montserrat", sans-serif;

	--transition--time: .4s;
	--animation--time: .7s;
}
body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	min-height: 100vh;
	margin: 0px;
	padding: 0px;
	background-color: var(--color--page_bg);
	scroll-behavior: smooth;
	text-rendering: optimizeSpeed;
	color: var(--color--white);
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 500;
	font-style: normal;
	line-height: 1.8;
	letter-spacing: 0em;
}
.view_small_sp {display: none;}
.view_not_small_sp {display: block;}

header {
	width: 100%;
	height: 0;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
}
	.header__inner {
		width: 100%;
		height: 100%;
	}
		.header__logo {
			width: 180px;
			height: auto;
			position: absolute;
			top: 23px;
			left: 35px;
		}
			.header__logo__link {
				display: block;
				width: 100%;
				height: auto;
			}
				.header__logo__link svg {
					fill: var(--color--white);
				}
		.header__menu {
			width: auto;
			height: auto;
			position: absolute;
			top: 33px;
			right: 210px;
		}
			.header__menu__list {
				display: flex;
				justify-content: flex-end;
				gap: 34px;
			}
				.header__menu__list__item {
					display: flex;
					flex-direction: row;
					gap: 20px;
				}
					.header__menu__list__item__link {
						font-size: 14px;
						font-weight: 400;
						line-height: 1.5;
						letter-spacing: 0.05em;
						color: var(--color--white);
					}
				@media (any-hover: hover) {
					.header__menu__list__item__link {
						transition: var(--transition--time);
					}
					.header__menu__list__item__link:hover {
						color: var(--color--orange);
					}
				}
		.header__entry {
			width: 150px;
			height: 45px;
			position: absolute;
			top: 20px;
			right: 20px;
		}
			.header__entry__btn {
				display: flex;
				justify-content: center;
				align-items: center;
				width: 100%;
				height: 100%;
				padding: 3px 0 0;
				background-color: var(--color--red);
				font-family: var(--font--montserrat);
				font-size: 16px;
				font-weight: 500;
				line-height: 1;
				letter-spacing: 0.1em;
				color: var(--color--white);
				position: relative;
				overflow: hidden;
			}
				.header__entry__btn::after {
					content: '';
					display: block;
					width: 100%;
					height: 100%;
					background-image: url(../image/header-entry_btn_bg@pc.webp);
					background-size: 100% 100%;
					background-repeat: no-repeat;
					background-position: center;	
					position: absolute;
					top: 0;
					left: 0;
					z-index: 1;
				}
				.header__entry__btn__text {
					position: relative;
					z-index: 2;
				}
		@media (any-hover: hover) {
			.header__entry__btn::after {
				transition: var(--transition--time);
			}
			.header__entry__btn:hover::after {
				opacity: 0;
			}
		}

footer {
	width: 100%;
	height: auto;
	padding: 100px 0 30px;
	background-color: var(--color--page_bg);
	position: relative;
	z-index: 100;
}
	.footer__inner {
		width: 90%;
		max-width: 1000px;
		height: auto;
		margin: 0 auto;
	}
		.footer__contents {
			display: flex;
			justify-content: space-between;
			align-items: flex-end;
			width: 100%;
			height: auto;
			margin: 0 auto 100px;
		}
			.footer__logo {
				width: 240px;
				height: auto;
			}
				.footer__logo__link {
					display: block;
					width: 100%;
					height: auto;
				}
					.footer__logo__link svg {
						fill: var(--color--white);
					}
			.footer__btn_list {
				display: flex;
				justify-content: flex-end;
				align-items: center;
				gap: 27px;
				width: auto;
				height: auto;
			}
				.footer__btn_list__item {
					width: 200px;
					height: 48px;
				}
					.footer__btn {
						display: flex;
						justify-content: flex-start;
						align-items: center;
						width: 100%;
						height: 100%;
						padding-left: 15px;
						background-color: var(--color--dark_gray);
						border: solid 1px var(--color--gray);
						position: relative;
					}
						.footer__btn__text {
							font-size: 14px;
							font-weight: 400;
							line-height: 1.5;
							letter-spacing: 0.1em;
							color: var(--color--white);
						}
						.footer__btn__icon {
							width: 12px;
							height: auto;
							position: absolute;
							top: 18px;
							right: 17px;
						}
							.footer__btn__icon svg {
								fill: var(--color--white);
							}
				@media (any-hover: hover) {
					.footer__btn {
						transition: var(--transition--time);
					}
					.footer__btn:hover {
						background-color: var(--color--orange);
					}
				}
		.footer__copyright {
			width: 100%;
			height: auto;
			font-family: var(--font--montserrat);
			font-size: 10px;
			font-weight: 400;
			line-height: 1;
			letter-spacing: 0em;
			text-align: center;
			color: var(--color--gray);
		}

/* 共通 */
.section_heading {
	width: 100%;
	height: auto;
}
	.section_heading__en {
		width: 100%;
		height: auto;
		margin-bottom: 5px;
		font-family: var(--font--montserrat);
		font-size: 60px;
		font-weight: 700;
		line-height: 1.15;
		letter-spacing: 0em;
		overflow: hidden;
	}
	.section_heading__ja {
		width: 100%;
		height: auto;
		font-size: 12px;
		font-weight: 700;
		line-height: 1.5;
		letter-spacing: 0.05em;
		overflow: hidden;
	}
		.section_heading__en__word,
		.section_heading__ja__word {
			display: inline-block;
			transform: translateY(100%);
			opacity: 0;
			transition: var(--animation--time);
			will-change: transform;
		}
		._run .section_heading__ja__word {
			transition-delay: .16s;
		}
		._run .section_heading__en__word,
		._run .section_heading__ja__word {
			opacity: 1;
			transform: translateY(0%);
		}
.cmn_btn {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: 100%;
	height: 100%;
	padding-top: 1px;
	padding-left: 14px;
	border: solid 1px var(--color--gray);
	position: relative;
}
	.cmn_btn_text {
		font-size: 14px;
		font-weight: 400;
		line-height: 1.5;
		letter-spacing: 0.1em;
		color: var(--color--white);
	}
	.cmn_btn_arrow {
		width: 16px;
		height: auto;
		position: absolute;
		top: 16px;
		right: 14px;
	}
@media (any-hover: hover) {
.cmn_btn {
	transition: var(--transition--time);
}
.cmn_btn:hover {
	background-color: var(--color--orange);
}
	.cmn_btn_arrow {
		transform: translateX(0px);
		transition: var(--transition--time);
	}
	.cmn_btn:hover .cmn_btn_arrow {
		transform: translateX(3px);
	}
}



/* PC ================================================== */
@media all and (min-width: 769px){
.tablet,.sp {display: none;}
.pc {display: inline-block;}
.view_sp {display: none;}
.view_tablet {display: none;}
.view_pc {display: block;}
body {}
h1{}
h2{}
h3{}
h4{}
h5{}
h6{}
}

/* Tablet ================================================== */
@media all and (max-width: 768px){
.pc,.sp {display: none;}
.tablet {display: inline-block;}
.view_pc {display: none;}
.view_sp {display: none;}
.view_tablet {display: block;}
body {}
h1{}
h2{}
h3{}
h4{}
h5{}
h6{}

/* header */
		.header__logo {
			width: 140px;
			top: 16px;
			left: 16px;
		}
		.header__menu {
			display: none;
		}
		.header__entry {
			width: 130px;
			height: 36px;
			top: 16px;
			right: 16px;
		}
			.header__entry__btn {
				padding: 2px 0 0;
				font-size: 12px;
			}
				.header__entry__btn::after {
					background-image: url(../image/header-entry_btn_bg@sp.webp);
				}


footer {
	padding: 40px 0 8px;
}
	.footer__inner {
		width: calc((260 / 375) * 100%);
	}
		.footer__contents {
			flex-direction: column;
			justify-content: flex-start;
			align-items: center;
			margin: 0 auto 50px;
		}
			.footer__logo {
				width: 193px;
				margin-bottom: 50px;
			}
			.footer__btn_list {
				flex-direction: column;
				justify-content: flex-start;
				gap: 10px;
				width: 100%;
			}
		.footer__copyright {
			width: calc((242 / 375) * 100%);
			margin: 0 auto;
		}

/* 共通 */
	.section_heading__en {
		margin-bottom: 10px;
		font-size: 34px;
		line-height: 1.15;
	}
	.section_heading__ja {
		font-weight: 900;
	}
		.section_heading__en__row {
			display: block;
			overflow: hidden;
		}

.cmn_btn {
	background-color: var(--color--dark_gray);
}
}

/* SP ================================================== */
@media all and (max-width: 461px) {
	.view_not_small_sp {display: none;}
	.view_small_sp {display: block;}
}

@media all and (max-width: 575px){
.pc,.tablet {display: none;}
.sp {display: inline-block;}
.view_pc {display: none;}
.view_tablet {display: none;}
.view_sp {display: block;}
body {}
h1{}
h2{}
h3{}
h4{}
h5{}
h6{}
}