@charset "UTF-8";
/* CSS Document */
/*** The new CSS reset - version 1.11.1 (last updated 24.10.2023) ***/
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg*, symbol*)) {
	all: unset;
	display: revert;
}
*, *::before, *::after {
	box-sizing: border-box;
}
html {
	-moz-text-size-adjust: none;
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
		overflow-x: hidden;
	scroll-padding-top: 102px;
}

::-webkit-full-page-media, :future, :root html:target{
    scroll-behavior: smooth;
	scroll-padding-top: 108px;
}

body.fixed {
  position: fixed;
  width: 100%;
  overflow: hidden;
}
a, button {
	cursor: revert;
}
a {
  -webkit-tap-highlight-color:transparent; /* 強調をなくす */
  cursor:pointer;
}
li, button{
	-webkit-tap-highlight-color:transparent; /* 強調をなくす */
}
ol, ul, menu, summary {
	list-style: none;
}
img {
	max-inline-size: 100%;
	max-block-size: 100%;
}
table {
	border-collapse: collapse;
}
input, textarea {
	-webkit-user-select: auto;
}
textarea {
	white-space: revert;
}
meter {
	-webkit-appearance: revert;
	appearance: revert;
}
:where(pre) {
	all: revert;
	box-sizing: border-box;
}
::placeholder {
	color: unset;
}
:where([hidden]) {
	display: none;
}
:where([contenteditable]:not([contenteditable="false"])) {
	-moz-user-modify: read-write;
	-webkit-user-modify: read-write;
	overflow-wrap: break-word;
	-webkit-line-break: after-white-space;
	-webkit-user-select: auto;
}
:where([draggable="true"]) {
	-webkit-user-drag: element;
}
:where(dialog:modal) {
	all: revert;
	box-sizing: border-box;
}
/* CSS Document ******************************************* */
/*変数*/ :root {
	--black: #2A2B30;
	--pureblack: #000;
	--white: #fff;
	--blue: #126198;
	--light-blue: #299BD2;
	--orange: #EE8C31;
	--red: #C11515;
	--green: #90C31F;
	--pink: #D07AC7;
	--gray: #B1B1B1;
	--dark-red: #6E0931;
	--raw-sienna: #d47f4d;
	--dark-green: #4e5935;
	--gray-contact: #939393;
	--bg-blue: #EBF8FF;
	--bg-orange: #FFF2E6;
	--bg-gray: #F8F8FA;
	--line-gray: #999;
	--border-gray: #CDCDCD;
	--tag-gray: #808080;
	
	/*font*/
	--fz300: clamp(1.8rem, 0.006rem + 3.74vw, 3rem); /*48px -> 28.8px*/
	--fz260: clamp(1.8rem, 0.604rem + 2.5vw, 2.6rem); /*41.6px -> 28.8px*/
	--fz220: clamp(1.5rem, 0.453rem + 2.18vw, 2.2rem); /*35.2px -> 24px*/
	--fz180: clamp(1.2rem, 0.303rem + 1.87vw, 1.8rem); /*28.9px -> 19.2px*/
	--fz150-135: clamp(1.35rem, 1.126rem + 0.47vw, 1.5rem); /*24px -> 21.6px*/
	--fz150-120: clamp(1.2rem, 0.751rem + 0.94vw, 1.5rem); /*24px -> 19.2px*/
	--fz135: clamp(1.2rem, 0.976rem + 0.47vw, 1.35rem); /*21.6px -> 19.2px*/
	--fz135-110: clamp(1.1rem, 0.726rem + 0.78vw, 1.35rem); /*21.6px -> 17.6px*/
	--fz135-100: clamp(1rem, 0.477rem + 1.09vw, 1.35rem); /*21.6px -> 16px*/
	--fz130: clamp(1.1rem, 0.801rem + 0.62vw, 1.3rem); /*20.8px -> 17.6px*/
	--fz120: clamp(1.15rem, 1.075rem + 0.16vw, 1.2rem); /*19.2px -> 18.4px*/
	--fz115: clamp(1rem, 0.776rem + 0.47vw, 1.15rem); /*18.4px -> 16px*/
	--fz110: clamp(1rem, 0.85rem + 0.31vw, 1.1rem); /*17.6px -> 16px*/
	--fz100: clamp(0.9rem, 0.75rem + 0.31vw, 1rem); /*16px -> 14.4px*/

	
	/*nav*/
	--nav-fz150: 1.5rem; /*24px*/
	--nav-fz110: 1.1rem; /*17.6px*/
	--nav-fz90: 0.9rem; /*14.4px*/
	
	--container: clamp(60px, 8vw, 120px);
}
html {scroll-behavior: smooth;}
body {
	background: var(--white);
	color: var(--black);
}

