@charset "UTF-8";
/*-------------------------------------------------------------------

	Init

-------------------------------------------------------------------*/
html {
	font-size: 20px;
}
body {
	color: #333;
	background-color: #ffffff;
	background: url(../img/common/background.jpg) center top;
	background-size: 100% auto;
	font-size: 0.9rem;
	line-height: 1.8;
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	font-weight: normal;
	letter-spacing: 0.02em;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

@media all and (-ms-high-contrast: none) {
	/*IE 11*/
	body {
		font-family: "メイリオ", Meiryo, sans-serif !important;
	}
}
h1, h2, h3, h4, h5, h6, p, ul, ol, dl, dt, dd, figure {
	margin: 0;
	padding: 0;
}

ul li {
	list-style: none;
	margin: 0;
	padding: 0;
}

h1, h2, h3, h4, h5, h6 {
	line-height: 1.4;
	font-size: 1em;
	font-weight: normal;
}

address {
	font-style: inherit;
}

a {
	color: inherit;
	text-decoration: underline;
}
a:hover {
	text-decoration: none;
}

p {
	margin-bottom: 1.5em;
}

.clearfix::after {
	content: "";
	display: block;
	clear: both;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

img[src$=".svg"] {
	width: 100%;
	height: auto;
}

.photo_svg{
	width: 100%;
	height: auto;
}

table {
	width: 100%;
	border-collapse: collapse;
}

hr {
	border: none;
	height: 1px;
	background: #000000;
	margin-bottom: 1em;
}

div#ui-datepicker-div {
	z-index: 100 !important;
}

* {
	box-sizing: border-box;
}

/* SP */
@media screen and (max-width: 940px) {
	html {
		font-size: 2.666667vw; /* ウィンドウ幅750px時に20px */
	}
	body {
		font-size: 1.4rem; /* ウィンドウ幅750px時に28px */
	}
	img{
		max-width: none;
		width: 100%;
		height: auto;
	}
}

/*-------------------------------------------------------------------

	Common parts

-------------------------------------------------------------------*/
.contents_w {
	box-sizing: content-box;
	max-width: 1200px;
	margin: 0 auto;
	overflow: hidden;
	padding: 0 5vw;
	position: relative;
}
.contents_w.contents_w--w1000 {
	max-width: 1000px;
}
/* SP */
@media screen and (max-width: 940px) {
	.contents_w {
		padding: 0 5.3333vw;
	}
}

/* -------------------------------------------- */
/* font-family */
.montserrat{
	font-family: 'Montserrat', sans-serif;
	letter-spacing: 0.02em;
	line-height: 1.2;
}
.notosans{
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: 0.02em;
	line-height: 1.3;
}

/* -------------------------------------------- */
/* title */
.title_A{
	font-size: 4rem;
	margin-bottom: 1rem;
}
.title_B span{
	display: block;
}
.title_B .en{
	font-size: 3rem;
}
.title_B .jp{
	font-size: 1.8rem;
	margin: 0.8rem 0 4rem;
}
.title_C .en{
	font-size: 2.4rem;
}
.title_D{
	font-size: 1.3rem;
	line-height: 1.5;
	margin-bottom: 1.7rem;
	padding: 1rem 0 1rem 1.5rem;
	position: relative;
}
.title_D::before{
	background: #333;
	border-radius: 0.3rem;
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 0.3rem;
	height: 100%;
}

/* SP */
@media screen and (max-width: 940px) {
	.title_A{
		font-size: 4.5rem;
	}
	.title_B .en{
		font-size: 3.3rem;
	}
	.title_B .jp{
		font-size: 2rem;
		margin: 0.6rem 0 3.5rem;
	}	
	.title_C .en{
		font-size: 2.7rem;
	}
	.title_D{
		font-size: 1.6rem;
		margin-bottom: 1.3rem;
	}
}

/* -------------------------------------------- */
/* linkmark */
.linkmark_blank::after,
.linkmark_entry::before{
	font-size: 0.7rem;
	font-family: "Font Awesome 5 Free";
	font-style: normal;
	font-weight: 400;
	line-height: 1;
	margin-left: 0.2rem;
	content: '';
}
.linkmark_entry::before{
	font-size: 1.1rem;
	font-weight: 900;
	margin-left: 0;
	margin-right: 0.5rem;
	content: '';
}
/* SP */
@media screen and (max-width: 940px) {
	.linkmark_blank::after{
		font-size: 1.1rem;
	}
	.linkmark_entry::before{
		font-size: 1.5rem;
	}
}

/* -------------------------------------------- */
/* btn */
/* btn_arrow_borderbottom & btn_arrow_grow & btn_arrow_bgblue */
.btn_arrow_borderbottom,
.btn_arrow_grow,
.btn_arrow_bgblue{
	border-bottom: 2px solid #333;
	display: block;
	font-size: 1rem;
	margin-top: 1rem;
	padding: 0.7rem 3rem 0.7rem 0;
	position: relative;
	text-decoration: none;
	width: fit-content;
}
.btn_arrow_borderbottom .inner
.btn_arrow_grow .inner,
.btn_arrow_bgblue .inner{
	position: relative;
}
.btn_arrow_borderbottom:hover::before,
.btn_arrow_grow:hover::before{
	content: "";
    position: absolute;
    right:calc(50% - 1.5rem);
    top:calc(50% - 1.5rem);
    border: 1px solid #333;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    animation:1s circleanime2 forwards;
	opacity:1;
	transform: scale(0);
	z-index: 0;
}
@keyframes circleanime2{
	0%{
	  transform: scale(0);
	}
	100%{
		transform:scale(2);
		opacity: 0;
	}
}
.btn_arrow_borderbottom::after,
.btn_arrow_grow::after,
.btn_arrow_bgblue::after{
	content: "";
	background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 29 15"><path fill="%23333333" d="M22.143,14.403 L28.129,8.511 C28.366,8.278 28.499,7.961 28.499,7.630 C28.499,7.299 28.366,6.982 28.129,6.749 L22.143,0.857 C21.655,0.376 20.866,0.380 20.383,0.867 C19.900,1.353 19.904,2.137 20.392,2.618 L24.226,6.392 L2.10,6.392 C1.323,6.392 0.765,6.946 0.765,7.630 C0.765,8.314 1.323,8.869 2.10,8.869 L24.226,8.869 L20.392,12.642 C19.904,13.122 19.900,13.907 20.383,14.393 C20.866,14.880 21.655,14.884 22.143,14.403 Z" /></svg>') no-repeat center center;
	background-size: contain;
	display: block;
	width: 1.5rem;
	height: 1.5rem;
	position: absolute;
	right: 0;
	top: calc(50% - 0.75rem);
}
.btn_arrow_borderbottom:hover::after,
.btn_arrow_grow:hover::after,
.btn_arrow_bgblue:hover::after{
	animation: btn_arrow_keyframe cubic-bezier(0.075, 0.82,  0.165, 1) infinite 3s;
}
@keyframes btn_arrow_keyframe {
	0%{
		transform: translateX(-1rem);
	}
	100%{
		transform: translateX(1em);
	}
}

/* SP */
@media screen and (max-width: 940px) {
	.btn_arrow_borderbottom,
	.btn_arrow_grow,
	.btn_arrow_bgblue{
		border-bottom-width: 0.1rem;
		font-size: 1.5rem;
		margin-top: 1.5rem;
		padding-right: 3.5rem;
	}
	.btn_arrow_borderbottom{
		margin-left: auto;
	}
	.btn_arrow_borderbottom::after,
	.btn_arrow_grow::after,
	.btn_arrow_bgblue::after{
		width: 2rem;
		height: 2rem;
		top: calc(50% - 1rem);
	}
}

/* -------------------------------------------- */
/* .btn_arrow_grow */
.btn_arrow_grow{
	background: #fff;
	border: none;
	border-radius: 0.5rem;
	box-shadow: 0px 0px 1rem 0px rgba(51, 51, 51, 0.1);
	font-size: 0.8rem;
	margin: 2.5rem auto 0;
    padding: 1.3rem 5rem 1.3rem 3rem;
}
.btn_arrow_grow::before{
	border-radius: 0.5rem;
}
.btn_arrow_grow::after{
	right: 2rem;
}

/* SP */
@media screen and (max-width: 940px) {
	.btn_arrow_grow{
		font-size: 1.1rem;
		margin: 3.5rem auto 0;
		padding: 2rem 5rem 2rem 3rem;
		min-width: 68vw;
	}
	.btn_arrow_grow::before{
		border-radius: 0.5rem;
	}
}

/* -------------------------------------------- */
/* btn_arrow_bgblue */
.btn_arrow_bgblue{
	background: #014099;
	border: none;
	border-radius: 0.5rem;
	color: #fff;
	display: flex;
	font-size: 0.9rem;
	flex-direction: column;
	padding: 1rem;
	min-height: 8rem;
	width: 100%;
	text-align: center;
}
.btn_arrow_bgblue .image{
	position: relative;
	margin-top: -2rem;
	z-index: 1;
}
.btn_arrow_bgblue .inner{
	flex: 1;
    display: flex;
	align-items: center;
    justify-content: center;
	padding: 1rem 0;
	position: relative;
}
.btn_arrow_bgblue::after{
	margin: auto;
	position: relative;
	background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 29 15"><path fill="%23ffffff" d="M22.143,14.403 L28.129,8.511 C28.366,8.278 28.499,7.961 28.499,7.630 C28.499,7.299 28.366,6.982 28.129,6.749 L22.143,0.857 C21.655,0.376 20.866,0.380 20.383,0.867 C19.900,1.353 19.904,2.137 20.392,2.618 L24.226,6.392 L2.10,6.392 C1.323,6.392 0.765,6.946 0.765,7.630 C0.765,8.314 1.323,8.869 2.10,8.869 L24.226,8.869 L20.392,12.642 C19.904,13.122 19.900,13.907 20.383,14.393 C20.866,14.880 21.655,14.884 22.143,14.403 Z" /></svg>') no-repeat center center;
	top: 0;
}
.btn_arrow_bgblue:hover .image{
	animation: btn_imagejump_keyframe infinite 2s;
}
@keyframes btn_imagejump_keyframe {
	0%{
		transform: rotate(-10deg);
	}
	5%{
		transform: rotate(10deg);
	}
	10%{
		transform: rotate(-10deg);
	}
	15%{
		transform: rotate(10deg);
	}
	20%{
		transform: translateY(0);
	}
	100%{
		transform: translateY(0);
	}
}
.btn_arrow_bgblue > .borders{
	position: absolute;
	width:100%;
	height:100%;
	top: 0;
	left: 0;
}
.btn_arrow_bgblue > .borders .item{
	opacity: 0;
	position: absolute;
	width:1rem;
	height:1rem;
	transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1);
}
.btn_arrow_bgblue > .borders .item:nth-of-type(1){
	top:0;
	left:0;
	border-top:0.25rem solid #3466ad;
	border-radius: 0.5rem 0.5rem 0 0;
}
.btn_arrow_bgblue > .borders .item:nth-of-type(2){
	top:0;
	right:0;
	border-right:0.25rem solid #3466ad;
	border-radius: 0 0.5rem 0.5rem 0;
}
.btn_arrow_bgblue > .borders .item:nth-of-type(3){
	bottom:0;
	right:0;
	border-bottom:0.25rem solid #3466ad;
	border-radius: 0 0 0.5rem 0.5rem;
}
.btn_arrow_bgblue > .borders .item:nth-of-type(4){
	bottom:0;
	left:0;
	border-left:0.25rem solid #3466ad;
	border-radius: 0.5rem 0 0 0.5rem;
}
.btn_arrow_bgblue:hover>.borders .item{
	opacity: 1;
}
.btn_arrow_bgblue:hover .borders .item:nth-of-type(1),
.btn_arrow_bgblue:hover .borders .item:nth-of-type(3){
	width:calc(100%);
}
.btn_arrow_bgblue:hover .borders .item:nth-of-type(2),
.btn_arrow_bgblue:hover .borders .item:nth-of-type(4){
	height:calc(100%);
}

