@charset "utf-8";
/** reset **/
/*! destyle.css v3.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */

/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
/* ============================================ */
body {
  margin: 0;
}
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}
dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}
address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}
abbr[title] {
  text-decoration: underline dotted; /* 2 */
}
b,
strong {
  font-weight: bolder;
}
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none; /* 1 */
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit; /* 2 */
}
[type="checkbox"] {
  -webkit-appearance: checkbox;
  appearance: checkbox;
}
[type="radio"] {
  -webkit-appearance: radio;
  appearance: radio;
}
button,
[type="button"],
[type="reset"],
[type="submit"] {
  cursor: pointer;
}
button:disabled,
[type="button"]:disabled,
[type="reset"]:disabled,
[type="submit"]:disabled {
  cursor: default;
}
:-moz-focusring {
  outline: auto;
}
select:disabled {
  opacity: inherit;
}
option {
  padding: 0;
}
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}
legend {
  padding: 0;
}
progress {
  vertical-align: baseline;
}
textarea {
  overflow: auto;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
[type="search"] {
  outline-offset: -2px; /* 1 */
}
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
details {
  display: block;
}
summary {
  display: list-item;
}
[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */
table {
  border-color: inherit; /* 1 */
  border-collapse: collapse;
}
caption {
  text-align: left;
}
td,
th {
  vertical-align: top;
  padding: 0;
}
th {
  text-align: left;
  font-weight: bold;
}
/** reset END **/







/** common **/
:root {
	--basic-txt-color:#222;
	--basic-color-navy:#223855;
	--basic-color-blue:#1551A4;
	--basic-color-green:#008D31;
	
	--basic-bg-gradation-blue:linear-gradient(90deg, #3F73BB 0%, #1551A4 100%);
}


.pc{display: block !important;}
.sp{display: none !important;}
@media screen and (max-width:767px) {
	.pc{display: none !important;}
	.sp{display: block !important;}
}
img{
	max-width: 100%;
}
html{
	overscroll-behavior: none;
}
#container{
	margin: 0 auto;
}
a{
	color: #FFF;
	text-decoration: underline;
	outline: none;
	transition: all 0.5s cubic-bezier(0.155, 0.91, 0.695, 0.95);
}

body {
	width: 100%;
    -webkit-font-smoothing: antialiased;
	background: none repeat scroll 0 0 white;
	color:#333;
	font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
	overscroll-behavior: none;
}
body, html {
    width: 100%;
    font-size: 16px;
	letter-spacing: 0.16em;
    line-height: 1.8;
	font-feature-settings: "palt";
    box-sizing: border-box;
}
body:not(#top){
    font-size: 15px;
}

@media screen and (max-width:1100px) {
	body, html {
		font-size: calc(16/1100 * 100vw);
	}
}
@media screen and (max-width:800px) {
	body, html {
		font-size: 3.2vw;
		line-height: 180%;
	}
}
.min{
    font-family: "游明朝", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-weight: 300;
	font-style: normal;
}
.mds{
	font-family: 'Oswald', sans-serif;
	-webkit-font-smoothing: auto;
	font-weight: 300;
	font-style: normal;
	letter-spacing: 0.1em;
}
.mds_b{
	font-family: 'Oswald', sans-serif;
	-webkit-font-smoothing: auto;
	font-weight: 400;
	font-style: normal;
	letter-spacing: 0.1em;
}
.inr{
	max-width: 1080px;
	margin: 0 auto;
}
@media screen and (max-width:1400px) {
	.inr{
		max-width: calc(1080/1400 * 100vw);
	}
}
@media screen and (max-width:800px) {
	.inr{
		max-width: 90vw;
	}
}






/* header
================================================ */
#container{
	padding-top: 125px;
}
header{
	width: 100%;
	height: 125px;
	font-size: 14px;
	letter-spacing: 1.5px;
	position: fixed;
	top: 0;
	z-index: 9999;
	transition: all .2s;
}
header{
	display: flex;
	justify-content: space-between;
}
header h1{
	width: 287px;
	padding-top: 40px;
	margin-left: 50px;
	transition: all .2s;
}
header a{
	color: #111;
	text-decoration: none;
}
header .linkarea{
	padding-top: 20px;
	margin-right: 50px;
	transition: all .2s;
}
header ul.mainlink{
	display: flex;
	justify-content: flex-end;
	margin-left: auto;
	line-height: 100%;
}
header ul.mainlink > li{
	margin-right: 50px;
	position: relative;
}
header ul.mainlink > li:last-child{
	margin-right: 0;
}
header ul.mainlink li a{
	position: relative;
	transition: all .2s;
}
header ul.mainlink > li > a{
	padding: 15px 0 15px 20px;
}
header ul.mainlink li a:hover{
	color: var(--basic-color-blue);
}
header ul.mainlink > li > a:before{
	content: "";
	position: absolute;
	top: calc(50% - 3px);
	left: 0px;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--basic-color-blue);
}
header ul.mainlink > li > a:after{
	content: "";
	position: absolute;
	top: calc(50% - 8px);
	left: -5px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	border: 1px solid var(--basic-color-blue);
}
header ul.mainlink > li:last-child{
	width: auto;
}



