@charset "utf-8";
::selection {
	background-color: rgba(244, 34, 34, 1);
	color: var(--color--white);
}
:root {
/* 共通設定 */
	--color--black: #282828;
	--color--white: #ffffff;
	--color--light_gray: #F2F2F2;
	--color--gray: #A8AAAC;
	--color--mid_gray : #E4E2E3;
	--color--red: #F42222;
	--color--purple: #5411D3;
	--transition--text: color .4s ease;
	--transition--bg: background-color .4s ease;
	--transition--border: border .4s ease;
	--transition--clip_path: clip-path .4s ease;
	--transition--transform: transform .4s ease;
	--transition--opacity: opacity .4s ease;
	--transition--fill: fill .2s ease;
}
@media all and (min-width: 769px){
:root {
	--vw: 1440;
}
}
@media all and (max-width: 768px){
:root {
	--vw: 375;
}
}

html {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
body {
	min-height: 100vh;
	margin: 0px;
	padding: 0px;
	background-color: var(--color--white);
	scroll-behavior: smooth;
	text-rendering: optimizeSpeed;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 400;
	font-style: normal;
	line-height: 1.8;
	letter-spacing: 0em;
	color: var(--color--black);
/*	font-feature-settings: "palt";*/
}
body.scroll-stop {
	overflow: hidden;
}
._f_satoshi {
	font-family: 'Satoshi', sans-serif;
}
._noise_red {
	background-image: url(../image/noise_red.webp);
	background-size: 100px 100px;
	background-repeat: repeat;
	background-position: center;
}
._noise_white {
	background-image: url(../image/noise_white.webp);
	background-size: 100px 100px;
	background-repeat: repeat;
	background-position: center;
}
._noise_red_white {
	background-image: url(../image/noise_red_white.webp);
	background-size: 100px 100px;
	background-repeat: repeat;
	background-position: center;
}
._noise_gray {
	background-image: url(../image/noise_gray.webp);
	background-size: 100px 100px;
	background-repeat: repeat;
	background-position: center;
}
._noise_dark_gray {
	background-image: url(../image/noise_dark_gray.webp);
	background-size: 100px 100px;
	background-repeat: repeat;
	background-position: center;
}
._noise_black_gray {
	background-image: url(../image/noise_black_gray.webp);
	background-size: 100px 100px;
	background-repeat: repeat;
	background-position: center;
}
._noise_black {
	background-image: url(../image/noise_black.webp);
	background-size: 100px 100px;
	background-repeat: repeat;
	background-position: center;
}

#header {
	width: 100%;
	height: 0px;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10000;
}
	.header__inner {
		width: 100%;
		height: 0px;
		position: relative;
	}
		.header__logo {
			width: 38px;
			height: auto;
			position: absolute;
			top: 33px;
			left: 38px;
		}
			.header__logo__link {
				display: block;
				width: 100%;
				height: auto;
			}
				.header__logo__link svg {
					fill: var(--color--red);
				}
		.global_nav {
			width: fit-content;
			height: auto;
			position: absolute;
			top: 20px;
			right: 20px;
		}
			.global_nav__bg {
				width: 100%;
				height: 100%;
				position: absolute;
				top: 0;
				left: 0;
				z-index: 1;
			}
			.global_nav__contents {
				width: fit-content;
				height: auto;
				position: relative;
				z-index: 2;
			}
				.global_nav__menu {
					display: flex;
					justify-content: flex-end;
					align-items: center;
					gap: 30px;
					width: fit-content;
					height: 60px;
					padding: 0 12px 0 19px;
				}
					.global_nav__menu__list {
						display: flex;
						justify-content: flex-end;
						align-items: center;
						gap: 28px;
						width: fit-content;
						height: auto;
						padding-top: 1px;
					}
						.global_nav__menu__list__item {
							width: fit-content;
							height: auto;
							font-size: 14px;
							font-weight: 700;
							line-height: 1.5;
							letter-spacing: 0.05em;
							position: relative;
							z-index: 2;
						}
							.global_nav__menu__list__item__text,
							.global_nav__menu__list__item__link {
								display: block;
								color: var(--color--black);
								cursor: pointer;
							}
						@media (any-hover: hover) {
							.global_nav__menu__list__item__text,
							.global_nav__menu__list__item__link {
								transition: var(--transition--text);
							}
							.global_nav__menu__list__item__text:hover,
							.global_nav__menu__list__item__link:hover {
								color: var(--color--red);
							}
						}
							.global_nav__menu__list__item__child_menu {
								width: calc(100% + 38px);
								height: auto;
								padding: 0 0 19px;
								border-radius: 5px;
							}
								.global_nav__menu__list__item__child_menu__list {
									display: flex;
									flex-direction: column;
									gap: 8px;
									width: fit-content;
									height: auto;
									padding: 50px 0 0 22px;
								}
									.global_nav__menu__list__item__child_menu__list__item {
										width: fit-content;
										height: auto;
										font-size: 14px;
										font-weight: 500;
										line-height: 1.5;
										letter-spacing: 0.05em;
									}
										.global_nav__menu__list__item__child_menu__list__item__link {
											display: block;
											padding-left: 24px;
											color: var(--color--black);
											position: relative;
										}
											.global_nav__menu__list__item__child_menu__list__item__link::before {
												content: "";
												display: block;
												width: 10px;
												height: 10px;
												background-color: var(--color--black);
												mask-image: url(../image/arrow@pc.svg);
												mask-size: contain;
												mask-position: center;
												mask-repeat: no-repeat;
												position: absolute;
												top: 6px;
												left: 0;
											}
									@media (any-hover: hover) {
										.global_nav__menu__list__item__child_menu__list__item__link {
											transition: var(--transition--text);
										}
										.global_nav__menu__list__item__child_menu__list__item__link:hover {
											color: var(--color--red);
										}
											.global_nav__menu__list__item__child_menu__list__item__link::before {
												transition: var(--transition--bg);
											}
											.global_nav__menu__list__item__child_menu__list__item__link:hover::before {
												background-color: var(--color--red);
											}
									}
		.header__entry {
			width: 110px;
			height: auto;
			border-radius: 2px;
			background-color: var(--color--red);
			position: relative;
		}
			.header__entry__btn {
				display: block;
				width: 100%;
				height: auto;
				cursor: pointer;
				transition: .4s ease;
			}
				.header__entry__btn__text {
					display: flex;
					justify-content: center;
					align-items: center;
					width: 100%;
					height: 40px;
					border-radius: 2px;	
					font-size: 14px;
					font-weight: 700;
					line-height: 1.5;
					letter-spacing: 0.05em;
					color: var(--color--white);
				}
			.header__entry__child_menu {
				width: 100%;
				height: auto;
				padding: 0 0 20px;
				position: absolute;
				top: calc(100% - 2px);
				left: 0;
				z-index: 1;
				clip-path: polygon(0% 0%, 100% 0%, 100% 0%, 0% 0%);
				transition: var(--transition--clip_path);
			}
			._open .header__entry__child_menu {
				clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
			}
				.header__entry__child_menu__list {
					display: flex;
					flex-direction: column;
					gap: 11px;
					width: 100%;
					height: auto;
					padding: 8px 0 0 8px;
				}
					.header__entry__child_menu__list__item {
						width: 100%;
						height: auto;
						font-size: 12px;
						font-weight: 500;
						line-height: 1.5;
						letter-spacing: 0.05em;
					}
					.header__entry__child_menu__list__item._part {
						font-size: 10px;
						letter-spacing: 0em;
					}
						.header__entry__child_menu__list__item__link {
							display: block;
							padding-left: 17px;
							color: var(--color--white);
							position: relative;
						}
							.header__entry__child_menu__list__item__link::before {
								content: "";
								display: block;
								width: 10px;
								height: 10px;
								background-color: var(--color--white);
								mask-image: url(../image/arrow@pc.svg);
								mask-size: contain;
								mask-position: center;
								mask-repeat: no-repeat;
								position: absolute;
								top: 5px;
								left: 0;
							}
					@media (any-hover: hover) {
						.header__entry__child_menu__list__item__link {
							transition: var(--transition--text);
						}
						.header__entry__child_menu__list__item__link:hover {
							color: var(--color--light_gray);
						}
							.header__entry__child_menu__list__item__link::before {
								transition: var(--transition--bg);
							}
							.header__entry__child_menu__list__item__link:hover::before {
								background-color: var(--color--light_gray);
							}
					}

