@charset "utf-8";
:root {
/* 共通設定 */
	--color--black: #242424;
	--color--white: #ffffff;
	--color--light_gray: #F5F5F5;
	--color--light_beige: #FFF5F0;
	--color--red_beige: #F5ECE7;
	--color--beige: #F7EBE4;
	--color--red: #DB462E;
	
	--anime_time: .8s;
	--comic_time: .8s;
}
@media all and (max-width: 768px){
:root {
	--comic_time: .5s;
}
}

html {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
body {
	min-height: 100vh;
	margin: 0px;
	padding: 0px;
	background-color: var(--color--light_gray);
	scroll-behavior: smooth;
	text-rendering: optimizeSpeed;
	color: var(--color--black);
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 400;
	font-style: normal;
	line-height: 1.8;
	letter-spacing: 0em;
/*	font-feature-settings: "palt";*/
}
body.scroll-stop {
	overflow: hidden;
}
._ft_dela {
	font-family: "Dela Gothic One", sans-serif;
}
._ft_alumni {
	font-family: "Alumni Sans", sans-serif;
}

#wrap {
	width: calc(100vw - (100vw - 100%))
	height: auto;
	overflow: hidden;
}

#l_wrapper {
	width: 100%;
	height: auto;
}

header {
	width: 100%;
	height: 55px;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	background-color: var(--color--black);
	transition: .3s;
	transform: translateY(0%);
	cursor: initial !important;
}
header._menu_open {
	transform: translateY(-55px);
}
header._locked {
	pointer-events: none;
}
	.header__inner {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		width: 100%;
		height: 100%;
		padding: 0 16px 0 35px;
	}
		.header__logo {
			width: 97px;
			height: auto;
			margin: 0 auto 0 0;
		}
			.header__logo__link {
				display: block;
				width: 100%;
				height: auto;
			}
				.header__logo__link svg {
					fill: var(--color--white);
				}
		.header__menu {
			width: auto;
			height: auto;
		}
			.header__menu__list {
				display: flex;
				justify-content: flex-end;
				align-items: center;
				gap: 40px;
				width: auto;
				height: auto;
				font-size: 14px;
				line-height: 1.5;
			}
				.header__menu__list__item {
					width: auto;
					height: auto;
				}
					.header__menu__list__item__link {
						color: var(--color--white);
					}
				@media (any-hover: hover) {
					.header__menu__list__item__link {
						transition: .3s;
					}
					.header__menu__list__item__link:hover {
						color: var(--color--red);
					}
				}
		.hamburger {
			width: 46px;
			height: auto;
			margin-left: 50px;
		}
			.hbg_btn {
				width: 100%;
				height: auto;
				cursor: pointer;
			}
				.hbg_btn__neta {
					display: block;
					width: 100%;
					height: 18px;
					border-radius: 5px / 4px;
					background-color: var(--color--red);
					position: relative;
					z-index: 2;
				}
					.hbg_btn__neta__text {
						width: 37.41px;
						height: auto;
						position: absolute;
						top: 4px;
						left: 5px;
						transform: translate(-0.3px, -0.3px);
					}
						.hbg_btn__neta__text svg {
							fill: #ffffff;
						}
				.hbg_btn.open .hbg_btn__neta {
					transform: translate(0px, 3px);
				}
			@media (any-hover: hover) {
				.hbg_btn__neta {
					transition: .2s;
				}
				.hbg_btn:hover .hbg_btn__neta {
					transform: translate(0px, 3px);
				}
			}
				.hbg_btn__shari {
					display: block;
					width: 100%;
					height: 15px;
					margin: -3px 0 0;
					border-radius: 5px / 4px;
					background-color: var(--color--white);
					position: relative;
					z-index: 1;
				}
					.hbg_btn__shari::before {
						content: '';
						display: block;
						width: 100%;
						height: 100%;
						border-radius: 5px / 4px;
						background-color: var(--color--black);
						position: absolute;
						top: -9px;
						left: 0;
						transform: translate(0%, 0%);
					}
	.global_nav {
		width: 100%;
		height: 100vh;
		position: fixed;
		top: 55px;
		left: 0;
		z-index: 10000;
		pointer-events: none;
		visibility: hidden;
	}
	._menu_open .global_nav {
		pointer-events: auto;
		visibility: visible;
	}
		.global_nav__bg {
			width: 100%;
			height: 100%;
			background-color: var(--color--black);
			opacity: 0;
			position: absolute;
			top: 0;
			left: 0;
			z-index: 1;
			transition: .3s;
		}
		._menu_open .global_nav__bg {
			opacity: .2;
		}
		.global_nav__contents {
			width: 100%;
			max-width: 400px;
			height: 100%;
			background-color: var(--color--black);
			position: absolute;
			top: 0;
			right: 0;
			z-index: 2;
			transform: translate(100%, -55px);
			transition: .3s;
		}
		._menu_open .global_nav__contents {
			transform: translate(0%, 0px);
		}
			.global_nav__menu__header {
				display: flex;
				justify-content: flex-end;
				align-items: center;
				width: 100%;
				height: 55px;
				padding: 0 20px;
				position: relative;
				z-index: 2;
			}
				.hamburger_close {
					display: flex;
					justify-content: center;
					align-items: center;
					width: 38px;
					height: 38px;
					border-radius: 4px;
					background-color: #F5ECE7;
					cursor: pointer;
				}
					.hamburger_close__line {
						display: block;
						width: 24px;
						height: 3px;
						position: relative;
					}
						.hamburger_close__line::before,
						.hamburger_close__line::after {
							content: '';
							display: block;
							width: 100%;
							height: 100%;
							border-radius: 9999px;
							background-color: var(--color--black);
							position: absolute;
							top: 0;
							left: 0;
						}
						.hamburger_close__line::before {
							transform: rotate(45deg);
						}
						.hamburger_close__line::after {
							transform: rotate(-45deg);
						}
				@media (any-hover: hover) {
						.hamburger_close__line::before,
						.hamburger_close__line::after {
							transition: .3s;
						}
						.hamburger_close:hover .hamburger_close__line::before,
						.hamburger_close:hover .hamburger_close__line::after {
							background-color: var(--color--red);
						}
				}
			.global_nav__menu__body {
				width: 100%;
				height: auto;
				padding: 0 50px;
				position: relative;
				z-index: 2;
			}
				.global_nav__menu {
					width: 100%;
					height: auto;
					padding: 50px 0 56px;
					margin: 0 auto;
				}
					.global_nav__menu__list {
						display: flex;
						flex-direction: column;
						gap: 30px;
						width: 100%;
						height: auto;
					}
						.global_nav__menu__list__item {
							width: 100%;
							height: auto;
						}
							.global_nav__menu__list__item__link {
								display: flex;
								flex-direction: column;
								justify-content: center;
								align-items: flex-start;
								width: 100%;
								height: 43px;
								padding: 0 0 1px 30px;
								color: var(--color--white);
								position: relative;
							}
								.global_nav__menu__list__item__parentheses {
									width: 7px;
									height: auto;
									position: absolute;
									top: 0;
								}
								.global_nav__menu__list__item__parentheses._left {
									left: 0;
								}
								.global_nav__menu__list__item__parentheses._right {
									right: 0;
								}
									.global_nav__menu__list__item__parentheses svg {
										fill: var(--color--white);
									}
								.global_nav__menu__list__item__text_en {
									margin-bottom: 10px;
									font-family: "Dela Gothic One", sans-serif;
									font-size: 10px;
									line-height: 1;
								}
								.global_nav__menu__list__item__text_ja {
									font-size: 16px;
									font-weight: 900;
									line-height: 1;
								}
									.global_nav__menu__list__item__text__icon {
										display: inline-block;
										width: 14px;
										height: auto;
										margin-left: 4px;
										transform: translate(0px, 1px);
									}
										.global_nav__menu__list__item__text__icon svg {
											fill: var(--color--black);
										}
						@media (any-hover: hover) {
							.global_nav__menu__list__item__link {
								transition: .3s;
							}
							.global_nav__menu__list__item__link:hover {
								color: var(--color--red);
							}
								.global_nav__menu__list__item__parentheses {
									transition: .3s;
									transform: translate(0px, 0px);
								}
								.global_nav__menu__list__item__link:hover .global_nav__menu__list__item__parentheses._left {
									transform: translate(-3px, 0%);
								}
								.global_nav__menu__list__item__link:hover .global_nav__menu__list__item__parentheses._right {
									transform: translate(3px, 0%);
								}
									.global_nav__menu__list__item__parentheses svg {
										transition: .3s;
									}
									.global_nav__menu__list__item__link:hover .global_nav__menu__list__item__parentheses svg {
										fill: var(--color--red);
									}
						}
				.global_nav__contact {
					width: 100%;
					height: auto;
					margin: 0 auto;
				}
					.global_nav__contact__btn_wrap {
						width: 100%;
						height: auto;
					}
						.global_nav__contact__btn {
							display: flex;
							flex-direction: column;
							justify-content: center;
							align-items: flex-start;
							width: 100%;
							height: 58px;
							padding: 0 0 0 16px;
							border-radius: 3px;
							background-color: var(--color--white);
							position: relative;
							overflow: hidden;
						}
							.global_nav__contact__btn .global_nav__menu__list__item__text_en {
								margin-bottom: 5px;
								color: var(--color--black);
								position: relative;
								z-index: 2;
							}
							.global_nav__contact__btn .global_nav__menu__list__item__text_ja {
								color: var(--color--black);
								position: relative;
								z-index: 2;
							}
							.global_nav__contact__btn__icon {
								width: 46px;
								height: auto;
								position: absolute;
								bottom: -12px;
								right: 24px;
								z-index: 1;
							}
					@media (any-hover: hover) {
						.global_nav__contact__btn {
							transition: .3s;
						}
						.global_nav__contact__btn:hover {
							background-color: var(--color--red);
							color: var(--color--white);
						}
							.global_nav__contact__btn__icon {
								transition: .3s;
							}
							.global_nav__contact__btn:hover .global_nav__contact__btn__icon {
								bottom: -6px;
							}
					}
			.global_nav__obj_wrap {
				width: 100%;
				height: 0;
				position: absolute;
				bottom: 0;
				left: 0;
				z-index: 1;
			}
				.global_nav__obj {
					height: auto;
					position: absolute;
					transition: .3s;
				}
				.global_nav__obj._ebi {
					width: 64.56px;
					bottom: 60px;
					left: 45px;
					transform: rotate(-10deg);
				}
				.global_nav__obj._ikura {
					width: 42px;
					bottom: 62px;
					right: 48px;
				}
				.global_nav__obj._salmon {
					width: 50px;
					bottom: 119px;
					left: 29px;
				}
				.global_nav__obj._tamago {
					width: 54px;
					bottom: 121px;
					right: 24px;
				}
				.global_nav__obj._makinosuke {
					width: 104.69px;
					bottom: -27px;
					left: 127px;
				}
				.global_nav__obj._tatamaru {
					width: 58.38px;
					bottom: -17px;
					right: 113px;
				}
					.global_nav__obj._makinosuke img,
					.global_nav__obj._tatamaru img {
						opacity: 0;
						transform: translate(0%, 8px);
						transition: .3s;
					}
					._show .global_nav__obj._makinosuke img {
						transition-delay: .1s;
					}
					._show .global_nav__obj._tatamaru img {
						transition-delay: .2s;
					}
					._show .global_nav__obj._makinosuke img,
					._show .global_nav__obj._tatamaru img {
						opacity: 1;
						transform: translate(0%, 0px);
					}
					.global_nav__obj:not(._makinosuke,._tatamaru) img {
						opacity: 0;
						transform: scale(0.6);
					}
					._hide .global_nav__obj:not(._makinosuke,._tatamaru) img {
						opacity: 0;
						transform: scale(0.6);
						animation: obj_hide .6s ease forwards;
					}
					@keyframes obj_hide {
						0% {
							opacity: 1;
							transform: scale(1);
						}
						100% {
							opacity: 0;
							transform: scale(0.6);
						}
					}
					._show .global_nav__obj._ebi img {
						opacity: 1;
						animation: obj_show .6s ease forwards;
					}
					._show .global_nav__obj._ikura img {
						opacity: 1;
						animation: obj_show .6s ease forwards;
					}
					._show .global_nav__obj._salmon img {
						opacity: 1;
						animation: obj_show .6s ease forwards;
					}
					._show .global_nav__obj._tamago img {
						opacity: 1;
						animation: obj_show .6s ease forwards;
					}
					@keyframes obj_show {
						0% {
							opacity: 0;
							transform: scale(0.6);
						}
						40% {
							opacity: 1;
							transform: scale(1.2);
						}
						100% {
							transform: scale(1);
						}
					}

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

					.global_nav__menu__header__logo {
						display: none;
					}
}

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

