/* CSS Document */

body {
	width: 100%;
}

#wrapper{
	width: 100%;
    margin: 0 auto;
    color: #333;
    line-height: 1.8;
    font-size: 16px;
    min-height: 100vh;
    font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    position: relative;
    background: #FFF;
    overflow: hidden;
}

#main {
    margin-top: 0;
	color: #161616;
	font-family:'Noto Sans JP', sans-serif;
	margin: 0 auto;
	text-align: center;
}


.barlow {
	font-family:'Barlow''Noto Sans JP';
}

.english {
	font-size: 14px;
	letter-spacing: 0.1rem;
	font-weight: 300;
}

.department_eng {
	line-height: 1;
}

.chuui{
	font-size: 15px;
}

.fontb{
	font-weight: bold;
}

section {
	padding: 100px 0;
}

.sectiontitle  h2 {
letter-spacing: 4px;
}

h3{
	font-size: 20px;
}

#for_other p {
	padding-bottom: 20px;
}

.blue {
	color: #004098;
	font-size: 23px;
}

.red {
	color: #e9967a;
	font-size: 23px;
}

.green {
	color: #a4c55f;
	font-size: 23px;
}

.name_1 {
    width: 120px;
    margin: 0 auto;
    border-bottom: solid 2px #39435f;
    position: relative;
    padding-bottom: 8px;
}

.name_1:after{
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 2px #a4c55f;
  bottom: -2px;
  width: 30%;
}



.name_2{
  width: 120px;
  margin: 0 auto;
  border-bottom: solid 2px skyblue;
  position: relative;
  padding-bottom: 8px;
}

.name_2:after{
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 2px #e9967a;
  bottom: -2px;
  width: 30%;
}


.font_b {
	font-weight: bold;
}

.tab,.sp{
		display: none;
	}
	.pc{
		display: block;
	}

@media screen and (max-width: 1024px){
	.pc,.sp{
		display: none;
	}
	.tab{
		display: block;
	}
}

@media screen and (max-width: 639px) {
		#main {
			margin-top: 0;
		}
	.pc,.tab{
		display: none;
	}
	.sp{
		display: block;
	}
	}



/*=========================ハンバーガーメニュー===============================*/
@media screen and (max-width:639px){
 .el_humburger {
	  position: fixed;
	  top: 29px;
	  right: 30px;
	  width: 50px;
	  height: auto;
	  padding-top: 1px;
	  box-sizing: border-box;
	  z-index: 10000;
	  transition: all 0.2s ease-in-out;
	  cursor: pointer;
	  pointer-events: auto;
  }
	.el_humburger > span {
	  display: block;
	  width: 100%;
	  margin: 0 auto 10px;
	  height: 3px;
	  background: #000;
	  transition: all 0.2s ease-in-out;
	}
	.el_humburger > span:last-child {
	  margin-bottom: 0;
	}
	.js_humburgerOpen .el_humburger > span {
	  background: #ccc;
	}
	.js_humburgerOpen .el_humburger > span.top {
	  transform: translateY(12px) rotate(-45deg);
	}
	.js_humburgerOpen .el_humburger > span.middle {
	  opacity: 0;
	}
	.js_humburgerOpen .el_humburger > span.bottom {
	  transform: translateY(-12px) rotate(45deg);
	}
	.el_humburgerButton.el_humburgerButton__close {
	  top: 2%;
	  right: 2%;
	}
	.el_humburgerButton__close > span {
	  display: block;
	  width: 35px;
	  margin: 0 auto;
	  height: 4px;
	  background: #fff;
	}
	.el_humburgerButton__close > span.el_humburgerLineTop {
	  transform: translateY(5px) rotate(-45deg);
	}
 
	.el_humburgerButton__close > span.el_humburgerLineBottom {
	  transform: translateY(-6px) rotate(45deg);
	}
	/*ナビゲーション*/
	.uq_spNavi {
	  display: none;
	}
	.uq_spNavi.js_appear {
	  position: fixed;
	  top: 0;
	  left: 0;
	  bottom: 0;
	  right: 0;
	  display: block;
	  z-index: 9999;
	}
	.uq_spNavi_screen {
	  position: absolute;
	  top: 0;
	  left: 0;
	  bottom: 0;
	  right: 0;
	  background-color: rgba(0,0,0,0.7);
	  z-index: 0;
	  margin-top: 0px;
	  padding-top: 0px;
	  overflow: auto;
	  -webkit-overflow-scrolling: touch;
	}
	.navigation {
	  padding: 8%;
	  text-align: center;
	}
	
	.navigation a{
		font-weight: bold;
	  color: #fff;
	}
	
	.navigation_item:nth-of-type(1){
	    width: 13em;
		border: none;
	}
	.navigation_item {
	  font-size: 18px;
	  font-weight: 500;
	  width: 80%;
	  padding: 1.2em;
	  margin: auto;
	  border-bottom: solid 1px #ccc;
		line-height: 20px;
	}
	.navigation_item > a {
	  font-family: "Noto sans JP medium";
		color: #fff !important;
	}
	.js_fixed {
	  position: fixed;
	  width: 100%;
	  height: 100%;
	}
	/*----- font-awesomeアイコン ---*/
	.navigation > .media_icon{
	  width: 65%;
	  margin: 30px auto 0 auto;
	  display: flex;
	  justify-content: space-around;
	}
	 .navigation > .media_icon i{
		 font-size: 2em;
		 color: #fff !important;
	}
	.arenge{
		font-size:14px;
		color: #fff !important;
	}
}
/*========================================================================*/






/*------------------------------------ 
   TOPへ戻るボタン
  ------------------------------------*/

#page_top{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 0;
  bottom: 0;
  background: #004098;
  opacity: 1;
  z-index: 10000;
}
#page_top a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f106';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}



/*------------------------------------ 
   ヘッダーメニュー
  ------------------------------------*/
#headermenu{
	width: 100%;
    height: auto;
	background: rgba(0,0,0,0.4);
	color: #fff;
	font-weight: bold;
	font-size: 14px;
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
	padding: 16px 20px 0;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
}

#headermenu a {
	color: #fff;
	letter-spacing: 2px;
}


#headermenu .menu_logo img {
	width: 160px;
	vertical-align: middle;
}


#headermenu .menu_list {
	width: 100%;
	padding-right: 140px;
}



#headermenu .menu_list ul {
	display: flex;
    flex-wrap: nowrap;
    justify-content: space-around;
	box-sizing: border-box;
}

#headermenu > div.menu_list > ul > li{
	font-size: 14px;
    height: auto;
	flex-shrink: 0;
}
#headermenu .menu_logo {
	letter-spacing: 2px;
}


#headermenu .menu_entry {
	width: 110px;
	height: 95px;
	background-color: #004098;
	position: absolute;
	top: 0;
    right: 20px;
	flex-shrink: 0;
}

@media screen and (max-width: 1024px){
	
	#headermenu {
    width: 100%;
    height: 95px;
    padding: 16px 0px;
}
	
	#headermenu .menu_logo {
    text-align: left;
}
	
#headermenu .menu_list {
    width: 100%;
    text-align: left;
    padding-right: 140px;
    padding-top: 10px;
}	
	
	#headermenu > div.menu_list > ul > li:nth-child(2) {
    padding-left: 0;
}
	
#headermenu .menu_logo img {
    width: 45%;
    margin-left: 5%;
}	
#headermenu > div.menu_list > ul > li {
    font-size: 80%;
}
	
#headermenu .menu_entry {
    right: 0;
}	
	
}

/*------------------------------------ 
   フッター
  ------------------------------------*/
#footer {
	width: 100%;
  margin: 5% auto 0;
  background-color: #fff;
  text-align: center;padding: 30px;
  font-size: 13px;
}