.sp{display: none;}
.container{
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 20px;
}
.container-800{
	max-width: 840px;
	margin: 0 auto;
	padding: 0 20px;
}
.row{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.m-lr-auto{margin-left: auto; margin-right: auto;}
.mb24{margin-bottom: 24px;}
.mb32{margin-bottom: 32px;}
.mb72{margin-bottom: 72px;}
.mb80{margin-bottom: 80px;}
.mt32{margin-top: 32px;}
.mt40{margin-top: 40px;}
.mt80{margin-top: 80px;}
.nav-80{
	padding-top: 80px!important;
	margin-top: -80px!important;
}
.p-tb88{padding-top: 88px; padding-bottom: 80px;}

/*==================================================
font css
===================================*/
p,ul,li{
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	line-height: 1.6;
}
.fz300{font-size: var(--fz300);}
.fz260{font-size: var(--fz260);}
.fz220{font-size: var(--fz220);}
.fz220-only{font-size: 2.2rem;}
.fz180{font-size: var(--fz180);}
.fz150-135{font-size: var(--fz150-135);}
.fz150-120{font-size: var(--fz150-120);}
.fz135{font-size: var(--fz135);}
.fz135-110{font-size: var(--fz135-110);}
.fz135-100{font-size: var(--fz135-100);}
.fz130{font-size: var(--fz130);}
.fz120{font-size: var(--fz120);}
.fz115{font-size: var(--fz115);}
.fz100{font-size: var(--fz100);}

.fz-small{font-size: 80%;}

.fw300{font-weight: 300!important;}
.fw400{font-weight: 400!important;}
.fw500{font-weight: 500!important;}

.ls50{letter-spacing: 0.05em!important;}
.ls75{letter-spacing: 0.075em!important;}
.ls100{letter-spacing: 0.1em!important;}

.lh2{line-height: 2em;}
#entry .lh-row2{line-height: 1.8em!important;}

.accent-jp-400{
	font-family: zen-kaku-gothic-new, sans-serif;
	font-weight: 400;
	font-style: normal;
}
.accent-jp-500{
	font-family: zen-kaku-gothic-new, sans-serif;
	font-weight: 500;
	font-style: normal;
}
.accent-en-300{
	font-family: zeitung-micro, sans-serif;
	font-weight: 300;
	font-style: italic;
	letter-spacing: 0.05em;
}
.accent-en-400{
	font-family: zeitung-micro, sans-serif;
	font-weight: 400;
	font-style: italic;
	letter-spacing: 0.05em;
}
a.a_blue{
	color: var(--blue);
	transition: all 0.3s;
}
a.a_blue:hover{
	opacity: 0.6;
}

/*TOP 見出し*/
.title{text-align: center; margin-bottom: 56px;}
.title h2{
	font-size: var(--fz220);
	font-family: zeitung-micro, sans-serif;
	font-weight: 300;
	font-style: italic;
	letter-spacing: 0.05em;
	margin-bottom: 8px;
}
.title p{
	font-size: var(--fz100);
	letter-spacing: 0.075em;
}


/*==================================================
color css
===================================*/
.color-blue{color: var(--blue);}
.color-light-blue{color: var(--light-blue);}
.color-orange{color: var(--orange);}
.color-red{color: var(--red);}
.color-green{color: var(--green);}
.color-pink{color: var(--pink);}
.color-white{color: var(--white);}
.color-bg-blue{background-color: var(--bg-blue);}
.color-bg-light-blue{background-color: var(--light-blue);}
.color-bg-gray{background-color: var(--bg-gray);}
.color-bg-career{background-color: var(--blue);}
.color-bg-newgrads{background-color: var(--light-blue);}
.color-bg-self{background-color: var(--orange);}

/*==================================================
color box css
===================================*/
.color-box-red{
	border: solid 1px var(--red);
	padding: 16px 32px;
	display: inline-block;
}

/*==================================================
header css
===================================*/
header{
	position: fixed;
	top: 0;
	z-index: 99;
	width: 100%;
	background-color: rgba(255,255,255,1);
	border-bottom: solid 1px var(--bg-gray);
}
.header_box{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 16px 0px;
}
.header_l{margin-left: 20px;}
.header_l a{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	text-decoration:none;
}
.header_l img{width: 170px; height: auto;}
.header_l p{margin-top: 24px; margin-left: 16px; color: var(--blue); letter-spacing: 0.05em;}

.header_r{
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.header_entry{
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.header_entry p{
	font-family: zeitung-micro, sans-serif;
	font-weight: 300;
	font-style: italic;
	font-size: 1.5rem;
	color: var(--blue);
	margin-right: 24px;
}
.header_entry>ul{
	display: flex;
	justify-content: center;
	align-items: center;
}
.header_entry>ul li{
	margin-right: 16px;
}
.header_entry>ul li a{
	width: 120px;
	height: 60px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-decoration:none;
	color: var(--white);
	font-family: zen-kaku-gothic-new, sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size: 1.15rem;	
}
.header_entry>ul li:nth-last-of-type(3){background-color: var(--light-blue);}
.header_entry>ul li:nth-last-of-type(2){background-color: var(--blue);}
.header_entry>ul li:nth-last-of-type(1){background-color: var(--orange); margin-right: 0;}

/*==================================================
nav css
===================================*/
.hamburger-menu {
  width: 60px;
  height: 60px;
  position: relative;
  background: transparent;
  appearance: none;
  padding: 0;
  cursor: pointer;
  border: solid 1px var(--blue);
  margin-left: 24px;
  margin-right: 20px;
}
.hamburger-menu__bar {
  display: inline-block;
  width: 44%;
  height: 2px;
  background: var(--blue);
  
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  transition: .5s;
}
.hamburger-menu__bar:first-child {
  top: 18px;
}
.hamburger-menu__bar:nth-child(2) {
  top: 28px;
}
.hamburger-menu__bar:last-child {
  top: 38px;
}
.hamburger-menu--open .hamburger-menu__bar {
  top: 50%;
}
.hamburger-menu--open .hamburger-menu__bar:first-child {
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
}
.hamburger-menu--open .hamburger-menu__bar:last-child {
  transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}
.hamburger-menu--open .hamburger-menu__bar:nth-child(2) {
  display: none;
}
.navigation {
  display: none;
  background: var(--bg-gray);
  position: absolute;
  top: 100px;
  width: 100%;
  z-index: 9999;
	padding-top: 56px;
	padding-bottom: 32px;
	padding-left: 20px;
	padding-right: 20px;
}
.navigation__box{
	
}
.navigation__row{
	max-width: 1040px;
	margin: 0 auto;
	display: flex;
	justify-content: space-around;
	align-items: flex-start;
}

.navigation__list {
  text-align: left;
  list-style: none;
  padding: 0;
  margin: 0 0 30px 0;
	width: 48%;
}
.navigation__list li{
	margin-bottom: 28px;
}
.navigation__sub__list li{
	margin-bottom: 14px;
}
.navigation__list li:last-of-type{
	margin-bottom: 0;
}
.navigation__list-item a{
	color: var(--blue);
	text-decoration:none;
}
.navigation__list-item a:hover{
	color: var(--light-blue);
}
.list-item-en{
	font-family: zeitung-micro, sans-serif;
	font-weight: 300;
	font-style: italic;
	letter-spacing: 0.05em;
	font-size: 1.5rem;
	color: var(--blue);
}
.list-item-en a span{
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: 0.9rem;
	margin-left: 8px;
}
.navigation__sub__list .list-item-en a{
	font-size: 1.2rem;
}
.navigation__sub__list .list-item-en:first-of-type a{
	font-size: 1.5rem;
}
.list-item-jp a{
	font-family: zen-kaku-gothic-new, sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 1.1rem;
	letter-spacing: 0.075em;
}
li.navigation__sub a{
	position: relative;
	padding-left: 24px;
}
li.navigation__sub a:before{
	position: absolute;
	content: '';
	top: 13px;
    left: 0%;
	display: block;
	width: 16px;
	height: 1px;
	background-color: var(--blue);
}
li.navigation__sub a:hover:before{
	background-color: var(--light-blue);
}



/*==================================================
btn css
===================================*/
/*テキストのみリンク*/
.link_text{margin-top: 40px;}
.link_text+.link_text{margin-top: 24px;}
.link_text a{
	position: relative;
	color: var(--blue);
	padding-right: 24px;
	text-decoration:none;
	display: inline-block;
	letter-spacing: 0.1em;
	transition: all 0.3s;
}
.link_text a:after{
	position: absolute;
	content: '';
	top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	right:0;
	display: block;
	width: 8px;
	height: 12px;
	background-image: url("../images/icon_btn_arrow_blue.svg");
	background-size: contain;
	background-repeat: no-repeat;
	transition: all 0.3s;
}
.link_text a:hover{
	opacity: 0.6;
}
.link_text a:hover:after{right: -8px;}

.link_text_orange a{
	color: var(--orange);
}
.link_text_orange a:after{
	background-image: url("../images/icon_btn_arrow_orange.svg");
}

/*==================================================
link thumbnailあり css
===================================*/
.link_thumbnail_box{max-width: 500px;}
.link_thumbnail_box img.link_thumbnail{width: 200px; height: auto;}
.link_thumbnail_box a{
	font-family: zeitung-micro, sans-serif;
	font-weight: 400;
	font-style: italic;
	letter-spacing: 0.05em;
	font-size: var(--fz115);
	text-decoration:none;
	color: var(--blue);
	width: 235px;
	height: 60px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	border: solid 1px var(--blue);
	padding-left: 24px;
	position: relative;
	transition: all 0.3s;
}
.link_thumbnail_box a:after{
	position: absolute;
	content: '';
	top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	right: 24px;
	display: block;
	width: 8px;
	height: 12px;
	background-image: url("../images/icon_btn_arrow_blue.svg");
	background-size: contain;
	background-repeat: no-repeat;
/*	transition: all 0.3s;*/
}
.link_thumbnail_box a:hover{
	background-color: var(--blue);
	color: var(--white);
}
.link_thumbnail_box a:hover:after{
	background-image: url("../images/icon_btn_arrow_white.svg");
}

/*==================================================
MORE ボタン css
===================================*/
.btn_more{
	margin: 48px auto 0;
}
.btn_more a{
	font-family: zeitung-micro, sans-serif;
	font-weight: 400;
	font-style: italic;
	letter-spacing: 0.05em;
	font-size: var(--fz115);
	text-decoration:none;
	color: var(--blue);
	width: 235px;
	height: 60px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	border: solid 1px var(--blue);
	padding-left: 24px;
	position: relative;
	transition: all 0.3s;
	margin: 0 auto;
}
.btn_more a:before{
	position: absolute;
	content: '';
	top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	right: 24px;
	display: block;
	width: 8px;
	height: 12px;
	background-image: url("../images/icon_btn_arrow_blue.svg");
	background-size: contain;
	background-repeat: no-repeat;
	transition: all 0.3s;
}
.btn_more a:hover{
	background-color: var(--blue);
	color: var(--white);
}
.btn_more a:hover:before{
	background-image: url("../images/icon_btn_arrow_white.svg");
}


/*==================================================
BACK ボタン css
===================================*/
.btn_back{
	margin: 72px auto 0;
}
.btn_back a{
	font-family: zeitung-micro, sans-serif;
	font-weight: 400;
	font-style: italic;
	letter-spacing: 0.05em;
	font-size: var(--fz115);
	text-decoration:none;
	color: var(--blue);
	width: 235px;
	height: 60px;
	display: flex;
	justify-content: center;
	align-items: center;
	border: solid 1px var(--blue);
	padding-left: 0px;
	position: relative;
	transition: all 0.3s;
	margin: 0 auto;
}
.btn_back a:before{
	position: absolute;
	content: '';
	top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	left: 24px;
	display: block;
	width: 8px;
	height: 12px;
	background-image: url("../images/icon_btn_arrow_blue_back.svg");
	background-size: contain;
	background-repeat: no-repeat;
	transition: all 0.3s;
}
.btn_back a:hover{
	background-color: var(--blue);
	color: var(--white);
}
.btn_back a:hover:before{
	background-image: url("../images/icon_btn_arrow_white_back.svg");
}



/*==================================================
正方形 リンクボタン css
===================================*/
a.btn_square{
	width: 60px;
	height: 60px;
	text-decoration:none;
	position: relative;
	border: solid 1px var(--blue);
	background-color: var(--white);
	display: inline-block;
	transition: all 0.3s;
}
a.btn_square:after{
	position: absolute;
	content: '';
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	display: block;
	width: 8px;
	height: 12px;
	background-image: url(../images/icon_btn_arrow_blue_2px.svg);
	background-size: contain;
	background-repeat: no-repeat;
/*	transition: all 0.3s;*/
}
a.btn_square:hover{
	background-color: var(--blue);
}
a.btn_square:hover:after{
	background-image: url(../images/icon_btn_arrow_white_2px.svg);
}

/*coming soon*/
div.btn_square_gray{
	width: 60px;
	height: 60px;
	text-decoration:none;
	position: relative;
	border: solid 1px var(--gray);
	background-color: var(--white);
	display: inline-block;
}
div.btn_square_gray:after{
	position: absolute;
	content: '';
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	display: block;
	width: 8px;
	height: 12px;
	background-image: url(../images/icon_btn_arrow_gray_2px.svg);
	background-size: contain;
	background-repeat: no-repeat;
}



/*==================================================
エントリーボタン css
===================================*/
.entry_btn a{
	font-family: zen-kaku-gothic-new, sans-serif;
	font-weight: 500;
	font-style: normal;
	letter-spacing: 0.05em;
	font-size: var(--fz150-120);
	text-decoration:none;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	padding-left: 24px;
	padding-right: 24px;
	position: relative;
	color: var(--white);
}
.entry_btn a:after{
	position: absolute;
	content: '';
	top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	right: 24px;
	display: block;
	width: 8px;
	height: 12px;
	background-size: contain;
	background-repeat: no-repeat;
	transition: all 0.3s;
	background-image: url("../images/icon_btn_arrow_white_2px.svg");
}
.entry_btn a:hover:after{
	right: 16px;
}

/*新卒採用*/
.entry_btn_light-blue a{
	background-color: var(--light-blue);
	border: solid 1px var(--light-blue);
}

/*中途採用*/
.entry_btn_blue a{
	background-color: var(--blue);
	border: solid 1px var(--blue);
}

/*自己推薦採用*/
.entry_btn_orange a{
	background-color: var(--orange);
	border: solid 1px var(--orange);
}

/*新卒エントリーボタン 余白*/
.entry_btn_space{
	width: 320px;
	margin-left: auto;
	margin-right: auto;
}

/*==================================================
ENTRY 別タブリンク css
===================================*/
#entry_tab{text-align: center;}
.entry_btn_tab a:after{
	width: 40px;
	height: 40px;
}

/*新卒採用*/
.entry_btn_tab_light-blue a{
	background-color: var(--light-blue);
	border: solid 1px var(--light-blue);
}
.entry_btn_tab_light-blue a:after{
	background-image: url("../images/icon_link_tab_white.svg");
}

/*中途採用*/
.entry_btn_tab_blue a{
	background-color: var(--blue);
	border: solid 1px var(--blue);
}
.entry_btn_tab_blue a:after{
	background-image: url("../images/icon_link_tab_white.svg");
}

/*自己推薦採用*/
.entry_btn_tab_orange a{
	background-color: var(--orange);
	border: solid 1px var(--orange);
}
.entry_btn_tab_orange a:after{
	background-image: url("../images/icon_link_tab_white.svg");
}

/*応募なし期間*/
.entry_btn_tab_gray a{
	background-color: var(--gray);
	border: solid 1px var(--gray);
	pointer-events: none;
	cursor: default;
}
.entry_btn_tab_gray a:after{
	background-image: url("../images/icon_link_tab_white.svg");
}
.entry_btn_tab_gray a:hover:after{
	right: 24px;
}

/*==================================================
btn hover shine css
===================================*/
.btnshine{
    /*キラッと光る基点とするためrelativeを指定*/
  position: relative;
	overflow: hidden;
}
.btnshine::before {
  content: '';
    /*絶対配置でキラッと光るの位置を決める*/
  position: absolute;
  top: 0;
  left: -75%;
    /*キラッと光る形状*/
    width: 50%;
  height: 100%;
  background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
  transform: skewX(-25deg);
	
}
.btnshine:hover::before {
  animation: shine 0.7s;
}

@keyframes shine {
  100% {
    left: 125%;
  }
}

/*==================================================
TEL リンク css
===================================*/
a[href*="tel:"] {
	color: var(--blue);
}
/*pc範囲ではリンク無効*/
@media (min-width: 768px) {
a[href*="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none;
	color: var(--black);
}
}


/*==================================================
wave css
===================================*/
.wave{
  position: relative;
	padding-top: 80px;
	padding-bottom: 80px;
}

.wave canvas{
    position: absolute;
    bottom: 30px;
  	left:0;
    width: 100%;
	z-index: -10;
}

.subpage .wave{
	padding-bottom: 30px;
}


/*==================================================
NEW タグ css
===================================*/
.new {
    font-size: 10px;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 100%;
    display: inline-block;
    background: var(--red);
    color: var(--white);
    padding: 4px 3px;
    margin-right: 6px;
    border-radius: 4px;
	vertical-align: text-bottom;
}
.new_topic{
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 100%;
    display: inline-block;
    background: var(--red);
    color: var(--white);
    padding: 2px 3px 4px;
    margin-right: 8px;
    border-radius: 4px;
	vertical-align: text-bottom;
}


/*==================================================
TOP css
===================================*/
/*main*/
main.toppage{
	padding-top: 260px;
	padding-bottom: 40px;
	position: relative;
}
main.toppage .main_image{
	width: 100%;
}
main.toppage .main_image .animate img{
	position: absolute;
	width: 200px;
	height: 200px;
	z-index: 10;
}
main.toppage .main_image .animate:first-of-type img{
/*	top: 140px;*/
	left: calc(50% - 600px);
}
main.toppage .main_image .animate:first-of-type img:nth-of-type(1){
	top: 140px;
}
main.toppage .main_image .animate:first-of-type img:nth-of-type(2){
	top: 360px;
}
main.toppage .main_image .animate:nth-of-type(2) img{
/*	top: 360px;*/
	right: calc(50% - 600px);
}
main.toppage .main_image .animate:nth-of-type(2) img:nth-of-type(1){
	top: 360px;
}
main.toppage .main_image .animate:nth-of-type(2) img:nth-of-type(2){
	top: 140px;
}
@media print, screen and (max-width: 1200px) {
	main.toppage .main_image .animate:first-of-type img{
		left: calc(50% - 47%);
	}
	main.toppage .main_image .animate:nth-of-type(2) img{
		right: calc(50% - 47%);
	}
}

.js-animate img {
  opacity: 0;
  transition: all 2s ease;
}
 
.js-animate img.active {
  opacity: 1;
}

main.toppage .main_copy{
	width: 100%;
	background-color: var(--blue);
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-top: 24px;
	padding-bottom: 24px;
	min-height: 192px;
}
main.toppage h1{
	color: var(--white);
	line-height: 1.5;
	font-size: var(--fz300);
}

/*info 新着情報*/
#info{
	display: flex;
	justify-content: space-around;
	align-items: center;
	border-top: solid 1px var(--light-blue);
	border-bottom: solid 1px var(--light-blue);
}
#info .info_title{
}
#info h2{
	padding: 26px 40px 20px;
/*	margin-right: 56px;*/
	font-size: 1.15rem;
	
}
#info .info_topics{
	width: calc(100% - 400px);
	padding: 8px 0;
	padding-left: 40px;
	border-left: solid 1px var(--light-blue);
}
#info .info_topics_box{
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	padding: 8px 0;
}
#info .info_topics_box a{ transition: 0.3s;}
#info .info_topics_box a:hover{opacity: 0.6;}
#info .info_topics_box .info_tag_date{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin-right: 24px;
}
#info .info_topics_box span:first-of-type{
	background-color: var(--white);
	font-size: 0.8rem;
	letter-spacing: 0.05em;
	border-radius: 20px;
	width: 120px;
	display: inline-block;
	text-align: center;
	padding: 4px 0;
	font-weight: 600;
	margin-right: 24px;	
}
#info .info_topics_box span.icon-blue{
	color: var(--blue); 
	border: solid 2px var(--blue);
	box-sizing: border-box;
}
#info .info_topics_box span.icon-light-blue{
	color: var(--light-blue); 
	border: solid 2px var(--light-blue);
	box-sizing: border-box;
}
#info .info_topics_box span.icon-orange{
	color: var(--orange); 
	border: solid 2px var(--orange);
	box-sizing: border-box;
}
#info .info_topics_box span.icon-pink{
	color: var(--pink); 
	border: solid 2px var(--pink);
	box-sizing: border-box;
}