#footer {
	width: 100%;
	height: auto;
}
	.footer__inner {
		width: 100%;
		height: auto;
	}
		.footer__top {
			width: 100%;
			height: calc((700 / var(--vw)) * 100vw);
			position: relative;
			z-index: 1;
			overflow: hidden;
			will-change: transform;
		}
			.footer__top__inner {
				width: 100%;
				height: 100%;
				position: relative;
				transform: scale(1.03);
			}
				.footer__top__mask {
					width: 100%;
					height: 100%;
					background-color: var(--color--black);
					opacity: 0;
					position: absolute;
					top: 0;
					left: 0;
					z-index: 2;
				}
				.footer__top__image {
					width: 100%;
					height: auto;
					position: absolute;
					top: 50%;
					left: 0;
					transform: translate(0%,-50%);
					z-index: 1;
				}
				.footer__top__wakuwaku {
					width: calc((374 / var(--vw)) * 100%);
					height: auto;
					position: absolute;
					z-index: 2;
				}
				.footer__top__wakuwaku._01 {
					top: calc((78 / var(--vw)) * 100%);
					left: calc((33 / var(--vw)) * 100%);
				}
				.footer__top__wakuwaku._02 {
					bottom: calc((50 / var(--vw)) * 100%);
					right: calc((43 / var(--vw)) * 100%);
				}
		.footer__contents {
			width: 100%;
			height: auto;
			margin: calc((-30 / var(--vw)) * 100vw) 0 0;
			padding: calc((100 / var(--vw)) * 100vw) 0 calc((92 / var(--vw)) * 100vw);
			border-radius: calc((30 / var(--vw)) * 100vw);
			background-color: var(--color--black);
			position: relative;
			z-index: 2;
		}
			.footer__contents__inner {
				width: calc((1200 / var(--vw)) * 100%);
				height: auto;
				margin: 0 auto;
			}
				.footer__join {
					width: 100%;
					height: auto;
					margin: 0 auto calc((155 / var(--vw)) * 100vw);
				}
					.footer_heading {
						margin-bottom: calc((36 / var(--vw)) * 100vw);
					}
						.footer_heading .section_heading__sub_text {
							margin-bottom: calc((7 / var(--vw)) * 100vw);
						}
						.footer_heading .section_heading__main_text {
							color: var(--color--white);
						}
					.footer__join_list {
						display: grid;
						grid-template-columns: repeat(3, 1fr);
						gap: calc((10 / var(--vw)) * 100vw);
					}
						.footer__join_list__item {
							width: 100%;
							height: auto;
						}
							.footer__join_list__item__link {
								display: flex;
								justify-content: space-between;
								align-items: stretch;
								border-radius: calc((5 / var(--vw)) * 100vw);
								aspect-ratio: 393 / 270;
								background-color: var(--color--red);
								overflow: hidden;	
							}
							.footer__join_list__item__contents {
								display: flex;
								flex-direction: column;
								justify-content: space-between;
								width: 50%;
								height: auto;
								padding: calc((25 / var(--vw)) * 100vw) calc((20 / var(--vw)) * 100vw) calc((20 / var(--vw)) * 100vw) calc((20 / var(--vw)) * 100vw);
							}
								.footer__join_list__item__heading {
									width: 100%;
									height: auto;
									padding-left: calc((2 / var(--vw)) * 100vw);
								}
									.footer__join_list__item__heading__main_text {
										margin-bottom: calc((1 / var(--vw)) * 100vw);
										font-size: calc((20 / var(--vw)) * 100vw);
										font-weight: 700;
										line-height: 1.4;
										letter-spacing: 0.03em;
										color: var(--color--white);
									}
									.footer__join_list__item__heading__sub_text {
										font-size: calc((12 / var(--vw)) * 100vw);
										font-weight: 500;
										line-height: 2;
										letter-spacing: 0.03em;
										color: var(--color--white);
									}
								.footer__join_list__item__btn_wrap {
									width: 100%;
									height: auto;
								}
									.footer__join_list__item__btn {
										display: flex;
										justify-content: center;
										align-items: center;
										width: 100%;
										height: calc((40 / var(--vw)) * 100vw);
										padding-bottom: calc((1 / var(--vw)) * 100vw);
										border-radius: calc((2 / var(--vw)) * 100vw);
										background-color: var(--color--black);
										position: relative;
									}
										.footer__join_list__item__btn__text {
											font-size: calc((14 / var(--vw)) * 100vw);
											font-weight: 700;
											line-height: 1.5;
											letter-spacing: 0.05em;
											color: var(--color--white);
										}
										.footer__join_list__item__btn__arrow {
											width: calc((19 / var(--vw)) * 100vw);
											height: calc((10 / var(--vw)) * 100vw);
											background-color: var(--color--white);
											mask-image: url(../image/btn_arrow_join.svg);
											mask-size: contain;
											mask-position: center;
											mask-repeat: no-repeat;
											position: absolute;
											top: 50%;
											right: calc((13 / var(--vw)) * 100vw);
											transform: translate(0%,-50%);
										}
							.footer__join_list__item__image {
								width: 50%;
								height: auto;
								overflow: hidden;
								background-color: var(--color--white);
							}
								.footer__join_list__item__image img {
									width: 100%;
									height: 100%;
									object-fit: cover;
									object-position: center;
									will-change: transform;
								}
							@media (any-hover: hover) {
									.footer__join_list__item__btn {
										transition: var(--transition--bg);
									}
									.footer__join_list__item__link:hover .footer__join_list__item__btn{
										background-color: var(--color--white);
									}
										.footer__join_list__item__btn__text {
											transition: var(--transition--text);
										}
										.footer__join_list__item__link:hover .footer__join_list__item__btn__text {
											color: var(--color--red);
										}
										.footer__join_list__item__btn__arrow {
											transition: var(--transition--bg), var(--transition--transform);
										}
										.footer__join_list__item__link:hover  .footer__join_list__item__btn__arrow {
											background-color: var(--color--red);
											transform: translate(calc((3 / var(--vw)) * 100vw),-50%);
										}
								.footer__join_list__item__image img {
									transition: var(--transition--transform), var(--transition--opacity);
									transform: scale(1);
									opacity: 1;
								}
								.footer__join_list__item__link:hover .footer__join_list__item__image img {
									transform: scale(1.03);
									opacity: 0.8;
								}
							}
				.footer__menu {
					width: 100%;
					height: auto;
					position: relative;
				}
					.footer__logo {
						width: calc((177 / var(--vw)) * 100vw);
						height: auto;
					}
						.footer__logo__link {
							display: block;
							width: 100%;
							height: auto;
						}
							.footer__logo__link svg {
								fill: var(--color--red);
							}
					.footer__menu_list_wrap {
						display: flex;
						justify-content: flex-end;
						align-items: flex-start;
						gap: calc((30 / var(--vw)) * 100vw);
						width: fit-content;
						height: auto;
						position: absolute;
						top: calc((12 / var(--vw)) * 100vw);
						right: 0;
					}
						.footer__menu_list {
							width: fit-content;
							height: auto;
						}
						.footer__menu_list._3columns {
							display: grid;
							grid-template-columns: repeat(3, max-content);
							gap: calc((5 / var(--vw)) * 100vw) calc((30 / var(--vw)) * 100vw);
						}
							.footer__menu_list__item {
								width: fit-content;
								height: auto;
								font-size: calc((16 / var(--vw)) * 100vw);
								font-weight: 700;
								line-height: 1.8;
								letter-spacing: 0em;
							}
								.footer__menu_list__item__text,
								.footer__menu_list__item__link {
									display: block;
									width: fit-content;
									height: auto;
									padding-left: calc((17 / var(--vw)) * 100vw);
									color: var(--color--white);
									cursor: pointer;
									position: relative;
								}
									.footer__menu_list__item__text::before,
									.footer__menu_list__item__link::before {
										content: "";
										display: block;
										width: calc((10 / var(--vw)) * 100vw);
										height: calc((10 / var(--vw)) * 100vw);
										background-color: var(--color--white);
										mask-image: url(../image/arrow@pc.svg);
										mask-size: contain;
										mask-position: center;
										mask-repeat: no-repeat;
										position: absolute;
										top: calc((10 / var(--vw)) * 100vw);
										left: 0;
									}
								.footer__menu_list__item__child_menu {
									width: fit-content;
									height: auto;
									padding: calc((9 / var(--vw)) * 100vw) 0 0;
								}
									.footer__menu_list__item__child_menu__list {
										display: flex;
										flex-direction: column;
										gap: calc((5 / var(--vw)) * 100vw);
										width: fit-content;
										height: auto;
									}
										.footer__menu_list__item__child_menu__list__item {
											width: fit-content;
											height: auto;
											font-size: calc((12 / var(--vw)) * 100vw);
											font-weight: 500;
											line-height: 1.8;
											letter-spacing: 0em;
										}
											.footer__menu_list__item__child_menu__list__item__link {
												display: block;
												width: fit-content;
												height: auto;
												padding-left: calc((20 / var(--vw)) * 100vw);
												color: var(--color--white);
												position: relative;
											}
												.footer__menu_list__item__child_menu__list__item__link::before {
													content: "";
													display: block;
													width: calc((10 / var(--vw)) * 100vw);
													height: calc((10 / var(--vw)) * 100vw);
													background-color: var(--color--gray);
													mask-image: url(../image/arrow@sp.svg);
													mask-size: contain;
													mask-position: center;
													mask-repeat: no-repeat;
													position: absolute;
													top: calc((7 / var(--vw)) * 100vw);
													left: calc((1 / var(--vw)) * 100vw);
												}
					.footer__cp_btn_wrap {
						width: calc((180 / var(--vw)) * 100vw);
						height: auto;
						margin: calc((36 / var(--vw)) * 100vw) auto 0 0;
					}
						.footer__cp_btn {
							display: flex;
							justify-content: center;
							align-items: center;
							width: 100%;
							height: calc((40 / var(--vw)) * 100vw);
							padding-left: calc((1 / var(--vw)) * 100vw);
							border-radius: calc((3 / var(--vw)) * 100vw);
							background-color: var(--color--purple);
						}
							.footer__cp_btn__text {
								font-size: calc((14 / var(--vw)) * 100vw);
								font-weight: 700;
								line-height: 1.8;
								letter-spacing: 0em;
								color: var(--color--white);
							}
							.footer__cp_btn__icon {
								width: calc((12 / var(--vw)) * 100vw);
								height: calc((12 / var(--vw)) * 100vw);
								margin-left: calc((12 / var(--vw)) * 100vw);
								background-color: var(--color--white);
								mask-image: url(../image/icon-external_link@pc.svg);
								mask-size: contain;
								mask-position: center;
								mask-repeat: no-repeat;
								position: relative;
								top: calc((1 / var(--vw)) * 100vw);
							}
		.footer__bottom {
			width: 100%;
			height: auto;
			margin: calc((-56 / var(--vw)) * 100vw) 0 0;
			position: relative;
			z-index: 1;
			overflow: hidden;
			transform: translateY(-100%);
			filter: grayscale(1);
			will-change: transform;
		}
			.footer__bottom__inner {
				width: 100%;
				height: auto;
				position: relative;
				will-change: transform;
			}
				.footer__bottom__image {
					width: 100%;
					height: auto;
				}
				.footer__bottom__copy {
					width: calc((371.56 / var(--vw)) * 100vw);
					height: auto;
					position: absolute;
					top: calc((52.41 / var(--vw)) * 100vw);
					left: calc((5.06 / var(--vw)) * 100vw);
					z-index: 2;
				}
					.footer__bottom__copy svg {
						fill: var(--color--white);
					}
				.footer__copyright {
					width: 100%;
					height: auto;
					font-size: calc((10 / var(--vw)) * 100vw);
					font-weight: 900;
					line-height: 1.8;
					letter-spacing: 0em;
					text-align: center;
					color: var(--color--white);
					position: absolute;
					bottom: calc((40 / var(--vw)) * 100vw);
					left: 0;
					z-index: 2;
				}