.dropdown {
    visibility: hidden;/*デフォルトでは非表示の状態にしておく*/
    opacity: 0;/*不透明度0*/
    transition: all .2s;/*表示の変化を0.3秒に指定*/
    position: absolute;
    top: 26px;
	z-index: 2;
	background: rgba(255,255,255,1);
	justify-content: center;
	box-shadow: 0px 0px 10px -5px #999;
	border-radius: 6px;
    display: block;
	height: auto;
    left: -10px;
	width: 300px;
	padding: 4px 10px;
}
header ul.mainlink > li:hover .dropdown {
/*header ul.mainlink > li .dropdown {*/
    visibility: visible;/*Gナビメニューにホバーしたら表示*/
    opacity: 1;/*不透明度1*/
}
.dropdown li {
    transition: all .3s;
    position: relative;
	height: 40px;
	border-bottom: 1px solid #EEE;
}
.dropdown li:last-child {
	border-bottom: none;
}
.dropdown li a {
    color: #333;
    text-decoration: none;
    position: relative;
	padding: 0px 20px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	height: 100%;
}
.dropdown li a:before{
	content: "";
	position: absolute;
	top: calc(50% - 2px);
	left: 5px;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--basic-color-blue);
}




header .globallink{
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	transition: all .2s;
	justify-content: flex-end;
}

header .globallink > ul{
	display: flex;
}
header .globallink > ul.lang{
	justify-content: flex-end;
	color: var(--basic-color-blue);
	margin-left: 20px;
	margin-right: -10px;
	font-size: 15px;
}
header .globallink > ul.lang li{
	position: relative;
	line-height: 140%;
	padding: 0 10px;
}
header .globallink > ul.lang li:first-child:after{
	content: "";
	position: absolute;
	top: 10%;
	right: 0;
	width: 1px;
	height: 80%;
	background: #222;
}
header .globallink > ul.lang li.current a{
	color: var(--basic-color-blue);
	cursor: default;
	pointer-events: none;
	font-weight: bold;
}

header .globallink > ul.country{
	background: #F6F4F4;
	align-items: center;
	padding-left: 30px;
	height: 42px;
	border-radius: 42px;
	transition: all .2s;
}
header .globallink > ul.country:hover{
	background: #eee;
}
header .globallink > ul.country li{
	line-height: 100%;
	height: 100%;
}
header .globallink > ul.country li a{
	display: flex;
	align-items: center;
	height: 100%;
	padding-right: 30px;
	transition: all .2s;
}

header .linkarea{/*** phase1 ***/
}
header .linkarea > div{/*** phase1 ***/
	/*
	display: flex;
	align-items: center;
	height: 100%;
	*/
}
header .globallink {/*** phase1 ***/
	/*
    margin-bottom: 0px;
	align-items: flex-start;
	margin-left: 60px;
	*/
}
header .globallink{/*** phase1 ***/
	/*
	justify-content: flex-end
	*/
}