#info .info_topics_box span.date{
	letter-spacing: 0.1em;
	font-weight: 500;
	font-size: 1rem;
}
#info .info_topics_box a{
	text-decoration:none;
	color: var(--blue);
	letter-spacing: 0.1em;
	font-size: 1rem;
	white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#info .link_btn{
	padding-right: 20px;
	padding-left: 20px;
}
#info .link_btn a{
	font-family: zeitung-micro, sans-serif;
	font-weight: 400;
	font-style: italic;
	letter-spacing: 0.05em;
	font-size: var(--fz115);
	text-decoration:none;
	color: var(--light-blue);
	width: 164px;
	height: 60px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	border: solid 1px var(--light-blue);
	padding-left: 24px;
	position: relative;
	transition: all 0.3s;
}
#info .link_btn a:after{
	position: absolute;
	content: '';
	top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	right: 24px;
	display: block;
	width: 8px;
	height: 12px;
	background-image: url("../images/icon_btn_arrow_light-blue.svg");
	background-size: contain;
	background-repeat: no-repeat;
/*	transition: all 0.3s;*/
}

/*==================================================
↓↓↓ slider css // 削除
===================================*/
#info .slider {
  opacity: 0;
  transition: opacity .3s linear;
}
#info .slider.slick-initialized{
  opacity: 1;
}
#info .arrow_box {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin: 0px 0 0;
    position: relative;
}

