html {
	-webkit-text-size-adjust: 100%;
	font-size: 62.5%; /* 10px */
	font-feature-settings: "palt";
}
body, body *, body *::before, body *::after {
	outline:none;
}

/* =font
-------------------------------------------------------------- */
body {
	font-family: 'Dosis', 'Noto Sans JP', 'Hiragino Sans', 'ヒラギノ角ゴシック', "メイリオ", Meiryo, Osaka, sans-serif;
	font-optical-sizing: auto;
}

/* =root
-------------------------------------------------------------- */
:root {
	--color-black:#000;
	--color-white:#FFF;
	--color-navy:#053B7C;
	--color-sky:#3386FF;
	--color-gray:#969696;
	--color-gradiant:linear-gradient(90deg, rgba(169,207,146,1) 0%, rgba(255,211,0,1) 100%);
	--color-gradiantlight:linear-gradient(90deg, rgba(253,230,130,1) 0%, rgba(208,230,195,1) 100%);
	--color-bg:linear-gradient(0deg, rgba(169,207,146,1) 0%, rgba(255,211,0,1) 100%);
	--color-border:#888888;
	--cubic: cubic-bezier(.2, 1, .2, 1);
    --easing: ease;
    --clipmath:100%;
    --opacitymath:1;
    --scalemath:50;
    --padding-2:2.5rem;
    --padding-4:4.5rem;
    --padding-6:6rem;
    --padding-7:7.5rem;
    --padding-9:9rem;
    --padding-12:12rem;
    --padding-14:14.5rem;
    --padding-20:20rem;
    --clip:25%;
}

/* =responsive
-------------------------------------------------------------- */
.pc {
	display:none;
}
.pctablet {
	display:none;
}
.tablet {
	display:none;
}
/* =body
-------------------------------------------------------------- */
.container {
	width:100%;
	padding:5px 5px 5px 5px;
	position: relative;
}
.container::after {
	content:'';
	position: fixed;
	z-index:100;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:rgba(5,59,124,0.6);
	visibility:hidden;
	clip-path: inset(100% 0 0 0);
	transition:all .2s .2s ease;
}
.container.blind::after {
	visibility:visible;
	clip-path: inset(0 0 0 0);
}
.wrapper {
	width:100%;
}
.wrap {
	width:min(130rem, 90%);
	margin:0 auto;
}
/* =loading
-------------------------------------------------------------- */
#loading {
	position: fixed;
	top:0;
	left:0;
	z-index:4000;
	width:100%;
	height: calc(var(--vh, 1vh) * 100);
	display:flex;
	align-items:end;
	justify-content:space-between;
}
#loading .progress {
	position: absolute;
	top:0;
	left:0;
	z-index:4005;
	width:0%;
	height:100%;
	clip-path: inset(49.9% 0 49.9% 0);
	background:var(--color-navy);
	animation:progress 4s ease-in forwards;
}
#loading .block1,
#loading .block2,
#loading .block3,
#loading .block4 {
	position: relative;
	z-index:4001;
	width:25%;
	height:100%;
	background:var(--color-white);
	animation:slit 1s ease forwards;
}
#loading .block1 {
	animation-delay:3.6s;
}
#loading .block2 {
	animation-delay:3.7s;
}
#loading .block3 {
	animation-delay:3.8s;
}
#loading .block4 {
	animation-delay:3.9s;
}
@keyframes progress {
	0% {
		width:0%;
		clip-path: inset(49.9% 0 49.9% 0);
	}
	80% {
		width:100%;
		clip-path: inset(49.9% 0 49.9% 0);
	}
	83% {
		width:100%;
		clip-path: inset(49.9% 0 49.9% 0);
	}
	90% {
		width:100%;
		clip-path: inset(0 0 0 0);
		opacity:1;
	}
	99% {
		width:100%;
		clip-path: inset(0 0 0 0);
		opacity:1;
	}
	100% {
		width:100%;
		clip-path: inset(0 0 0 0);
		opacity:0;
	}
}
@keyframes slit {
	0% {
		height:100%;
		background:var(--color-white);
	}
	1% {
		height:100%;
		background:var(--color-navy);
	}
	30% {
		height:100%;
		background:var(--color-navy);
	}
	40% {
		width:24.5%;
		height:100%;
		background:var(--color-navy);
	}
	100% {
		width:24.5%;
		height:0%;
		background:var(--color-navy);
	}
}
#loading.hide {
	display:none;
}