/* SP */
@media screen and (max-width: 940px) {
	.btn_arrow_bgblue{
		font-size: 1.3rem;
		padding: 1rem;
		min-height: 33.3333vw;
	}	
}

/* -------------------------------------------- */
/* hexagon_whiteshadow & hexagon_noshadow */
.hexagon_whiteshadow,
.hexagon_noshadow{
	position: absolute;
	height: 0;
	top: 0;
}
.hexagon_whiteshadow::after,
.hexagon_noshadow .whiteblock::after{
	content: "";
	background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 579 663"><path fill="%23ffffff" d="M279.501,3.379 C285.689,0.193 293.313,0.193 299.501,3.379 L568.952,158.946 C575.140,162.519 578.952,169.122 578.952,176.267 L578.952,487.403 C578.952,494.548 575.140,501.151 568.952,504.723 L299.501,660.291 C293.313,663.864 285.689,663.864 279.501,660.291 L10.49,504.723 C3.861,501.151 0.49,494.548 0.49,487.403 L0.49,176.267 C0.49,169.122 3.861,162.519 10.49,158.946 L279.501,3.379 Z" /></svg>') no-repeat center center;
	background-size: contain;
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	right: -7.5%;
	bottom: -6.4%;
	z-index: 1;
	opacity: 0.7;
}
.hexagon_whiteshadow svg,
.hexagon_noshadow .whiteblock{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}
.hexagon_noshadow .whiteblock::after{
	right: 0;
	bottom: 0;
	opacity: 1;
}