#info .prev-arrow,
#info .next-arrow {
    display: block;
    width: 50px;
    height: 50px;
    background: var(--white);
	border: solid 1px var(--gray);
    border-radius: 50%;
    transition: all .3s ease;
    cursor: pointer;
    position:relative;
}

#info .prev-arrow {
    transform: rotate(-90deg);
    margin-right: 8px;
}
#info .next-arrow {
    transform: rotate(90deg);
    margin-right: 0px;
}

#info .prev-arrow::before,
#info .next-arrow::before{
    position:absolute;
    content: "";
    width:10px;
    height:10px;
    border-right: 2px solid var(--black);
    border-top: 2px solid var(--black);
    top:0;
    bottom:0;
    left:0;
    right:4px;
    margin:auto;
    transform:rotate(45deg);
}
/*==================================================
↑↑↑ end slider css
===================================*/

/*about*/
#about{
	background-image: url("../images/bg_about.png");
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
	text-align: center;
}
#about h3{
	position: relative;
	padding-left: 48px;
	padding-right: 48px;
	display: inline-block;
	margin-bottom: 56px;
}
#about h3:before,#about h3:after{
	position: absolute;
	content: '';
	display: block;
	width: 12px;
	height: 34px;
	background-image: url("../images/about_deco.png");
	background-size: contain;
	background-repeat: no-repeat;
}
#about h3:before{top: 0; left:0;}
#about h3:after{top: 0; right:0;}
#about .container>p{line-height: 2.1;}
#about .slogan{margin-top: 64px;}
#about .slogan h2{margin-bottom: 16px;}