/*---------リクルートボタン------------*/
.btn_E {
    /*アニメーションの起点とするためrelativeを指定*/
    position: relative;
	overflow: hidden;
	font-size: 25px;
	color: #fff;
	width: 110px;
	height: 95px;
    /*ボタンの形状*/
	text-decoration: none;
	display: inline-block;
	background-color: #004098;
    text-align: center;
    outline: none;
    /*アニメーションの指定*/   
    transition: ease .2s;
	letter-spacing: 2px;
	line-height: 84px;
}

#recruiting_info .english {
	font-weight: normal;
	font-size: 16px;
}

.btn_E:hover {
border: 1px solid #004098;/* ボーダーの色と太さ */
	background-color: #fff;
}

/*ボタン内spanの形状*/
.btn_E span {
	position: relative;
	z-index: 3;/*z-indexの数値をあげて文字を背景よりも手前に表示*/
	color: #fff;
}

.btn_E:hover span{
	color: #004098;
}

/*== 背景が流れる（左から右） */
.bgleft:before {
 	content: '';
    /*絶対配置で位置を指定*/
 	position: absolute;
 	top: 0;
 	left: 0;
 	z-index: 2;
    /*色や形状*/
 	background:#fff;/*背景色*/
 	width: 100%;
	height: 100%;
    /*アニメーション*/
 	transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
 	transform: scale(0, 1);
	transform-origin: right top;
}

/*hoverした際の形状*/
.bgleft:hover:before{
	transform-origin:left top;
	transform:scale(1, 1);
	background-color: #fff;
}
/*---------ボタンEND------------*/




/*------------------------------------ 
   ミニバナー
  ------------------------------------*/
.banner {
position: relative;
overflow: hidden;
max-width: 437px;
height: 87px;
margin: 0 auto;
border: 1px solid #C1C1C1;
}

.banner:after {
position: absolute;
content: "";
display: block;
width: 100%;
height: 100%;
top: 0;
background: url("../img/renew/department/banner_shain.jpg") no-repeat center center;
-webkit-background-size: cover;
-moz-background-size: cover;
-ms-background-size: cover;
background-size: cover;
-webkit-transition: all .3s ease-out;
-moz-transition: all .3s ease-out;
-ms-transition: all .3s ease-out;
transition: all .3s ease-out;
}
.banner:hover:after {
opacity: .5;
-moz-transform: scale(1.1);
-webkit-transform: scale(1.1);
-ms-transform: scale(1.1);
transform: scale(1.1);
}
.banner a {
position: relative;
display: flex;
align-items: center;
justify-content: center;
z-index: 1;
height: 100%;
text-decoration: none;
color: #000000;
left: 24%;
font-size: 20px;
}

.banner a:hover{
   color: #898989;
}

#employee .banner:after,
#interview .banner:after{
	background: url("../img/renew/interview/banner_busho.jpg") no-repeat center center;
}

.interview_top a {
	display:block;
	padding:20px;
	background: white;
	border:solid 1px #b1b1b1;
	width: min(437px,96%);
	margin:60px auto 0;
	font-size:20px;
}

.interview_top a:hover {
	opacity: 0.6;
}


/*------------------------------------ 
   readmoreボタン
  ------------------------------------*/
.arrow_btn {
	display: inline-block;
	position: relative;
	width: 260px;
	padding: 0.8em;
	text-align: center;
	text-decoration: none;
	color: #1B1B1B;
	background: #fff;
	border:1px solid #C1C1C1;
	transition: transform ease .3s;
}
.arrow_btn:hover {
	 cursor: pointer;
	 text-decoration: none;
}

.arrow_btn p:hover{
	color: #C1C1C1;
}


.arrow_btn span {
	color: #C1C1C1;
	padding-left: 20px;
	display: inline-block;
	text-decoration: none;	
	transition: transform ease .3s;
}
.arrow_btn:hover span{
	cursor: pointer;
	text-decoration: none;
	transform: translateX(6px);
}

/*------------------------------------ 
   snsボタン
  ------------------------------------*/
.sns_btn {
	display: inline-block;
    position: relative;
    width: 159px;
    height: 40px;
    text-align: center;
    text-decoration: none;
    color: #fff;
    background: #000;
    border: 1px solid #C1C1C1;
    transition: transform ease .3s;
    padding: 3px;
    border-radius: 30px;
}

.sns_btn:hover {
	 cursor: pointer;
	 text-decoration: none;
}

.sns_btn p:hover{
	color: #e8e8e8;
}


.sns_btn span {
	color: #fff;
    padding-left: 5px;
	display: inline-block;
	text-decoration: none;	
	transition: transform ease .3s;
}
.sns_btn:hover span{
	cursor: pointer;
	text-decoration: none;
	transform: translateX(6px);
}

.btn_sns {
	padding-top: 25px;
}

/*------------------------------------ 
   子ページ共通
  ------------------------------------*/
.top_1 {
	max-width: 100%;
    max-height: 676px;
	height: 100vh;
	background-size: cover;
}

.img-back {
	width: 436px;
    height: 100vh;
	background-position: 0 0;
    -webkit-animation: bgroop 80s linear infinite;
    animation: bgroop 80s linear infinite;
}
@-webkit-keyframes bgroop {
    from {
        background-position: 0  0;
    }
    to {
        background-position: 0 676px;
    }
}
@keyframes bgroop {
    from {
        background-position: 0 0;
    }
    to {
        background-position: 0 676px;
    }
}

.sectiontitle{
	color: #fff;
}

.sectiontitle  h2 {
	padding-top: 10px;
	padding-right: 8px;
}

.message p {
	padding-top: 20px;
}


/*------------------------------------ 
   index
  ------------------------------------*/

#recruit_index .top_1{
	background: url("../img/renew/top.jpg") no-repeat center top;
	background-size: cover;
}

.thinkdoor{
	position: absolute;
    top: 360px;
    left: 41%;
	filter: drop-shadow(0px 0px 4px rgba(255,255,255,1));
}

#recruit_index section h3 {
	padding: 30px 0;
}

#contents_employee > div > h2 {
	color: #000 !important;
}

#contents_employee .sectiontitle{
	padding-bottom: 50px;
}



/*----スワイパー-----*/
.swiper-wrapper {
  /* wrapperのサイズを調整 */
  width: 100%;
  height: auto !important;
}

.swiper-slide {
  /* スライドのサイズを調整、中身のテキスト配置調整、背景色 */
  width: 360px;
  height: 600px;
  text-align: center;
}


.swiper-pagination-bullets {
  width: 100px;
}

.swiper-pagination-bullet {
  width: 12px !important;
  height: 12px !important;
  margin: 0 0 0 10px !important;
  background: #fff;
}

.swiper-pagination-bullet:first-child {
  margin: 0 !important;
}

.swiper-parent {
	width: 1300px;
    margin: 0 auto;
	position: relative;
}
/* Swiper本体 */
.swiper-container {
	padding-bottom: 50px;		/* ★ページネーション・スクロールバー分の余白50pxを下に取る */
	box-sizing: content-box;
	width: 1200px;
}
/* 前・次スライドボタンの縦位置調整（スライドの高さの中央に合わせる） */
.swiper-button-prev, .swiper-button-next {
	top: calc((100% - 50px) * 0.5);	/* ☆★ページネーション・スクロールバー（50px）を除く縦位置の中央（＝スライドの高さの中央）に一旦配置 */
	margin-top: -22px;			/* ★ボタンの高さ（44px）の半分のネガティブマージンで上に少しずらす */
	background-size: 70% !important;
}

.swiper-button-prev {
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23e8e8e8'%2F%3E%3C%2Fsvg%3E")!important;
}
.swiper-button-next {
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23e8e8e8'%2F%3E%3C%2Fsvg%3E")!important;
}
/*-----スワイパーEND-----*/


#contents_employee .btn_readmore {
	width: 1200px;
	margin: 0 auto;
}

#contents_employee > div.btn_readmore > div{
	text-align: right;
	padding-right: 33px;
}

#contents_depart .contents_depart_box{
	width: 100%;
	height:1300px;
	position: relative;
}