header.fixed{
	height: 84px;
}
header.fixed::before,
header.fixed::after{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: rgba(255,255,255,0.8);
	background: linear-gradient(180deg,#fff 0%,hsla(0,0%,100%,0) 100%);
	z-index: -1;
	transition: all .3s;
}
header.fixed::before{
	height: calc(100% + 40px);
	background: linear-gradient(180deg,rgba(255,255,255,0.8) 0%,rgba(255,255,255,0) 90%);
}
header.fixed::after{
	background: linear-gradient(180deg,rgba(255,255,255,0.9) 0%,rgba(255,255,255,0.9) 100%);
	opacity: 0;
}
@media(any-hover: hover) {
	header.fixed:hover::before{
		opacity: 0;
	}
	header.fixed:hover::after{
		opacity: 1;
	}
}
header.fixed h1{
	width: 200px;
	padding-top: 15px;
}
header.fixed .linkarea {
	padding-top: 10px;
}
header.fixed .globallink{
	margin-bottom: 14px;
}
header.fixed .globallink > ul.country {
    padding-left: 20px;
    height: 30px;
    border-radius: 30px;
}
header.fixed .globallink > ul.country li a {
    padding-right: 20px;
	font-size: 12px;
}
header.fixed .globallink > ul.lang li a{
	font-size: 12px;
}
@media screen and (max-width:1200px) {
	#container{
		padding-top: calc(125/1200 * 100vw);
	}
	header{
		height: calc(125/1200 * 100vw);
		font-size: max( calc(14/1200 * 100vw),12px);
	}
	header h1{
		width: calc(287/1200 * 100vw);
		padding-top: calc(40/1200 * 100vw);
		margin-left: calc(17/1200 * 100vw);
	}
	header .linkarea{
		padding-top: calc(20/1200 * 100vw);
		margin-right: calc(20/1200 * 100vw);
	}
	header ul.mainlink > li{
		margin-right: calc(60/1200 * 100vw);
	}
	header ul.mainlink > li > a{/** 追加 **/
		padding: calc(10/1200 * 100vw) 0 calc(10/1200 * 100vw) calc(20/1200 * 100vw);
	}
	header ul.mainlink > li > a:before{
		top: calc(50% - 3px);
		left: 0px;
		width: 4px;
		height: 4px;
	}
	header ul.mainlink > li > a:after{
		top: calc(50% - 8px);
		left: -5px;
		width: 14px;
		height: 14px;
	}

	.dropdown {
		top: calc(26/1200 * 100vw);
		box-shadow: 0px 0px calc(10/1200 * 100vw) calc(-5/1200 * 100vw) #999;
		border-radius: calc(6/1200 * 100vw);
		left: calc(-10/1200 * 100vw);
		width: calc(300/1200 * 100vw);
		padding: calc(4/1200 * 100vw) calc(10/1200 * 100vw);
	}
	.dropdown li a {
		padding: 0px calc(20/1200 * 100vw);
	}
	.dropdown li a:before{
		top: calc(50% - 2px);
		left: 5px;
		width: 4px;
		height: 4px;
	}
	header .globallink{
		margin-bottom: calc(20/1200 * 100vw);
	}
	header .globallink > ul.lang{
		margin-left: calc(20/1200 * 100vw);
		margin-right: calc(-10/1200 * 100vw);
		font-size: calc(15/1200 * 100vw);
	}
	header .globallink > ul.lang li{
		padding: 0 10px;
	}
	header .globallink > ul.country{
		padding-left: calc(30/1200 * 100vw);
		height: calc(42/1200 * 100vw);
		border-radius: calc(42/1200 * 100vw);
	}
	header .globallink > ul.country li a{
		padding-right: calc(30/1200 * 100vw);
		font-size: calc(15/1200 * 100vw);
	}

	header .globallink {/*** phase1 ***/
		/*margin-left: calc(60/1200 * 100vw);*/
	}


	header.fixed{
		height: calc(84/1200 * 100vw);
	}
	header.fixed::before{
		height: calc(100% + (40/1200 * 100vw));
	}
	header.fixed h1{
		width: calc(200/1200 * 100vw);
		padding-top: calc(15/1200 * 100vw);
	}
	header.fixed .linkarea {
		padding-top: calc(10/1200 * 100vw);
	}
	header.fixed .globallink{
		margin-bottom: calc(14/1200 * 100vw);
	}
	header.fixed .globallink > ul.country {
		padding-left: calc(20/1200 * 100vw);
		height: calc(30/1200 * 100vw);
		border-radius: calc(30/1200 * 100vw);
	}
	header.fixed .globallink > ul.country li a {
		padding-right: calc(20/1200 * 100vw);
		font-size: max( calc(13/1200 * 100vw),12px);
	}
	header.fixed .globallink > ul.lang li a{
		font-size: max( calc(13/1200 * 100vw),12px);
	}
}