/*経営理念*/
#philosophy{}
#philosophy .philosophy_box{max-width: 900px; margin-bottom: 32px;}
#philosophy .philosophy_box img{width: 242px; height: auto;}

/*社長メッセージ*/
.link_thumbnail_box .btn_title{margin-bottom: 24px;}

/*心ある行動指針*/
#guidelines{}
#guidelines .container{max-width: 1080px;}
#guidelines .slider_guidelines{
	display: flex;
	flex-wrap: wrap;
}
#guidelines .guidelines_box{
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 50%;
}
#guidelines .guidelines_box:nth-of-type(1),
#guidelines .guidelines_box:nth-of-type(2){margin-bottom: 80px;}
#guidelines .guidelines_box .img_box img{width: 220px; height: auto;}
#guidelines .guidelines_box_r .text_box{text-align: right;}

#guidelines .guidelines_box_l .guidelines_text,#guidelines .guidelines_box_r .guidelines_text{
	position: relative;
	width: 260px;
	line-height: 2;
}
#guidelines .guidelines_box_l .guidelines_text{padding-right: 32px;}
#guidelines .guidelines_box_r .guidelines_text{text-align: left; padding-left: 64px;}
#guidelines .guidelines_box_l .guidelines_text:after{
	position: absolute;
	content: '';
	top: 0;
	right:0;
	display: block;
	width: 34px;
	height: 142px;
	background-image: url("../images/guidelines_deco_01.png");
	background-size: contain;
	background-repeat: no-repeat;
}
#guidelines .guidelines_box_r .guidelines_text:before{
	position: absolute;
	content: '';
	top: 0;
	left:0;
	display: block;
	width: 34px;
	height: 142px;
	background-image: url("../images/guidelines_deco_02.png");
	background-size: contain;
	background-repeat: no-repeat;
}