/* =particles
-------------------------------------------------------------- */
#particles {
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    user-select:none;
    background-color: transparent;
}

/* =header
-------------------------------------------------------------- */
header {
	position:fixed;
	z-index:10;
	top:0;
	left:0;
	width:100%;
	border-top:5px solid #FFF;
}
header .logo {
    position: absolute;
    top: -1px;
    left: -1px;
    width: 20rem;
    height: 5.5rem;
    padding: 0.5rem 7rem 0 1.5rem;
    background: url(../img/bg_logo.svg) no-repeat right bottom;
    background-size: 24.5rem 5.5rem;
}

header .logo img {
	display: block;
	width:100%;
	height:auto;
}
header .entrybtn {
	position: fixed;
	bottom:1.5rem;
	left:5%;
	display:flex;
	justify-content:space-between;
	align-items:center;
	width:90%;
}
header .entrybtn a {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-content:center;
	width:50%;
	height:6rem;
	color:var(--color-white);
	font-size:2.2rem;
	font-weight:bold;
	transition:opacity .4s ease;
}
header .entrybtn a span {
	display: block;
	width:100%;
	font-size:1.2rem;
	color:var(--color-white);
	text-align: center;
	padding:5px 0 0;
}
header .entrybtn a.btn_contact {
	background:var(--color-navy);
}
header .entrybtn a.btn_entry {
	background:var(--color-sky);
}
header .entrybtn a:hover {
	opacity:0.5;
}


