@charset "UTF-8";

@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP&display=swap');
@font-face {
 font-family: 'Noto Serif JP', serif;
}
a{
 color: #333;
 text-decoration: none;
}
a:hover, a:focus {
 color:	#666;
 text-decoration: underline;
}
img {
 max-width: 100%;
 height: auto;
	width /***/:auto;
 vertical-align: bottom;
}

@media only screen and (min-width: 1025px) {
  body .view_tab-sp, body .view_tab {
    display: none !important;
  }
}
@media print {
  body .view_tab-sp, body .view_tab {
    display: none !important;
  }
}
@media only screen and (min-width: 899px) {
  body .view_sp {
    display: none !important;
  }
}
@media print {
  body .view_sp {
    display: none !important;
  }
}
@media only screen and (max-width: 1024px) {
  body .view_pc {
    display: none !important;
  }
}
@media only screen and (max-width: 898px) {
  body .view_pc-tab, body .view_tab {
    display: none !important;
  }
}


/* -------------------------------------------------

Clearfix

------------------------------------------------- */
.clearfix:after {
  visibility: hidden;
  display: block;
  content: " ";
  clear: both;
  height: 0;
}
.clearfix {
  *zoom: 1;
}

/* -------------------------------------------------

header

------------------------------------------------- */
header {
	width: 100%;
	background:#00ac9d;
	border-bottom:1px solid #EDEDED;
}
.h_box {
	width: 100%;
	margin:0 auto;
	position:relative;
}
.h_box::after {
 content: "";
 display: block;
 clear: both;
}
.logo	{
	position:	absolute;
	width:209px;
	float:left;
 z-index: 1;
	margin:0 0 0 20px;
}
.logo > h1	{
	margin:20px 0 0;
	padding:0;
}
.logo > h1 a:hover img {
 opacity: 0.7;
 filter: alpha(opacity=70);
 -moz-opacity: 0.7;
	transition: .3s;
}
.fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
}
@media screen and (min-width: 899px) and (max-width: 1140px) {
.h_box {
	width: 100%;
	position:relative;
}
.logo{
	width:180px;
	margin-left:10px;
	margin-right:20px;
}
}

@media screen and (max-width: 898px)  {
.logo	{
	position:	static;
	width:180px;
	margin:0 0 0 10px;
}
.h_box {
	width: 100%;
	position:relative;
}
.logo > h1	{
	margin:15px 0;
	padding:0;
}

}

/* -------------------------------------------------

	Nav

------------------------------------------------- */
nav	{
}
.nav	{
	padding:20px 0 0px;
 position: relative;
}
.nav::after {
 content: "";
 display: block;
 clear: both;
}
.nav ul	{
	display: flex;
	flex-flow: row;
	margin: 0;
	padding: 0;
	list-style-type: none;
	justify-content: flex-end;
}
.nav ul li	{
 font-family: "Noto Sans Japanese", sans-serif;
	font-style: normal;
	font-weight: 400;
	position: relative;
}
.nav ul li a {
	padding: 5px;
	margin: 10px 24px 10px 0px;
	font-size:18px;
	display:block;
	position: relative;
	text-decoration:none;
	color:#ffffff;
}
.nav ul li a::after {
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  content: "";
  width: 0%;
  height: 2px;
  background: #ffffff;
  transition: all 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
	}
.nav ul li a:hover  {
	text-decoration:none;
}
.nav ul li a:hover::after  {
	width: 100%;
}

/*2階層目以降は横並びにしない*/
.nav ul ul {
	display: block;
}

/*ナビゲーションのリンク設定*/
.nav ul li li	{
	margin: 0;
	width: 100%;
}
/*.nav ul li li:last-child	{
	margin: 0;
}*/
.nav ul li li a {
	font-weight: 400 !important;
	font-size: 1.5rem !important;
	text-align: left;
	padding: 0px 0 0 !important;
}
.nav ul li li a:hover {
	text-decoration: underline;
}
/*== 2・3階層目の共通設定 */
/*下の階層を持っているulの指定*/
.nav li.has-child ul{
	position: absolute;
	/*left:-30px;*/
	left:-45px;
	top:58px;
	z-index: 4;
	width:208px;
	visibility: hidden;
	opacity: 0;
	transition: all .3s;
	/*padding: 8px 5px;*/
	padding: 8px 0px 8px 20px;
	background: rgb(226,226,226);
background: linear-gradient(180deg, rgba(226,226,226,1) 0%, rgba(226,226,226,1) 0%, rgba(255,255,255,1) 10%);
	box-shadow:0 5px 15px rgba(0,0,0,.1);
}
.nav li.has-child ul::after{
		content: "";
  position: absolute;
  top: 0px;
  left: 50%;
  border-style: solid;
  border-width: 0 9px 10px 9px;
  border-color: transparent transparent #dedede;
  translate: -50% -100%;
}

/*hoverしたら表示*/
.nav li.has-child:hover > ul,
.nav li.has-child ul li:hover > ul,
.nav li.has-child:active > ul,
.nav li.has-child ul li:active > ul{
  visibility: visible;
  opacity: 1;
}

/*ナビゲーションaタグの形状*/
.nav li.has-child ul li a{
	color: #333333;
	/*padding: 4px 0 !important;*/
}

@media screen and (min-width: 899px) and (max-width: 1240px) {
.nav ul li a {
	margin: 10px 10px 10px 0px;
	font-size:15px;
}
/*.nav ul li:last-of-type a {
	margin: 10px 0px 10px 0px;
}*/
.nav ul li li a {
	font-size: 1.3rem !important;
}
.nav li.has-child ul{
	/*left:-30px;*/
	left:-38px;
	top:54px;
	width:178px;
	/*padding: 8px 5px;*/
}
.nav li.has-child ul::after{
  border-width: 0 9px 10px 9px;
}
}