@media screen and (max-width:800px) {
	header{
		z-index: 9999999999;
		font-size: 3.5vw;
		width: auto;
		height: 20vw;
	}
	header h1 {
		width: 45vw;
		padding-top: 1.5vw;
		margin-left: 1.5vw;
		z-index: 9999;
		position: absolute;
	}
	header.fixed{
		width: 100vw;
		height: 20vw;
	}
	header.fixed::before{
		height: calc(100% + 0vw);
	}
	header.fixed h1{
		width: 35vw;
		padding-top: 3vw;
		position: fixed;
	}
	header.open h1{
		width: 45vw;
	}
	header .linkarea{
		display: block;
		padding-top: 0;
    	margin-right: 0;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 1vw;
	}
	header .linkarea > div{/*** phase1 ***/
		/*display: block;
		height: auto;*/
		width: 80%;
		display: flex;
		flex-wrap: wrap;
	}
	header .linkarea .globallink,
	header .linkarea .mainlink{
		width: 100%;
	}
	header .linkarea .mainlink{
		order: 1;
	}
	header .linkarea .globallink{
		order: 2;
		margin-left: 0;
		margin-bottom: 0;
		margin-top: 7vw;
		justify-content: flex-start;
		flex-wrap: wrap;
	}
	header .globallink > ul.lang,
	header .globallink > ul.country{
		width: 100%;
	}
	header .globallink > ul.lang{
		order: 1;
	}
	header .globallink > ul.country{
		order: 2;
	}
	header .globallink > ul.country,
	header.fixed .globallink > ul.country{
		padding-left: 0vw;
		height: 10vw;
		border-radius: 10vw;
		width: 80vw;
		background: #FFF;
	}
	header .globallink > ul.country li{
		width: 100%;
		text-align: center;
	}
	header .globallink > ul.country li a {
		padding-right: 0;
		width: 100%;
		height: 100%;
		justify-content: center;
		font-size: 3.4vw;
	}
	header .globallink > ul.lang{
		justify-content: center;
		margin: 0vw auto 5vw;
    	font-size: 3.4vw;
	}
	header .linkarea .mainlink{
		display: block;
		margin: 0 auto;
	}
	header ul.mainlink > li {
		margin-right: 0;
		margin-bottom: 5vw;
	}
	header ul.mainlink > li > a {
		padding: 3vw 0 3vw 7vw;
		display: block;
	}
	header ul.mainlink > li > a:before{
		left: 5px;
	}
	header ul.mainlink > li > a:after{
		left: 0px;
	}
	.dropdown{
		visibility: visible;
		opacity: 0;
		position: relative;
		background: none;
		width: auto;
		
		top:0;
		box-shadow: none;
		border-radius: 0;
		left: 7vw;
		padding:0;
	}
	.dropdown li {
		height: auto;
		border-bottom: none;
	}
	.dropdown li a {
		padding: 3vw 0 3vw 5vw;
	}
	.dropdown li a:before{
		top: calc(50% - 2px);
		left: 5px;
		width: 4px;
		height: 4px;
	}
	
	
	/*========= ナビゲーションのためのCSS ===============*/

	/*アクティブになったエリア*/
	header .linkarea.panelactive{
		/*position:fixed;にし、z-indexの数値を大きくして前面へ*/
		position:fixed;
		z-index: 999;
		top: 0;
		width:100%;
		height: 100vh;
	}
	header.fixed.open{/*白い帯を消す*/
		background: none;
	}
	/*丸の拡大*/
	.circle-bg{
		position: fixed;
		z-index:3;
		/*丸の形*/
		width: 100px;
		height: 100px;
		border-radius: 50%;
		background: rgba(255,255,255,0.95);
		/*丸のスタート位置と形状*/
		transform: scale(0);/*scaleをはじめは0に*/
		bottom:-50px;
		left:calc(50% - 50px);/*50%から円の半径を引いた値*/
		transition: all .6s;/*0.6秒かけてアニメーション*/
	}
	.circle-bg.circleactive{
		transform: scale(50);/*クラスが付与されたらscaleを拡大*/
	}
	/*ナビゲーションの縦スクロール*/
	#g-nav-list{
		display: none;/*はじめは表示なし*/
		/*ナビの数が増えた場合縦スクロール*/
		position: fixed;
		z-index: 999; 
		width: 100%;
		height: 100vh;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}
	header .linkarea.panelactive #g-nav-list{
		 display: block; /*クラスが付与されたら出現*/
	}
	/*ナビゲーション*/
	header .linkarea ul {
		opacity: 0;
	}
	header .linkarea.panelactive ul {
		opacity:1;
	}
	/* 背景が出現後にナビゲーション li を表示※レイアウトによって調整してください。不必要なら削除*/
	header .linkarea.panelactive .globallink,
	header .linkarea.panelactive .mainlink{
		animation-name:gnaviAnime;
		animation-duration:1s;
		animation-delay:.2s;/*0.2 秒遅らせて出現*/
		animation-fill-mode:forwards;
		opacity:0;
	}
	/*========= ボタンのためのCSS ===============*/
	.openbtn{
		position:fixed;
		top:7px;
		right: 7px;
		z-index: 9999;/*ボタンを最前面に*/
		cursor: pointer;
		width: 50px;
		height:50px;
	}
	/*×に変化*/	
	.openbtn span{
		display: inline-block;
		transition: all .3s;
		position: absolute;
		right: 0%;
		height: 3px;
		width: 70%;
		background: linear-gradient(97.06deg, #4A83BF -4.37%, #0051A4 104.58%);
	  }
	.openbtn span:nth-of-type(1) {
		top:12px;
	}
	.openbtn span:nth-of-type(2) {
		top:23px;
		background: linear-gradient(97.06deg, #0051A4 -4.37%, #4A83BF 104.58%);
	}
	.openbtn span:nth-of-type(3) {
		top:34px;
	}
	.openbtn.active span:nth-of-type(1) {
		top: 18px;
		right: 0%;
		transform: translateY(6px) rotate(-45deg);
		width: 60%;
	}
	.openbtn.active span:nth-of-type(2) {
		opacity: 0;
	}
	.openbtn.active span:nth-of-type(3){
		top: 30px;
		right: 0%;
		transform: translateY(-6px) rotate(45deg);
		width: 60%;
	}
}
@keyframes gnaviAnime {
    0% { opacity: 0 ; }
    100% {opacity: 1 ; }
}
/************* header END ***************/




/* footer
================================================ */
footer{
	font-size: 13px;
	letter-spacing: 1.5px;
}
footer .inr{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	position: relative;
	padding: 120px 0 180px;
}
footer .inr{/*** phase1 ***/
	padding: 120px 0 140px;
}
footer .logo{
	display: block;
	width: 287px;
	position: relative;
}
footer .logo:before{
	content: "";
	position: absolute;
	background: url("/recruit/common/img/footer_obj.svg") no-repeat top left / cover;
	z-index: -1;
	top: -90px;
	left: calc(50% - 320px);
	width: 640px;
	height: 414px;
}
footer a{
	color: #111;
	text-decoration: none;
}
footer ul.mainlink{
	display: flex;
	margin-left: auto;
	margin-right: 30px;
	line-height: 100%;
	margin-top: 85px;
}
footer ul.mainlink li{
	margin-bottom: 20px;
}
footer ul.mainlink li ul{
	margin-top: 20px;
}
footer ul.mainlink > li{
	width: 260px;
}
footer ul.mainlink li a{
	position: relative;
}
footer ul.mainlink li a:hover{
	color: var(--basic-color-blue);
	/*border-bottom: 1px solid var(--basic-color-blue);*/
}
footer ul.mainlink li a:before{
	content: "";
	position: absolute;
	top: calc(50% - 1px);
	left: -18px;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: var(--basic-color-blue);
}

/** 外部リンク **/
footer ul.mainlink li a span.outlink,
header ul.mainlink li a span.outlink{
	position: absolute;
	/* top: -2px; */
	right: 0px;
}
header ul.mainlink li a span.outlink{
	top: 14px;
	right: 5px;
}
.dropdown li a span.outlink{
	right: 30px !important;
}
footer ul.mainlink li a span.outlink::before,
header ul.mainlink li a span.outlink::before{
	content: "";
	position: absolute;
	top: 3px;
	right: -20px;
	display: block;
	width: 8px;
	height: 6px;
	border-top: 1px solid #999;
    border-left: 1px solid #999;
}
footer ul.mainlink li a span.outlink::after,
header ul.mainlink li a span.outlink::after{
	content: "";
	position: absolute;
	top: 6px;
	right: -25px;
	display: block;
	width: 10px;
	height: 8px;
	border: 1px solid #999;
}
@media screen and (max-width:1200px) {
	header ul.mainlink li a span.outlink{
		top: calc(10/1200 * 100vw);
		right: calc(5/1200 * 100vw);
	}
	.dropdown li a span.outlink{
		top: 14px !important;
	}
}
/** 外部リンク END **/

footer ul.mainlink > li > a:after{
	content: "";
	position: absolute;
	top: calc(50% - 7px);
	left: -24px;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	border: 1px solid var(--basic-color-blue);
}
footer ul.mainlink > li:last-child{
	width: auto;
}
footer .globallink{
	position: absolute;
	bottom: 20px;
	right: 0;
	font-size: 14px;
}
footer .globallink > ul{
	display: flex;
}
footer .globallink > ul.lang{
	justify-content: center;
	color: var(--basic-color-blue);
	margin-bottom: 20px;
}
footer .globallink > ul.lang li{
	position: relative;
	line-height: 140%;
	padding: 0 10px;
}
footer .globallink > ul.lang li.current a{
	color: var(--basic-color-blue);
	cursor: default;
	pointer-events: none;
	font-weight: bold;
}
footer .globallink > ul.lang li:first-child:after{
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 1px;
	height: 100%;
	background: #222;
}

footer .globallink > ul.country{
	background: #F6F4F4;
	align-items: center;
	padding-left: 30px;
	height: 42px;
	border-radius: 42px;
}
footer .globallink > ul.country li{
	line-height: 100%;
}
footer .globallink > ul.country li a{
	padding-right: 30px;
}

footer .copy{
	background: #3C3C3C;
	position: relative;
	color: #FFF;
	display: flex;
	align-items: center;
	padding-left: 50px;
	height: 100px;
	font-size: 13px;
}
footer .copy a{
	text-indent: -9999em;
	display: block;
	background: #FFF;
	position: absolute;
	border-radius: 50%;
	top: 25px;
	right: 50px;
	width: 50px;
	height: 50px;
}
footer .copy a:before{
	content: "";
	position: absolute;
	top: calc(50% - 4.5px);
	left: calc(50% - 5.5px);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 5.5px 9px 5.5px;
	border-color: transparent transparent #3c3c3c transparent;
}
@media screen and (max-width:1400px) {
	footer{
		font-size: 13px;
		letter-spacing: 1.5px;
	}
	footer .inr{
		padding: calc(120/1400 * 100vw) 0 calc(180/1400 * 100vw);
	}
	footer .inr{/*** phase1 ***/
		padding: calc(120/1400 * 100vw) 0 calc(140/1400 * 100vw);
	}
	footer .logo{
		width: calc(287/1400 * 100vw);
	}
	footer .logo:before{
		top: calc(-90/1400 * 100vw);
		left: calc(50% - (320/1400 * 100vw));
		width: calc(640/1400 * 100vw);
		height: calc(414/1400 * 100vw);
	}
	footer ul.mainlink{
		margin-right: calc(30/1400 * 100vw);
		margin-top: calc(85/1400 * 100vw);
	}
	footer ul.mainlink li{
		margin-bottom: calc(20/1400 * 100vw);
	}
	footer ul.mainlink li ul{
		margin-top: calc(20/1400 * 100vw);
	}
	footer ul.mainlink > li{
		width: calc(260/1400 * 100vw);
	}
	footer .globallink{
		bottom: 20px;
		font-size: 14px;
	}
	footer .globallink > ul.lang{
		margin-bottom: calc(20/1400 * 100vw);
	}
	footer .globallink > ul.lang li{
		padding: 0 10px;
	}
	footer .globallink > ul.country{
		padding-left: 30px;
		height: 42px;
		border-radius: 42px;
	}
	footer .globallink > ul.country li a{
		padding-right: 30px;
	}

	footer .copy{
		padding-left: calc(50/1400 * 100vw);
		height: calc(100/1400 * 100vw);
		font-size: 13px;
	}
	footer .copy a{
		top: calc(25/1400 * 100vw);
		right: calc(50/1400 * 100vw);
		width: calc(50/1400 * 100vw);
		height: calc(50/1400 * 100vw);
	}
	footer .copy a:before{
		top: calc(50% - (4.5/1400 * 100vw));
		left: calc(50% - (5.5/1400 * 100vw));
		border-width: 0 calc(5.5/1400 * 100vw) calc(9/1400 * 100vw) calc(5.5/1400 * 100vw);
	}
}
@media screen and (max-width:1050px) {
	footer .inr{
		max-width: calc(100% - 100px);
	}
	footer{
		font-size: 12px;
	}
	footer .logo{
		width: calc(370/1400 * 100vw);
	}
	footer ul.mainlink > li{
		width: calc(300/1400 * 100vw);
	}
	footer ul.mainlink li{
		margin-bottom: calc(30/1400 * 100vw);
	}
	footer ul.mainlink li ul{
		margin-top: calc(30/1400 * 100vw);
	}
	footer ul.mainlink li a:before{
		top: calc(50% - 3px);
	}
	footer ul.mainlink > li > a:after{
		top: calc(50% - 9px);
	}
	footer .globallink{
		font-size: 12px;
	}
}
@media screen and (max-width:800px) {
	footer{
		font-size: 3vw;
		overflow: hidden;
	}
	footer .inr{
		padding: 20vw 0 20vw;
	}
	footer .inr{/*** phase1 ***/
		padding: 30vw 0 30vw;
		display: block;
	}
	footer .logo{
		width: 32vw;
		margin: 0 auto;
	}
	footer .logo:before{
		top: -12vw;
		left: calc(50% - 38vw);
		width: 70vw;
		height: 48vw;
		background: url("/recruit/common/img/footer_obj_sp.svg") no-repeat top left / cover;
		opacity: 0.4;
	}
	footer ul.mainlink{
		margin-right: 0;
		margin-top: 18vw;
		flex-wrap: wrap;
		display: block;
		position: relative;
	}
	footer ul.mainlink > li{
		margin-bottom: 8vw;
	}
	footer ul.mainlink li ul{
		margin-top: 5vw;
	}
	footer ul.mainlink li ul li{
		margin-bottom: 5vw
	}
	footer ul.mainlink > li{
		width: 50%;
	}
	footer ul.mainlink > li:nth-of-type(2){
		position: absolute;
		top: 0;
		left: 69%;
	}
	footer ul.mainlink > li:nth-of-type(3){
		position: absolute;
		top: 10vw;
		left: 69%;
	}
	footer ul.mainlink li a:before{
		top: calc(50% - 1.2px);
		left: -18px;
		width: 3px;
		height: 3px;
	}
	footer ul.mainlink > li > a:after{
		top: calc(50% - 7px);
		left: -24px;
		width: 15px;
		height: 15px;
	}
	.english footer ul.mainlink li a{
		display: block;
	}
	.english footer ul.mainlink li a span.outlink{
		display: none;
	}
	footer .globallink{
		bottom: 4vw;
		font-size: 3vw;
        left: 50%;
        transform: translateX(-50%);
	}
	footer .globallink > ul.lang{
		margin-bottom: 6vw;
		justify-content: center;
	}
	footer .globallink > ul.country{
		padding-left: 0vw;
		height: 12vw;
		border-radius: 12vw;
		justify-content: center;
	}
	footer .globallink > ul.country li a{
		padding-right: 0px;
	}
	footer .copy{
		padding-left: 5vw;
		height: 15vw;
		font-size: 2.5vw;
	}
	footer .copy a{
		top: 2.5vw;
		right: 5vw;
		width: 10vw;
		height: 10vw;
	}
	footer .copy a:before{
		top: calc(50% - 0.9vw);
		left: calc(50% - 1.3vw);
		border-width: 0 1.3vw 1.8vw 1.3vw;
	}
}
/************* footer END ***************/




/*** not TOP ***/ 

/* not TOP white slide
================================================ */
body:not(#top) .contents{
	position: relative;
}
body:not(#top) .contents::before,
body .contents::after{
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background: #FFF;
	z-index: 10;
	/*transition: all 0.5s cubic-bezier(.74,-0.01,.91,.74) 0.4s;*/
	transition: all 0.5s cubic-bezier(.74,-0.01,.91,.74) 0s;
}
body:not(#top) .contents.active::before {
	width: 0%;
}
body .contents::after{
	width: 0%;
}
body.slideout .contents::after{
	width: 100%;
}


/* #breadcrumb
================================================ */
#breadcrumb { 
	margin: 30px auto 0px;
	width: calc(100% - 100px);
}
#breadcrumb .list .item { 
	display: inline-block;
	font-size: 12px;
	letter-spacing: .1em;
}
#breadcrumb .list .item a {
	text-decoration: none; 
	color: var(--basic-txt-color);
}
#breadcrumb .list .item a:hover { 
	text-decoration: underline; 
}
#breadcrumb .list .item + .item:before {
	position: relative;
	top: -1px;
	content: ">";
	margin-right: 4px; 
}
@media screen and (max-width:1050px) {
	#breadcrumb { 
		margin: calc(30/1400 * 100vw) auto 0px;
	}
	#breadcrumb .list .item { 
		font-size: 11px;
	}
}
@media screen and (max-width:800px) {
	#breadcrumb {
		display: none;
	}
}