/* =TOP
-------------------------------------------------------------- */
.mv {
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	height: calc((var(--vh, 1vh) * 100) - 200px );
	background:#83B0DD;
	border-radius:0 2rem 0 2rem;
	position: relative;
	overflow:hidden;
}
.mv::after {
	content:'';
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:rgba(51,135,255,0.25);
	z-index:2;
}
.mv video {
	display: block;
	width:100%;
	height:100%;
	object-fit:cover;
}
.playblc {
	position: absolute;
	bottom:-1px;
	right:-1px;
	z-index:4;
	width:10.3rem;
	height:10.3rem;
	background:url(../img/bg_play.svg) no-repeat right bottom;
	background-size:cover;
}
.playblc .btn_play {
	position: absolute;
	top:3.7rem;
	right:1.9rem;
	width:4.4rem;
	height:4.4rem;
	cursor:pointer;
}
.playblc .btn_play img {
	display: block;
	width:100%;
	height:auto;
}
/* video modal */
.video-modal {
	position: fixed;
	top:0;
	left:0;
	z-index:2000;
	width:100%;
	height:100%;
	background:rgba(0,0,0,0.9);
	visibility:hidden;
	pointer-events:none;
	opacity:0;
	transition:opacity .2s ease;
}
.video-modal.active {
	visibility:visible;
	pointer-events:auto;
	opacity:1;
}
.modai_inner {
	display:flex;
	justify-content:center;
	align-items:center;
	width:100%;
	height:100%;
	position: relative;
}
.modai_inner .modal-button {
	position: absolute;
	top:3rem;
	right:3rem;
	z-index:2003;
	font-size:6rem;
	color:var(--color-white);
	cursor: pointer;
	transform:scale(1);
	transform-origin:center center;
	transition:transform .2s ease;
}
.modai_inner .modal-button:hover {
	transform:scale(1.3);
}
.modai_inner .modal_box {
	display:flex;
	justify-content:center;
	align-items:center;
	width:90%;
	height:90%;
	transform:scale(1.5);
	transition:transform .2s ease;
}
.video-modal.active .modai_inner .modal_box {
	transform:scale(1);
}
.modai_inner .modal_box video {
	display: block;
	width:100%;
	height:auto;
}
/* read */
.read {
	width:100%;
	position: relative;
	padding:0rem 0 0 0;
	overflow:hidden;
}
.read .bg_read {
	position: absolute;
	z-index:1;
	top:30rem;
	left:50%;
	width:150%;
	transform:translateX(-50%);
	clip-path: polygon(0 0, 0% 0, 0% 100%, 0% 100%);
}
.read .bg_read.active {
	animation:wave 1s linear forwards;
}
@keyframes wave {
	0% {
		clip-path: polygon(0 0, 0% 0, 0% 100%, 0% 100%);
	}
	10% {
		clip-path: polygon(0 0, 0% 0, 15% 100%, 0% 100%);
	}
	30% {
		clip-path: polygon(0 0, 40% 0, 10% 100%, 0% 100%);
	}
	50% {
		clip-path: polygon(0 0, 72% 0, 10% 100%, 0% 100%);
	}
	80% {
		clip-path: polygon(0 0, 72% 0, 85% 100%, 0% 100%);
	}
	100% {
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
	}
}
.read .bg_read img {
	display: block;
	width:100%;
	height:auto;
}
.read .read_wrap {
	position: relative;
	z-index:2;
	width:85%;
	margin:2rem auto 0;
}
.read .read_wrap h2 {
	opacity:0;
	transform:translateY(15px);
}
.read.active .read_wrap h2 {
	opacity:1;
	transform:translateY(0);
	transition:opacity 0.3s ease, transform 0.5s ease-in-out;
}
.read .read_wrap .read_txt {
	padding:5rem 2rem;
	font-size:1.6rem;
	font-weight:500;
	line-height:2em;
	color:var(--color-navy);
}
.read .read_txt span {
	display: block;
	opacity:0;
	transform:translateY(15px);
	transition:opacity 0.3s ease, transform 0.5s ease-in-out;
}
.read .read_txt span.active {
	opacity:1;
	transform:translateY(0);
}
/* vmap */
.vmap {
	padding:7rem 0 0 0;
}
.vmap .vmap_title {
	margin:0 auto 2rem;
}
.vmap .vmap_title h3 {
	display:block;
	font-size:3rem;
	font-weight:700;
	color:var(--color-navy);
	text-align: center;
	position: relative;
}
.slideupshow {
	clip-path: inset(100% 0 0 0);
	transition:clip-path .4s ease;
}
.slideupshow.active {
	clip-path: inset(0 0 0 0);
}
.slideupshow span.cover {
	position: relative;
}
.slideupshow span.cover::after {
	content:'';
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:var(--color-navy);
	clip-path: inset(0 0 0 0);
	transition:clip-path .4s .4s var(--easing);
}
.slideupshow.active span.cover::after {
	clip-path: inset(0 0 100% 0);
}
.vmap_box {
	width:100%;
	height: calc((var(--vh, 1vh) * 100) - 100px);
	overflow:hidden;
	position: relative;
	margin:0 0 15px 0;
}
.vmap_box .vmap_wrap::after {
	content:'';
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:rgba(5,59,124,0.6);
}
.vmap_box .vmap_wrap {
	width:100%;
	height:100%;
	display:flex;
	justify-content:center;
	align-items:center;
	clip-path: inset(var(--clip) var(--clip) var(--clip) var(--clip));
}
.vmap_box.vmap_box1 .vmap_wrap {
	background:url(../img/vmap1.jpg) no-repeat center center;
	background-size:cover;
}
.vmap_box.vmap_box2 .vmap_wrap {
	background:url(../img/vmap2.jpg) no-repeat center center;
	background-size:cover;
}
.vmap_box.vmap_box3 .vmap_wrap {
	background:url(../img/vmap3.jpg) no-repeat center center;
	background-size:cover;
}
.vmap_contens {
	width:100%;
	height:100%;
	position: relative;
	z-index:5;
	display:flex;
	justify-content:center;
	align-items:center;
}
.vmap_contens h4 {
	position: absolute;
	top:1rem;
	right:0;
	width:100%;
	display:flex;
	justify-content:flex-end;
	align-items:end;
}
.vmap_contens h4 .en {
	font-size:2.4rem;
	font-weight:700;
	color:var(--color-white);
}
.vmap_contens h4 .jp {
	font-size:1.2rem;
	font-weight:700;
	color:var(--color-white);
	padding:0 2rem 0.2rem 0.5rem;

}
.vmap_image {
	display:flex;
	justify-content:center;
	align-items:center;
	margin:9% 0 0 0;
	width:auto;
	height:85%;
	position: relative;
}
.vmap_image img {
	display: block;
	width:auto;
	height:100%;
	max-height:48rem;
}
.vmap_image .vmap_image_2,
.vmap_image .vmap_image_3,
.vmap_image .vmap_image_4,
.vmap_image .vmap_image_5,
.vmap_image .vmap_image_6,
.vmap_image .vmap_image_7,
.vmap_image .vmap_image_8,
.vmap_image .vmap_image_9,
.vmap_image .vmap_image_10 {
	position: absolute;
	top:0;
	left:0;
}
.vmap_box h4,
.vmap_box .vmap_image_1,
.vmap_image .vmap_image_2,
.vmap_image .vmap_image_3 {
	opacity:0;
}
.vmap_image .vmap_image_box {
	width:auto;
	height:100%;
	display:flex;
	justify-content:center;
	align-items:center;
} 
.vmap_box h4 {
	        transition: all .4s ease;
	clip-path: inset(0 100% 0 0);
}
.vmap_box.vmap_box1 .vmap_image_1 {
	        transition: all 1s .3s ease;
	clip-path: inset(0 100% 0 0);
}
.vmap_box.vmap_box1 .vmap_image_2 {
	        transition: all 1s .6s ease;
	clip-path: inset(0 0 100% 0);
}
.vmap_box.vmap_box1 .vmap_image_3 {
	        transition: all 1s .9s ease;
	clip-path: inset(0 0 0 100%);
}