/*-----バックグラウンド切り替わりアニメーション------*/
/*#contents_depart .bg-img {
	width: 1457px;
	height: 920px;
	position: absolute;
	top: 150px;
	right:0;
	animation: bg-color 2s ease-in infinite reverse;
	
	background: linear-gradient(139deg, #bce6fe, #e8e8e8);
    background-size: 600% 600%;

    -webkit-animation: backg_img_gr 6s ease infinite;
    -moz-animation: backg_img_gr 6s ease infinite;
    -o-animation: backg_img_gr 6s ease infinite;
}

@-webkit-keyframes backg_img_gr {
    0%{background-position:2% 0%}
    50%{background-position:99% 100%}
    100%{background-position:2% 0%}
}
@-moz-keyframes backg_img_gr {
    0%{background-position:2% 0%}
    50%{background-position:99% 100%}
    100%{background-position:2% 0%}
}
@-o-keyframes backg_img_gr {
    0%{background-position:2% 0%}
    50%{background-position:99% 100%}
    100%{background-position:2% 0%}
}
@keyframes backg_img_gr {
    0%{background-position:2% 0%}
    50%{background-position:99% 100%}
    100%{background-position:2% 0%}
	}

*/

.bg-img_2 {
  width: 1457px;
	height: 920px;
	background: #004098;
	position: absolute;
	top: 150px;
	right:0;
}

span {
  position: relative;
}

.bg-img_2::before {
	content: '';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: 100%;
	transition: 1s;
	animation: bg-color 2s ease-in infinite reverse;
	
	background: linear-gradient(139deg, #bce6fe, #e8e8e8);
    background-size: 600% 600%;

    -webkit-animation: backg_img_gr 6s ease infinite;
    -moz-animation: backg_img_gr 6s ease infinite;
    -o-animation: backg_img_gr 6s ease infinite;
}

@-webkit-keyframes backg_img_gr {
    0%{background-position:2% 0%}
    50%{background-position:99% 100%}
    100%{background-position:2% 0%}
}
@-moz-keyframes backg_img_gr {
    0%{background-position:2% 0%}
    50%{background-position:99% 100%}
    100%{background-position:2% 0%}
}
@-o-keyframes backg_img_gr {
    0%{background-position:2% 0%}
    50%{background-position:99% 100%}
    100%{background-position:2% 0%}
}
@keyframes backg_img_gr {
    0%{background-position:2% 0%}
    50%{background-position:99% 100%}
    100%{background-position:2% 0%}
	}


@keyframes bg-color {
  0% { background-color: #bce6fe; }
  100% { background-color: #e8e8e8; }
}

.fade::before {
  width: 100%;
}
/*-----バックグラウンド切り替わりアニメーション　END------*/




#contents_depart .department_box .img_photo {
	position: absolute;
	top: 0;
	left: 0;
}

#contents_depart .department_box .sectiontitle {
	text-align: right;
	color: #000;
	position: absolute;
	top: 80px;
	right:140px;
}

#contents_depart .department_box .setumei_box {
	width: 650px;
	height: 315px;
	background-color: #fff;
	position: absolute;
	top: 250px;
	right:140px;
	padding: 90px 91px;
	text-align: left;
}

#contents_depart .btn_readmore{
	text-align: right;
	padding-top: 60px;
}

#contents_depart .culture_box .img_photo {
	position: absolute;
	top: 800px;
    right: 140px;
}

#contents_depart .culture_box .sectiontitle {
	text-align: right;
	color: #000;
	position: absolute;
	top: 840px;
    right: 840px;
}

#contents_depart .culture_box .setumei_box {
	width: 650px;
	height: 315px;
	background-color: #fff;
	padding: 90px 91px;
	text-align: left;
	position: absolute;
	top: 990px;
    left: 230px;
}

.setumei_box .pic-container {
	box-sizing: border-box;
	width: 580px;
	height:250px;
    --color: #C1C1C1;
    --x-gradient: linear-gradient(90deg, var(--color) 0 50px, transparent 0 calc(100% - 50px), var(--color) calc(100% - 50px));
    --y-gradient: linear-gradient(var(--color) 0 50px, transparent 0 calc(100% - 50px), var(--color) calc(100% - 50px));
    margin: 0.5rem;
    padding: 2rem;
    box-shadow: 0 0 0 10px var(--bg-color);
    background-image:
        var(--x-gradient),
        var(--y-gradient),
        var(--x-gradient),
        var(--y-gradient);
    background-repeat: no-repeat;
    background-size: 100% 1px, 1px 100%, 100% 1px, 1px 100%;
    background-position: top, right, bottom, left;
    color: var(--color);
    font-size: 22px;
}


.setumei_box .pic-container{
	position: absolute;
	top: 27px;
    left: 27px;
}


#communication {
	height: 773px;
	background-color: #e8e8e8;
	margin: 150px 0;
}

#communication .sns_box {
	justify-content: space-between;
	width: 1500px;
	margin: 0 auto;
}

#communication .sns_inner{
	width: 328px;
}

#communication > div:nth-child(1) > p{
	margin: 30px 0 100px;
}


#recruiting_info .btn-box {
	width: 1150px;
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
	justify-content: space-between;
}

#recruiting_info > div:nth-child(1) > h2 {
	padding-bottom: 50px;
}

#recruiting_info > div.flex.btn-box.fadein.scrollin > div:nth-child(1),
#recruiting_info > div.flex.btn-box.fadein.scrollin > div:nth-child(2){
	width: 550px;
    height: 150px;
	background-color: #004098;
}

/*---------リクルーティングボタン------------*/
.btn{
    /*アニメーションの起点とするためrelativeを指定*/
    position: relative;
	overflow: hidden;
	font-size: 30px;
	font-weight: bold;
	width: 550px;
	height: 150px;
    /*ボタンの形状*/
	text-decoration: none;
	display: inline-block;
	background-color: #004098;
   	border: 1px solid #004098;/* ボーダーの色と太さ */
    padding: 10px 30px;
    text-align: center;
    outline: none;
    /*アニメーションの指定*/   
    transition: ease .2s;
	line-height: 1em;
	padding-top: 42px;
	letter-spacing: 4px;
}

#recruiting_info .english {
	font-weight: normal;
	font-size: 16px;
}

.btn:hover {
border: 1px solid #004098;/* ボーダーの色と太さ */
}

/*ボタン内spanの形状*/
.btn span {
	position: relative;
	z-index: 3;/*z-indexの数値をあげて文字を背景よりも手前に表示*/
	color: #fff;
}

.btn:hover span{
	color: #004098;
}

/*== 背景が流れる（左から右） */
.bgleft:before {
 	content: '';
    /*絶対配置で位置を指定*/
 	position: absolute;
 	top: 0;
 	left: 0;
 	z-index: 2;
    /*色や形状*/
 	background:#fff;/*背景色*/
 	width: 100%;
	height: 100%;
    /*アニメーション*/
 	transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
 	transform: scale(0, 1);
	transform-origin: right top;
}

/*hoverした際の形状*/
.bgleft:hover:before{
	transform-origin:left top;
	transform:scale(1, 1);
}
/*---------ボタンEND------------*/





#access {
	width: 1200px;
	margin: 0 auto;
}

#access .midashi {
	text-align: left;
	margin-bottom: 30px;
}

#access .access_box{
	justify-content: space-between;
}

#access .access_inner{
	width: 590px;
	height: 500px; 
	text-align: left;
}

#access i {
	padding-right: 5px;
}

#access tr{
	border-top: 1px solid #000000; 
	border-bottom: 1px solid #000000; 
}

#access td {
	padding: 20px 20px 40px;
}