/* #title
================================================ */
body:not(#top) .contents{
	padding-top: 20px;
	overflow: hidden;
}
body:not(#top) .contents .title_otr{
	overflow: hidden;
	padding-top: 90px;
}
body:not(#top) .contents .title_margin{
    margin-top: -350px;
}
body:not(#top) .contents .title{
	position: relative;
	height: 550px;
}
body:not(#top) .contents .title .topbg {
	width: 150vw;
	height: 100%;
	border-radius: 50% 50%  0% 0%/ 30vw 30vw 0vw 0vw;
	overflow: hidden;
	position: relative;
	left: -25%;
}
body:not(#top) .contents .title .topbg .topbginr{
	display: block;
	position   : relative;
	max-width  : calc(100vw - 40px);
	height     : 100%;
	margin     : auto;
	overflow   : hidden;
	background: linear-gradient(180deg, #F4F4F4 0%, rgba(255, 255, 255, 0) 110px);
}
body:not(#top) .contents .title h2{
	position: absolute;
	top: -0.5em;
	left: 0;
	width: 100%;
	text-align: center;
	font-size: 30px;
	line-height: 100%;
}
body:not(#top) .contents .title h2:before{
	content: "";
	position: absolute;
	top: -70px;
	z-index: -1;	
}
body#interview .contents .title h2:before{/*** interview ***/
	background: url("/recruit/img/interview/title.svg") no-repeat center / cover;
	left: calc(50% - 280px);
	width: 561px;
	height: 101px;
}
@media screen and (max-width:1400px) {
	body:not(#top) .contents{
		padding-top: calc(20/1400 * 100vw);
	}
	body:not(#top) .contents .title_otr{
		padding-top: calc(90/1400 * 100vw);
	}
	body:not(#top) .contents .title_margin{
		margin-top: calc(-350/1400 * 100vw);
	}
	body:not(#top) .contents .title{
		height: calc(550/1400 * 100vw);
	}
	body:not(#top) .contents .title .topbg .topbginr{
		max-width  : calc(100vw - (40/1400 * 100vw));
		background: linear-gradient(180deg, #F4F4F4 0%, rgba(255, 255, 255, 0) calc(110/1400 * 100vw));
	}
	body:not(#top) .contents .title h2{
		font-size: calc(30/1400 * 100vw);
	}
	body:not(#top) .contents .title h2:before{
		top: calc(-70/1400 * 100vw);
	}
	body#interview .contents .title h2:before{/*** interview ***/
		left: calc(50% - (280/1400 * 100vw));
		width: calc(561/1400 * 100vw);
		height: calc(101/1400 * 100vw);
	}
}
@media screen and (max-width:800px) {
	body:not(#top) #container {
		padding-top: 20vw;
	}
	body:not(#top) .contents{
		padding-top: 8vw;
	}
	body:not(#top) .contents .title_otr{
		padding-top: 10vw;
	}
	body:not(#top) .contents .title_margin{
		margin-top: -22vw;
	}
	body:not(#top) .contents .title .topbg .topbginr{
		max-width  : 97vw;
		height     : 55vw;
		background: linear-gradient(180deg, #F4F4F4 0%, rgba(255, 255, 255, 0) 11vw);
	}
	body:not(#top) .contents .title h2{
		font-size: 4vw;
	}
	body.english:not(#top) .contents .title h2{
		font-size: 4.5vw;
	}
	body:not(#top) .contents .title h2:before{
		top: -7vw;
		background-size: contain;
	}
	body#interview .contents .title h2:before{/*** interview ***/
		left: calc(50% - 30vw);
		width: 60vw;
		height: 11vw;
	}
}