.vmap_box.vmap_box2 .vmap_image_1 {
	        transition: all 1s .3s ease;
	clip-path: inset(0 0 100% 0);
}
.vmap_box.vmap_box2 .vmap_image_2 {
	        transition: all 1s .6s ease;
	clip-path: inset(0 0 100% 0);
}
.vmap_box.vmap_box2 .vmap_image_3 {
	        transition: all 1s .9s ease;
	clip-path: inset(0 0 100% 0);
}
.vmap_box.vmap_box2 .vmap_image_4 {
	        transition: all 1s 1.2s ease;
	clip-path: inset(0 100% 0 0);
}

.vmap_box.vmap_box3 .vmap_image_1 {
	        transition: all .6s .3s ease;
	clip-path: inset(100% 0 0 0);
}
.vmap_box.vmap_box3 .vmap_image_2 {
	        transition: all 1s .5s ease;
	clip-path: inset(0 100% 0 0);
}
.vmap_box.vmap_box3 .vmap_image_3 {
	        transition: all 1s .6s ease;
	clip-path: inset(0 100% 0 0);
}
.vmap_box.vmap_box3 .vmap_image_4 {
	        transition: all 1s .7s ease;
	clip-path: inset(0 100% 0 0);
}
.vmap_box.vmap_box3 .vmap_image_5 {
	        transition: all 1s .8s ease;
	clip-path: inset(0 100% 0 0);
}
.vmap_box.vmap_box3 .vmap_image_6 {
	        transition: all 1s .9s ease;
	clip-path: inset(0 0 0 100%);
}
.vmap_box.vmap_box3 .vmap_image_7 {
	        transition: all 1s 1s ease;
	clip-path: inset(0 0 0 100%);
}
.vmap_box.vmap_box3 .vmap_image_8 {
	        transition: all 1s 1.1s ease;
	clip-path: inset(0 0 0 100%);
}
.vmap_box.vmap_box3 .vmap_image_9 {
	        transition: all 1s 1.2s ease;
	clip-path: inset(0 0 0 100%);
}
.vmap_box.vmap_box3 .vmap_image_10 {
	        transition: all 1s 1.3s ease;
	clip-path: inset(0 100% 0 0);
}

.vmap_box.active h4,
.vmap_box.active .vmap_image_1,
.vmap_box.active .vmap_image_2,
.vmap_box.active .vmap_image_3,
.vmap_box.active .vmap_image_4,
.vmap_box.active .vmap_image_5,
.vmap_box.active .vmap_image_6,
.vmap_box.active .vmap_image_7,
.vmap_box.active .vmap_image_8,
.vmap_box.active .vmap_image_9,
.vmap_box.active .vmap_image_10 {
	opacity:1;
	clip-path: inset(0 0 0 0);
}