/* 共通 */
.section_heading {
	width: 100%;
	height: auto;
}
	.section_heading__sub_text {
		width: 100%;
		height: auto;
		margin: 0 auto calc((20 / var(--vw)) * 100vw);
		font-family: 'Satoshi', sans-serif;
		font-size: calc((12 / var(--vw)) * 100vw);
		font-weight: 700;
		line-height: 2;
		letter-spacing: 0.03em;
		color: var(--color--red);
		text-transform: uppercase;
		overflow: hidden;
	}
	._center .section_heading__sub_text {
		text-align: center;
	}
		.section_heading__sub_text i {
			display: inline-block;
			transition: transform .8s cubic-bezier(.19, 1, .22, 1);
			transform: translateY(100%);
		}
		.section_heading__sub_text i:nth-of-type(2) {
			transition-delay: .03s;
		}
		.section_heading__sub_text i:nth-of-type(3) {
			transition-delay: .06s;
		}
		.section_heading__sub_text i:nth-of-type(4) {
			transition-delay: .09s;
		}
		.section_heading__sub_text i:nth-of-type(5) {
			transition-delay: .12s;
		}
		.section_heading__sub_text i:nth-of-type(6) {
			transition-delay: .15s;
		}
		.section_heading__sub_text i:nth-of-type(7) {
			transition-delay: .18s;
		}
		.section_heading__sub_text i:nth-of-type(8) {
			transition-delay: .21s;
		}
		.section_heading__sub_text i:nth-of-type(9) {
			transition-delay: .24s;
		}
		.section_heading__sub_text i:nth-of-type(10) {
			transition-delay: .27s;
		}
		.section_heading__sub_text i:nth-of-type(11) {
			transition-delay: .3s;
		}
		.section_heading__sub_text i:nth-of-type(12) {
			transition-delay: .33s;
		}
		.section_heading__sub_text i:nth-of-type(13) {
			transition-delay: .36s;
		}
		.section_heading__sub_text i:nth-of-type(14) {
			transition-delay: .39s;
		}
		.section_heading__sub_text i:nth-of-type(15) {
			transition-delay: .42s;
		}
		.section_heading__sub_text i:nth-of-type(16) {
			transition-delay: .45s;
		}
		.section_heading__sub_text i:nth-of-type(17) {
			transition-delay: .48s;
		}
		.section_heading__sub_text i:nth-of-type(18) {
			transition-delay: .51s;
		}
		.section_heading__sub_text i:nth-of-type(19) {
			transition-delay: .54s;
		}
		.section_heading__sub_text i:nth-of-type(20) {
			transition-delay: .57s;
		}
		.section_heading__sub_text i:nth-of-type(21) {
			transition-delay: .6s;
		}
		.section_heading__sub_text i:nth-of-type(22) {
			transition-delay: .63s;
		}
		.section_heading__sub_text i:nth-of-type(23) {
			transition-delay: .66s;
		}
		.section_heading__sub_text i:nth-of-type(24) {
			transition-delay: .69s;
		}
		.section_heading__sub_text i:nth-of-type(25) {
			transition-delay: .72s;
		}
		.section_heading__sub_text i:nth-of-type(26) {
			transition-delay: .75s;
		}
		.section_heading__sub_text i:nth-of-type(27) {
			transition-delay: .78s;
		}
		.section_heading__sub_text i:nth-of-type(28) {
			transition-delay: .81s;
		}
		.section_heading__sub_text i:nth-of-type(29) {
			transition-delay: .84s;
		}
		.section_heading__sub_text i:nth-of-type(30) {
			transition-delay: .87s;
		}
		._inview.section_heading__sub_text i {
			transform: translateY(0);
		}
	.section_heading__main_text {
		width: 100%;
		height: auto;
		font-weight: 700;
		line-height: 1.4;
		letter-spacing: 0em;
		color: var(--color--black);
		position: relative;
		left: calc((-2 / var(--vw)) * 100vw);
	}
	._center .section_heading__main_text {
		text-align: center;
	}
	.section_heading__main_text._mid {
		font-size: calc((34 / var(--vw)) * 100vw);
	}
	.section_heading__main_text._large {
		font-size: calc((40 / var(--vw)) * 100vw);
	}
		.section_heading__main_text__row {
			display: block;
			overflow: hidden;
		}
			.section_heading__main_text__row__item {
				display: block;
				transition: transform 1.2s cubic-bezier(.19,1,.22,1);
				transform: translateY(100%);
			}
			.section_heading__main_text__row:nth-of-type(2) .section_heading__main_text__row__item {
				transition-delay: .1s;
			}
			.section_heading__main_text__row:nth-of-type(3) .section_heading__main_text__row__item {
				transition-delay: .2s;
			}
			._inview .section_heading__main_text__row__item {
				transform: translateY(0%);
			}
		.section_heading__main_text ._red_text {
			color: var(--color--red)
		}