#guidelines p.guidelines_number{font-size: 3.125rem; margin-bottom: 24px;}
#guidelines p.guidelines_number span{font-size: 1rem;}

/*事業紹介*/
#business{text-align: center;}
#business .container{max-width: 1080px;}
#business .row{align-items: flex-start; margin-top: 56px;}
#business h4{margin-top: 24px; margin-bottom: 16px;}
#business img{width: 200px; height: auto;}

/*アスカネットで働く*/
#working{}
#working .container{max-width: 840px;}
#working .link_otherpage{
	flex-wrap: wrap;
	justify-content: space-around;
}
#working .link_thumbnail_box{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 50%;
	margin-bottom: 56px;
}
#working .link_btn_box{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
#working h3{margin-top: 24px; margin-bottom: 24px;}

#working .link_bg_icon{justify-content: space-around;}
#working .link_bg_icon h3{margin-bottom: 8px; margin-top: 0;}
#working .link_bg_icon_box{
	width: 50%;
	text-align: center;
}
#working .bg_icon_title{
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 152px 152px;
	padding-top: 44px;
	padding-bottom: 44px;
	margin-bottom: 24px;
}
#working .bg_icon_title_infographics{background-image: url("../images/working_img05.png");}
#working .bg_icon_title_faq{background-image: url("../images/working_img06.png");}
#working .bg_icon_title_diversity{background-image: url("../images/working_img07.png");}

/*アスカネットのこれまでとこれから*/
#story{}
 #story .container{max-width: 840px;} 