@media screen and (max-width: 898px)  {
.nav{
	display:none;
}
#toggle {
 display: block;
 text-align: center;
 width: 55px;
 height: 55px;
 position: absolute;
 top: 5px;
 right: 15px;
 z-index: 10;
 display: -webkit-box;
 display: -webkit-flex;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-pack: center;
 -webkit-justify-content: center;
     -ms-flex-pack: center;
	        justify-content: center;
 -webkit-box-align: center;
 -webkit-align-items: center;
     -ms-flex-align: center;
         align-items: center;
}
.trigger,
.trigger span {
 display: inline-block;
 -webkit-transition: all .4s;
         transition: all .4s;
}
.trigger {
 position: relative;
 width: 28px;
 height: 19px;
}
.trigger::after {
 position: absolute;
 left: -5px;
 bottom: -17px;
 content: 'メニュー';
 display: block;
 width: 100%;
 /*color: #fff;*/
 color: #fff;
 font-size: 10px;
 text-decoration: none;
 text-align: center;
 white-space: nowrap;
 transition: all .4s;
 font-family: "Noto Sans Japanese", sans-serif;
	font-style: normal;
	font-weight: 400;
}
.trigger.active::after {
 content: '閉じる';
 left: 0px;
 bottom: -17px;
	color:#333;
}
.trigger span {
 position: absolute;
 left: 0;
 width: 100%;
 height: 3px;
 background-color: #fff;
 border-radius: 4px;
}
.trigger span:nth-of-type(1) {
 top: 0;
}
.trigger span:nth-of-type(2) {
 top: 8px;
}
.trigger span:nth-of-type(2)::after {
 position: absolute;
 top: 0;
 left: 0;
 content: '';
 width: 100%;
 height: 3px;
 background-color: #fff;
 border-radius: 4px;
 -webkit-transition: all .4s;
         transition: all .4s;
}
.trigger span:nth-of-type(3) {
 bottom: 0;
}
.trigger.active span:nth-of-type(1) {
	 background-color: #333;
 -webkit-transform: translateY(8px) scale(0);
         transform: translateY(8px) scale(0);
}
.trigger.active span:nth-of-type(2) {
	 background-color: #333;
 -webkit-transform: rotate(-45deg);
         transform: rotate(-45deg);
}
.trigger.active span:nth-of-type(2)::after {
	 background-color: #333;
 -webkit-transform: rotate(90deg);
         transform: rotate(90deg);
}
.trigger.active span:nth-of-type(3) {
	 background-color: #333;
 -webkit-transform: translateY(-8px) scale(0);
         transform: translateY(-8px) scale(0);
}


/* スマホでメニューを開いた際に背景色が画面全体にかかるようにと
フルスクリーンで固定したいので、position: fixed; top: 0; left: 0; を指定 */
.toggleWrap {
 background:	#F0F0F0;
 padding: 50px 0px 10px 0px;
 position: fixed;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 font-family: "Noto Sans Japanese", sans-serif;
	font-style: normal;
	font-weight: 400;
	z-index: 8;
}
.mainLogo {
 display: block;
	z-index: 20;
	position:absolute;
	top:18px;
	left:10px;
	background:url(../recruit/images/logo2.png);
 background-size: cover;
 box-sizing: border-box;
	width:180px;
	min-height:36px;
	text-indent: 100%;
 white-space: nowrap;
 overflow: hidden;
}
.mainNav {
	margin:15px 0;
}
.mainNav li {
 list-style-type: none;
}
.navItem {
 display: block;
 text-decoration: none;
 color: #3e3e3e;
 border-bottom: 1px solid #ccc;
 text-align: left;
 font-size: 1.7rem;
}
.navItem a {
 display: block;
 padding: 10px 10px 10px 30px;
}
.navItem div {
 display: block;
 padding: 10px 10px 10px 30px;
	cursor: pointer;
	margin:0;
}
.navItem p {
 padding:0;
	margin:0;
}
.navItem .mntitle {
	float: left;
}
.accordion_icon,
.accordion_icon span,
.accordion_icon2,
.accordion_icon2 span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.accordion_icon {
	position: relative;
	width: 30px;
	height: 30px;
	float: right;
	margin-right: 0px;
}
.accordion_icon span {
	position: absolute;
 top: 12px;
 width: 50%;
	height: 2px;
 background-color: #555;
	border-radius: 4px;
	-webkit-border-radius: 4px;
					-ms-border-radius: 4px;
				-moz-border-radius: 4px;
						-o-border-radius: 4px;
}
.accordion_icon2 {
	position: relative;
	width: 22px;
	height: 22px;
	float: right;
	margin-right: 0px;
}
.accordion_icon2 span {
	position: absolute;
 top: 12px;
	right:-10px;
 width: 50%;
	height: 2px;
 background-color: #555;
	border-radius: 4px;
	-webkit-border-radius: 4px;
					-ms-border-radius: 4px;
				-moz-border-radius: 4px;
						-o-border-radius: 4px;
}
.accordion_icon span:nth-of-type(1),
.accordion_icon2 span:nth-of-type(1) {
 top: 12px;
	transform: rotate(0deg);
 -webkit-transform: rotate(0deg);
				-moz-transform: rotate(0deg);
					-ms-transform: rotate(0deg);
    		-o-transform: rotate(0deg);
}
.accordion_icon span:nth-of-type(2),
.accordion_icon2 span:nth-of-type(2) {
 top: 12px;
	transform: rotate(90deg);
 -webkit-transform: rotate(90deg);
				-moz-transform: rotate(90deg);
					-ms-transform: rotate(90deg);
    		-o-transform: rotate(90deg);
}
/*＋、－切り替え*/
.accordion_icon.active span:nth-of-type(1),
.accordion_icon2.active span:nth-of-type(1) {
	display:none;
}
.accordion_icon.active span:nth-of-type(2),
.accordion_icon2.active span:nth-of-type(2) {
	top: 12px;
	transform: rotate(180deg);
 -webkit-transform: rotate(180deg);
				-moz-transform: rotate(180deg);
					-ms-transform: rotate(180deg);
    		-o-transform: rotate(180deg);

}

