@charset "utf-8";

/**
 * MediaQueries
 *
 * @media (min-width: 576px) {}     // > landscape phones
 * @media (min-width: 768px) {}     // > tablets
 * @media (min-width: 992px) {}     // > desktops
 * @media (min-width: 1200px) {}    // > large desktops
 *
 * @media (max-width: 1199.98px) {} // < large desktops
 * @media (max-width: 991.98px) {}  // < desktops
 * @media (max-width: 767.98px) {}  // < tablets
 * @media (max-width: 575.98px) {}  // < landscape phones
 * -------------------------------------------------- */
html {
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
}
html.is-behaviorAuto {
	scroll-behavior: auto;
}
body {
	overflow-x: hidden;
	overscroll-behavior: auto;
	color: #333;
	font-size: 1em;
	line-height: 1.75;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	letter-spacing: 0;
	font-feature-settings: "palt";
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
.has-scrollbar body {
	overflow-y: scroll;
}
body.is-fixed {
	position: fixed;
	width: 100%;
}
section[id] {
	scroll-margin-top: var(--headerHeight);
}

:root {
	--easeIn: cubic-bezier(.3,0,.7,0);
	--easeOut: cubic-bezier(.3,1,.7,1);
	--easeInOut: cubic-bezier(.7,0,.3,1);
	--easeBack: cubic-bezier(.3,1.6,.7,1);
	--breakout: calc(50% - 50vw);
	--scrollBarWidth: 0;
}
.has-scrollbar {
	--breakout: calc(50% - 50vw + var(--scrollBarWidth));
}
@media (max-width: 767.98px) {
	:root {
		--sidegap: min(12vw / 3.75, 40px);
		--headerHeight: 64px;
	}
}
@media (min-width: 768px) {
	:root {
		--sidegap: 40px;
		--headerHeight: min(96vw / 9.92, 96px);
	}
}

@keyframes shake {
	from, to, 50% { transform: none; }
	10% { transform: translate(2px, 1px) rotate(2deg); }
	20% { transform: translate(-1px, -2px); }
	30% { transform: translate(-2px, 1px) rotate(-1deg); }
	40% { transform: translate(1px, 1px); }
	60% { transform: translate(-2px, -1px) rotate(1deg); }
	70% { transform: translate(2px, -1px) rotate(-2deg); }
	80% { transform: translate(-1px, 2px); }
	90% { transform: translate(2px, -1px) rotate(-1deg); }
}
@keyframes attention {
	from, to, 30%, 60% { transform: none; }
	15% { transform: translateX(.5em); }
	45% { transform: translateX(.2em); }
}
@keyframes poyon {
	from, to { scale: none; }
	14% { scale: 1.2; }
	29% { scale: .8; }
	43% { scale: 1.1; }
	57% { scale: .9; }
	72% { scale: 1.02; }
	86% { scale: .98; }
}
@keyframes puyon {
	from, to { scale: none; }
	14% { scale: .8; }
	29% { scale: 1.2; }
	43% { scale: .9; }
	57% { scale: 1.1; }
	72% { scale: .98; }
	86% { scale: 1.02; }
}
@keyframes stars {
	from, to, 40.01% { transform: none; }
	20% { transform: rotateY(0deg); }
	40% { transform: rotateY(360deg); }
}

/**
 * バナー
 * ---------------------------------------- */
.jnr-header {
	--logoWidth: 92px;
	--entryWidth: clamp(112px, 174vw / 9.92, 174px);
	--menuSize: clamp(48px, 64vw / 9.92, 64px);
	display: flex;
	align-items: center;
	column-gap: .5em;
	z-index: 2;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	padding: 0 var(--sidegap);
	height: var(--headerHeight);
	border-image: linear-gradient(white, white) 0 fill / 0 / 0 50vw;
	font-size: 1rem;
}
.jnr-header_logo {
	width: var(--logoWidth);
	padding: .5em;
	box-sizing: content-box;
}
.jnr-header_entry {
	width: var(--entryWidth);
}
@media (hover) {
	.jnr-header_entry:hover,
	.jnr-header_entry:focus-visible {
		animation: shake .4s infinite; 
	}
}
@media (max-width: 991.98px) {
	.jnr-header {
		justify-content: space-between;
	}
	.jnr-header_entry {
		margin-left: auto;
	}
}
@media (min-width: 576px) {
	.jnr-header {
		--logoWidth: min(375vw / 9.92, 375px);
	}
}
@media (min-width: 992px) {
	.jnr-header {
		display: grid;
		grid-template-columns: var(--menuSize) var(--entryWidth) 1fr var(--entryWidth) var(--menuSize);
		justify-items: center;
	}
	.jnr-header_logo {
		grid-column: 3;
	}
	.jnr-header_entry {
		grid-column: 4;
	}
	.jnr-menuopen {
		grid-column: 5;
	}
}

/* :::::: ドロワーボタン :::::: */
.jnr-menuopen,
.jnr-menuclose {
	cursor: pointer;
	display: grid;
	place-items: center;
	z-index: 1;
	width: var(--menuSize);
	height: var(--menuSize);
	color: inherit;
}
.jnr-menuclose {
	--position: 8px;
	position: absolute;
	top: calc(var(--space) + var(--position));
	right: calc(var(--space) + var(--position));
}
.jnr-menuopen svg,
.jnr-menuclose svg {
	width: calc(var(--menuSize) / 2);
	height: auto;
	fill: none;
	stroke: currentcolor;
}
@media (min-width: 768px) {
	.jnr-menuclose {
		--position: 16px;
	}
}


/**
 * ナビゲーション
 * ---------------------------------------- */
.jnr-header_menu,
.jnr-menuoverlay {
	position: fixed;
	inset: 0;
}
.jnr-header_menu {
	--space: 12px;
	z-index: 1;
	max-width: 1000px;
	margin: 0 auto;
	padding: var(--space);
}
.jnr-menuoverlay {
	background: #fff8;
	backdrop-filter: blur(8px);
}
.jnr-header_menulist {
	position: absolute;
	overflow: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	width: calc(100% - var(--space) * 2);
	height: calc(100% - var(--space) * 2);
	margin: 0;
	padding: 32px calc(32vw / 3.75);
	border: 1px solid black;
	background: #ffffcd;
}
.jnr-header_menulist > li:nth-child(n+2) {
	margin-top: .8em;
}
.jnr-header_menulist > li::before {
	content: "";
	display: inline-block;
	width: 17px;
	height: 13px;
	margin-top: .2em;
	vertical-align: middle;
	background: url("../../content/images/careers/graduates/nav_star.svg") center / contain no-repeat;
}
.jnr-header_menulist a {
	display: inline-block;
	padding: .5em;
}
.jnr-header_menulist a[aria-current="page"] {
	pointer-events: none;
	border-image: linear-gradient(yellow, yellow) 0 0 1 / 0 0 1em / 0;
}
.jnr-header_menusub {
	--bullet: 6px;
}
.jnr-header_menusub a {
	padding: .2em;
}
.jnr-header_menusub li {
	padding-left: .5em;
	white-space: nowrap;
}
.jnr-header_menusub li::before {
	content: "";
	display: inline-block;
	width: var(--bullet);
	height: var(--bullet);
	margin-right: .2em;
	border-radius: var(--bullet);
	vertical-align: middle;
	background: black;
}
.jnr-header_menusub a svg {
	margin-right: 1em;
}
.jnr-header_menu > img {
	position: absolute;
	right: calc(var(--space) * 2);
	bottom: calc(var(--space) * 2);
	width: calc(78vw / 3.75);
}
@media (min-width: 768px) {
	.jnr-header_menu {
		--space: 24px;
	}
	.jnr-header_menulist {
		padding: 32px min(64vw / 5.76, 56px);
	}
	.jnr-header_menulist > li::before {
		width: 29px;
		height: 21px;
	}
	.jnr-header_menusub {
		--bullet: 8px;
	}
	.jnr-header_menu > img {
		width: min(156vw / 5.76, 156px);
	}
}
/* スクロールバーを消す */
@media (hover) {
	.jnr-header_menulist {
		scrollbar-width: none;
		scrollbar-color: transparent;
	}
	.jnr-header_menulist::-webkit-scrollbar {
		width: 0;
		height: 0;
	}
	.jnr-header_menulist::-webkit-scrollbar-thumb,
	.jnr-header_menulist::-webkit-scrollbar-track {
		background: transparent;
	}
}

/* ::::: motion :::::: */
.jnr-header_menu:not(.is-open) {
	visibility: hidden;
	pointer-events: none;
}
.jnr-menuclose:not(.is-open) {
	transform: scale(.5);
}
.jnr-menuoverlay:not(.is-open) {
	transform: translateY(-100%);
}
.jnr-menuclose:not(.is-open),
.jnr-menuoverlay:not(.is-open),
.jnr-header_menulist:not(.is-open),
.jnr-header_menu > img:not(.is-open) {
	opacity: 0;
}
/* transition */
.jnr-menuclose.is-anim {
	transition: opacity .4s, transform .4s var(--easeBack);
}
.jnr-menuoverlay.is-anim {
	transition: opacity 0s, transform .4s var(--easeOut);
}
.jnr-header_menulist.is-anim {
	transition: opacity .4s;
}
.jnr-header_menu > img.is-anim {
	transition: opacity .4s;
}
.jnr-menuclose:not(.is-open).is-anim,
.jnr-menuoverlay:not(.is-open).is-anim,
.jnr-header_menulist:not(.is-open).is-anim,
.jnr-header_menu > img:not(.is-open).is-anim {
	transition-duration: .1s;
}
/* timing */
.jnr-header_menulist.is-open.is-anim {
	transition-delay: .2s;
}
.jnr-menuclose.is-open.is-anim,
.jnr-header_menu > img.is-open.is-anim {
	transition-delay: .4s;
}
.jnr-menuoverlay:not(.is-open).is-anim {
	transition-duration: .2s, 0s;
	transition-delay: 0s, .2s;
	transition-timing-function: var(--easeIn);
}


/**
 * main
 * ---------------------------------------- */
.jnr-main {
	padding: var(--headerHeight) var(--sidegap) 0;
}

/* :::::: typography :::::: */
.jnr-paragraph {
	font-size: min(13vw / 3.75, 1rem);
	font-weight: 400;
	letter-spacing: .12em;
	line-break: strict;
	text-align: justify;
	hyphens: auto;
	hanging-punctuation: allow-end;
}
.jnr-paragraph em {
	font-style: normal;
	background: linear-gradient(#ff00 20%, #ff0 20%, #ff0 80%, #ff00 80%);
}
.jnr-note {
	font-size: 10px;
}

/* :::::: button :::::: */
.jnr-button {
	display: block;
	line-height: 1;
}
@media (hover) {
	.jnr-button {
		cursor: pointer;
	}
	.jnr-button:hover,
	.jnr-button:focus-visible {
		animation: shake .4s infinite; 
	}
}

/* :::::: frame :::::: */
.jnr-bis {
	position: absolute;
	overflow: visible;
	width: 16px;
	height: 16px;
	fill: none;
	stroke: black;
}
.jnr-bis[data-bis="1"],
.jnr-bis[data-bis="2"] {
	top: calc(var(--bis) * 1.1);
}
.jnr-bis[data-bis="1"] {
	left: calc(var(--bis) * .9);
}
.jnr-bis[data-bis="2"] {
	right: calc(var(--bis) * .9);
}
.jnr-bis[data-bis="3"],
.jnr-bis[data-bis="4"] {
	bottom: var(--bis);
}
.jnr-bis[data-bis="3"] {
	right: calc(var(--bis) * 1.3);
}
.jnr-bis[data-bis="4"] {
	left: calc(var(--bis) * 1.3);
}
@media (max-width: 767.98px) {
	.jnr-bis {
		width: 12px;
		height: 12px;
	}
}

/* :::::: layout variation :::::: */
@media (max-width: 767.98px) {
	[class*="jnr-layout_grid"],
	[class*="jnr-layout_float"] {
		display: flex;
		flex-direction: column;
		align-items: center;
		row-gap: 1em;
	}
	[class*="jnr-layout_grid"] figure,
	[class*="jnr-layout_float"] figure {
		order: 1;
	}
}
@media (min-width: 768px) {
	[class*="jnr-layout_grid"] {
		display: grid;
		column-gap: 1em;
	}
	[class*="jnr-layout_grid"] h2 {
		grid-column: 1 / 3;
	}
	.jnr-layout_grid-l figure,
	.jnr-layout_grid-r figure {
		align-self: center;
	}
	.jnr-layout_grid-l figure,
	.jnr-layout_grid-r .jnr-paragraph {
		grid-area: 2 / 1;
	}
	.jnr-layout_grid-r figure,
	.jnr-layout_grid-l .jnr-paragraph {
		grid-area: 2 / 2;
	}
	[class*="jnr-layout_float"]::after {
		content: "";
		display: block;
		clear: both;
	}
	.jnr-layout_float-l figure {
		float: left;
		margin: 0 1em .5em 0;
	}
	.jnr-layout_float-r figure {
		float: right;
		margin: 0 0 .5em 1em;
	}
}

/* :::::: inview :::::: */
.jnr-inview:not(.is-inview) {
	opacity: 0;
}
.jnr-inview.is-anim {
	transition: opacity .4s;
	animation: puyon .6s;
	will-change: opacity, animation;
	backface-visibility: hidden;
}


/**
 * footer
 * ---------------------------------------- */
.jnr-footer {
	max-width: 1048px;
	margin: 40px auto 0;
	padding: 40px var(--sidegap);
	text-align: center;
}
.jnr-footer_entry {
	display: block;
	width: 160px;
	margin: 0 auto;
}
@media (hover) {
	.jnr-footer_entry:hover {
		animation: shake .4s infinite; 
	}
}
.jnr-footer_menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .3em 1.6em;
	margin: 0;
	padding: 32px 0;
}
.jnr-footer_menu a {
	display: inline-block;
}
.jnr-footer_menu a[aria-current="page"] {
	pointer-events: none;
	border-image: linear-gradient(yellow, yellow) 0 0 1 / 0 0 .5em / 0;
}
.jnr-footer hr {
	margin: 0;
	border: 0;
	border-bottom: 1px solid black;
	background: none;
}
.jnr-footer_logo {
	display: block;
	width: 220px;
	margin: 24px auto 0;
	line-height: 1;
}
.jnr-footer_access,
.jnr-footer_links {
	font-size: 12px;
}
.jnr-footer_access {
	margin-top: 1em;
}
.jnr-footer_access,
.jnr-footer_access .jnr-address,
.jnr-footer_access .jnr-phone {
	display: inline-block;
}
.jnr-footer_links {
	display: flex;
	justify-content: center;
	gap: .8em;
	margin-top: 24px;
	line-height: 1.2;
}
.jnr-footer_links a {
	display: inline-block;
	padding: .2em 1.2em .25em;
	border: 1px solid black;
}
@media (hover) {
	.jnr-footer_menu a:hover,
	.jnr-footer_links a:hover {
		animation: shake .4s infinite; 
	}
}
.jnr-copyright {
	margin-top: 32px;
	font-size: 8px;
	text-align: center;
}
@media (hover) {
	.jnr-footer_links a {
		transition: background .4s;
	}
	.jnr-footer_links a:hover {
		background: #f5f5f5;
		transition-duration: .1s;
	}
}
@media (max-width: 767.98px) {
	.jnr-footer_access {
		max-width: 20em;
	}
}
@media (min-width: 768px) {
	.jnr-footer_entry {
		width: 212px;
	}
	.jnr-footer_menu {
		row-gap: .8em;
		padding: 48px 64px;
	}
	.jnr-footer_logo {
		width: 294px;
		margin-top: 32px;
	}
	.jnr-footer_access,
	.jnr-footer_links {
		font-size: 16px;
	}
	.jnr-footer_access .jnr-phone {
		margin-left: 1em;
	}
	.jnr-footer_links {
		margin-top: 40px;
	}
	.jnr-copyright {
		margin-top: 40px;
		font-size: 12px;
		line-height: 1.2;
	}
}


/**
 * utility / javascript
 * -------------------------------------------------- */
.jnr-visuallyhidden {
	position: absolute;
	top: 0;
	left: 0;
	clip: rect(0 0 0 0);
	overflow: hidden;
	width: 1px;
	height: 1px;
}
@media (max-width: 767.98px) {
	.jnr-pconly2 { display: none; }
}
@media (max-width: 575.98px) {
	.jnr-pconly { display: none; }
}
@media (min-width: 576px) {
	.jnr-sponly { display: none; }
}
@media (min-width: 768px) {
	.jnr-sponly2 { display: none; }
}

*,*::before,*::after{box-sizing:border-box;}
:where(ul,ol){list-style:none;margin:0;padding:0;}
:where(img,svg,video,iframe){vertical-align:middle;}
:where(img[height],picture>img,video[height]){height:auto;}
:where(input,button,textarea,select,small){font:inherit;}
:where(body,h1,h2,h3,h4,p,figure,blockquote,dl,dd){margin:0;}
:where(img,picture,video,iframe){display:inline-block;max-width:100%;}
:where(a){color:inherit;text-decoration:inherit;text-decoration-skip-ink:auto;}
:where(button){-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;background:none;}
sub{vertical-align:baseline;}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important;}}