/* -------------------------------------------- */
/* block */
/* block_bgwhite */
.block_bgwhite{
	background: #fff;
	border-radius: 0.5rem;
	padding: 7%;
}

/* block_bgwhite_shadow */
.block_bgwhite_shadow{
	background: #fff;
	border-radius: 0.5rem;
	box-shadow: 0px 0px 1rem 0px rgba(0, 0, 0, 0.1);
}

/* SP */
@media screen and (max-width: 940px) {
	.block_bgwhite{
		padding: 6.6667%;
	}
}


/* -------------------------------------------- */
/* move */
.move_updown{
	animation: move_updown_keyframe cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite alternate 3s;
}
@keyframes move_updown_keyframe{
	0% {
   		transform: translate(0,0);
	}
	100% {
		transform: translate(0, 5%);
	}
}

.move_leftright{
	animation: move_leftright_keyframe cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite alternate 3s;
}
@keyframes move_leftright_keyframe{
	0% {
   		transform: translate(0,0);
	}
	100% {
		transform: translate(25%, 0);
	}
}

/*-------------------------------------------------------------------

	Animation

-------------------------------------------------------------------*/
.fadein_left,
.fadein_right,
.fadein_up,
.fadein_down{
	opacity: 0;
	transition: all 3s cubic-bezier(0.19, 1, 0.22, 1);
}
.fadein_left{
	transform: translateX(-40vw);
}
.fadein_right{
	transform: translateX(40vw);
}
.fadein_up{
	transform: translateY(10vw);
}
.fadein_down{
	transform: translateY(-10vw);
}
.fadein_left.is_inview,
.fadein_right.is_inview,
.fadein_up.is_inview,
.fadein_down.is_inview{
	opacity: 1;
	transform: translate(0, 0);
}