@media screen and (max-width:1450px) {
	.vmap_box h4 {
		padding:0.5rem 0 0 0;
	}
}

/* interview */
.interview {
	min-height:100vh;
	padding:7rem 0 0 0;
}
.interview .interview_title {
	margin:0 auto 2rem;
}
.interview .interview_title h3 {
	display:block;
	font-size:3rem;
	font-weight:700;
	color:var(--color-navy);
	text-align: center;
	position: relative;
}
.interview .int_grid {
	width:100%;
	margin:0 auto;
	display:grid;
	grid-template-columns:repeat(1,1fr);
	grid-column-gap:30px;
	grid-row-gap:20px;
}
.interview .int_grid .tab_button {
	display: block;
	width:100%;
	height:100%;
	position: relative;
	clip-path: inset(0 0 0 0);
	transition:clip-path .3s ease;
}
.interview .int_grid .tab_button.active {
	clip-path: inset(100% 0 0 0);
}
.interview .int_grid .staff {
	width:100%;
	height:50vh;
	min-height:350px;
	overflow:hidden;
	border-radius:2rem;
	position: relative;
}
.interview .int_grid .tab_button::after {
	content:'';
	position: absolute;
	z-index:1;
	bottom:0;
	left:0;
	width:100%;
	height:50%;
	background: linear-gradient(0deg, rgba(5,59,124,1) 0%, rgba(255,255,255,0) 100%);
}
.interview .int_grid .staff .thumb {
	width:100%;
	height:100%;
	display:flex;
	justify-content:center;
	align-items:center;
	overflow:hidden;
}
.interview .int_grid .staff .thumb img {
	width:auto;
	height:100%;
}
.interview .int_grid .staff .staff_job {
	position: absolute;
	top:0;
	right:0;
	padding:1rem 2rem;
	background:var(--color-navy);
	color:var(--color-white);
	font-size:1.6rem;
}
.interview .int_grid .staff .namebox {
	position: absolute;
	z-index:2;
	bottom:0;
	left:0;
	width:100%;
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-start;
	align-items:end;
	padding:3rem;
}
.interview .int_grid .staff .namebox .year {
	width:100%;
	font-size:1.6rem;
	color:var(--color-white);
}
.interview .int_grid .staff .namebox .name {
	width:100%;
	font-size:2.6rem;
	font-weight:700;
	color:var(--color-white);
	padding:2rem 0 1rem;
}
.interview .int_grid .staff .namebox .kana {
	width:100%;
	font-size:2rem;
	font-weight:400;
	color:var(--color-white);
}
.modal_contents {
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index:110;
	display:none;
	justify-content:center;
	align-items:center;
}
.modal_contents .inner {
	width:90%;
	max-width:120rem;
	height:80vh;
	position: relative;
}
.modal_contents .inner .inner_wrap {
	width:100%;
	height:100%;
	overflow-y:auto;
	position: relative;
	background:var(--color-white);
	border-radius:1rem;
	box-shadow:0 0 15px rgba(0,0,0,0.2);
	clip-path: inset(0 0 100% 0);
}
.modal_contents.show .inner .inner_wrap {
	clip-path: inset(0 0 100% 0);
	animation:modal .3s .4s forwards;
}
@keyframes modal {
	0% {
		clip-path: inset(0 0 100% 0);
	}
	100% {
		clip-path: inset(0 0 0 0);
	}
}
.modal_contents .hide {
	position: absolute;
	z-index:111;
	top:-1.8rem;
	right:-1.8rem;
	width:3.6rem;
	height:3.6rem;
	border-radius:50%;
	display:flex;
	justify-content:center;
	align-items:center;
	font-size:2rem;
	color:var(--color-navy);
	background:var(--color-white);
	cursor: pointer;
	clip-path: inset(0 0 100% 0);
}
.modal_contents.show .hide {
	clip-path: inset(0 0 100% 0);
	animation:modal .3s .4s forwards;
}
.modal_contents .inner_wrap::-webkit-scrollbar {
	background: transparent;
	width: 5px;
	height: 5px;
	border-radius: 6px;
}
.modal_contents .inner_wrap::-webkit-scrollbar-thumb {
	background-color: #777;
	border-radius: 6px;
}
.modal_head {
	position: relative;
}
.modal_head .modal_thumb {
	width:60%;
	height:30vh;
	display:flex;
	justify-content:center;
	align-items:center;
	overflow:hidden;
	border-radius:0 0 1rem 0;
}
.modal_head .modal_thumb img {
	display: block;
	width:100%;
	height:100%;
	object-fit:cover;
}
.modal_head .modal_txt {
	position: absolute;
	left:50%;
	bottom:0;
	width:50%;
	padding:0 0 3rem 0;
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-start;
	align-items:end;
}
.modal_head .modal_txt .katagaki {
	font-size:1rem;
	font-weight:500;
	padding:0 0 2rem 0;
}
.modal_head .modal_txt .name {
	font-size:2rem;
	font-weight:600;
	padding:0 0 2rem 0;
}
.modal_head .modal_txt .kana {
	display:inline-block;
	font-size:1.6rem;
	font-weight:400;
	margin:1rem 0 0 0;
}
.modal_head .modal_txt .year {
	font-size:1.2rem;
	font-weight:400;
}
.modal_head .modal_txt span {
	color:var(--color-white);
	background:var(--color-navy);
	padding:0.5rem 1.5rem;
}
.modal_wrapper {
	padding:2rem 7.5% 0;
}
.lrbox {
	display:flex;
	justify-content:space-between;
	align-items:start;
	flex-wrap:wrap;
	padding:0 0 6rem 0;
}
.lrbox .txtbox,
.lrbox .imgbox {
	width:100%;
}
.lrbox .txtbox {
	order:1;
}
.lrbox .txtbox h3 {
	display: block;
	font-size:2.4rem;
	font-weight:700;
	padding:3rem 0 1rem;
	color:var(--color-navy);
	border-bottom:1px solid var(--color-navy);
}
.lrbox .txtbox h4 {
	font-size:1.8rem;
	font-weight:700;
	color:var(--color-navy);
	padding:3rem 0 0 0;
}
.lrbox .txtbox p {
	font-size:1.5rem;
	line-height:1.8em;
	color:var(--color-navy);
	padding:3rem 0 0 0;
}
.lrbox .imgbox {
	order:0;
	aspect-ratio: 1 / 1;
	display:flex;
	justify-content:center;
	align-items:center;
	border-radius:2rem;
	overflow:hidden;
}
.lrbox .imgbox img {
	display: block;
	width:auto;
	height:100%;
}