@media screen and (max-width: 1024px){
	
	#wrapper {
		width: 100%;
		min-width: 0;
	}
	
	.thinkdoor {
    top: 360px;
    left: 23%;
}
	
	.message p {
    padding: 20px 50px 0;
}
		
	.swiper-parent {
    width: 95%;
}
	
	.swiper-container {
    width: 100%;
}
	
	#contents_employee .btn_readmore {
    width: 100%;
}
	
	#contents_employee > div.btn_readmore > div {
    padding-right: 25px;
}
	
	#contents_depart > div > div.department_box > div.img_photo.fadein.scrollin > a > img{
		width: 680px;
	}
	
	#contents_depart .department_box .sectiontitle {
    text-align: left;
    right: 0;
    top: 0;
    left: 30px;
    display: flex;
    align-items: center;
}
	#contents_depart > div > div.department_box > div.sectiontitle.fadein.scrollin > h2{
		padding-left: 30px;
	}
	
	#contents_depart .department_box .img_photo {
    top: 80px;
}
	
	#contents_depart .department_box .setumei_box {
		right: 0;
        top: 370px;
	}
	
	#contents_depart .culture_box .img_photo {
	top: 950px;
    right: 0px;
}
	
	#contents_depart .culture_box .sectiontitle {
    top: 840px;
    right: 30px;
    display: flex;
    align-items: center;
}
	
	#contents_depart > div > div.culture_box > div.sectiontitle.fadein.scrollin > img{
		padding-right: 20px;
	}
	
	#communication {
    height: 100%;
    margin: 200px 0 60px;
}
	
	#contents_depart .culture_box .setumei_box {
    top: 1200px;
    left: 0px;
}
	
	#communication .sns_box {
    width: 95%;
}
	
	#communication .sns_box img {
		width: 95%;
	}
	
	#recruiting_info{
    width: 95%;
	margin: 0 auto;
}
	
	#recruiting_info .btn-box {
    width: 100%;
}
	
	#recruiting_info .btn {
     width: 100%;
	 height: 100%;
	}
	
#recruiting_info > div.flex.btn-box.fadein.scrollin > div{
	width: 100% !important;
    /*height: 100%;*/
	background-color: #004098;
	margin:3% auto 0;
}
	
	#recruiting_info > div.flex.btn-box.fadein.scrollin > div:nth-child(1){
		    margin-bottom: 20px;
	}	
	
	#access .midashi {
    text-align: center;
}
	
	#access,
	#access table,
	#access iframe{
    width: 95%;
}
	
	#access > div.flex.fadein.access_box.scrollin > div:nth-child(2){
		text-align: right;
	}
	
	#recruit_index .top_1 {
    background: url(../img/renew/top.jpg) no-repeat top left 68%;
    background-size: cover;
}

}

@media screen and (max-width: 639px){
	#recruit_index .top_1 {
    background: url(../img/renew/top.jpg) no-repeat top left 69%;;
    background-size: 200%;
    height: 273px;
}
	
.thinkdoor img{
		width: 70%;
	}	
	
	.thinkdoor {
    top: 133px;
    left: 1%;
}	
	
	
	#recruit_index .message p {
    padding: 0px 0px 0;
}
	
	#recruit_index h2 {
		font-size: 21px !important;
	}
	
	#recruit_index section {
		padding: 0px 0 70px;
	}
	
	#recruit_index .message{
		width: 90%;
	}
	
	#recruit_index .message h3 {
		font-size: 18px;
	}
	
	#recruit_index .message p {
	    padding-top: 0;
        font-size: 15px;
		text-align: left;
	}
	
	#recruit_index .sectiontitle {
    width: 90%;
    margin: 0 auto;
}
	
	
	#contents_employee table{
		width: 100% !important;
        height: 100% !important;
	}
	
	#shain_contents .en_name, #contents_employee .en_name{
		left: 24px !important;
	}
	
	#contents_employee .btn_readmore {
    padding-bottom: 100px;
}
	
	#contents_employee > div.btn_readmore > div {
		padding-right: 0;
		text-align: center;
	}
	
	
#contents_depart .contents_depart_box {
    height: 935px;
}
	
#contents_depart .department_box .setumei_box {
    width: 100%;
    height: 230px;
    top: 248px;
    right: 0;
    padding: 34px 53px;
    text-align: left;
}	
	
	#contents_depart .btn_readmore {
    padding-top: 20px;
}
	
	#contents_depart .department_box .setumei_box p {
		font-size: 15px;
	}
	
	.setumei_box .pic-container {
    position: absolute;
    top: 10px;
    left: 10px;
    width: 90%;
    height: 165px;
}
	
	#contents_depart .department_box .sectiontitle {
    text-align: center;
    width: 90%;
    top: -30px;
    left: 0;
	display: block;
}
	
	#contents_depart > div > div.culture_box > div.sectiontitle.fadein.scrollin > img {
    width: 90%;
}
	
	#contents_depart .culture_box .sectiontitle {
    top: 510px;
    left: 0;
    right: 0;
    text-align: center;
    display: block;
}
	
	#contents_depart .culture_box .img_photo {
    top: 640px;
}

	
#contents_depart .culture_box .setumei_box {
    width: 100%;
    height: 230px;
    top: 916px;
    right: 0;
    left: 0;
    padding: 34px 53px;
    text-align: left;
}	
	
	
	#contents_depart .btn_readmore{
    text-align: center;
}
	
	#communication {
    height: 100%;
    margin: 150px 0 0;
}
	
	#communication > div:nth-child(1){
		width: 95%;
		margin: 0 auto;
		padding-top: 50px;
	}
	#communication > div:nth-child(1) > p {
    margin: 30px 0 50px;
}
	
	#communication .btn_sns {
    padding-bottom: 80px;
}
	#communication > div.sns_box.flex.fadein.scrollin > div:nth-child(4){
		padding: 0;
	}
	
	#recruiting_info img {
		width: 90%;
	}
	
	#recruiting_info .btn-box {
    width: 100%;
}
	#recruiting_info .btn {
    width: 100%;

	}
#recruiting_info > div.flex.btn-box.fadein.scrollin > div:nth-child(1), #recruiting_info > div.flex.btn-box.fadein.scrollin > div:nth-child(2) {
   margin:3% auto  !important;
}
	#recruiting_info > div.flex.btn-box.fadein.scrollin > div:nth-child(1) > a {
		padding-top: 40px;
	}
	
	#recruiting_info > div.flex.btn-box.fadein.scrollin > div:nth-child(1){
		margin-bottom: 30px !important;
	}
	
	
	
	#access .midashi {
    text-align: center;
}
	
	#access .access_inner {
    height: 100%;
}
	
	#access > div.flex.fadein.access_box.scrollin > div:nth-child(2){
		padding-top: 30px;
		text-align: center;
	}
	
	#access > div.flex.fadein.access_box.scrollin > div:nth-child(1) > table{
		margin: 0 auto;
	}
	
	
}






/*------------------------------------ 
   社員紹介
  ------------------------------------*/
#employee .top_1 {
	background: url("../img/renew/employee/top_s.jpg") no-repeat center top;
	background-size: cover;
}

#employee .img-back {
    background: url(../img/renew/recruit/i-bg.png) repeat-y;
}


#employee .sectiontitle {
	text-align: right;
    position: absolute;
    top: 460px;
    left: 50px;
}

#employee .parson {
	height: 200px;
	background: url("../img/renew/employee/logo_people.png") no-repeat top center;
	
}

#employee .parson h2 {
	padding-top: 30px;
}


#shain_contents {
	width: 100%;
	background-color: #e8e8e8;
}

#shain_contents .contents-box {
	width: 1200px;
	margin: 0 auto;
	flex-wrap: wrap;
	justify-content: space-between;
}

/*-------------------テーブル---------------------*/

#shain_contents table,
#contents_employee table{
  border-collapse: collapse;
  margin-bottom:50px;
  width: 360px;
  height: 600px;
  table-layout: fixed;
  text-align: center;
  box-sizing: border-box;
  border-spacing: 0 50px;
}

#contents_employee table{
	border: 1px solid #e8e8e8;
}


#shain_contents table tr,
#contents_employee table tr{
  background-color: #fff;
}

