@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;
}
body.scroll-stop {
	overflow: hidden;
}

.view_small_sp {display: none;}
.view_not_small_sp {display: block;}

header {
	width: 100%;
	height: 0;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 101;
}
	.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__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;
			}
		}
		.humburger {
			display: none;
		}
		.global_nav {
			width: auto;
			height: auto;
			position: absolute;
			top: 20px;
			right: 182px;
		}
			.global_nav__contents {
				width: auto;
				height: auto;
			}
				.global_nav__contents__inner {
					display: flex;
					justify-content: flex-end;
					align-items: center;
					gap: 44px;
				}
					.global_nav__menu__list {
						display: flex;
						justify-content: flex-end;
						gap: 34px;
						padding: 1px 0 0;
					}
						.global_nav__menu__list__item {
							display: flex;
							flex-direction: row;
							gap: 20px;
						}
							.global_nav__menu__list__item__link {
								display: flex;
								justify-content: center;
								align-items: center;
								gap: 6px;
								font-size: 14px;
								font-weight: 400;
								line-height: 1.5;
								letter-spacing: 0.05em;
								color: var(--color--white);
							}
								.global_nav__menu__list__item__link__icon {
									width: 12px;
									height: auto;
									position: relative;
									top: 1px;
								}
									.global_nav__menu__list__item__link__icon svg {
										fill: var(--color--white);
									}
						@media (any-hover: hover) {
							.global_nav__menu__list__item__link {
								transition: var(--transition--time);
							}
							.global_nav__menu__list__item__link:hover {
								color: var(--color--orange);
							}
									.global_nav__menu__list__item__link__icon svg {
										transition: var(--transition--time);
									}
									.global_nav__menu__list__item__link:hover .global_nav__menu__list__item__link__icon svg {
										fill: var(--color--orange);
									}
						}
					.global_nav__corporate__btn_wrap {
						width: 170px;
						height: 45px;
					}
						.global_nav__corporate__btn {
							display: flex;
							justify-content: flex-start;
							align-items: center;
							width: 100%;
							height: 100%;
							padding: 0 0 0 13px;
							border: solid 1px var(--color--gray);
						}
							.global_nav__corporate__btn__logo {
								width: auto;
								height: 22px;
								margin-right: 6px;
							}
								.global_nav__corporate__btn__logo svg {
									width: auto;
									height: 100%;
									fill: var(--color--white);
								}
							.global_nav__corporate__btn__txt {
								font-size: 12px;
								font-weight: 500;
								line-height: 1;
								letter-spacing: 0em;
								color: var(--color--white);
							}
							.global_nav__corporate__btn__icon {
								display: none;
							}
					@media (any-hover: hover) {
						.global_nav__corporate__btn {
							transition: var(--transition--time);
						}
						.global_nav__corporate__btn:hover {
							border: solid 1px var(--color--white);
							background-color: var(--color--white);
						}
								.global_nav__corporate__btn__logo svg {
									transition: var(--transition--time);
								}
								.global_nav__corporate__btn:hover .global_nav__corporate__btn__logo svg {
									fill: var(--color--black);
								}
							.global_nav__corporate__btn__txt {
								transition: var(--transition--time);
							}
							.global_nav__corporate__btn:hover .global_nav__corporate__btn__txt {
								color: var(--color--black);
							}
					}
					.global_nav__entry {
						display: none;
					}

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 (max-width: 1024px){
#footer {
	padding: 60px 0 30px;
}
		.footer__contents {
			flex-direction: column;
			justify-content: flex-start;
			align-items: center;
			gap: 30px;
			margin: 0 auto 80px;
		}
			.footer__btn_list {
				gap: 18px;
			}
				.footer__btn_list__item {
					width: 180px;
				}
					.footer__btn {
						padding-left: 10px;
					}
						._to_cp .footer__btn__text {
							letter-spacing: 0em;
						}
						.footer__btn__icon {
							right: 10px;
						}
}

@media all and (max-width: 800px){
		.global_nav {
			right: 162px;
		}
		.header__entry {
			width: 130px;
		}
				.global_nav__contents__inner {
					gap: 30px;
				}
					.global_nav__menu__list {
						gap: 28px;
					}
}