/*-------------------------------------------------------------------

	Pagechange

-------------------------------------------------------------------*/
/* pagechange_come */
.pagechange_come{
	overflow:hidden;
	width:100%;
	height:100vh;
	position: fixed;
	top: 0;
	left: 0;
	background: #fff;
	z-index: 100;
}
.logo-svg{
	position: fixed;
	top: 0;
	left: calc(((1920 / 1080 * 100vh) - 100vw) / 2 * -1);
	width: auto;
	height: 100vh;
}
.logo_parts{
	fill: #004098;
}
#logo-movetriangles{
	display: none;
}

/* pagechange_go */
.logo-svg{
	position: fixed;
	top: 0;
	left: calc(((1920 / 1080 * 100vh) - 100vw) / 2 * -1);
	width: auto;
	height: 100vh;
	z-index: 100;
}
.pagechange_go .logo-svg{
	display: none;
}
.logo_parts{
	fill: #004098;
}
.pagechange_go{
	overflow:hidden;
	width:100%;
	height:100vh;
	position: fixed;
	top: 0;
	left: 0;
	display: none;
	z-index: 100;
}
.pagechange_go #js-svg{
	width:auto;
	height:100vh;
}
@media (min-aspect-ratio: 16/9) {
	.pagechange_go #js-svg{
		width:100%;
		object-fit: cover;
	}	
}
#path_1{
	fill:#C7CEFF;
}
#path_2{
	fill:#FEDCFF;
}
#path_3{
	fill:#ffffff;
}

/*-------------------------------------------------------------------

	bg_gradation

-------------------------------------------------------------------*/
#webgl-canvas {
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
}

/*-------------------------------------------------------------------

	header

-------------------------------------------------------------------*/
.header_logo {
	position: fixed;
	left: 6.25vw;
	top: 1.5rem;
	z-index: 50;
	width: 308px;
}
.header_logo .color_white{
	display: none;
}
.header_logo.active .color_white{
	display: block;
}
.header_logo.active .color_black{
	display: none;
}

/* btn */
.header_hamburger_btn{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 3.6rem;
	height: 3.6rem;
	position: fixed;
	right: 6.25vw;
	top: 1rem;
	z-index: 50;
}
/* circle */
.header_hamburger_btn::before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #333333;
	border-radius: 50%;
	cursor: pointer;
	transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}
.header_hamburger_btn:hover::before{
	transform: scale(1.1);
}
/* border */
.header_hamburger_btn span{
	background: #fff;
	border-radius: 0.2rem;
	display: block;
	width: 1.5rem;
	height: 0.2rem;
	position: relative;
}
.header_hamburger_btn .line1{
	top: -0.4rem;
}
.header_hamburger_btn .line3{
	top: 0.4rem;
}
/* active */
.header_hamburger_btn.active .line1{
	transform-origin: left top;
	animation: hamburger_line1_keyframe forwards 0.5s;
}
.header_hamburger_btn.active .line2{
	transform-origin: right top;
	animation: hamburger_line2_keyframe forwards 0.5s;
}
.header_hamburger_btn.active .line3{
	transform-origin: left top;
	animation: hamburger_line3_keyframe forwards 0.5s;
}
/* return */
.header_hamburger_btn.return .line1{
	transform-origin: left top;
	animation: hamburger_line1_keyframe reverse backwards 0.5s;
}
.header_hamburger_btn.return .line2{
	transform-origin: right top;
	animation: hamburger_line2_keyframe reverse backwards 0.5s;
}
.header_hamburger_btn.return .line3{
	transform-origin: left top;
	animation: hamburger_line3_keyframe reverse backwards 0.5s;
}
/* keyframe */
@keyframes hamburger_line1_keyframe {
	0%{
		transform: scaleX(1);
	}
	50%{
		transform: scaleX(1);
	}
	65%{
		transform: scaleX(0);
	}
	70%{
		transform: translate(0.26rem,0.10rem) rotate(45deg) scaleX(0);
	}
	85%{
		transform: translate(0.26rem,0.10rem) rotate(45deg) scaleX(1);
	}
	100%{
		transform: translate(0.26rem,0.10rem) rotate(45deg) scaleX(1);
	}
}
@keyframes hamburger_line2_keyframe {
	0%{
		transform: scaleX(1);
	}
	25%{
		transform: scaleX(1);
	}
	40%{
		transform: scaleX(0);
	}
	100%{
		transform: scaleX(0);
	}
}
@keyframes hamburger_line3_keyframe {
	0%{
		transform: scaleX(1);
	}
	15%{
		transform: scaleX(0);
	}
	85%{
		transform: translate(1.35rem,-0.98rem) rotate(135deg) scaleX(0);
	}
	100%{
		transform: translate(1.35rem,-0.98rem) rotate(135deg) scaleX(1);
	}
}