#shain_contents .img_photo,
#contents_employee .img_photo{
	position: relative;
	width: 360px;
	height: 400px;
}

#shain_contents .txt,
#contents_employee .txt{
	width: 360px;
	height: 200px;
}



/*英文字1行目*/
#shain_contents .en_name,
#contents_employee .en_name{
    position: absolute;
    top: 355px;
    left: 10px;
    color: #fff;
    font-size: 40px;
   font-family: 'Barlow',sans-serif;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.3rem;
	text-align: left;
}

.en_name p {
	text-shadow: 3px 3px 4px #111111;
}

/* #contents_employee .en_name{
	top: 55%;
    left: 4%;
}



/*長尾*
#shain_contents > div > div:nth-child(1) > table > tbody > tr:nth-child(1) > td > div{
	top: 18.5%;
	}	
	
/*山崎*
#shain_contents > div > div:nth-child(4) > table > tbody > tr:nth-child(1) > td > div{
	top: 51.8%;
}
/*田中*
#shain_contents > div > div:nth-child(7) > table > tbody > tr:nth-child(1) > td > div{
	top: 85%;
}

/*英文字2行目*
/*笠原*
#shain_contents > div > div:nth-child(2) > table > tbody > tr:nth-child(1) > td > div{
	top: 18.5%;
	left: 36%;
}
/*虫賀*
#shain_contents > div > div:nth-child(5) > table > tbody > tr:nth-child(1) > td > div{
	top: 51.8%;
	left: 36%;
}


/*英文字3行目*
/*奈良*
#shain_contents > div > div:nth-child(3) > table > tbody > tr:nth-child(1) > td > div{
	top: 18.5%;
	left: 71%;
}
/*井上*
#shain_contents > div > div:nth-child(6) > table > tbody > tr:nth-child(1) > td > div{
	top: 51.8%;
	left: 71%;
} */
	
#shain_contents table .i_comment,
#contents_employee table .i_comment{
	padding: 0px 10px 10px;
	line-height: 1.8rem;
	font-size: 17px;
	font-weight: bold;
}

#shain_contents table .name_,
#contents_employee table .name_{
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.2rem;
}

#shain_contents table .depart,
#contents_employee table .depart{
	font-size: 15px;
	padding-top: 8px;
}


/*-------------------テーブルEND---------------------*/



@media screen and (max-width: 1024px){
	
	#shain_contents .contents-box {
	width: 95%;
	}
	
	#employee .sectiontitle img {
    width: 90%;
}
	
/*英文字1行目
/*長尾
#shain_contents > div > div:nth-child(1) > table > tbody > tr:nth-child(1) > td > div{
		top: 13%;
	}		
	
/*山崎
#shain_contents > div > div:nth-child(4) > table > tbody > tr:nth-child(1) > td > div{
	top: 38%;
	left: 55%;
}
/*田中
#shain_contents > div > div:nth-child(7) > table > tbody > tr:nth-child(1) > td > div{
	top: 87.9%;
	left: 0;
}

/*英文字2行目*
/*笠原*
#shain_contents > div > div:nth-child(2) > table > tbody > tr:nth-child(1) > td > div{
	left: 55%;
	top: 13%;
}
/*虫賀*
#shain_contents > div > div:nth-child(5) > table > tbody > tr:nth-child(1) > td > div{
	top: 63%;
	left: 0;
}


/*英文字3行目*
/*奈良*
#shain_contents > div > div:nth-child(3) > table > tbody > tr:nth-child(1) > td > div{
    top: 38%;
	left: 0;
}
/*井上*
#shain_contents > div > div:nth-child(6) > table > tbody > tr:nth-child(1) > td > div{
	top: 63%;
	left: 55%;
} */
	
	#shain_contents table{
		margin: 32px auto;
	}
	
	
#employee .top_1 {
    background: url(../img/renew/employee/top_s.jpg) no-repeat top left 71%;
    background-size: cover;
}
	
		
}

@media screen and (max-width: 639px){
	
	#employee .top_1 {
    height: 275px;
	background: url(../img/renew/employee/top_s.jpg) no-repeat top left 74%;
    background-size: 200%;
}
	
	#employee .top_sp {
		width: 100%;
		height: 200px;
		background-color: #fff;
		position: absolute;
		top:246px;
		left:0;
	}
	
	
	#employee section {
    padding: 80px 0;
}
	
	#employee .parson {
	height: 100%;
    background-size: 75%;
}
	

	
/*英文字1行目
#shain_contents > div > div:nth-child(1) > table > tbody > tr:nth-child(1) > td > div{
		top: 8.1%;
	}	
#shain_contents > div > div:nth-child(4) > table > tbody > tr:nth-child(1) > td > div{
	top: 51.2%;
}
#shain_contents > div > div:nth-child(7) > table > tbody > tr:nth-child(1) > td > div{
	top: 94.3%;
}

/*英文字2行目
#shain_contents > div > div:nth-child(2) > table > tbody > tr:nth-child(1) > td > div{
	top: 22.5%;
}
#shain_contents > div > div:nth-child(5) > table > tbody > tr:nth-child(1) > td > div{
	top: 65.5%;
}


/*英文字3行目
#shain_contents > div > div:nth-child(3) > table > tbody > tr:nth-child(1) > td > div{
	top: 36.8%;
}
#shain_contents > div > div:nth-child(6) > table > tbody > tr:nth-child(1) > td > div{
	top: 80%;
} */
	
}



/*------------------------------------ 
   インタビュー
  ------------------------------------*/


#interview .top_1_box {
	width: 100%;
	position: relative;
}

#interview .int_box {
	width: 1200px;
	margin: 0 auto;
	position: relative;
}

#interview .intimg {
	text-align: right;
}


#interview .inner_left{
	background: #50a7f0;
	width: 1142px;
	height: 480px;
	margin: 0 auto 0 0;
	position: absolute;
	top: 200px;
	left: 0;
}

#interview .female {
    background: #e9967a;
}

#interview .sectiontitle {
    text-align: right;
    position: absolute;
    top: 80px;
    right: 24px;
}

#interview .sectiontitle img{
    width: 60%;
}

#interview .sectiontitle h2 {
    padding-top: 0px;
    padding-right: 0px;
	font-size: 20px;
}


#interview .inner_caption {
	color: #fff;
	text-shadow: 3px 3px 4px #111111;
    font-size: 30px;
    font-weight: bold;
    text-align: left;
    letter-spacing: 0.1em;
    position: absolute;
    top: 250px;
    left: 0px;
}

#interview  .img-back {
    background: url("../img/renew/i-bg.png") repeat-y;
}

#interview .img-back {
	width: 436px;
    height: 588px;
	background-position: 0 0;
    -webkit-animation: bgroop 80s linear infinite;
    animation: bgroop 80s linear infinite;
}
@-webkit-keyframes bgroop {
    from {
        background-position: 0  0;
    }
    to {
        background-position: 0 588px;
    }
}
@keyframes bgroop {
    from {
        background-position: 0 0;
    }
    to {
        background-position: 0 588px;
    }
}

#interview .inner_name {
	color: #1A1A1A;
    font-size: 30px;
    font-weight: bold;
    text-align: left;
    letter-spacing: 0.2em;
    position: absolute;
    top: 450px;
    line-height: 24px;
}


#interview .depart{
	font-size: 15px;
    font-weight: normal;
    text-align: left;
    line-height: 24px;
    padding-top: 11px;
}



#interview .parson {
    background: url("../img/renew/interview/logo_careerpath.png") no-repeat center;
	padding-top: 100px;
    margin: 100px auto 0;
	padding-bottom: 100px;
}


#interview .careea_box{
	width: 1200px;
	flex-wrap: wrap;
	justify-content: space-between;
	text-align: center;
}

#interview .careea_inner{
	width: 320px;
	height:400px;
	margin: 0 auto;
}
#interview .careea_inner_2{
	width: 50px;
	height:400px;
	padding-top: 135px;
	font-size: 30px;
}