.navItem > ul,
.navItem > ul li > ul {
 display: block;
	background:#fff;
 padding: 5px 0;
}
.navItem > ul.menu-child,
.navItem > ul.menu-child > li > ul.menu-child {
 display: none;
}
.navItem > ul li > div {
 display: block;
	cursor: pointer;
	margin:0;
	border-bottom:1px dotted #ccc;
 padding: 8px  35px;
 font-size: 1.5rem;
}
.navItem > ul li.test > div {
 display: block;
	cursor: pointer;
	margin:0;
	border-bottom:none;
 padding: 8px  35px;
 font-size: 1.5rem;
}
.navItem > ul li a {
	position: relative;
 display: block;
 padding: 8px  35px;
 font-size: 1.5rem;
	border-bottom:1px dotted #ccc;
}
.navItem > ul li:last-child a {
	position: relative;
 display: block;
 padding: 8px  35px;
 font-size: 1.5rem;
	border-bottom:	none;
}
.navItem > ul li > ul li a {
	position: relative;
 display: block;
 padding: 8px  55px;
 font-size: 1.5rem;
	border-bottom:1px dotted #ccc;
	background:none;
}
.navItem > ul li.test > ul li a {
	position: relative;
 display: block;
 padding: 8px  55px;
 font-size: 1.5rem;
	border-bottom:1px dotted #ccc;
	background:none;
}
.navItem > ul li > ul li:last-child a {
	position: relative;
 display: block;
 padding: 8px  55px;
 font-size: 1.5rem;
	border-bottom:1px dotted #ccc;
}
.navItem > ul li.test > ul li:last-child a {
	position: relative;
 display: block;
 padding: 8px  55px;
 font-size: 1.5rem;
	border-bottom:0px dotted #ccc;
}
.navItem > ul li a:after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 27px;
	width: 8px;
	height: 8px;
	margin: -4px 0 0 0;
	border-top: solid 2px #ccc;
	border-right: solid 2px #ccc;
	-webkit-transform: rotate(45deg);
 	       transform: rotate(45deg);
}

/* メニューを閉じる時のスタイル
display:none; を使用せず、opacityを使うとfadeっぽくなる */
.hide {
 opacity: 0;
 visibility: hidden;
 overflow: hidden;
}

/* アニメーションはメニューの開閉時のみでいいので
.toggleWrapに書かず、別にclassを用意 */
.animation {
  -webkit-transition-property: opacity, visibility;
  transition-property: opacity, visibility;
  -webkit-transition-duration: .3s;
          transition-duration: .3s;
  -webkit-transition-timing-function: ease-in;
          transition-timing-function: ease-in;
}

/* メニューオープン時のみ、メニューの後ろのコンテンツをスクロールさせない
iOS safariには別途対応が必要（jQueryに記述）*/
.no-scroll {
  overflow: hidden;
}
.scroll	{
 height: 100% !important;
 overflow: auto;
 -webkit-overflow-scrolling: touch;
}

}

/* -------------------------------------------------

otoiawase

------------------------------------------------- */
.otoiawase_wrp	{
 width: 100%;
	background-color:#117988;
}
.otoiawase	{
 width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 35px 0;
}
.otoiawase__TEL	{
 width: 480px;
 font-family: "Noto Sans Japanese", sans-serif;
	font-style: normal;
	font-weight: 400;
	line-height:normal;
	color:#ffffff;
}
.tel_box	{
	display: flex;
	align-items: center;
}
.tel_title	{
	font-size:20px;
}
.tel_f_rec	{
	font-weight:bold;
	font-size:28px;
	margin-right: 15px;
	letter-spacing:1px;
}
.tel_txt	{
	font-size:15px;
	margin:0;
}
.tel_txt span	{
	font-size:10px;
	color:	#117988;
	padding:1px 8px;
	margin-right:10px;
	border-radius:5px;
	background-color:	#eff128;
	font-weight:	bold;
}
@media screen and (max-width: 898px)  {
.otoiawase_wrp	{
 padding: 0 15px;
}
}
@media screen and (max-width: 768px)  {
.otoiawase	{
	flex-direction: column;
}
.otoiawase__TEL	{
	width: 100%;
}
.tel_box	{
	flex-direction: column;
	margin-bottom: 20px;
}
.tel_title	{
	text-align: center;
	margin-bottom: 5px;
}
.tel_f_rec	{
	font-size:26px;
}	
}
@media screen and (max-width:480px)  {
.tel_title	{
	font-size:18px;
}
.tel_f_rec	{
	font-size:24px;
}	
.tel_txt	{
	font-size:14px;
}
}

/* ボタン
================================================== */
.otoiawase__FORM_button a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	text-decoration:none;
	background-color: #117988;
	border: 2px solid #ffffff;
	border-radius: 10px;
	width: 300px;
	height: 50px;
}
.otoiawase__FORM_button a:hover {
	border: 2px solid #EFF128;
	-moz-transition: all .2s ease-in-out;
		-o-transition: all .2s ease-in-out;
		-webkit-transition: all .2s ease-in-out;
		transition: all .2s ease-in-out;
		/*	opacity: .7;*/
}
@media screen and (max-width: 898px)  {
.otoiawase__FORM_button a {
	width: 280px;
}
}
@media screen and (max-width: 480px)  {
.otoiawase__FORM_button a {
	width: 100%;
	height: auto;
	padding: 0px 20px !important;
}
}