/* content */
.header_hamburger_content{
	overflow:hidden;
	width:100%;
	height:100vh;
	position: fixed;
	top: 0;
	left: 0;
	display: none;
	z-index: 10;
}
.header_hamburger_content.active,
.header_hamburger_content.return{
	display: block;
}
#header_hamburger_svg{
	width:auto;
	height:100vh;
	position: fixed;
	top: 0;
	left: calc(((1920 / 1080 * 100vh) - 100vw) / 2 * -1);
}
@media (min-aspect-ratio: 16/9) {
	#header_hamburger_svg{
		width:100%;
		height: auto;
		left: 0;
		object-fit: cover;
	}	
}
#hamburger_1{
	fill:#c7ceff;
}
#hamburger_2{
	fill:#fedcff;
}
#hamburger_3{
	fill:#014099;
}

.header_link{
	position: fixed;
	top: 0;
	height: 100%;
	width: 100%;
	display: none;
	padding: 150px 0;
	z-index: 10;
}
.header_link a{
	color: #fff;
	text-decoration: none;
}

/* SP */
@media screen and (max-width: 940px) {
	.header_logo {
		width: 51.3333vw;
		left: 2.6667vw;
		top: 4.2667vw;
		z-index: 51;
	}
	/* btn */
	.header_hamburger_btn{
		width: 11.4667vw;
		height: 11.4667vw;
		right: 2.6667vw;
		top: 2.6667vw;
	}
	/* border */
	.header_hamburger_btn span{
		border-radius: 1vw;
		width: 5.0667vw;
		height: 0.5333vw;
	}
	.header_hamburger_btn .line1{
		top: -1.6vw;
	}
	.header_hamburger_btn .line3{
		top: 1.6vw;
	}
	/* keyframe */
	@keyframes hamburger_line1_keyframe {
		0%{
			transform: scaleX(1);
		}
		50%{
			transform: scaleX(1);
		}
		65%{
			transform: scaleX(0);
		}
		70%{
			transform: translate(0.38rem,0.22rem) rotate(45deg) scaleX(0);
		}
		85%{
			transform: translate(0.38rem,0.22rem) rotate(45deg) scaleX(1);
		}
		100%{
			transform: translate(0.38rem,0.22rem) rotate(45deg) scaleX(1);
		}
	}
	@keyframes hamburger_line2_keyframe {
		0%{
			transform: scaleX(1);
		}
		25%{
			transform: scaleX(1);
		}
		40%{
			transform: scaleX(0);
		}
		100%{
			transform: scaleX(0);
		}
	}
	@keyframes hamburger_line3_keyframe {
		0%{
			transform: scaleX(1);
		}
		15%{
			transform: scaleX(0);
		}
		85%{
			transform: translate(1.7rem,-1.3rem) rotate(135deg) scaleX(0);
		}
		100%{
			transform: translate(1.7rem,-1.3rem) rotate(135deg) scaleX(1);
		}
	}

	/* content */
	.header_link{
		padding: 22vw 0 8vw;
	}
	.header_link .global_link{
		height: calc(100vh - 30vw);
		overflow: auto;
	}
}

/*-------------------------------------------------------------------

	footer_recruit

-------------------------------------------------------------------*/
/* footer_recruit */
#footer_recruit{
	background: #fff;
	margin-top: 200px;
	padding-bottom: 90px;
}
.page_entry_form #footer_recruit{
	display: none;
}
@media screen and (max-width: 1357px) {
	#footer_recruit{
		margin-top: 14.7384%;
		padding-bottom: 6.6323%;
	}
}
#footer_recruit .contents_w{
	overflow: visible;
}
#footer_recruit h2{
	color: #014099;
	transform: translateY(-2.5rem);
}
#footer_recruit h2 span{
	display: block;
	margin-left: auto;
	margin-right: auto;
	width: fit-content;
}
#footer_recruit .en{
	font-size: 4rem;
}
#footer_recruit .jp{
	font-size: 1.4rem;
}
#footer_recruit .btn_arrow_bgblue{
	background: url(../img/common/recruit_nurse.jpg) no-repeat center center;
	background-size: auto 100%;
	padding-top: 260px;
	height: 350px;
	width: 31.6667%;
	transition: background-size 2s cubic-bezier(0.075, 0.82,  0.165, 1);
}
#footer_recruit .btn_arrow_bgblue.doctor{
	background-image: url(../img/common/recruit_doctor.jpg);
}
#footer_recruit .btn_arrow_bgblue.director{
	background-image: url(../img/common/recruit_director.jpg);
}
#footer_recruit .btn_arrow_bgblue:hover{
	background-size: auto 110%;
}
#footer_recruit .btn_arrow_bgblue::before{
	content: "";
	position: absolute;
	border-radius: 0 0 0.5rem 0.5rem;
	background: rgba(0, 0, 0, 0.7);
	width: 100%;
	height: 110px;
	top: auto;
	left: 0;
	bottom: 0;
}
#footer_recruit .btn_arrow_bgblue:hover::before{
	background: rgba(0, 0, 0, 0.9);
}
#footer_recruit .btn_arrow_bgblue .inner{
	padding: 0 0 0.5rem;
	flex: 1;
}
@media screen and (max-width: 1125px) {
	#footer_recruit .btn_arrow_bgblue{
		padding-top: 240px;
	}	
	#footer_recruit .btn_arrow_bgblue::before{
		height: 130px;
	}
}