#interview .busyo{
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.2em;
}

#interview .setumei{
	text-align: left;
	padding-top: 20px;
}

#interview .interview-box{
	text-align: center;
}

#interview .interview-box h3 {
	text-align: left;
}

#interview .interview-box p {
	text-align: left;
	padding: 20px 0 100px;
}

#interview .interview-box img {
	text-align: center;
	padding: 30px 0 100px;
}

#interview .midashisen {
    width: 1200px;
    border-bottom: solid 2px #AFD0FB;
    position: relative;
    padding-bottom: 8px;
}
#interview .midashisen:after{
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 2px #004098;
    bottom: -2px;
    width: 10%;
}

#interview .midashisen_f {
    width: 1200px;
    border-bottom: solid 2px #AFD0FB;
    position: relative;
    padding-bottom: 8px;
}

#interview .midashisen_f:after{
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 2px #e9967a;;
    bottom: -2px;
    width: 10%;
}

#interview .shashin{
	justify-content: space-between;
}


#dailyflow {
	width: 100%;
	text-align: center;
	background: #e8e8e8;
}

#dailyflow h3{
	color: #000000;
	text-align: center;
}

#dailyflow .sectiontitle_2{
	width: 100%;
    position: absolute;
    top: -35px;
}


#dailyflow .daily {
	width: 1200px;
	margin: 0 auto;
}

#dailyflow .daily_left{
	width: 800px;
	box-sizing: border-box;
}

#dailyflow .daily_right{
    width: 400px;
	padding-left: 30px;
    padding-top: 80px;
	box-sizing: border-box;
}



@media screen and (max-width: 1024px) {
	
	#interview .int_box {
    width: 100%;
}
	
	#interview .intimg img{
    width: 80%;
}
	
	
  #interview .inner_right {
    width: 80%;
	background-position: center right 61%;
  }
	
	#interview .kasahara_intaview .inner_right {
    background-position: center right 48%;
}
	
	#interview .mushiga_intaview .inner_right {
    background-position: center right 53%;
}
	
	#interview .tanaka_intaview .inner_right {
    background-position: center right 33%;
}
	
  #interview .inner_left {
    width: 80%;
	height: 400px;
	top: 274px;  
}
	
	#interview .img-back {
    height: 400px;
}
	
  #interview .sectiontitle {
    top: 500px;
}
	
#interview .parson {
    margin: 0px auto 0;
}	
	
#interview .inner_name {
    position: static;
    padding-left: 5%;
    padding-top: 80px;
}	
	
#interview .nara_intaview .inner_name {
    padding-top: 120px;
}	
	
	
#interview .sectiontitle {
    top: 315px;
    right: 30px;
	display: none;
}	
	#interview .sectiontitle img {
		width: 50%;
	}
	
#interview .inner_caption {
    top: 340px;
	left: 6%;
}	
	
	#interview .sectiontitle h2 {
    padding-top: 0px;
    padding-right: 0px;
    font-size: 17px !important;
}
	
#interview .careea_inner {
    width: 30%;
    height: 100%;
}	
	
	#interview .careea_inner_2 {
    width: 30px;
    font-size: 20px;
}
	
#interview .careea_box,
#interview .interview-box,
#interview .interview-inner{
    width: 95%;
}	
#interview .midashisen,
#interview .midashisen_f,
#interview .interview-inner_img{
	width: 100%;
	}
	
	#interview .interview-box img {
    width: 100%;
}
	
	#interview_contents > div > img:nth-child(19)	{
		width: 90%;
	}
	
	
	#dailyflow .daily {
    width: 90%;
		padding-top: 20px;
}
	
	
	
	#dailyflow .daily_left {
    width: 100%;
}
	
#dailyflow .daily_left img,
#dailyflow .daily_right img{
	width: 100%;	}
	
	#dailyflow .daily_right {
	width: 100%;	
    padding-left: 0;
    margin: 0 auto;
	padding-top: 0;
}
			
}

	


@media screen and (max-width: 639px) {
	
	#interview .top_1 {
    height: 560px !important;
    }
	
	#interview .top_1_box {
    width: 100%;
    height: 400px;
    position: relative;
}
	
	#interview .intimg {
    text-align: right;
    padding-top: 0px;
}
	
	#interview .intimg img {
    width: 100%;
	min-width: 400px;
}
	
	#interview .sectiontitle {
    top: 1%;
    left: 3%;
    width: 70%;
    text-align: left;
	display: block;
}
	
	#interview .sectiontitle h2 {
    font-size: 14px !important;
}
	
	.sectiontitle h2 {
    padding-top: 0;
    padding-right: 0;
    font-size: 16px !important;
}
	
	#interview .inner_caption {
    position: static;
    font-size: 20px;
    text-align: center;
	color: #333;
	text-shadow: 0 0 0;
}
	
	
	#interview .inner_left {
	display: none;
    height: 260px;
    top: 240px;
	width: 100%;
}
	
	#interview .inner_name {
    line-height: 25px;
	position: static;
}
	
	#interview .nara_intaview .inner_name {
    padding-top: 24px;
}
	
	#interview .img-back {
    width: 90%;
	height: 200px;
	}
	
	#interview .inner_name {
    font-size: 20px;
    text-align: center;
    padding-top: 24px;
}
	
	#interview .depart {
    font-size: 14px;
    text-align: center;
    padding-top: 8px;
}
	
	#interview .careea_inner {
    height: auto;
}
	
	#interview .careea_inner_2 {
    width: 50px;
    height: 40px;
    padding: 30px 0 60px;
}
	
	#interview .parson {
	height: 120px;
    padding-top: 27px;
    background-size: 80%;
	margin-top: 50px;
}
	
	#interview section {
    padding: 100px 20px;
	}
	
	#interview .interview-box p {
    padding: 20px 0 50px;
}
	
	#interview_contents > div > div:nth-child(4) > img {
		width: 90%;
		padding: 20px 0 0;
}
	
	#interview_contents > div > div:nth-child(4) > img:nth-child(2){
		padding-bottom: 100px;
	}
	
	
	#interview_contents > div > div:nth-child(6) > img {
		width: 100%;
	}

	
	#dailyflow .sectiontitle_2 {
	top: -2%;
    left: 10%;
    right: 10%;
    width: 80%;
}
	
#dailyflow .daily {
    width: 100%;
    margin: 0 auto;
	padding-top: 0;
}
	
#dailyflow .daily_right {
    padding-top: 30px;
}
	
}



/*------------------------------------ 
   部署紹介
  ------------------------------------*/
#department .top_1 {
	background: url("../img/renew/department/top_b.jpg") no-repeat center top;
	background-size: cover;
}

#department  .img-back {
    background: url("../img/renew/department/i-bg_y.png") repeat-y;
}

#department .sectiontitle {
	text-align: right;
	position: absolute;
	top: 420px;
	left: 50px;
}

#department .busho {
	background-color: #e8e8e8;
	width: 100%;
	height:500px;
}


#busho_contents {
	width: 100%;
	background-color: #e8e8e8;
}

#busho_contents .contents-box {
	width: 1200px;
	margin: 0 auto;
	flex-wrap: wrap;
	
}


/*-------------------テーブル---------------------*/

#busho_contents table {
  border-collapse: collapse;
  margin: 0 auto;
  margin-bottom:50px;
  width: 570px;
  height: 370px;
  table-layout: fixed;
  text-align: left;
  box-sizing: border-box;
  border-spacing: 0 50px;
}

#busho_contents table th {
	width: 570px;
    height: 80px;
    table-layout: fixed;
 padding: 10px 30px;
  font-size: 30px;
	letter-spacing: 0.12em;
	box-sizing: border-box;
}

#busho_contents table td {
	width: 570px;
    height: 160px;
    table-layout: fixed;
	box-sizing: border-box;
}

#busho_contents table thead tr{
  background-color: #535353;
  color:#fff;
}