#story .container>p{text-align: center;}
#story .row{align-items: flex-start; margin-top: 56px;}
#story .story_box{
	/* width: calc(100% / 3); */
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
#story .story_box img{width: 200px; height: auto;}
#story .story_box_title{margin-bottom: 24px; text-align: center;}
#story h4{margin-top: 24px; margin-bottom: 8px;}
#story .slick-arrow{
	top: 152px;
	opacity: 1;
	position: absolute;
	z-index: 8;
	cursor: pointer;
}
#story .prev-arrow{
	width: 44px;
	height: 80px;
	left: -24px;
	padding-right: 24px;
}
#story .next-arrow{
	width: 44px;
	height: 80px;
	right: -24px;
	padding-left: 24px;
}
#story ul.slick-dots {
	bottom: -40px;
	left: 0.8%;
}
#story .slick-dots li{
	width: 16px!important;
}
#story .slick-dots li button{
	width: 16px!important;
}
#story .slick-dots li button:before{
	width: 6px!important;
	height: 6px!important;
	border-radius: 3px;
	background: var(--gray);
	opacity: 0.5;
}
#story .slick-dots li.slick-active button:before{
	background: var(--black);
	opacity: 1;
}
.slick-dots li button::before {
	content: ''!important;
}

/*MOVIE*/
#movie{}
#movie .container{max-width: 1080px;}
#movie .row{align-items: flex-start; flex-wrap: wrap;}
#movie .movie_box{
	max-width: 320px;
	text-align: center;
}
#movie .movie_box{margin-bottom: 40px;}
#movie .movie_box a{
	color: var(--black);
	text-decoration:none;
}
#movie .movie_box img{
	width: 100%;
	height: auto;
	padding-bottom: 24px; 
	transition: transform .4s ease;
}
#movie .movie_box h4{font-size: 1rem; margin-bottom: 8px;}
#movie .movie_box p{font-size: 0.9rem;}

#movie .movie_box a:hover img{
	transform: scale(1.05); /*拡大*/
}
#movie .row::after{ /*3カラムで左寄せする為に空のBOX追加*/
  content:"";
  display: block;
  width:30%;
}

/*ENTRY*/
#entry{}
#entry .container{max-width: 1080px;}
#entry .entry_btn{}
#entry .entry_btn a{
	width: 320px;
	height: 80px;
}
#entry .link_text{text-align: center; margin-top: 56px;}

#entry .row-center{
	justify-content: center;
	margin-top: 40px;
}

/*==================================================
footer css
===================================*/
footer{}
footer .footer_bg_blue a{
	text-decoration:none!important;
	color: var(--white);
	transition: 0.3s;
}
.footer_bg_white{text-align: center;}
.footer_bg_white h4{margin-bottom: 56px;}
.footer_bg_white .row{
	justify-content: center;
}
footer .footer_bg_blue ul li a:hover{opacity: 0.6; transition: 0.3s;}

/*==================================================
別タブリンク css
===================================*/
/*フッター CPS、Facebook*/
.footer_link_tab:first-of-type{
	margin-right: 32px;
}
.footer_link_tab a{
	font-family: zeitung-micro, sans-serif;
	font-weight: 400;
	font-style: italic;
	letter-spacing: 0.025em;
	font-size: var(--fz115);
	text-decoration:none;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	position: relative;
	color: var(--blue);
	background-color: var(--white);
	border: solid 1px var(--blue);
	width: 235px;
	height: 60px;
	padding-left: 16px;
	transition: all 0.3s ease;
}
.footer_link_tab a:after{
	position: absolute;
	content: '';
	top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	right: 8px;
	display: block;
	width: 36px!important;
	height: 36px!important;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url("../images/icon_link_tab_blue.svg");
}
.footer_link_tab a:hover{
	color: var(--white);
	background-color: var(--blue);
}
.footer_link_tab a:hover:after{
	background-image: url("../images/icon_link_tab_white.svg");
}
/*==================================================
end 別タブリンク css
===================================*/

.footer_bg_blue{
	padding-top: 80px;
	padding-bottom: 40px;
	color: var(--white); text-align: center;
	position: relative;
}
a.link_logo{display: inline-block;  margin-bottom: 56px;}
a.link_logo img{width: 230px; height: auto; margin-bottom: 16px;}

.footer_bg_blue ul{
	display: flex;
	justify-content: center;
	align-items: center;
}
.footer_bg_blue ul+ul{margin-top: 24px;}
.footer_bg_blue ul li{
	position: relative;
	margin-right: 32px;
	letter-spacing: 0.05em;
}
.footer_bg_blue ul li:after{
	position: absolute;
	content: '';
	top: 0;
	right:-16px;
	display: block;
	width: 1px;
	height: 100%;
	background-color: var(--white);
}
.footer_bg_blue ul li:last-of-type{
	margin-right: 0px;
}
.footer_bg_blue ul li:last-of-type:after{
	width: 0;
	height: 0;
}