@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;
			z-index: 101;
		}
		.header__entry {
			width: 110px;
			height: 36px;
			top: 16px;
			/* right: 16px; */
			right: 62px;
		}
			.header__entry__btn {
				padding: 2px 0 0;
				font-size: 12px;
			}
				.header__entry__btn::after {
					background-image: url(../image/header-entry_btn_bg@sp.webp);
				}
		.hamburger {
			display: block;
			width: 42px;
			height: 42px;
			position: absolute;
			top: 13px;
			right: 10px;
			z-index: 101;
		}
			.hbg_btn {
				display: flex;
				justify-content: center;
				align-items: center;
				width: 100%;
				height: 100%;
				cursor: pointer;
			}
				.hbg_btn__line {
					width: 22px;
					height: 1px;
					background-color: var(--color--white);
					position: relative;
				}
					.hbg_btn__line::before,
					.hbg_btn__line::after {
						content: '';
						display: block;
						width: 100%;
						height: 100%;
						background-color: var(--color--white);
						position: absolute;
						left: 0;
					}
						.hbg_btn__line::before {
							top: -8px;
						}
						.hbg_btn__line::after {
							bottom: -8px;
						}
				/* 開く時の処理 */
				.open .hbg_btn__line {
					animation: hbg_btn-line-open .4s cubic-bezier(0.65, 0, 0.35, 1) 1 forwards;
				}
					@keyframes hbg_btn-line-open {
						0% {
							background-color: rgba(255, 255, 255, 1);
						}
						60% {
							background-color: rgba(255, 255, 255, 1);
						}
						61% {
							background-color: rgba(255, 255, 255, 0);
						}
						100% {
							background-color: rgba(255, 255, 255, 0);
						}
					}
					.open .hbg_btn__line::before {
						animation: hbg_btn-line_before-open .5s cubic-bezier(0.65, 0, 0.35, 1) 1 forwards;
					}
					.open .hbg_btn__line::after {
						animation: hbg_btn-line_after-open .5s cubic-bezier(0.65, 0, 0.35, 1) 1 forwards;
					}
						@keyframes hbg_btn-line_before-open {
							0% {
								top: -8px;
								transform: translate(0%,0%);
							}
							60% {
								top: 0px;
								transform: translate(0%,0%) rotate(0deg);
							}
							61% {
								top: 0px;
							}
							100% {
								top: 0px;
								transform: translate(0%,0%) rotate(45deg);
							}
						}
						@keyframes hbg_btn-line_after-open {
							0% {
								bottom: -8px;
								transform: translate(0%,0%);
							}
							60% {
								bottom: 0px;
								transform: translate(0%,0%) rotate(0deg);
							}
							61% {
								bottom: 0px;
							}
							100% {
								bottom: 0px;
								transform: translate(0%,0%) rotate(-45deg);
							}
						}
				/* 閉じる時の処理 */
				.close .hbg_btn__line {
					animation: hbg_btn-line-close .4s cubic-bezier(0.65, 0, 0.35, 1) 1 forwards;
				}
					@keyframes hbg_btn-line-close {
						0% {
							background-color: rgba(255, 255, 255, 0);
						}
						60% {
							background-color: rgba(255, 255, 255, 0);
						}
						61% {
							background-color: rgba(255, 255, 255, 1);
						}
						100% {
							background-color: rgba(255, 255, 255, 1);
						}
					}
					.close .hbg_btn__line::before {
						animation: hbg_btn-line_before-close .5s cubic-bezier(0.65, 0, 0.35, 1) 1 forwards;
					}
					.close .hbg_btn__line::after {
						animation: hbg_btn-line_after-close .5s cubic-bezier(0.65, 0, 0.35, 1) 1 forwards;
					}
						@keyframes hbg_btn-line_before-close {
							0% {
								top: 0px;
								transform: translate(0%,0%) rotate(45deg);
							}
							60% {
								top: 0px;
							}
							61% {
								top: 0px;
								transform: translate(0%,0%) rotate(0deg);
							}
							100% {
								top: -8px;
								transform: translate(0%,0%);
							}
						}
						@keyframes hbg_btn-line_after-close {
							0% {
								bottom: 0px;
								transform: translate(0%,0%) rotate(-45deg);
							}
							60% {
								bottom: 0px;
							}
							61% {
								bottom: 0px;
								transform: translate(0%,0%) rotate(0deg);
							}
							100% {
								bottom: -8px;
								transform: translate(0%,0%);
							}
						}
		.global_nav {
			display: none;
			width: 100%;
			height: 100vh;
			position: fixed;
			top: 0;
			right: 0;
			z-index: 100;
		}
			.global_nav__contents {
				width: 100%;
				height: 100%;
				background-color: var(--color--page_bg);
			}
				.global_nav__contents__inner {
					flex-direction: column;
					justify-content: center;
					gap: 30px;
					width: calc((280 / 375) * 100%);
					height: 100dvh;
					margin: 0 auto;
				}
					.global_nav__menu__list {
						flex-direction: column;
						justify-content: center;
						align-items: center;
						gap: 30px;
						padding: 0;
						width: 100%;
						height: auto;
					}
						.global_nav__menu__list__item {
							display: block;
							width: 100%;
							height: 50px;
						}
							.global_nav__menu__list__item__link {
								justify-content: space-between;
								width: 100%;
								height: 100%;
								padding: 0 18px 0 14px;
								border: solid 1px var(--color--gray);
								letter-spacing: 0.1em;
							}
					.global_nav__corporate__btn_wrap {
						width: 100%;
						height: 50px;
					}
						.global_nav__corporate__btn {
							padding: 0 18px 0 14px;
							border: solid 1px var(--color--gray);
						}
							.global_nav__corporate__btn__logo {
								height: 24px;
								margin-right: 11px;
							}
							.global_nav__corporate__btn__txt {
								font-size: 14px;
								font-weight: 400;
								line-height: 1.5;
								letter-spacing: 0.1em;
							}
							.global_nav__corporate__btn__icon {
								display: block;
								width: 12px;
								height: auto;
								margin: 0 0 0 auto;
								position: relative;
								top: 1px;
							}
								.global_nav__corporate__btn__icon svg {
									fill: var(--color--white);
								}
					.global_nav__entry {
						display: block;
						width: 100%;
						height: auto;
					}
						.global_nav__entry__btn_wrap {
							width: 100%;
							height: 50px;
						}
							.global_nav__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: 14px;
								font-weight: 500;
								line-height: 1;
								letter-spacing: 0.1em;
								color: var(--color--white);
								position: relative;
								overflow: hidden;
							}
								.global_nav__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;
								}
								.global_nav__entry__btn__text {
									position: relative;
									z-index: 2;
								}

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{}
}