#busho_contents table tbody tr{
  background-color: #fff;
  height: 130px;
}

#busho_contents table .txt {
	padding: 20px 30px;
}

#busho_contents table .setsumei_2 {
	justify-content: space-between;
}

#busho_contents table .s_right {
	text-align: right;
	font-size: 14px;
	line-height: 1.4em;
}

#busho_contents table .s_right img {
	padding-top: 12px;
}

i {
	display: block;
}

/*-------------------テーブルEND---------------------*/

/*-------------------●ボタン---------------------*/

.btn_maru,
a.btn_maru,
button.btn_maru {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #fff;
  border-radius: 0.5rem;
}

a.btn-3d-circle {
  display: block;
  margin: 0 auto;
  padding: 0;
  border-radius: 50%;
}

.btn-3d-circle-content {
  display: block;
  line-height: 21px;
  width: 120px;
  height: 120px;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
  border-radius: 50%;
  background-color: #f8bd60;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-perspective: 150px;
  perspective: 150px;
  padding-top: 33px;
}

.btn-3d-circle:hover .btn-3d-circle-content {
  -webkit-transform: rotateY(0.5turn) rotateX(-0.03turn);
  transform: rotateY(0.5turn) rotateX(-0.03turn);
}

.btn-3d-circle-front{
	padding-top: 10px;
	font-size: 14px;
	font-weight: normal;
	line-height: 50px;
}


.btn-3d-circle:hover .btn-3d-circle-front {
  opacity: 0;
}

.btn-3d-circle:hover .btn-3d-circle-back {
  top: calc(52% - 2rem);
  left: calc(20% - 0.75rem);
  opacity: 1;
}

.btn-3d-circle-back {
 font-size: 25px;
line-height: 33px;
  position: absolute;
  top: 70%;
  left: 70%;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  letter-spacing: 2px;
  opacity: 0;
}

.btn-3d-circle-back p {
	padding-top: 10px;
	padding-right: 30px;
	text-align: center;
}
/*-------------------●ボタンEND---------------------*/



@media screen and (max-width: 1024px){
	
	#busho_contents .contents-box {
    width: 100%;
}
	#busho_contents table {
		width: 49%;
		height: 100%;
	}
	
	#busho_contents table td {
    width: 100%;
	height: 180px;}
	
	#busho_contents thead {
		height: 50px;
	}
	#busho_contents table th {
    width: 100%;
    height: 100%;	
    font-size: 26px;
}
	#busho_contents table th,
	#busho_contents table .txt {
    padding: 15px 20px;
}
	#busho_contents table .tab{
		line-height: 1.3em;
	}
	
	#for_other {
    width: 100%;
    margin: 0 auto;
}
#busho_contents table .setsumei_2 {
    font-size: 15px;
}	
	
}

@media screen and (max-width: 639px) {
	
#department .top_1 {
    height: 275px;
	background: url("../img/renew/department/top_b.jpg") no-repeat top left 32%;
    background-size: 200%;
}
	
	#department .top_sp {
		width: 100%;
		height: 200px;
		background-color: #fff;
		position: absolute;
		top:246px;
		left:0;
	}
	
	
	
	
	#department section {
    padding: 50px 0 70px;
}
	
	
	#busho_contents .contents-box {
    width: 95%;
}
	
	#busho_contents table {
    width: 100%;
}
	
	#busho_contents table .setsumei_2 {
	display: flex !important;
	font-size: 14px;
}
	
	a.btn-3d-circle {
		padding-left: 40px;}
	
	
	#busho_contents table th {
    font-size: 25px;
    padding: 25px 20px;
    line-height: 18px;
}
	
	.message {
		width: 95%;
		margin: 0 auto;
		text-align: center;
	}
	
	#for_other {
    width: 95%;
}
	
}

/*------------------------------------ 
   環境と制度
  ------------------------------------*/
#culture .top_1 {
	background: url("../img/renew/culture/top_c.jpg") no-repeat center top;
	background-size: cover;
}

#culture .img-back {
	margin: 0 0 0 auto;/*--右寄せ---*/
    background: url("../img/renew/culture/i-bg.png") repeat-y;
}


#culture .sectiontitle {
	text-align: right;
	position: absolute;
	top: 200px;
	right: 50px;
}

#culture .parson {
    height: 200px;
    background: url("../img/renew/culture/Data.png") no-repeat top center;
}

#culture .message h3 {
	line-height: 140px;
}

#data_contents .data_box{
	width: 1200px;
	margin: 0 auto;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 50px;
}

#welfare_contents .welfare_box{
	width: 1200px;
	min-width: 1200px;
	height: auto;
	margin: 0 auto;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 50px;
}


#data_contents > div.data_box.flex > div.data_box_mini > div:nth-child(2){
	margin-top: 30px;
}

#data_contents .data_box_big,
#data_contents .data_box_mini{
	width: 375px;
	height:550px;
}

#data_contents .data_inner{
	box-sizing: border-box;
	border: 5px solid #e9967a; 
	border-radius: 20px;
}

#data_contents .inner_mini{
	height: 260px;
}

#data_contents .inner_big{
	height: 550px;
}

#data_contents h2 {
  font-size: 36px;
  position: relative;
  padding: 0.5rem 0;
  text-align: center;
}

#data_contents h2:before {
  position: absolute;
    bottom: 0;
    left: calc(50% - 30px);
    width: 60px;
    height: 5px;
    content: '';
    border-radius: 3px;
    background: #e9967a;
}

#data_contents .number {
	font-size:102px;
	font-weight: bold;
	color: #6667ab;
}

#data_contents .moji {
	font-size: 37px;
	padding-left: 10px;
}

#data_contents p {
	line-height: 160px;
}

#data_contents img {
	margin-top: -30px;
}

#welfare_contents .parson {
    height: 200px;
    background: url("../img/renew/culture/Welfare.png") no-repeat top center;
	margin-bottom: 50px;
}

#welfare_contents .welfare_container{
	width: 100%;
	background-color: #fbeae4;
	height: 1430px;
}

#welfare_contents .welfare_box_mini{
	box-sizing: border-box;
	width: 375px;
	/*height: 600px;*/
	background-color: #fff;
	position: relative;
}

#welfare_contents .welfare_box_2 .welfare_box_mini{
	/*height: 510px;*/
}


#welfare_contents .inner_ue {
	background-color: #6667ab;
	padding: 35px;
	height: 275px;
}

#welfare_contents .inner_ue h2{
	font-size: 27px;
	color: #fff;
}

#welfare_contents .inner_sita {
	background-color: #fff;
	text-align: left;
	padding: 15px 30px 15px;
}

#welfare_contents .inner_sita i{
	font-size: 7px;
	padding-right: 5px;
	vertical-align: 15%;
}

#welfare_contents > div.welfare_container > div{
	padding-top: 50px;
}

#welfare_contents .chuusyaku{
	font-size: 14px;
	line-height: 18px;
}

#welfare_contents .chuusyaku_sita{
	padding-bottom: 15px;
    padding-right: 25px;
    padding-top: 15px;
}

@media screen and (max-width: 1024px){
	#data_contents .data_box{
		width: 97%;
		height: 100%;
		font-size: 15px;
	}
	
	#welfare_contents .welfare_box {
		width: 97%;
    height: 100%;
		min-width: 640px;
    font-size: 15px;
    
	}
	
	
	
	#data_contents .data_box_big, #data_contents .data_box_mini {
    width: 32%;
    height: 100%;
}
	
	#data_contents > div.data_box.flex > div.data_box_mini > div:nth-child(2) {
    margin-top: 20px;
}
	
	#data_contents .inner_mini {
    height: 230px;
}
	
	#data_contents h2 {
    font-size: 30px;
}
	
	#data_contents .number {
    font-size: 80px;
}
	
	
#data_contents > div:nth-child(2) > div.data_box_mini > div:nth-child(1) > p > span.number.count.count-fast{
	font-size: 65px;
	}
	
	#data_contents .moji {
    font-size: 23px;
    padding-left: 3px;
}
	
	#data_contents img {
    width: 80%;
}
	
	#data_contents .inner_big {
    height: 480px;
}
	
	#welfare_contents .welfare_container {
    width: 100%;
    height: 1400px;
    padding-bottom: 60px;
}
	
	#welfare_contents .welfare_box_mini {
    box-sizing: border-box;
    width: 32%;
    height: auto;
    padding-bottom: 10px;
    background-color: #fff;
}
	
	#welfare_contents .welfare_box_2 .welfare_box_mini {
    height: 580px;
}
	
	#welfare_contents .inner_sita {
    padding: 15px 20px 0px;
	font-size:13px;
}
	
}