/* SP */
@media screen and (max-width: 940px) {
	#footer_recruit{
		margin-top: 25vw;
		padding-bottom: 16vw;
	}
	#footer_recruit h2{
		transform: translateY(-3.2rem);
	}
	#footer_recruit .en{
		font-size: 4.5rem;
	}
	#footer_recruit .jp{
		font-size: 1.7rem;
	}
	#footer_recruit .u-flex-basic{
		flex-direction: column;
		margin-top: -2.5rem;
	}
	#footer_recruit .btn_arrow_bgblue{
		background-size: 100% auto;
		padding-top: 40vw;
		height: 53.3333vw;
		width: 73.3333vw;
	}
	#footer_recruit .btn_arrow_bgblue::before{
		height: 16vw;
	}
	#footer_recruit .btn_arrow_bgblue .inner{
		padding: 0 0 0.5rem;
	}
	#footer_recruit .btn_arrow_bgblue:nth-child(2){
		margin-right: auto;
		margin-left: auto;
	}
	#footer_recruit .btn_arrow_bgblue:nth-child(3){
		margin-left: auto;
	}
}

/*-------------------------------------------------------------------

	footer

-------------------------------------------------------------------*/
/* footer */
.footer{
	background: #014099;
	line-height: 1.5;
	padding: 3.5rem 0 6rem;
	position: relative;
	overflow: hidden;
}
.footer,
.footer a{
	color: #fff;
	display: block;
	text-decoration: none;
	transition: all 0.3s;
}
.footer a:hover{
	opacity: 0.6;
}
/* footer_bnr */
.footer_bnr{
	max-width: 962px;
	margin: 0 auto 2rem;
}
/* footer_corporate */
.footer_corporate{
	margin-top: 3.5rem;
	font-size: 0.7rem;
}
.footer_corporate a{
	margin:0 1rem;
}
/* copyright */
.copyright{
	font-size: 0.6rem;
	margin-top: 5rem;
}

/* pagetop */
.pagetop {
	position: fixed;
	bottom: 1rem;
	right: -10rem;
	width: 2.5rem;
	z-index: 5;
	transition: all 0.2s ease-out;
}
.pagetop.is-show {
	right: 1rem;
}
/* bottomfix */
.bottomfix{
	position: fixed;
	bottom: -5rem;
	margin: 0 auto;
	pointer-events: none;
	width: 100%;
	z-index: 5;
	transition: bottom 0.2s ease-out;
}
.page_entry_form .bottomfix{
	display: none;
}
.bottomfix.is-show {
	bottom: 1rem;
}
.bottomfix a{
	border: 2px solid #fff;
	border-radius: 0.5rem;
	color: #fff;
	display: block;
	font-size: 1.1rem;
	width: fit-content;
	margin: 0 auto;
	overflow: hidden;
	padding: 0.8rem 2rem;
	pointer-events: all;
	position: relative;
	text-decoration: none;
	transition: background 0.3s;
	background-image: linear-gradient( -90deg, rgb(227,43,106) 0%, rgb(213,0,70) 50%, rgb(173, 0, 58) 100%);
	background-size: 200% 100%;
	background-position: 100% 0%;
}
.bottomfix a:hover{
	background-position: 0% 0%;
}
.bottomfix a .inner,
.bottomfix a::before{
	position: relative;
	z-index: 1;
}
.bottomfix a::after{
	animation: bottomfix_shine 3s infinite;
	background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.5) 100%);
	content: "";
	position: absolute;
	top: 0;
	left: -75%;
	height: 100%;
	width: 50%;
	transform: skewX(-25deg);
	z-index: 0;
}
@keyframes bottomfix_shine {
	30% {
		left: 125%;
	  }
  	100% {
		left: 125%;
	}
}

/* SP */
@media screen and (max-width: 940px) {
	.footer{
		padding: 3.5rem 0 40vw;
	}
	/* footer_bnr */
	.footer_bnr .u-flex-basic{
		flex-wrap: wrap;
		justify-content: center;
	}
	.footer_bnr .u-flex-basic li{
		width: 50%;
	}
	/* footer_corporate */
	.footer_corporate{
		font-size: 1.1rem;
	}
	.footer_corporate .u-flex-basic{
		flex-wrap: wrap;
		justify-content: flex-start;
	}
	.footer_corporate a{
		margin:0 1.5rem 1rem 0;
	}
	/* copyright */
	.copyright{
		font-size: 1rem;
	}
	/* pagetop */
	.pagetop {
		width: 3.5rem;
	}
	/* bottomfix */
	.bottomfix a{
		border-width: 0.2rem;
		font-size: 1.5rem;
		padding: 0.9rem 3.5rem;
	}
}