.footer_bg_blue .privacy{
	position: absolute;
	right: 20px;
	bottom: 160px;
	background-color: var(--white);
}
.footer_bg_blue .privacy a img{padding: 4px;}
.footer_bg_blue .isms{
	position: absolute;
	right: 20px;
	bottom: 88px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.footer_bg_blue .isms img{
	height: 64px; width: auto;
	background-color: var(--white);
	padding: 4px;
}
.copyright{
	color: var(--white)!important;
	margin-top: 56px;
}

/* pagetop */
.page-top { display: none; margin: 0; padding: 0; }
.page-top p { margin: 0; padding: 0; position: fixed; right: 16px; bottom: 16px; z-index: 10;}
.move-page-top { display: block; background: #2a2b30; width: 50px; height: 50px; cursor: pointer; color: #fff; line-height: 50px; text-decoration: none; text-align: center; -webkit-transition: all 0.3s; -moz-transition: all 0.3s; transition: all 0.3s; opacity: 0.60; border-radius: 25px; }
a.move-page-top:hover { color: #fff; text-decoration: none; }
/* / pagetop */



/*==================================================
下層ページ 共通 css
===================================*/
/*下層ページメインビジュアル*/
main.subpage{
	padding: 103px 0px 0;
}
main.subpage .subpage_title{
	width: 100%;
	text-align: center;
	padding: 0 20px;
}

main.subpage .title_en h1{
	padding-top: 56px;
	margin-bottom: 24px;
}
main.subpage .title_en p{
	padding-bottom: 48px;
}
main.subpage .title_jp p{
	padding-top: 48px;
	margin-bottom: 24px;
}
main.subpage .title_jp h1{
	padding-bottom: 56px;
}

main.subpage .subpage_main_box{
	max-width: 840px;
	padding: 0 20px;
	margin: 40px auto 0;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
main.subpage_illustration .subpage_main_box{
	max-width: 1080px;
	min-height: 400px;
	padding: 0 20px;
	margin: 40px auto 0;
	background-size: 400px 400px;
	background-repeat: no-repeat;
	background-position: top right;
}
main.subpage .subpage_main_box .subpage_main_box_text{
	margin-top: 64px;
}
main.subpage .subpage_main_box h2{
	line-height: 1.6;
	margin-bottom: 40px;
}
main.subpage .subpage_main_box p{
	line-height: 1.6;
}
main.subpage .subpage_main_box h3{
	margin-top: 16px;
}
main.subpage .subpage_main_box img{
	width: 400px;
	height: 400px;
}

main.subpage_illustration .subpage_main_box li{
	margin-bottom: 16px;
}
main.subpage_illustration .subpage_main_box li:last-of-type{
	margin-bottom: 0;
}

main.subpage_illustration .subpage_main_box a{
	font-size: var(--fz135);
	text-decoration:none;
	color: var(--black);
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	position: relative;
	padding-left: 40px;
}
main.subpage_illustration .subpage_main_box a:hover{
	opacity: 0.6;
}
main.subpage_illustration .subpage_main_box a:before{
	position: absolute;
	content: '▼';
	top: 11px;
	left: 0;
}
main.subpage_illustration .subpage_main_box li a span.accent-en-300{
	font-size: var(--fz220);
	margin-right: 24px;
	display: block;
}
main.subpage_illustration .subpage_main_box li a span.pagelink_title{
	padding-top: 11px;
}

.topics_title{
	position: relative;
	padding-top: 32px;
	margin-bottom: 40px;
}
.topics_title:before{
	position: absolute;
	content: '';
	top: 0px;
	left:-48px;
	display: block;
	width: 136px;
	height: 136px;
	border-radius: 50%;
	background-color: var(--bg-blue);
	z-index: -1;
}
.topics_title:after{
	position: absolute;
	content: '';
	top: 0px;
	left:64px;
	display: block;
	width: 168px;
	height: 168px;
	background-size: contain;
	background-repeat: no-repeat;
	z-index: -2;
}
.topics_title_plus_photo{
	position: relative;
	padding-top: 64px;
}
.topics_title_plus_photo:before{
	top: 32px;
}
.topics_title_plus_photo:after{
	position: absolute;
	content: '';
	top: 0px;
	left:64px;
	display: block;
	width: 168px;
	height: 168px;
	background-size: contain;
	background-repeat: no-repeat;
	z-index: -2;
}
.topics_title p{line-height: 2;}
p.topics_text + img{margin-top: 56px;}
img.photo-1{max-width: 630px; height: auto; margin: 0 auto;}

.topics_subtitle_box h4{
	color: var(--blue);
	font-family: zen-kaku-gothic-new, sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: var(--fz120);
	letter-spacing: 0.1em;
	padding: 16px 32px;
	border: solid 1px var(--blue);
	display: inline-block;
	margin-bottom: 16px;
}
.topics_text + .topics_subtitle_box{margin-top: 48px;}
.topics_subtitle_box + .topics_subtitle_box{margin-top: 40px;}
.topics_subtitle_box_img{
	margin-top: 24px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
.img_plus_caption , .topics_subtitle_box_img img{
	width: 32%;
	height: auto;
	margin-right: 2%;
}
.img_plus_caption:last-of-type , .topics_subtitle_box_img img:last-of-type{
	margin-right: 0;
}
.img_plus_caption img{
	width: 100%;
	height: auto;
}
.img_plus_caption p{
	margin-top: 8px;
	letter-spacing: 0.075em;
	text-align: center;
}


/*下層ページ パンくず*/
#topic-path{
	margin-top: 112px;
	padding-bottom: 40px;
}
#topic-path ul{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	line-height: normal;
}
#topic-path li{
	margin-left: 24px;
	margin-right: 16px;
	position: relative;
	font-size: 0.9rem;
	line-height: normal;
	margin-bottom: 8px;
}
#topic-path li:before{
	position: absolute;
	content: '';
	top: 6px;
	left: -22px;
	display: block;
	width: 8px;
	height: 12px;
	background-image: url("../images/icon_btn_arrow_black.svg");
	background-size: contain;
	background-repeat: no-repeat;
}
#topic-path li:first-of-type:before{
	width: 0;
	height: 0;
}
#topic-path li:first-of-type{
	margin-left: 0;
}
#topic-path li:last-of-type{
	margin-right: 0;
}
#topic-path a{
	color: var(--blue);
	text-decoration:none;
	transition: all 0.3s;
}
#topic-path a:hover{
	opacity: 0.6;
}