.mail__item__title {
	display: flex;
	justify-content: center;
	align-items: center;
}
.icon_mail::before {		/* メールアイコン */
	content: "";
	background-image: url(../images/icn_mail_w.png);
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
}
.otoiawase__FORM_button a:hover .icon_mail::before {	
	content: "";
	background-image: url(../images/icn_mail_y.png);
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
}
.icon {
	position: relative;
	margin-right: 10px;
}
.icon_mail {
	width: 20px;
	height: 20px;
}
.icon_mail::before {
		width: 20px;
		height: 20px;
		background-size: 20px;
	}

.mail__item .item--title {
	color: #fff;
}
.otoiawase__FORM_button a:hover .mail__item .item--title {
		color: #EFF128;
}
.mail__item__title .item--title {
 font-family: "Noto Sans Japanese", sans-serif;
	font-style: normal;
	font-weight: 500;
	font-size: 18px;
}
@media only screen and (max-width: 480px) {
	.mail__item__title .item--title {
	font-size: 16px;
}
}


/* -------------------------------------------------

footer

------------------------------------------------- */
.f_nav	{
 width: 100%;
}
.f_nav ul	{
	list-style:none;
	display: flex;
	justify-content: center;
}
.f_nav ul li	{
 font-family: "Noto Sans Japanese", sans-serif;
	font-style: normal;
	font-weight: 400;
 line-height:	normal;
 font-size: 16px;
 text-align:center;
	/*width:20%;*/
	margin-right: 35px;
}
.f_nav ul li:last-of-type	{
	margin-right: 0px;
}
.f_nav ul li a {
	color:#fff;
	display:block;
 text-align:center;
	
}
@media screen and (min-width: 899px) and (max-width: 1140px) {
.f_nav ul	{
 width: 100%;
}
}
@media screen and (max-width: 898px)  {
footer	{
 width: 100%;
	background:	none;
}
.f_nav ul	{
	display: flex;
	flex-direction: column;
}
.f_nav ul li	{
 font-size: 16px;
 text-align:center;
	width:100%;
	margin-left:0px;
}
.f_nav ul li a {
	color:#fff;
	display:block;
 text-align:left;
	margin-bottom:0px;
}
.f_nav ul li a.Category2 {
	color:#fff;
	display:block;
 text-align:center;
	margin-bottom:0px;
	padding:10px 0;
	border-top:1px solid #fff;
	background:#008f83;
	position: relative;
	text-decoration: none;
}
.f_nav ul li a.Category2::after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	width: 5px;
	height: 5px;
	margin: -4px 0 0 0;
	border-top: solid 1px #fff;
	border-right: solid 1px #fff;
	-webkit-transform: rotate(45deg);
									transform: rotate(45deg);
}

.f_nav ul li a.Category2:hover {
	background:#09c0b1;
	text-decoration: none;
}
}

footer	{
 width: 100%;
}
.footer_bg	{
 width: 100%;
	background:#008f83;
}
.footer	{
	margin: 0 auto;
	position:relative;
}
.footer::after {
 content: "";
 display: block;
 clear: both;
}
.f_Right	{
	/*width:850px;*/
	width:900px;
	margin:0 auto;
	/*padding:30px 30px 30px 0px;*/
	padding:30px 0px;
}
.copyright_wrp	{
	margin:0 auto;
}
.copyright_wrp::after {
 content: "";
 display: block;
 clear: both;
}
.copyright	{
 color: #333;
	text-align:center;
 padding: 20px 30px 20px 0;
 font-size: 14px;
}
.page_top {
	position: fixed;
	bottom: 40px;
	right: 20px;
	display: none;
	z-index:5;
}
.page_top a {
	width: 55px;
	height: 55px;
	display: block;
	border:1px solid #fff;
	border-radius: 50%;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	text-indent: -9999px;
	background-color:	#008f83;
	background-image: url(../images/pageup.png);
	background-position: center center;
	background-repeat: no-repeat;
}
.page_top a:hover {
	background-color:	#117988;
}
.f_ad {
	display:none;
}

@media screen and (min-width: 899px) and (max-width: 1140px) {
.footer	{
	width: 100%;
	padding:0px 20px;
}
.f_Right	{
	/*width:95%;*/
	width:100%;
}
.copyright_wrp	{
	width:100%;
	margin:0 auto;
}
.f_ad {
	display:	block;
}
}
@media screen and (max-width: 898px)  {
.footer	{
	width: 100%;
	padding:0px;
}
.footer_bg	{
 width: 100%;
	background:	none;
	height:	auto;
}
.f_Right	{
	float:none;
	width:100%;
	text-align:center;
	display:block;
	padding:0;
}
.copyright_wrp	{
	width:100%;
	margin:15px auto;
}
.copyright	{
 font-size: 12px;
	width:100%;
	text-align:center;
 padding: 5px 0 5px 30px;
}
.page_top {
	position:	static;
	display:	block;
}
.page_top a {
	width: 100%;
	height:	auto;
	display: block;
	border-radius: 0px;
	-moz-border-radius: 0px;
	-webkit-border-radius: 0px;
	text-indent:	inherit;
	background-color:	#008f83;
	background-image:	none;
	text-align:center;
	padding:7px 0;
	color:#fff;
	font-size:14px;
}
.page_top a:hover {
	background-color:	#117988;
	text-decoration:none;
}

}