/*-------------------------------------------------------------------

	background

-------------------------------------------------------------------*/
#webgl-canvas{
	opacity:0.5;
	mix-blend-mode: multiply;
}

/*-------------------------------------------------------------------

	global_link

-------------------------------------------------------------------*/
.global_link .first_level > li + li{
	margin-top: 1.5rem;
}
.global_link .second_level{
	padding-left: 1rem;
}
.global_link .first_level > li > a,
.global_link .second_level > li > a{
	display: block;
	position: relative;
	line-height: 1.5;
	margin-bottom: 0.5rem;
}
.global_link .first_level > li > a{
	font-size: 0.7rem;
	padding-left: 1rem;
}
.global_link .second_level > li > a{
	font-size: 0.65rem;
	padding-left: 0.8rem;
}
.global_link .first_level > li > a::before,
.global_link .second_level > li > a::before{
	background: #fff;
	content: "";
	display: block;
	width: 0.5rem;
	height: 2px;
	position: absolute;
	top: 0.4rem;
	left: 0;
}
.global_link .second_level > li > a::before{
	width: 0.3rem;
}

/* SP */
@media screen and (max-width: 940px) {
	.global_link{
		display: block;
	}
	.global_link ul:first-child{
		border-top: 0.1rem solid #1b53a3;
	}
	.global_link br{
		display: none;
	}
	.global_link .first_level > li{
		border-bottom: 0.1rem solid #1b53a3;
		padding: 1rem 0;
	}
	.global_link .first_level > li + li{
		margin-top: 0;
	}
	.global_link .second_level{
		padding: 0 0 1rem 1rem;
	}
	.global_link .first_level > li > a,
	.global_link .second_level > li > a{
		margin-bottom: 0;
	}
	.global_link .first_level > li > a{
		font-size: 1.2rem;
		padding: 1rem 0 1rem 2.7rem;
	}
	.global_link .second_level > li > a{
		font-size: 1.1rem;
		padding: 0.5rem 0 0.5rem 2.7rem;
	}
	.global_link .first_level > li > a::before,
	.global_link .second_level > li > a::before{
		width: 0.7rem;
		height: 0.1rem;
		top: calc(50% - 0.05rem);
		left: 1rem;
	}
	.global_link .second_level > li > a::before{
		width: 0.5rem;
		left: 1.5rem;
	}

	.global_link .first_level > li > a.accordion_btn::after{
		content: "";
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		font-size: 1.5rem;
		position: absolute;
		right: 1.5rem;
		top: calc(50% - 0.95rem);
		transition: 0.4s transform;
	}
	.global_link .first_level > li > a.accordion_btn.active::after{
		transform: rotate(180deg);
	}
}

/*-------------------------------------------------------------------

	pagetype_under

-------------------------------------------------------------------*/
.pagetype_under{
	padding-top: 100px;
}
.under_section{
	margin-top: 140px;
}
#under_bghexagons + .under_section{
	margin-top: 5rem;
}

/* SP */
@media screen and (max-width: 940px) {
	.pagetype_under{
		padding-top: 10.4vw;
	}
	.under_section{
		margin-top: 15vw;
	}
	#under_bghexagons + .under_section{
		margin-top: 2.5rem;
	}
	.under_content_sp{
		padding: 0 1rem;
	}
}

/*-------------------------------------------------------------------

	under_mv

-------------------------------------------------------------------*/
#under_mv{
	min-height: 515px;
	overflow: hidden;
	position: relative;
	z-index: 1;
}
@media screen and (max-width: 1357px) {
	#under_mv{
		min-height: 37.951363vw;
	}
}
#under_mv .contents_w{
    overflow: visible;
}
#under_mv .title,
#under_mv .summary,
#under_mv .breadcrumb{
	width: 44%;
	position: relative;
	z-index: 1;
}
#under_mv .title{
	padding-top: 10%;
}
#under_mv .title span{
	display: block;
}
#under_mv .title .en{
	font-size: 74px;
	line-height: 1;
}
#under_mv .title .jp{
	font-size: 36px;
	padding-top: 15px;
}
#under_mv .title .jp .small{
	font-size: 26px;
}
#under_mv .summary{
	font-size: 20px;
	line-height: 1.5;
	padding-top: 20px;
}
#under_mv .photo{
	width: 640px;
	height: 0;
	padding-bottom: 515px;
	position: absolute;
	top: 0;
	right: 5%;
	z-index: 0;
}
@media screen and (max-width: 1357px) {
	#under_mv .photo{
		width: 47.162859vw;
		padding-bottom: 37.951363vw;
	}
}
#under_mv .photo .photo_svg{
    height: 100%;
	position: absolute;
	top: 0;
	z-index: 2;
}

/* breadcrumb */
.breadcrumb {
	font-size: 14px;
	margin-top: 60px;
	display: flex;
	flex-wrap: wrap;
}
.breadcrumb li {
	margin-bottom: 0.5em;
	white-space: nowrap;
}
.breadcrumb li::after {
	content: "/";
	display: inline-block;
	margin: 0 0.5em;
}
.breadcrumb li:last-child::after {
	display: none;
}
.breadcrumb li a {
	color: inherit;
}
.breadcrumb li:last-child a {
	text-decoration: none;
}