/* message */
.message {
	min-height:100vh;
	padding:7rem 0 0 0;
}
.message .message_title {
	margin:0 auto 2rem;
}
.message .message_title h3 {
	display:block;
	font-size:3rem;
	font-weight:700;
	color:var(--color-navy);
	text-align: center;
	position: relative;
}
.message_thumb {
	width:100%;
	height:50vh;
	background:url(../img/ceo.jpg) no-repeat center center;
	background-size:cover;
	margin:0 0 5rem 0;
}
.message_thumb .message_sign {
	width:60vw;
	height:100%;
	padding:0 0 0 7.5%;
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-start;
	align-content:center;
}
.message_thumb .message_sign img {
	display: block;
	width:100%;
	height:auto;
}
.message_thumb .message_sign .sign1 {
	width:100%;
	clip-path: inset(0 100% 0 0);
	transition:clip-path .5s ease;
}
.message_thumb .message_sign .sign2 {
	width:8rem;
	margin:3rem 0 0 0;
	clip-path: inset(0 100% 0 0);
	transition:clip-path .5s .5s ease;
}
.message_thumb .message_sign.active .sign1,
.message_thumb .message_sign.active .sign2 {
	clip-path: inset(0 0 0 0);
}
.message .lrbox {
	opacity:0;
	transform:translateY(30px);
	transition:transform .5s ease, opacity .5s ease;
}
.message .lrbox.active {
	opacity:1;
	transform:translateY(0);
}