@media screen and (max-width: 480px)  {
.f_Left_sp	{
	float:none;
	width:100%;
	display:block;
	padding:20px 5px;
	text-align:center;
}

}
@media screen and (max-width: 360px)  {
.f_menu ul	{
	padding-left:5px;
}
.copyright	{
 padding: 5px 0 5px 5px;
}
}

/* アクセスボタン */
.whiteBtn2 {}
.whiteBtn2::after {
 content: "";
 display: block;
 clear: both;
}
.whiteBtn2 a {
	display: block;
	position: relative;
	border-radius: 25px;
	padding: 8px 15px;
	text-decoration: none;
	text-align:center;
}
.whiteBtn2 a::before {
	display: block;
	content: "";
	position: absolute;
	width: 18px;
 height: 18px;
 -webkit-border-radius: 50%;
 border-radius: 50%;
}
.whiteBtn2 a::after {
	display: block;
	content: "";
	position: absolute;
	top: 54%;
	left: 20px;
	width: 6px;
	height: 6px;
	margin: -5px 0 0 0;
}
.whiteBtn2 a {
	color:#fff;
	background-color:	#008F83;
	border:1px solid #fff;
	font-size: 13px;
	text-align:center;
	width:150px;
	-webkit-transition: all .3s;
 							 transition: all .3s;
	margin:15px 0 0;
}
.whiteBtn2 a::before {
 background: #fff;
	border:1px solid #008F83;
}
.whiteBtn2 a::after {
	border-top: solid 2px #008F83;
	border-right: solid 2px #008F83;
	-webkit-transform: rotate(45deg);
									transform: rotate(45deg);
}
.whiteBtn2 a:hover {
	background-color: #fff;
	border:1px solid #008F83;
	color:#008F83;
}
.whiteBtn2 a:hover::before {
 background: #fff;
	border:1px solid #008F83;
}
.whiteBtn a:hover::after {
	border-top: solid 2px #008F83;
	border-right: solid 2px #008F83;
	-webkit-transform: rotate(45deg);
									transform: rotate(45deg);
}
@media screen and (max-width: 414px)  {
.whiteBtn2 a {
	color:#fff;
	background-color:#102658;
	border:1px solid #fff;
	font-size: 13px;
	text-align:center;
	width:150px;
	-webkit-transition: all .3s;
 							 transition: all .3s;
	margin:15px	auto 0;
}
}


/* -------------------------------------------------

other

------------------------------------------------- */
#content{
  padding-top: 100px;
}
/* 背景色_2階層
================================================== */
.bg2	{
	width:100%;
	padding:0;
	margin:0;
	background:	#f3f3f3;		  /* グレー   */
}

/* ボタン
================================================== */

.blueBtn {}
.whiteBtn {}
.blackBtn {}
.blueBtn::after,
.whiteBtn::after,
.blackBtn::after {
 content: "";
 display: block;
 clear: both;
}
.blueBtn a,
.whiteBtn a,
.blackBtn a {
	display: block;
	position: relative;
	/*border-radius: 25px;*/
	padding: 12px 24px;
	text-decoration: none;
	font-size: 1.0em;
	text-align:center;
}
.blueBtn a::before,
.whiteBtn a::before,
.blackBtn a::before {
	display: block;
	content: "";
	position: absolute;
	width: 23px;
 height: 23px;
 -webkit-border-radius: 50%;
 border-radius: 50%;
}
.blueBtn a::after,
.whiteBtn a::after,
.blackBtn a::after {
	display: block;
	content: "";
	position: absolute;
	top: 54%;
	left: 30px;
	width: 8px;
	height: 8px;
	margin: -6px 0 0 0;
}

.blackBtn a {
	color:#fff;
	background-color:#333;
	border:1px solid #333;
	width:300px;
	-webkit-transition: all .3s;
 							 transition: all .3s;
	margin:15px auto;
	opacity:  0.8;
}
.blackBtn a::before {
 background: #fff;
	border:1px solid #333;
}
.blackBtn a::after {
	border-top: solid 2px #333;
	border-right: solid 2px #333;
	-webkit-transform: rotate(45deg);
									transform: rotate(45deg);
}
.blackBtn a:hover {
	background-color: #fff;
	border:1px solid #333;
	color:#333;
}
.blackBtn a:hover::before {
 background: #fff;
	border:1px solid #333;
}
.blackBtn a:hover::after {
	border-top: solid 2px #333;
	border-right: solid 2px #333;
	-webkit-transform: rotate(45deg);
									transform: rotate(45deg);
}


.whiteBtn a {
	color:#333;
	background-color:#fff;
	border:1px solid #333;
	font-size: 1.0em;
	text-align:center;
	width:300px;
	-webkit-transition: all .3s;
 							 transition: all .3s;
	margin:15px auto;
}
.whiteBtn a::before {
 background: #fff;
	border:1px solid #333;
}
.whiteBtn a::after {
	border-top: solid 2px #333;
	border-right: solid 2px #333;
	-webkit-transform: rotate(45deg);
									transform: rotate(45deg);
}
.whiteBtn a:hover {
	background-color: #333;
	border:1px solid #333;
	color:#fff;
}
.whiteBtn a:hover::before {
 background: #fff;
	border:2px solid #fff;
}
.whiteBtn a:hover::after {
	border-top: solid 2px #333;
	border-right: solid 2px #333;
	-webkit-transform: rotate(45deg);
									transform: rotate(45deg);
}