.section_sub_heading {
	width: 100%;
	height: auto;
	font-size: calc((14 / var(--vw)) * 100vw);
	font-weight: 700;
	line-height: 2;
	letter-spacing: 0.1em;
	color: var(--color--black);
}
	.section_sub_heading__row {
		display: block;
		overflow: hidden;
	}
		.section_sub_heading__row__item {
			display: block;
			transition: transform 1.2s cubic-bezier(.19,1,.22,1);
			transform: translateY(100%);
		}
		._inview.section_sub_heading .section_sub_heading__row__item {
			transform: translateY(0%);
		}

._btn_wrap {
	width: calc((292 / var(--vw)) * 100vw);
	height: calc((50 / var(--vw)) * 100vw);
}
	._cmn_btn {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		width: 100%;
		height: 100%;
		padding-left: calc((23 / 292) * 100%);
		border-radius: 9999px;
		border: solid 2px;
		text-decoration: none !important;
		position: relative;
	}
	._cmn_btn._red {
		border-color: var(--color--red);
		background-color: var(--color--red);
		color: var(--color--white);
	}
	._cmn_btn._white {
		border-color: var(--color--red);
		background-color: transparent;
		color: var(--color--red);
	}
	._cmn_btn._purple {
		border-color: var(--color--purple);
		background-color: var(--color--purple);
		color: var(--color--white);
	}
	._cmn_btn._black {
		border-color: var(--color--black);
		background-color: var(--color--black);
		color: var(--color--white);
	}
	._cmn_btn._back {
		justify-content: flex-end;
		padding-right: calc((23 / 292) * 100%);
		border-color: var(--color--gray);
		background-color: transparent;
		color: var(--color--gray);
	}
		._cmn_btn__text {
			font-size: calc((14 / var(--vw)) * 100vw);
			font-weight: 700;
			line-height: 1.8;
			letter-spacing: 0em;
		}
		._cmn_btn__arrow {
			width: calc((20 / var(--vw)) * 100vw);
			height: calc((10 / var(--vw)) * 100vw);
			mask-image: url(../image/btn_arrow_large.svg);
			mask-size: contain;
			mask-position: center;
			mask-repeat: no-repeat;
			position: absolute;
			top: 50%;
			right: calc((20 / 292) * 100%);
			transform: translate(0%,-50%);
		}
		._cmn_btn._red ._cmn_btn__arrow {
			background-color: var(--color--white);
		}
		._cmn_btn._white ._cmn_btn__arrow {
			background-color: var(--color--red);
		}
		._cmn_btn._purple ._cmn_btn__arrow {
			background-color: var(--color--white);
		}
		._cmn_btn._black ._cmn_btn__arrow {
			background-color: var(--color--white);
		}
		._cmn_btn._back ._cmn_btn__arrow {
			background-color: var(--color--gray);
			right: auto;
			left: calc((20 / 292) * 100%);
			transform: translate(0%,-50%) rotate(180deg);
		}