@media screen and (max-width: 639px){
	#culture .top_1 {
    height: 275px;
	background: url("../img/renew/culture/top_c.jpg") no-repeat top left 66%;
    background-size: 200%;
}
	
	#culture .top_sp {
		width: 100%;
		height: 200px;
		background-color: #fff;
		position: absolute;
		top:246px;
		left:0;
	}
	
	#culture .img-back {
    width: 100%;
    height: 126px;
}
	
	
	#culture section {
    padding: 50px 0 70px;
}
	
	#culture .parson {
    background-size: 80%;
}
	
	#data_contents .data_box_big, #data_contents .data_box_mini {
    padding-top: 20px;
}
	#data_contents .data_box, #welfare_contents .welfare_box {
     margin-top: 0;
		min-width: 0;
}
	
#data_contents img {
    width: 60%;
}	
	
#welfare_contents .welfare_container {
    height: 100%;
}	
	
#welfare_contents > div.welfare_container > div {
    padding: 50px 0;
}

	#welfare_contents .welfare_box_mini {
    margin-bottom: 20px !important;
	height: 590px;
}
	
#welfare_contents .welfare_box_2 .welfare_box_mini {
    height: 500px;
}	

	
}


/*------------------------------------ 
   募集要項ページ
  ------------------------------------*/
#recruit_new .top_1 {
	background: url(../img/renew/recruit/top_r_n.jpg) no-repeat center top;
	background-size: cover;
}

#recruit_career .top_1 {
    background: url("../img/renew/recruit/top_r_c.jpg") no-repeat center top;
	background-size: cover;
}

#recruit_new .img-back,
#recruit_career .img-back{
    background: url(../img/renew/recruit/i-bg.png) repeat-y;
}

#recruit_new .sectiontitle,
#recruit_career .sectiontitle{
    text-align: right;
    position: absolute;
    top: 460px;
    left: 50px;
}

#recruit_new  .message {
    height: 200px;
    background: url("../img/renew/recruit/Newgrads.png") no-repeat top center;
}

#recruit_career h3 {
	padding-top: 40px;
}

#recruit_career  .message {
    height: 200px;
    background: url("../img/renew/recruit/Forcareer.png") no-repeat top center;
}

#recruit_new dl,
#recruit_career dl{
	width: 1200px;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 auto;
	text-align: left;
}

#recruit_new dt,
#recruit_career dt {
	width: 200px;
	padding: 12px;
	font-weight: 500;
}

#recruit_new dd{
	width: 1000px;
	padding: 12px;
}

#recruit_career dd {
    width: 1000px;
    padding: 12px 12px 0;
}

#recruit_new .midashisen,
#recruit_career .midashisen{
    width: 1200px;
    border-bottom: solid 2px #c9c9c9;
    position: relative;
    padding-bottom: 8px;
}

#recruit_new .midashisen:after,
#recruit_career .midashisen:after{
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 2px #004098;
    bottom: -2px;
    width: 200px;
}

#recruit_new .midashisen_2,
#recruit_career .midashisen_2{
    width: 990px;
    border-bottom: solid 1px #c9c9c9;
    position: relative;
    padding-bottom: 8px;
}

#newgrads_contents > dl > dd:nth-child(5) > p:nth-child(3){
	padding-top: 8px;
}




#recruit_new .y_line,
#recruit_career .y_line{
	background: linear-gradient(transparent 60%, #ffcc00 0%);
}

#newgrads_contents .kyuuzin{
	font-size: 16px;
	font-weight: bold;
}

#recruit_career .fontb{
	font-weight: normal;
	font-size: 14px;
}


@media screen and (max-width: 1024px){
#recruit_new dl,
#recruit_career dl{
    width: 95%;
}	
#recruit_new dt,
#recruit_career dt{
    width: 20%;
}
#recruit_new dd,
#recruit_career dd{
    width: 80%;
}	
recruit_new .midashisen,
#recruit_career .midashisen{
    width: 100%;
}	
#recruit_new .midashisen:after,
#recruit_career .midashisen:after{
    width: 20%;
}
	
	#recruit_new .top_1 {
    background: url(../img/renew/recruit/top_r_n.jpg) no-repeat center left 75%;
}
	
	
#recruit_career .top_1 {
    background: url(../img/renew/recruit/top_r_c.jpg) no-repeat top left 60%;
    background-size: cover;
}
	
}


@media screen and (max-width: 639px){
#recruit_new .top_1 {
    height: 275px;
    background: url("../img/renew/recruit/top_r_n.jpg") no-repeat top left 78%;
    background-size: 200%;
}
	
	#recruit_career .top_1 {
    height: 275px;
    background: url("../img/renew/recruit/top_r_c.jpg") no-repeat top left 56%;
    background-size: 200%;
}
	
	#recruit_career .blue {
    font-size: 14px;
}
	
#recruit_new .top_sp,
#recruit_career .top_sp{
    width: 100%;
    height: 200px;
    background-color: #fff;
    position: absolute;
    top: 246px;
    left: 0;
}
		
	
#recruit_new .message,
#recruit_career .message{
    background-size: 75%;
}
	
#recruit_new .message p,
#recruit_career .message p{
    padding: 10px;
    text-align: left;
}
	
	#recruit_new dl,
	#recruit_career dl{
    display: flex;
}
	
	#recruit_new dt,
	#recruit_career dt,
	#recruit_new .midashisen:after {
    width: 30%;
}
	
	#recruit_new dd,
	#recruit_career dd{
    width: 70%;
}
	
#recruit_new .midashisen_2, #recruit_career .midashisen_2 {
    width: 100%;
}	
	
	#newgrads_contents {
		padding-top:0;
	}
	
	
	
	#culture .sectiontitle,
	#department .sectiontitle,
	#employee .sectiontitle,
	#recruit_new .sectiontitle, 
	#recruit_career .sectiontitle{
    color: #fff;
    width: 80%;
    position: static;
    padding-top: 160px;
    text-align: right;
    margin: 0 auto;
}	
	
	
}

/*231018 リクナビマイナビバナー*/
.flex-r{
	display:flex;
	flex-direction:row;
}
.flex-r_30{
	display:flex;
	flex-direction:row;
	justify-content:space-around;
	width: 30%;
	margin:1% auto 0;
}
.mainabi_bnr,.rikunabi_bnr{
	width: 40%;
}
.mainabi_bnr img,.rikunabi_bnr img{
	width:100%;
}
.mainabi_bnr span,.rikunabi_bnr span{
	font-size: 14px;
	color: #333;
	text-align:left;
}
.flowchart{
	font-weight: 500;
	letter-spacing:1px;
}
.flowchart  p{
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	padding:10px;
}
.flowchart  p:nth-child(even){
	margin-top:30px;
}
.flowchart  p:nth-child(9){
	margin-top: 25px;
	letter-spacing:3px;
}
@media screen and (max-width:1024px){
.flex-r_30 {
    width: 50%;
}
}
@media screen and (max-width:639px){
.flex-r_30 {
    width: 96%;
}
.mainabi_bnr, .rikunabi_bnr {
    width: 45%;
}
.flowchart p {
    padding: 0px;
	font-size: 14px;
}
}