.blueBtn a {
	color:#fff;
	background-color:#266499;
	border:1px solid #266499;
	width:300px;
	-webkit-transition: all .3s;
 							 transition: all .3s;
	margin:15px auto;
}
.blueBtn a::before {
 background: #fff;
	border:1px solid #266499;
}
.blueBtn a::after {
	border-top: solid 2px #266499;
	border-right: solid 2px #266499;
	-webkit-transform: rotate(45deg);
									transform: rotate(45deg);
}
.blueBtn a:hover {
	background-color: #fff;
	border:1px solid #266499;
	color:#266499;
}
.blueBtn a:hover::before {
 background: #fff;
	border:1px solid #266499;
}
.blueBtn a:hover::after {
	border-top: solid 2px #266499;
	border-right: solid 2px #266499;
	-webkit-transform: rotate(45deg);
									transform: rotate(45deg);
}
@media screen and (max-width: 768px)  {
.whiteBtn a,
.blueBtn a,
.blacBtn a {
}
}
@media screen and (max-width: 414px)  {
.whiteBtn a,
.blueBtn a,
.blacBtn a {
	width:250px;
	font-size:	14px;
}
.blueBtn a::before,
.whiteBtn a::before,
.blackBtn a::before {
	display: block;
	content: "";
	position: absolute;
	width: 20px;
 height: 20px;
 -webkit-border-radius: 50%;
 border-radius: 50%;
}
.blueBtn a::after,
.whiteBtn a::after,
.blackBtn a::after {
	display: block;
	content: "";
	position: absolute;
	top: 55%;
	left: 30px;
	width: 6px;
	height: 6px;
	margin: -6px 0 0 0;
}
}


.blueBtn2 {	text-align:center;}
.blueBtn2::after {
 content: "";
 display: block;
 clear: both;
}
.blueBtn2 a {
	display:	inline-block;
	position: relative;
	border-radius: 25px;
	padding: 10px 20px;
	text-decoration: none;
	font-size: 16px;
	text-align:center;
}
.blueBtn2 a::before {
	display: block;
	content: "";
	position: absolute;
	width: 23px;
 height: 23px;
 -webkit-border-radius: 50%;
 border-radius: 50%;
}
.blueBtn2 a::after {
	display: block;
	content: "";
	position: absolute;
	top: 54%;
	left: 26px;
	width: 8px;
	height: 8px;
	margin: -6px 0 0 0;
}
.blueBtn2 a {
 font-family: "Noto Sans Japanese", sans-serif;
	font-style: normal;
	font-weight: 700;
	color:#00AC9D;
	background-color:	#fff;
	border:1px solid	#12C7B7;
	width:300px;
	-webkit-transition: all .3s;
 							 transition: all .3s;
	margin:15px auto;
}
.blueBtn2 a::before {
 background: #fff;
	border:1px solid	#12C7B7;
}
.blueBtn2 a::after {
	border-top: solid 2px #12C7B7;
	border-right: solid 2px #12C7B7;
	-webkit-transform: rotate(45deg);
									transform: rotate(45deg);
}
.blueBtn2 a:hover {
	background-color: #12C7B7;
	border:1px solid	#fff;
	color:#fff;
}
.blueBtn2 a:hover::before {
 background: #12C7B7;
	border:1px solid #fff;
}
.blueBtn2 a:hover::after {
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	-webkit-transform: rotate(45deg);
									transform: rotate(45deg);
}
@media screen and (max-width: 768px)  {
.blueBtn2 a {
	font-size:	14px;
	width:250px;
	padding: 10px;
}
.blueBtn2 a::before {
	display: block;
	content: "";
	position: absolute;
	width: 20px;
 height: 20px;
 -webkit-border-radius: 50%;
 border-radius: 50%;
}
.blueBtn2 a::after {
	display: block;
	content: "";
	position: absolute;
	top: 55%;
	left: 16px;
	width: 6px;
	height: 6px;
	margin: -6px 0 0 0;
}
}

.orangeBtn {	
	position:absolute;
	top:70px;
	right:15px;
}
.orangeBtn::after {
 content: "";
 display: block;
 clear: both;
}
.orangeBtn a {
	display:	inline-block;
	position: relative;
	border-radius: 25px;
	padding: 10px 20px;
	text-decoration: none;
	font-size: 16px;
	text-align:center;
}
.orangeBtn a::before {
	display: block;
	content: "";
	position: absolute;
	width: 23px;
 height: 23px;
 -webkit-border-radius: 50%;
 border-radius: 50%;
}
.orangeBtn a::after {
	display: block;
	content: "";
	position: absolute;
	top: 54%;
	left: 26px;
	width: 8px;
	height: 8px;
	margin: -6px 0 0 0;
}
.orangeBtn a {
 font-family: "Noto Sans Japanese", sans-serif;
	font-style: normal;
	font-weight: 700;
	color:#fff !important;
	background-color:	#eeb339;
	border:1px solid	#eeb339;
	width:250px;
	-webkit-transition: all .3s;
 							 transition: all .3s;
	margin:15px auto;
}
.orangeBtn a::before {
 background: #fff;
	border:1px solid	#eeb339;
}
.orangeBtn a::after {
	border-top: solid 2px #eeb339;
	border-right: solid 2px #eeb339;
	-webkit-transform: rotate(45deg);
									transform: rotate(45deg);
}
.orangeBtn a:hover {
	background-color: #fff;
	border:1px solid	#eeb339;
	color:#eeb339 !important;
}
.orangeBtn a:hover::before {
 background: #eeb339;
	border:1px solid #eeb339;
}
.orangeBtn a:hover::after {
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	-webkit-transform: rotate(45deg);
									transform: rotate(45deg);
}
@media screen and (max-width: 768px)  {
.orangeBtn {	
	position:absolute;
	top:60px;
	right:15px;
}
.orangeBtn a {
	font-weight: 500;
	font-size:	14px;
	width:200px;
	padding: 10px;
}
.orangeBtn a::before {
	display: block;
	content: "";
	position: absolute;
	width: 20px;
 height: 20px;
 -webkit-border-radius: 50%;
 border-radius: 50%;
}
.orangeBtn a::after {
	display: block;
	content: "";
	position: absolute;
	top: 55%;
	left: 16px;
	width: 6px;
	height: 6px;
	margin: -6px 0 0 0;
}
}
@media screen and (max-width: 414px)  {
.orangeBtn {	
	position:	static;
	text-align:center;
}
.orangeBtn a {
	font-weight: 500;
	font-size:	14px;
	width:200px;
	padding: 10px;
}
}