/* footer shadow
================================================ */
body:not(#top) .contents .footbg_otr {
	overflow: hidden;
}
body:not(#top) .contents .footbg {
	width: 150vw;
	height: 100%;
	border-radius: 0% 0%  50% 50%/ 0vw 0vw 30vw 30vw;
	overflow: hidden;
	position: relative;
	left: -25%;
	margin-top: -300px;
}
body:not(#top) .contents .footbg .footbginr{
	display: block;
	position   : relative;
	max-width  : calc(100vw - 40px);
	height     : 550px;
	margin     : auto;
	overflow   : hidden;
	background: linear-gradient(0deg, #F4F4F4 0%, rgba(255, 255, 255, 0) 110px);
}

@media screen and (max-width:1400px) {
	body:not(#top) .contents .footbg {
		margin-top: calc(-300/1400 * 100vw);
	}
	body:not(#top) .contents .footbg .footbginr{
		max-width  : calc(100vw - (40/1400 * 100vw));
		height     : calc(550/1400 * 100vw);
		background: linear-gradient(0deg, #F4F4F4 0%, rgba(255, 255, 255, 0) calc(110/1400 * 100vw));
	}
}
@media screen and (max-width:800px) {
	body:not(#top) .contents .footbg {
		margin-top: -35vw;
	}
	body:not(#top) .contents .footbg .footbginr{
		max-width  : 97vw;
		height     : 55vw;
		background: linear-gradient(0deg, #F4F4F4 0%, rgba(255, 255, 255, 0) 11vw);
	}
}









/** common END **/