@media (any-hover: hover) {
	._cmn_btn {
		transition: var(--transition--bg), var(--transition--text);
	}
	._cmn_btn._red:hover {
		background-color: var(--color--white);
		color: var(--color--red);
	}
	._cmn_btn._white:hover {
		background-color: var(--color--red);
		color: var(--color--white);
	}
	._cmn_btn._purple:hover {
		background-color: var(--color--white);
	}
	._cmn_btn._black:hover {
		background-color: var(--color--white);
		color: var(--color--black);
	}
	._cmn_btn._back:hover {
		background-color: var(--color--gray);
		color: var(--color--white);
	}
		._cmn_btn__arrow {
			transition: var(--transition--bg), var(--transition--transform);
		}
		._cmn_btn:hover ._cmn_btn__arrow {
			transform: translate(calc((10 / var(--vw)) * 100vw),-50%);
		}
		._cmn_btn._red:hover ._cmn_btn__arrow {
			background-color: var(--color--red);
		}
		._cmn_btn._white:hover ._cmn_btn__arrow {
			background-color: var(--color--white);
		}
		._cmn_btn._purple:hover ._cmn_btn__arrow {
			background-color: var(--color--white);
		}
		._cmn_btn._black:hover ._cmn_btn__arrow {
			background-color: var(--color--black);
		}
		._cmn_btn._back:hover ._cmn_btn__arrow {
			background-color: var(--color--white);
			transform: translate(calc((-10 / var(--vw)) * 100vw),-50%) rotate(180deg);
		}
}