/* 文字
================================================== */
.mj24px {
	font-size:30px;
	font-style: normal;
	font-weight: 900;
}
@media screen and (max-width: 480px)  {
.mj24px {
	font-size:24px	!important;
}
}

/* 色
================================================== */
.red {
	color:#E40003;
}
.blue	{
	color:	#0081DF;
}
.orange	{
	color:	#ff6800;
}
.pink	{
	color:	#FF7072;
}
.green	{
	color:	#00AC9D;
}
.white	{
	color:	#fff;
}

/* 位置
================================================== */
.right {
	text-align:right;
}
.center {
	text-align:center;
}
.center_form {
	text-align:center;
}
@media screen and (max-width: 768px)  {
.center {
	/*text-align:left;*/
}
}

/* 余白
================================================== */
.ma01 {
	margin:	20px 0;
}
/*.ma02 {
	margin:	50px 0 0;
}*/
.pa_t01 {
	padding:20px 0 0;
}
.pa_t02 {
	padding:18px 0 0 !important;
}
.ma02,
.ma04 {
	padding:0 0 0 50px;
}
.ma03,
.ma05 {
	padding:0 50px 0 0;
}
.ma06 {
	margin:0 0 30px !important;
}
.ma07 {
	display:	inline-block;
	margin:10px 0;
}

@media screen and (max-width: 898px)  {
.ma02,
.ma04 {
	padding:0 0 0 30px;
}
.ma03,
.ma05 {
	padding:0 30px 0 0;
}
}

@media screen and (max-width: 640px)  {
.ma04 {
	padding:0;
}
.ma05 {
	padding:0;
}
}
@media screen and (max-width: 568px)  {
.pa_t01 {
	padding:10px 0 0;
}
.ma02 {
	padding:0;
}
.ma03 {
	padding:0;
}
}

/* 行間
================================================== */
.lh01 {
	line-height:200%;
}

/* ライン
================================================== */
.line01 {
	border-bottom:1px solid	#9AAEB1;
	padding-bottom:50px;
}
@media screen and (max-width: 568px)  {
.line01 {
	padding-bottom:20px;
}
}


/* フェードイン
================================================== */

/*下から出現*/
.animation-appearance{
	opacity: 0;
	transform: translate(0,70px); 
	-webkit-transform: translate(0,70px); 
	transition: 2.0s;
}
.appearance{
	opacity: 1.0;
	transform: translate(0,0); 
	-webkit-transform: translate(0,0);
}


/* -------------------------------------------------

■■■　2階層　■■■

------------------------------------------------- */

/* パンくず
================================================== */
.List_bg	{
	width:100%;
	position:relative;
}
.Listbg::after {
 content: "";
 display: block;
 clear: both;
}
.List	{
	width:1140px;
	margin:0 auto;
}
.List	{
	padding:12px 0;
	font-size:13px;
 font-family: "Noto Sans Japanese", sans-serif;
	font-style: normal;
	font-weight: 400;
	color:#333;
}
.List a	{
	color:#333;
}
.List a:hover	{
	color:	#333;
	transition: .3s;
}
@media screen and (min-width: 899px) and (max-width: 1140px) {
.List	{
	width:95%;
}
}

@media screen and (max-width: 898px)  {
.List	{
	width:95%;
}
}
@media screen and (max-width: 480px)  {
.List	{
	font-size:11px;
}
}

/* -------------------------------------------------

pageimage

------------------------------------------------- */
.pageimage_wrp{		/* トップページ画像 */
 width: 100%;
	margin:0 auto;
	/*padding:200px 0 0;*/
	position:relative;
	box-shadow:0 2px 2px rgba(0,0,0,.1);
}
.pageimage_wrp::after {
 content: "";
 display: block;
 clear: both;
}

.pageimage_wrp2 {	/* 2階層のタイトル */
 /*width: 100%;
	margin:0 auto;
	padding:50px 0 0;*/
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items:center;
	position:relative;
}
.pageimage_wrp2 h2	{
	width:450px;
	margin:0 auto;
 font-family: "Noto Sans Japanese", sans-serif;
	font-style: normal;
	font-weight: 700;
	font-size:38px;
	color:	#008F83;
	position:relative;
	text-align:center;
	text-shadow:3px 3px 12px #fff;
	line-height:1.5;
}
.pageimage_wrp2 h2.media	{	/* 2階層のタイトル--メディア掲載ページ__20260519追加 */
	width:460px !important;
}

.pageimage_wrp__in {	/* 2階層のタイトル--インターンシップページ */
 width: 100%;
	margin:0 auto;
	display: flex;
	justify-content: center;
	align-items:center;
	position:relative;
}
.pageimage_wrp__in h2	{
	width:100%;
	margin:0 auto;
 font-family: "Noto Sans Japanese", sans-serif;
	font-style: normal;
	font-weight: 700;
	font-size:35px;
	color:	#008F83;
	position:relative;
	text-align:center;
	text-shadow:3px 3px 12px #fff;
	line-height:1.5;
}