/* JOB CONTENTS */
.job_contents {
	padding:3rem 0 0 0;
}
.job_contents .job_title {
	margin:0 auto 2rem;
}
.job_contents .job_title h3 {
	display:block;
	font-size:3rem;
	font-weight:700;
	color:var(--color-navy);
	text-align: center;
	position: relative;
}
#bg_job {
	width:100%;
}
.job_inner {
	width:90%;
	margin:0 auto;
}
.job_inner .job_box {
	display:flex;
	justify-content:space-between;
	align-items:start;
	flex-wrap:wrap;
	padding:2rem 0;
}
.job_inner .job_box .job_left {
	width:100%;
	padding:2rem 0 0 0;
}
.job_inner .job_box .job_left .num {
	font-size:4rem;
	font-weight:500;
	color:var(--color-white);
}
.job_inner .job_box .job_left .jobname {
	font-size:2.4rem;
	font-weight:700;
	color:var(--color-white);
	padding:2rem 0 2rem;
}
.job_inner .job_box .job_left .jobtxt {
	font-size:1.5rem;
	line-height:1.8em;
	font-weight:400;
	color:var(--color-white);
}
.job_right {
	width:100%;
	padding:2rem 0 0 0;
}
.job_desc {
	display:flex;
	flex-wrap:wrap;
}
.job_desc_left {
	order:1;
}
.job_desc_left h4 {
	display: block;
	font-size:2.2rem;
	font-weight:700;
	color:var(--color-white);
}
.job_desc_left p {
	font-size:1.5rem;
	font-weight:400;
	line-height:1.6em;
	color:var(--color-white);
	padding:2rem 0 0 0;
}
.job_desc_right {
	order:0;
	width:100%;
	height:20rem;
	display:flex;
	justify-content:center;
	align-items:center;
	border-radius:2rem;
	overflow:hidden;
	margin:0 0 3rem 0;
}
.job_desc_right img {
	display: block;
	width:100%;
	height:100%;
	object-fit:cover;
}
.job_time {
	border-top:1px solid var(--color-white);
	padding:5rem 0;
	margin:5rem auto 0;
}
.job_time h4 {
	display: block;
	font-size:2.2rem;
	font-weight:700;
	color:var(--color-white);
}
.job_timeset {
	padding:2rem 0;
	position: relative;
}
.job_timeset::after {
	content:'';
	position: absolute;
	top:2.5rem;
	left:2.5rem;
	width:1px;
	height:100%;
	background:#84DCF7;
}
.job_timeset_wrap {
	width:calc(100% - 5rem);
	margin:0 0 0 5rem;
	padding:1.5rem 0;
}
.job_timeset_wrap .time {
	font-size:3.4rem;
	font-weight:600;
	color:#84DCF7;
	position: relative;
}
.job_timeset_wrap .time::after {
	content:'';
	position: absolute;
	top:50%;
	left:-3rem;
	width:1rem;
	height:1rem;
	margin:-0.5rem 0 0 0;
	background:#84DCF7;
	border-radius:50%;
}
.job_timeset_wrap .todo {
	font-size:1.8rem;
	font-weight:700;
	line-height:1.5em;
	color:var(--color-white);
	padding:1.5rem 0;
}
.job_timeset_wrap .todo_txt {
	font-size:1.2rem;
	font-weight:400;
	line-height:1.5em;
	color:var(--color-white);
}

/* ENTRY */
.entry {
	padding:7rem 0 0 0;
}
.entry .entry_title {
	margin:0 auto 2rem;
}
.entry .entry_title h3 {
	display:block;
	font-size:3rem;
	font-weight:700;
	color:var(--color-navy);
	text-align: center;
	position: relative;
}
.entry .txt {
	font-size:1.6rem;
	font-weight:600;
	color:var(--color-navy);
	text-align: center;
}
.entry .bnr {
	max-width:100rem;
	width:80%;
	margin:0 auto;
	padding:5rem 0;
}
.entry .bnr img {
	display: block;
	width:100%;
	height:auto;
}
.entry .bnr a {
	display: block;
}
.entry .bnr a img {
	transition:opacity .4s ease;
}
.entry .bnr a:hover img {
	opacity:0.5;
}

footer {
	font-size:1.4rem;
	color:var(--color-navy);
	padding:3rem 0 120px;
	text-align: center;
}