/* SP */
@media screen and (max-width: 940px) {
	#under_mv{
		min-height: auto;
	}
	#under_mv .title,
	#under_mv .summary,
	#under_mv .breadcrumb{
		width: 100%;
	}
	#under_mv .title{
		padding-top: 54vw;
	}
	#under_mv .title .en{
		font-size: 4.6rem;
		line-height: 0.8333;
	}
	#under_mv .title .en .bgwhite{
		background: #fff;
		padding-right: 0.2rem;
		margin-bottom: 0.1777em;
		width: fit-content;
	}
	#under_mv .title .jp{
		font-size: 2.1rem;
		padding-top: 1rem;
	}
	#under_mv .title .jp .small{
		font-size: 1.8rem;
	}
	#under_mv .summary{
		font-size: 1.3rem;
		padding-top: 1rem;
	}
	#under_mv .photo{
		right: 0;
		width: 75.2vw;
		padding-bottom: 60.6667vw;
	}
	
	/* breadcrumb */
	.breadcrumb {
		font-size: 1.1rem;
		margin-top: 2rem;
		margin-bottom: 2rem;
	}
	.breadcrumb li {
		margin-bottom: 0.5em;
	}
}

/*-------------------------------------------------------------------

	under_bghexagons

-------------------------------------------------------------------*/
#under_bghexagons{
	width: 100%;
	height: 1200px;
	overflow: hidden;
	position: absolute;
	top: 0;
	z-index: 0;
}
#under_bghexagons .inner{
	max-width: 1200px;
	margin: 0 auto;
	height: 1200px;
	position: relative;
}
#under_bghexagons .bg_01{
	animation-delay: -5s;
	opacity: 0.8;
	width: 36.0675%;
	padding-bottom: 41.135%;
	left: -12.6616%;
	margin-top: 50.9325%;
}
#under_bghexagons .bg_02{
	animation-delay: -4s;
	opacity: 0.8;
	width: 31.9241%;
	padding-bottom: 36.3491%;
	left: 5.4116%;
	margin-top: 8.8983%;
}
#under_bghexagons .bg_03{
	animation-delay: -3s;
	opacity: 0.6;
	width: 20.31%;
	padding-bottom: 22.9375%;
	left: 30.8075%;
	margin-top: 77.93%;
}
#under_bghexagons .bg_04{
	animation-delay: -2s;
	opacity: 0.5;
	width: 48.2425%;
	padding-bottom: 55.19%;
	left: 40.505%;
	margin-top: 23.9766%;
}
#under_bghexagons .bg_05{
	animation-delay: -1s;
	opacity: 0.7;
	width: 24.6116%;
	padding-bottom: 27.9058%;
	left: 91.505%;
	margin-top: 42.5525%;
}

/* SP */
@media screen and (max-width: 940px) {
	#under_bghexagons .inner{
		margin: 0 5.3333vw;
		position: relative;
	}
	#under_bghexagons .bg_01{
		animation-delay: -5s;
		opacity: 0.5;
		width: 51.0787vw;
		padding-bottom: 58.1587vw;
		left: -14.1413vw;
		margin-top: 79.9707vw;
	}
	#under_bghexagons .bg_02{
		animation-delay: -4s;
		opacity: 0.6;
		width: 57.708vw;
		padding-bottom: 65.8173vw;
		left: -13.592vw;
		margin-top: 148.5587vw;		
	}
	#under_bghexagons .bg_03{
		animation-delay: -3s;
		opacity: 1;
		width: 77.188vw;
		padding-bottom: 88.304vw;
		left: 8.6747vw;
		margin-top: 13.296vw;		
	}
	#under_bghexagons .bg_04{
		animation-delay: -2s;
		opacity: 0.8;
		width: 32.496vw;
		padding-bottom: 36.7vw;
		left: 44.6253vw;
		margin-top: 200.288vw;		
	}
	#under_bghexagons .bg_05{
		animation-delay: -1s;
		opacity: 0.7;
		width: 39.3787vw;
		padding-bottom: 44.6507vw;
		left: 52.408vw;
		margin-top: 148.6173vw;		
	}
}

/*-------------------------------------------------------------------

	slick slider

-------------------------------------------------------------------*/
.slick-track {
	display: flex !important;
}
.slick-slide {
	height: auto !important;
}
.slick-dots{
	display: flex;
	justify-content: center;
	margin-top: 1.5rem;
}
.slick-dots button{
	color: #333;
	cursor: pointer;
	background: #333;
	border: none;
	border-radius: 50%;
	font-size: 0.5rem;
	margin: 0 0.5rem;
	width: 1rem;
	height: 1rem;
}
.slick-dots .slick-active button{
	color: #cc66cc;
	background: #cc66cc;
}

/* SP */
@media screen and (max-width: 940px) {
	.slick-dots button{
		width: 1.5rem;
		height: 1.5rem;
	}
}