.pageimage_wrp__CU {	/* 2階層のタイトル--お問い合わせ */
 width: 100%;
	margin:0 auto;
	display: flex;
	justify-content: center;
	align-items:center;
	position:relative;
}
.pageimage_wrp__CU h2	{
	width:100%;
	margin:0 auto;
 font-family: "Noto Sans Japanese", sans-serif;
	font-style: normal;
	font-weight: 700;
	font-size:30px;
	color:	#008F83;
	position:relative;
	text-align:center;
	text-shadow:3px 3px 12px #fff;
	line-height:1.5;
}
.pageimage_wrp__CU h2 span	{
	font-weight: 500 !important;
	font-size:24px;
	vertical-align: 1px;
}
.pi_stit	{	/* 2階層のタイトル下の英語 */
 font-family: "Noto Sans Japanese", sans-serif;
	font-style: normal;
	font-weight: 400;
	font-size:18px;
	text-align:center;
	display:block;
	color:	#008F83;
	text-shadow:3px 3px 4px #fff;
	/*margin-bottom:15px;*/
}
.pi_stit2	{		/* トップページ　キャッチコピー */
 font-family: "Noto Sans Japanese", sans-serif;
	font-style: normal;
	font-weight: 400;
	font-size:18px;
	text-align:center;
	display:block;
	color:	#fff;
	text-shadow:3px 3px 4px #2e2e2e;
	margin-bottom:15px;
}
.pi_stit3	{		/* トップページ　キャッチコピー--2024年に追加（文章を非表示） */
 overflow: hidden;
 text-indent: 100%;
 white-space: nowrap;
}

@media screen and (max-width: 898px)  {
.pageimage_wrp__CU {
 padding: 0 15px;
}	
}

@media screen and (max-width: 768px)  {
.pageimage_wrp__in h2	{
	font-size:30px;
}
.pageimage_wrp__CU h2	{
	font-size:26px;
}
.pageimage_wrp__CU h2 span	{
	font-size:20px;
}
}
@media screen and (max-width: 640px)  {
.pageimage_wrp2 h2	{
	width:100%;
	font-size:24px;
	text-shadow:3px 3px 4px #fff;
}
.pageimage_wrp2 h2.media	{
	width:100% !important;
}
.pageimage_wrp__in h2	{
	padding: 0 10px;
	font-size:24px;
}
.pageimage_wrp__CU h2	{
	font-size:22px;
}
.pageimage_wrp__CU h2 span	{
	font-size:16px;
}
.pi_stit	{
	font-size:16px;
}
}

@media screen and (max-width: 568px)  {
}
@media screen and (max-width: 480px)  {
.pageimage_wrp__in h2	{
	font-size:20px;
}
.pageimage_wrp__CU h2	{
	font-size:19px;
}
}

.pi_rec {
 background: url("../recruit/images/topimage.jpg");
 background-position: center center;
 background-repeat: no-repeat;
 background-size: cover;
 box-sizing: border-box;
	min-height:600px;
}
.pi_rec2 {
	background:	#E2F1F0;
	min-height:200px;
}
.pi_rec3 {
	background:	#E2F1F0;
	min-height:200px;
}
.pi_rec4 {
	background:	#E2F1F0;
	min-height:200px;
}
@media screen and (max-width: 768px)  {
.pi_rec {
	min-height:400px;
	}
.pi_rec {
 background: url("../recruit/images/topimage_sp.jpg");
 background-position: center center;
 background-repeat: no-repeat;
 background-size: cover;
 box-sizing: border-box;
}
}
@media screen and (max-width: 640px)  {
.pi_rec {
	min-height:350px;
}
.pi_rec2,.pi_rec3,.pi_rec4 {
	min-height:150px;
}
}
@media screen and (max-width: 480px)  {
.pi_rec {
	min-height:300px;
}
}
@media screen and (max-width: 414px)  {
.pi_rec {
	min-height:250px;
}
}
@media screen and (max-width: 375px)  {
.pi_rec {
	min-height:225px;
}
}
@media screen and (max-width: 360px)  {
.pi_rec {
	min-height:215px;
}
}
@media screen and (max-width: 320px)  {
.pi_rec {
	min-height:195px;
}
}


/* -------------------------------------------------

 ICON

------------------------------------------------- */
.icn_new	{
	position:absolute;
	top:0px;
	left:0px;
	z-index:1;
	padding:5px 13px;
	background:#DB0003;
 font-family: "Noto Sans Japanese", sans-serif;
	font-style: normal;
	font-weight: 700;
	font-size:14px;
	color:#fff;
}
@media only screen and (max-width: 480px){
.icn_negotiation	{
	padding:5px 13px;
	font-weight: 500;
	font-size:12px;
}
}
.icn_negotiation	{
	position:absolute;
	top:0px;
	left:0px;
	z-index:1;
	padding:5px 13px;
	background:	#eeb300;
 font-family: "Noto Sans Japanese", sans-serif;
	font-style: normal;
	font-weight: 600;
	font-size:14px;
	color:#000;
}
@media only screen and (max-width: 480px){
.icn_negotiation	{
	padding:5px 13px;
	font-weight: 500;
	font-size:12px;
}
}

/* 矢印
================================================== */
.arrow__gray {
 position: relative;
 display: inline-block;
 /*padding: 8px;*/
 padding: 6px;
 background-color:#aaaaaa;
 border-radius: 50%;
 top: 0px;
	left: -4px;
}
.arrow__gray::before {
 content: '';
 /*width: 5px;
 height: 5px;*/
 width: 4px;
 height: 4px;
 border-top: solid 1px #fff;
 border-right: solid 1px #fff;
 position: absolute;
 top: 4px;
}
.arrow__gray.arrow-right::before {
 transform: rotate(45deg);
 left: 3px;
}