/* PC ================================================== */
@media all and (min-width: 769px){
.sp {display: none;}
.pc {display: inline-block;}
.view_sp {display: none;}
.view_pc {display: block;}
						.footer_heading .section_heading__main_text {
							display: flex;
							justify-content: flex-start;
						}
								.footer_heading .section_heading__main_text__row:nth-of-type(2) .section_heading__main_text__row__item {
									transition-delay: 0s;
								}
}
@media all and (min-width: 1000px){
		.hamburger {
			display: none;
		}
			.global_nav__bg {
				border-radius: 5px;
				border: solid 1px var(--color--white);
				background-color: rgba(255, 255, 255, 0.7);
				backdrop-filter: blur(3px);
			}
							.global_nav__menu__list__item__child_menu {
								background-color: var(--color--white);
								position: absolute;
								top: -20px;
								left: -20px;
								z-index: -1;
								clip-path: polygon(0% 0%, 100% 0%, 100% 0%, 0% 0%);
								transition: var(--transition--clip_path);
							}
							._open .global_nav__menu__list__item__child_menu {
								clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
							}
}

@media all and (max-width: 999px){
/* header */
		.header__logo {
			top: 23px;
			left: calc((25 / var(--vw)) * 100vw);
			z-index: 2;
		}
				.header__logo__link svg {
					transition: var(--transition--fill);
					transition-delay: .2s;
				}
				._nav_open .header__logo__link svg {
					transition-delay: 0s;
					fill: var(--color--white);
				}
		.global_nav {
			width: 100%;
			height: 100vh;
			top: 0;
			right: 0;
			z-index: 1;
			pointer-events: none;
		}
		._nav_open.global_nav {
			pointer-events: auto;
		}
			.global_nav__bg {
				background-color: var(--color--black);
				clip-path: polygon(0% 0%, 100% 0%, 100% 0%, 0% 0%);
				transition: var(--transition--clip_path);
			}
			._nav_open .global_nav__bg {
				clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
			}
			.global_nav__contents {
				width: 100%;
				height: 100dvh;
				padding: 112px calc((20 / 375) * 100%) 40px;
				margin: 0 auto;
				overflow: auto;
				opacity: 0;
			}
			._nav_open .global_nav__contents {
				opacity: 1;
			}
				.global_nav__menu {
					display: block;
					width: 100%;
					height: auto;
					padding: 0;
					border-radius: 0;
					border: none;
					background-color: transparent;
					backdrop-filter: none;
				}
					.global_nav__menu__list {
						display: flex;
						flex-direction: column;
						justify-content: flex-start;
						align-items: stretch;
						gap: 0;
						width: 100%;
						padding-top: 0;
						border-top: solid 1px #838282;
					}
						.global_nav__menu__list__item {
							width: 100%;
							font-size: 16px;
							line-height: 1.8;
							letter-spacing: 0em;
							border-bottom: solid 1px #838282;
						}
							.global_nav__menu__list__item__text,
							.global_nav__menu__list__item__link {
								padding: 20px 0;
								color: var(--color--white);
								position: relative;
							}
								.global_nav__menu__list__item__text::before,
								.global_nav__menu__list__item__text::after {
									content: "";
									display: block;
									background-color: var(--color--white);
									position: absolute;
									top: 35px;
									right: 6px;
								}
								.global_nav__menu__list__item__text::before {
									width: 12px;
									height: 1px;
									transform: translate(50%,-50%);
								}
								.global_nav__menu__list__item__text::after {
									width: 1px;
									height: 12px;
									transform: translate(50%,-50%);
									transition: var(--transition--transform);
								}
								._open .global_nav__menu__list__item__text::after {
									transform: translate(50%,-50%) rotate(90deg);
								}
								.global_nav__menu__list__item__link::after {
									content: "";
									display: block;
									width: 12px;
									height: 12px;
									background-color: var(--color--white);
									mask-image: url(../image/arrow_large@sp.svg);
									mask-size: contain;
									mask-position: center;
									mask-repeat: no-repeat;
									position: absolute;
									top: 29px;
									right: 0;
								}
							.global_nav__menu__list__item__child_menu {
								display: none;
								width: 100%;
								padding: 0 0 20px 16px;
							}
								.global_nav__menu__list__item__child_menu__list {
									display: flex;
									flex-direction: column;
									gap: 5px;
									width: 100%;
									padding: 0;
								}
									.global_nav__menu__list__item__child_menu__list__item {
										width: 100%;
										font-size: 12px;
										line-height: 1.8;
										letter-spacing: 0em;
									}
										.global_nav__menu__list__item__child_menu__list__item__link {
											padding-left: 0;
											color: var(--color--white);
										}
											.global_nav__menu__list__item__child_menu__list__item__link::before {
												background-color: var(--color--white);
												mask-image: url(../image/arrow@sp.svg);
												left: auto;
												right: 0;
											}
		.header__entry {
			position: absolute;
			top: 35px;
			right: calc(((25 / var(--vw)) * 100vw) + 52px);
			z-index: 2;
		}
				.header__entry__btn__text {
					height: 30px;
					font-size: 12px;
				}
			.header__entry__child_menu {
				padding: 0 0 16px;
			}
				.header__entry__child_menu__list {
					gap: 8px;
				}
					.header__entry__child_menu__list__item {
						font-size: 10px;
					}
							.header__entry__child_menu__list__item__link::before {
								mask-image: url(../image/arrow@sp.svg);
								top: 4px;
							}
		.hamburger {
			width: 42px;
			height: 30px;
			position: absolute;
			top: 35px;
			right: calc((25 / var(--vw)) * 100vw);
			z-index: 2;
		}
			.hbg_btn {
				display: flex;
				justify-content: center;
				align-items: center;
				width: 100%;
				height: 100%;
				padding: 0;
				outline: 0;
				border-radius: 2px;
				border: none;
				background-color: var(--color--black);
				cursor: pointer;
			}
				.hbg_btn_line {
					display: block;
					width: 18px;
					height: 7px;
					position: relative;
				}
					.hbg_btn_line::before,
					.hbg_btn_line::after {
						content: "";
						display: block;
						width: 100%;
						height: 1px;
						background-color: var(--color--white);
						position: absolute;
						left: 0;
					}
					.hbg_btn_line::before {
						top: 0;
					}
					.hbg_btn_line::after {
						bottom: 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% {
								transform: translate(0%,0%);
							}
							60% {
								transform: translate(0%,3px) rotate(0deg);
							}
							61% {
							}
							100% {
								transform: translate(0%,3px) rotate(30deg);
							}
						}
						@keyframes hbg_btn-line_after-open {
							0% {
								transform: translate(0%,0%);
							}
							60% {
								transform: translate(0%,-3px) rotate(0deg);
							}
							61% {
							}
							100% {
								transform: translate(0%,-3px) rotate(-30deg);
							}
						}
					.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% {
								transform: translate(0%,3px) rotate(30deg);
							}
							60% {
							}
							61% {
								transform: translate(0%,3px) rotate(0deg);
							}
							100% {
								transform: translate(0%,0%);
							}
						}
						@keyframes hbg_btn-line_after-close {
							0% {
								transform: translate(0%,-3px) rotate(-30deg);
							}
							60% {
							}
							61% {
								transform: translate(0%,-3px) rotate(0deg);
							}
							100% {
								transform: translate(0%,0%);
							}
						}
}