header {
	height: 40px;
}
header._menu_open {
	transform: translateY(-40px);
}
	.header__inner {
		padding: 0 10px 0 15px;
	}
		.header__logo {
			width: 62px;
		}
		.header__menu {
			display: none;
		}
		.hamburger {
			width: 38px;
			margin-left: initial;
		}
				.hbg_btn__neta {
					height: 15px;
					border-radius: 4px / 3px;
				}
					.hbg_btn__neta__text {
						width: 31px;
						top: 3px;
						left: 4px;
						transform: translate(-0.2px, 0px);
					}
				.hbg_btn.open .hbg_btn__neta {
					transform: translate(0px, 3px);
				}
				.hbg_btn__shari {
					height: 13px;
					margin: -3px 0 0;
					border-radius: 4px / 3px;
				}
					.hbg_btn__shari::before {
						border-radius: 4px / 3px;
						top: -7px;
					}
	.global_nav {
		height: 100vh;
		top: 40px;
	}
		.global_nav__bg {
			display: none;
		}
		.global_nav__contents {
			max-width: initial;
			transform: translate(100%, -40px);
		}
			.global_nav__menu__header {
				justify-content: space-between;
				height: 40px;
				padding: 0 10px 0 15px;
			}
				.global_nav__menu__header__logo {
					width: 62px;
					height: auto;
					position: relative;
					top: 3px;
				}
					.global_nav__menu__header__logo svg {
						fill: var(--color--white);
					}
				.hamburger_close {
					width: 30px;
					height: 30px;
					border-radius: 2px;
					position: relative;
					top: 5px;
				}
					.hamburger_close__line {
						width: 18px;
						height: 3px;
					}
				.global_nav__menu {
					padding: 60px 0 56px;
				}
				.global_nav__obj._ebi {
					left: calc((45 / 375) * 100%);
					transform: rotate(-10deg);
				}
				.global_nav__obj._ikura {
					right: calc((48 / 375) * 100%);
				}
				.global_nav__obj._salmon {
					left: calc((29 / 375) * 100%);
				}
				.global_nav__obj._tamago {
					right: calc((24 / 375) * 100%);
				}
				.global_nav__obj._makinosuke {
					width: 82px;
					bottom: -27px;
					left: 50%;
					transform: translateX(-60px);
				}
				.global_nav__obj._tatamaru {
					width: 58px;
					bottom: -17px;
					right: 50%;
					transform: translateX(73px);
				}
}

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