/* Tablet ================================================== */
@media all and (max-width: 768px){
.pc {display: none;}
.sp {display: inline-block;}
.view_pc {display: none;}
.view_sp {display: block;}

/* header */
		.header__logo {
			width: 93px;
			top: 18px;
			left: 13px;
			z-index: 2;
		}
			.global_nav__contents {
				padding: 90px calc((20 / 375) * 100%) 40px;
			}
		.header__entry {
			top: 20px;
			right: 60px;
		}
		.hamburger {
			top: 20px;
			right: 8px;
		}

/* footer */
		.footer__top {
			height: calc((254 / var(--vw)) * 100vw);
		}
				.footer__top__wakuwaku {
					width: calc((155 / var(--vw)) * 100%);
				}
				.footer__top__wakuwaku._01 {
					top: calc((13 / var(--vw)) * 100%);
					left: calc((6 / var(--vw)) * 100%);
				}
				.footer__top__wakuwaku._02 {
					bottom: calc((25 / var(--vw)) * 100%);
					right: 0;
				}
		.footer__contents {
			padding: calc((40 / var(--vw)) * 100vw) 0;
		}
			.footer__contents__inner {
				width: calc((334 / var(--vw)) * 100%);
			}
				.footer__join {
					margin: 0 auto calc((60 / var(--vw)) * 100vw);
				}
						.footer_heading .section_heading__sub_text {
							margin-bottom: calc((14 / var(--vw)) * 100vw);
						}
						.footer_heading .section_heading__main_text._mid {
							font-size: calc((26 / var(--vw)) * 100vw);
						}
					.footer__join_list {
						grid-template-columns: repeat(1, 1fr);
						gap: calc((20 / var(--vw)) * 100vw);
					}
							.footer__join_list__item__link {
								aspect-ratio: 334 / 230;
							}
							.footer__join_list__item__contents {
								padding: calc((25 / var(--vw)) * 100vw) calc((0 / var(--vw)) * 100vw) calc((25 / var(--vw)) * 100vw) calc((25 / var(--vw)) * 100vw);
							}
								.footer__join_list__item__heading {
									padding-left: 0;
								}
									.footer__join_list__item__heading__main_text {
										margin-bottom: calc((4 / var(--vw)) * 100vw);
										font-size: calc((18 / var(--vw)) * 100vw);
									}
									.footer__join_list__item__heading__sub_text {
										font-size: calc((10 / var(--vw)) * 100vw);
									}
								.footer__join_list__item__btn_wrap {
									width: calc(100% - (25 / var(--vw)) * 100vw);
								}
									.footer__join_list__item__btn {
										justify-content: flex-start;
										padding-left: calc((12 / var(--vw)) * 100vw);
									}
										.footer__join_list__item__btn__arrow {
											right: calc((10 / var(--vw)) * 100vw);
										}
					.footer_for_top {
						width: fit-content;
						height: auto;
						position: absolute;
						top: calc((4 / var(--vw)) * 100vw);
						right: 0;
					}
						.footer_for_top__btn {
							display: flex;
							justify-content: space-between;
							align-items: center;
							width: 74px;
							height: auto;
						}
							.footer_for_top__btn__text {
								font-size: 16px;
								font-weight: 500;
								line-height: 1.5;
								letter-spacing: 0.05em;
								color: var(--color--white);
							}
							.footer_for_top__btn__arrow {
								width: 10px;
								height: 19px;
								background-color: var(--color--white);
								mask-image: url(../image/arrow_top.svg);
								mask-size: contain;
								mask-position: center;
								mask-repeat: no-repeat;
							}
					.footer__logo {
						width: calc((98 / var(--vw)) * 100vw);
						margin: 0 auto calc((28 / var(--vw)) * 100vw) 0;
					}
					.footer__menu_list_wrap {
						flex-direction: column;
						justify-content: flex-start;
						align-items: stretch;
						gap: 0;
						width: 100%;
						position: initial;
					}
						.footer__menu_list {
							width: 100%;
							border-top: 1px solid var(--color--white);
						}
						.footer__menu_list._3columns {
							display: block;
							border-top: none;
						}
							.footer__menu_list__item {
								width: 100%;
								font-size: 16px;
								border-bottom: 1px solid var(--color--white);
							}
								.footer__menu_list__item__text,
								.footer__menu_list__item__link {
									width: 100%;
									padding: 10px 0;
									padding-left: 0;
								}
									.footer__menu_list__item__text::before,
									.footer__menu_list__item__text::after {
										content: "";
										display: block;
										background-color: var(--color--white);
										mask-image: initial;
										mask-size: initial;
										mask-position: initial;
										mask-repeat: initial;
										position: absolute;
										top: 25px;
										left: auto;
										right: 6px;
										transform: translate(50%,-50%);
									}
									.footer__menu_list__item__text::before {
										width: 12px;
										height: 1px;
									}
									.footer__menu_list__item__text::after {
										width: 1px;
										height: 12px;
										transition: var(--transition--transform);
									}
									._open .footer__menu_list__item__text::after {
										transform: translate(50%,-50%) rotate(90deg);
									}
									.footer__menu_list__item__link::before {
										width: 12px;
										height: 12px;
										mask-image: url(../image/arrow_large@sp.svg);
										top: 19px;
										left: auto;
										right: 0;
									}
								.footer__menu_list__item__child_menu {
									display: none;
									width: 100%;
									padding: 0;
								}
									.footer__menu_list__item__child_menu__list {
										gap: 5px;
										width: 100%;
										padding: 5px 0 14px 17px;
									}
										.footer__menu_list__item__child_menu__list__item {
											width: 100%;
											font-size: 12px;
										}
											.footer__menu_list__item__child_menu__list__item__link {
												width: 100%;
												padding-left: 0;
											}
												.footer__menu_list__item__child_menu__list__item__link::before {
													width: 10px;
													height: 10px;
													background-color: var(--color--white);
													top: 6px;
													left: auto;
													right: 0;
												}
					.footer__cp_btn_wrap {
						width: 100%;
						margin: 25px auto 0;
					}
						.footer__cp_btn {
							justify-content: space-between;
							height: 57px;
							padding-left: 15px;
							padding-right: 20px;
							border-radius: 0px;
						}
							.footer__cp_btn__text {
								font-size: 16px;
							}
							.footer__cp_btn__icon {
								width: 10px;
								height: 10px;
								margin-left: auto;
								margin-right: 0;
								mask-image: url(../image/icon-external_link@sp.svg);
								top: 1px;
							}
		.footer__bottom {
			margin: calc((-29 / var(--vw)) * 100vw) 0 0;
		}
				.footer__bottom__copy {
					width: calc((106.16 / var(--vw)) * 100vw);
					top: calc((28.26 / var(--vw)) * 100vw);
					left: 0;
				}
				.footer__copyright {
					font-size: 10px;
					bottom: calc((10 / var(--vw)) * 100vw);
				}





/* 共通 */
	.section_heading__sub_text {
		margin: 0 auto calc((10 / var(--vw)) * 100vw);
		font-size: calc((10 / var(--vw)) * 100vw);
	}
	.section_heading__main_text._mid {
		font-size: calc((22 / var(--vw)) * 100vw);
	}
	.section_heading__main_text._large {
		font-size: calc((26 / var(--vw)) * 100vw);
	}

.section_sub_heading {
	font-size: calc((12/ var(--vw)) * 100vw);
}
			.section_heading__main_text__row.view_sp:nth-of-type(3) .section_heading__main_text__row__item {
				transition-delay: .1s;
			}
			.section_heading__main_text__row.view_sp:nth-of-type(4) .section_heading__main_text__row__item {
				transition-delay: .2s;
			}
		.section_sub_heading__row__item {
			transform: translateY(0%);
			opacity: 0;
			transition: 1s cubic-bezier(0.490, 0.035, 0.140, 0.910);
		}
		._inview.section_sub_heading .section_sub_heading__row__item {
			opacity: 1;
		}






}

/* SP ================================================== */
@media all and (max-width: 575px){
body {}
h1{}
h2{}
h3{}
h4{}
h5{}
h6{}
}