@charset "utf-8";

/* # =================================================================
   # Base Style
   # ================================================================= */

/* CSS Document */
html{
	/*10px*/
    font-size:62.5%;
	line-height: 1.5;
}

body{
font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
margin:0;
color:#333333;
}

img {
  width: 100%;
  vertical-align: top;
}

a{
    /*color:blue;*/
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    transition: all 0.5s;
}
a:visited{
    /*color:blue;*/
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    transition: all 0.5s;
}
a:hover {
    color: #F5A862;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    transition: all 0.5s;
}

h1 {
	/*32px*/
	font-size:3.2rem;
}

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


p {
	font-size: 1.5rem;
	letter-spacing: 0.1em;
	line-height: 1.7em;
}

dt,dd {
	font-size: 1.5rem;

}

@media screen and (max-width : 768px) {
	.ttl__outer {
		margin-bottom: 4%;
	}
	p {
		font-size: 1.5rem;
	}
}



/* # =================================================================
   # 1.骨組み
   # =================================================================
*/
.wrapper {
	width: 100%;
}


.sidebar{
	background-color: #ccc;
}
.main{
	background-color: #efefef;
	min-height: calc(100vh - 70px);
}




/*grid*/

.grid {
  margin: 0;
  padding: 0;
  display: -webkit-flex;
  display: flex;
  list-style: none;
}

.grid-cell {
  margin: 0.5%;
  padding: 0px;
  border-radius: 5px;
  flex: 1;
  /*background: #F5BEBF;*/
}

.twice {
  flex: 2;
}

.flex {
	display: -webkit-flex;
	display: flex;
	margin: 0;
	padding: 0;
}

.flex_lc {
	justify-content:flex-start;
	align-items: center;
}

.flex_cc {
	justify-content: center;
	align-items: center;
}



@media screen and (max-width : 756px) {
	.grid {
	}
}




.ttl {
	/*font-family: "游明朝","YuMincho";*/
}

.w_max {
	max-width: 1280px;
	margin-left: auto;
	margin-right: auto;
}

.w_large {
	max-width: 1180px;
	margin-left: auto;
	margin-right: auto;
}

.w_medium {
	max-width: 1040px;
	margin-left: auto;
	margin-right: auto;
}

.w_small_long {
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
}

.w_small {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}

@media screen and (max-width : 768px) {
	.w_large {
		width: 96%;
	}
	.w_medium {
		width: 88%;
	}
	.w_small_long {
		width: 85%;
	}
	.w_small {
		width: 80%;
	}
}



.pc_break {
	display: block;
}
@media screen and (max-width : 767px) {
	.pc_break {
		display: initial;
	}
}



/* # =================================================================
   # 2.ヘッダー
   # ================================================================= */
.header {
	align-items: center;
}
.header_upper {
	width: 100%;
	background-color: #E8A02B;
}

.header_upper__inner {
	display: flex;
	align-items: center;
	padding: 0.3% 0%;
}
.header_upper__inner p {
	margin-right: auto;
	color: #fff;
	font-size: 0.8rem;
}


.header_lower {
	width: 100%;
}

.header_lower__inner {
	display: flex;
	align-items: center;
	padding: 1.8% 0% 0.8% 0%;
	justify-content: space-between;
}








@media screen and (max-width:768px){
	.header_logo h1 a {
		font-size: 2.2rem;
	}
	.header_upper__inner {
		padding: 1.5% 0%;
	}
	.header_lower__inner {
		align-items: initial;
		padding: 2.5% 0%;
	}
	.header_nav {
		display: none;
	}
}






.recruit_img{text-align:center;}
.recruit_img img{width:480px!important;}




/* # =================================================================
   # 3.フッター
   # ================================================================= */
.footer_outer {
	width: 100%;
	position: relative;
	border-top: 1px solid #F3CC8C;
}


.footer_upper__inner {
	display: flex;
	padding: 1.5% 0%;
	justify-content: space-between;	
}

.footer_upper__inner dt a {
	font-size: 1.3rem;
	text-decoration: none;
	color: #333;
}
.footer_upper__inner dt:nth-child(2) {
	margin-top: 10%;
}


.footer_lower {
	background-color: #E8A02B;
	padding: 1.5% 0%;
}
.footer_lower__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.footer_lower__inner h5 {
	color: #fff;
	font-size: 3.0rem;
	font-family: "游明朝","YuMincho";
	letter-spacing: 0.1em;
	margin-bottom: 1%;
}







/* SP用CSS */
@media screen and (max-width : 767px) {
	.footer_upper__inner {
		flex-direction: column;
		padding: 2.5% 0%;
	}
	.footer_upper__inner dt:nth-child(2) {
		margin-top: 0%;
	}
	.footer_upper__inner dt {
		padding: 1% 0%;
	}
	.footer_upper__inner dt a {
		font-weight: normal;
	}
	.footer_upper__inner dt a:before {
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		content: '\f105';
		padding-right: 5px;
	}

	.footer_lower {
		padding: 5% 0%;
	}
}


.footer_full {width:100%; background-color:#282828; padding-bottom:2rem;}
.footer_logo {padding:3rem 2rem 0.4rem 2rem;}
.footer_parent {display:flex; justify-content:flex-start; padding:0rem 2rem 2rem 2rem;}
.footer_1st {width:30%;}
.footer_2nd {width:65%; display:flex; justify-content:flex-start;}
.footer_3rd {width:221px; margin-left:auto;}

.footer_logo h5 {width:201px;}
.footer_1st dl {color:#fff;}
.footer_1st dt {font-size:1.9rem; font-weight:normal;}
.footer_1st dd {font-size:1.4rem;}

.footer_2nd .boxes {font-size:14px; color:#ffffff; margin-right:5%;}
.footer_2nd .boxes2{font-size:14px; color:#ffffff; margin:15px 0px 0px;}
.footer_2nd .boxes3{font-size:14px; color:#ffffff; margin-left:10%;}
.footer_2nd ul {margin-top:10px; font-size:1.4rem;}
.footer_2nd li {font-size:1.5rem; margin-bottom:2%;}
.footer_2nd li a {color:#fff; text-decoration:none;}
.footer_2nd li a:before {content:">"; margin-right:0.4rem;}

.footer_3rd .bnr {width:100%;}
.footer_3rd .bnr img {margin-bottom:0.4rem;}


/* SP用CSS */
@media screen and (max-width : 767px) {
.footer_logo {width:100%; display:flex; justify-content:center; margin-bottom:1rem;}
.footer_parent {flex-wrap:wrap; flex-direction:column;}
.footer_1st,.footer_2nd,.footer_3rd {width:100%;}
.footer_1st {justify-content:center; display:flex;}
.footer_1st dl {text-align:center;}
.footer_2nd {width:65%; display:block; justify-content:flex-start;}
.footer_2nd .boxes {font-size:14px; color:#ffffff; margin:15px 0px 0px;}
.footer_2nd .boxes2{font-size:14px; color:#ffffff; margin:0px 0px 0px;}
.footer_2nd .boxes3{font-size:14px; color:#ffffff; margin:15px 0px 0%;}
/*.footer_2nd {display:none;} */
/*.footer_2nd {width:100%; display:block; justify-content:flex-start;} */
.footer_3rd {flex-wrap:nowrap; text-align:center; margin-top:1.6rem;}
.footer_3rd .bnr img {width:48%;}
}

/* # =================================================================
   # 4.コンテンツ
   # ================================================================= */
/*繰り返し使用する*/
.contents_wrapper {
	width: 100%;
}
.contents_outer {
	background-color: #FFFAF2;
	padding: 5% 0% 5% 0%;
}
.contents_outer__white {
	background-color: #fff;
	padding: 5% 0% 5% 0%;
}

@media screen and (max-width : 768px) {
	.contents_outer {
		padding: 10% 0% 10% 0%;
	}
}
	
	
.main .parent {
	width: 100%;
	background-color: antiquewhite;
	display: flex;
	flex-direction: row;
    flex-wrap: wrap;
}

.main .child {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-flow: column nowrap;
	margin-bottom: 2rem;
}

.main .child__two {
	width: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.main .child__three {
	width: 33%;
	display: flex;
}

.tiles{
	margin-bottom: 1em;
}
.tiles li{
	margin-bottom: 1em;
	padding: 20px;
	border-radius: 4px;
	background-color: #fff;
}
.container p:not(:last-child){
	margin-bottom: 1.5em;
}

/* デスクトップ用CSS */
@media screen and (min-width : 768px) { 
	.tiles{
		display: flex;
		flex-wrap: wrap;
	}
	.tiles li {
		margin: 5px;
		width: calc( 50% - 10px);
	}
}



.flex_parent {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}


.single .single_box h2{clear:both;
    font-size:22px !important;
    color:#FFF;
    margin:70px 0px 60px !important;
    font-weight:bold !important;
    position:relative;
    padding:25px 15px;
    background-color:#000000;}

.single .single_box h3{position: relative;
font-size:18px !important;
margin: 50px 0px 50px !important;
font-weight: bold;
padding: 15px 20px 13px 20px;
border-top: 4px solid #000000;
border-bottom: 4px solid #000000;
border-left: 0px solid #000000;
margin-bottom: 10px;}


.single .single_box ul {list-style:disc; font-size:16px; margin:20px 0px 30px 20px;}
.single .single_box ul li{margin:0px 0px 10px 0px;}


.single .breadcrumb_box{padding:80px 0px 0px;}
@media screen and (max-width : 767px) {
.single .breadcrumb_box{padding:5px 0px 0px;}
}
/*パンくず*/
#breadcrumb {
	/*border-bottom: 1px solid #d2d2d2;*/
	padding: 0.5% 0%;
}
#breadcrumb ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
#breadcrumb ul li {
	display: inline-block;
	font-size: 1.3rem;
}
#breadcrumb ul li a {
	color: #333;
	text-decoration: none;
}

#breadcrumb ul li a:after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: '\f105';
	padding-right: 5px;
	padding-left: 5px;
}



.pagemenu {
	display: flex;
	justify-content: space-between;
}

.pagemenu div {
	background-color: #222222;
	flex: 1;
	font-size: 1.6rem;
	position: relative;
	margin: 0 4px;
}

.pagemenu div.three {
	width: 32%;
}
.pagemenu div:after {
	position: absolute;
	content: '';
	background-image: url("../img/icon_pagesubmenu.png");
	width: 33px;
	height: 13px;
    right: 8%;
	top: 2.5rem;
	pointer-events: none;
	
}
.pagemenu div.three:after {
    top: 2.0rem;
	
}
.pagemenu div span {
	display: block;
	font-size: 1.3rem;
}
.pagemenu a {
	text-decoration: none;
	display: block;
	width: 100%;
	color: #fff;
	padding: 1.2rem;
}


@media screen and (max-width : 767px) {
	.pagemenu {
		display:block;
		justify-content: space-between;
		flex-wrap: nowrap;
	}
	.pagemenu div {
		background-color: #222222;
		width: 100% !important;
		margin-bottom: 0.4rem;
	}
}


.page-mv {
	position: relative;
}

.page-mv .ttl_box {
	position: absolute;
	top: 47%;
    left: 24rem;
}
.page-mv .ttl_box h2 {
	font-size: 3.4rem;
}
.page-mv .ttl_box p {
	font-size: 1.6rem;
	font-weight: bold;
	color: #214c7a;
}
.page-mv .ttl_box .h2 {
	font-size: 3.4rem;
	font-weight: bold;
}

/*recruit*/
.page-mv .ttl_box_recruit {
	position: absolute;
	top: 44%;
    left: 24rem;
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.page-mv .ttl_box_recruit h2 {
	font-size: 5.4rem;
	letter-spacing: 0.2rem;
}
.page-mv .ttl_box_recruit p {
	font-size: 2.8rem;
	color: #49D69A;
	letter-spacing: 0rem;
	font-weight: normal;
	margin-left: -5rem;
}


@media screen and (max-width : 767px) {
	.page-mv {
		padding-top: 6.2rem;
	}
	.page-mv .ttl_box {
		position: absolute;
		top: 9.4rem;
		left: 1.44rem;
	}
	.page-mv .ttl_box h2 {
		font-size: 2.4rem;
	}
	.page-mv .ttl_box p {
		font-size: 1.4rem;
	}
}


@media screen and (max-width : 767px) {
	/*recruit*/
	.page-mv .ttl_box_recruit {
		position: absolute;
		top: 15.5rem;
		/*left: 24rem;*/
		text-align: center;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
}



/**/
.dummy_contents {
	width: 100%;
}

#dummy_inner {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}


.example_box {
	border: 1px solid #b2b2b2;
	padding: 1.7%;
	width: 31.3%;
	margin-bottom: 3%;
	margin-right: 2%;
	display: flex;
	flex-direction: column;
	align-items: stretch;
}
.example_box dl {
	margin-top: 3%;
	margin-bottom: 5%;
}
.example_box dt {
	font-size: 1.5rem;
	font-weight: bold;
	margin-bottom: 2%;
}
.example_box dd {
	font-size: 1.2rem;
	letter-spacing: 0.1em;
}


ul.btn_detail {
    margin: 0;
    padding: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
	margin-top: auto;
}
ul.btn_detail li {
    width: 100%;
    position: relative;
    display: inline-block;
}
ul.btn_detail li a {
    color: #fff;
    text-decoration: none;
    width: 100%;
    display: block;
    background-color: #875902;
    font-size: 1.2rem;
    padding: 2.5% 5%;
	text-align: center;
	letter-spacing: 0.2em;
}
ul.btn_detail li a:after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: '\f0da';
    position: absolute;
    right: 8%;
    top: 20%;
}




/**/
.jirei_single {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}
.jirei_single h1 {
	font-size: 3.0rem;
	font-family: YuMincho, "游明朝",serif;
	margin-bottom: 2%;
}

.jirei_single .jirei_slide {
	max-width: 800px;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	overflow: hidden;
}

.jirei_single .jirei_slide ul {margin-left: 0;
}
.jirei_single .jirei_slide li span {
	display: block;
	background-color: rgba(0,0,0,0.9);
	color: #fff;
	width: 100%;
}


.jirei_info {
	margin-top: 7%;
	padding-bottom: 7%;
	width: 60%;
	margin-left: auto;
	margin-right: auto;
}

.jirei_info table {
	border-collapse:collapse;
}
.jirei_info th,.jirei_info td {
	border-bottom: 1px dotted #666666;
	padding: 1% 2%;
	text-align: left;
	font-size: 1.3rem;
}

.jirei_info th {
	width:24%;
}


.jirei_sub {
	margin-top: 9%;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}



.jirei_sub h2 {
    margin: 1% 0;
    border-left: 4px solid #999;
	margin-bottom: 3%;
    padding-left: 1.4%;
    font-family: YuMincho, "游明朝",serif;
    font-size: 1.9rem;
    font-weight: normal;
    color: #333;
}

.jirei_sub_col2 {
	display: flex;
	justify-content: space-between;
}
.jirei_subpht {
	width: 48%;
	order: 0;
}
.jirei_subtxt {
	width: 48%;
	order:1;
}

.jirei_subtxt p {
	font-size: 1.4rem;
	line-height: 1.7em;
}

.jirei_sub:nth-child(2n) .jirei_subtxt  {
	order:0 !important;
}
.jirei_sub:nth-child(2n) .jirei_subpht {
	order:1 !important;
}


@media screen and (max-width : 767px) {
	#dummy_inner {
		flex-direction: column;
		flex-wrap: wrap;
	}
	.example_box {
		padding: 1.7%;
		width: 100%;
		margin-bottom: 7%;
	}
	.jirei_single h1 {
		font-size: 2.0rem;
		margin-bottom: 6.4%;
	}
	.jirei_info {
		margin-top: 7%;
		padding-bottom: 7%;
		width:100%;
		margin-left: auto;
		margin-right: auto;
	}
		.jirei_single .jirei_slide {
		max-width: 100%;
		height: auto;
		margin-left: auto;
		margin-right: auto;
		overflow: hidden;
	}
	.jirei_sub {
		margin-top: 12%;
	}
	.jirei_sub_col2 {
		flex-direction: column;
	}
	.jirei_subpht {
		width: 100%;
		order: 0;
		margin-bottom: 3%;
	}
	.jirei_subtxt {
		width: 100%;
		order:1;
	}
	.jirei_sub:nth-child(2n) .jirei_subtxt  {
		order:1 !important;
	}
	.jirei_sub:nth-child(2n) .jirei_subpht {
		order:0 !important;
	}
}





/********************************************************/
/*フッター*/
/********************************************************/
.footer {
	background-color: #282828;
	color: #fff;
}
/*pagetop*/
#page_top{
  width: 50px;
  height: 50px;
  position: fixed;
  /*position: absolute;*/
  right: 0;
  /*top:-51px;*/
  bottom: 0;
  background: #313131;
}
#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: '\f0d8';
  font-size: 2.0rem;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
/* SP用CSS */
@media screen and (max-width : 767px) {
	#page_top{
	  width: 50px;
	  height: 50px;
	  position: fixed;
	  /*position: absolute;*/
	  right: 0;
	  /*top:-51px;*/
	  bottom: 0;
	  /*background: #2f9356;*/
	  z-index: 100;
	}
}


/*copyright*/
.copyright {font-size:1.4rem; color:#fff; text-align:center;}
.copyright a{color:#fff;}
.copyright span {padding-left:0.8rem;}

/* SP用CSS */
@media screen and (max-width : 767px) {
.copyright {font-size:1.2rem;}
.copyright span {display:block;}
}

#footer_plusone {
	color: #fff;
	clear: both;
	text-align: center;
	font-size: 1.1rem;
	padding-top: 2%;
}
#footer_plusone a {
	color: #fff;
	text-decoration: underline;
}

.footer_upper {
	justify-content: space-between;
	padding-top: 4%;
}

.footer_upper_l {
	margin-right: auto;
}
.footer_upper_l h5 {
	font-size: 2.8rem;
	max-width: 201px;
}
.footer_upper_l dl {
	margin-top: 1.2rem;
}
.footer_upper_l dt {
	font-size: 1.9rem;
	font-weight: normal;
}
.footer_upper_l dd {
	font-size: 1.4rem;
}

.footer_upper_r {
	width: 75%;
	padding-top: 7.1rem;
	
}

.footer_upper_r .col3 {
	width: 100%;
}

.footer_upper_r .col3 .colbox {
    width: 40%;
}


.footer_upper_r .bnr {
	width: 221px;
}

.footer_bottom {
	padding-top: 8%;
	padding-bottom: 8%;
	flex-direction: column;
}


.footer_menu dl {
	font-size: 1.4rem;
}
.footer_menu dt {
	font-size: 1.5rem;
	font-weight: bold;
	margin-bottom: 2%;
}
.footer_menu dd a {
	color: #fff;
	text-decoration: none;
}


.footer_menu ul {
	font-size: 1.4rem;
}
.footer_menu li {
	font-size: 1.5rem;
	margin-bottom: 2%;
}
.footer_menu li a {
	color: #fff;
	text-decoration: none;
}
.footer_menu li a:before {
	content: ">";
	margin-right: 1rem;
}

/********************************************************/
/*ヘッダー*/
/********************************************************/

/*menu togglebtn*/
#nav_toggle{
	display: none;
}

nav.spnav {
	display: none;
}


@media screen and (max-width:767px){

	/*開閉ボタン*/
	#nav_toggle{
		display: block;
		width: 30px;
		height: 30px;
		position: relative;
		top: 0px;
		z-index: 1000;
	}
	#nav_toggle div {
		position: relative;
	}
	#nav_toggle span {
		display: block;
		height: 3px;
		background: #333;
		position:absolute;
		width: 100%;
		left: 0;
		-webkit-transition: 0.5s ease-in-out;
		-moz-transition: 0.5s ease-in-out;
		transition: 0.5s ease-in-out;	
	}
	header.open #nav_toggle span{
		background: #fff;
	}
	header.is-fixed #nav_toggle span{
		background-color: #fff;
	}
	#nav_toggle span:nth-child(1){
		top:0px;
	}
	#nav_toggle span:nth-child(2){
		top:12px;
	}
	#nav_toggle span:nth-child(3){
		top:24px;
	}
	
	/*開閉ボタンopen時*/
	.open #nav_toggle span:nth-child(1) {
			top: 12px;
		   -webkit-transform: rotate(135deg);
			-moz-transform: rotate(135deg);
			transform: rotate(135deg);
		}
		.open #nav_toggle span:nth-child(2) {
			width: 0;
			left: 50%;
		}
		.open #nav_toggle span:nth-child(3) {
			top: 12px;
			-webkit-transform: rotate(-135deg);
			-moz-transform: rotate(-135deg);
			transform: rotate(-135deg);
		}
}

@media screen and (max-width:768px){
	/*メニュー部分*/
	nav.spnav{
		display:none;
		position: absolute;
		top:0;
		width: 100%;
		height: 100vh;
		background:rgba(33,76,122,1.0);
		left: 0;
		z-index: 999;
		
	}
	header nav.spnav img.spnav-logo {
		width: auto;
		position: absolute;
		left: 1.4rem;
		top: 1.4rem;
	}
	
	header nav.spnav ul{
		display: block;
		width: 100%;
		height: auto;
		/*position: absolute;*/
		top: 12%;
		right: 0px;
		bottom: 0px;
		left: 0px;
		margin: auto;
		list-style: none;
		padding-top: 8rem;
	}
	header nav.spnav ul li{
		margin: 0 auto;
		text-align: left;
		border-top: 1px solid #3a77af;
		padding-left: 2rem;
		padding-right: 2rem;
	}
	header nav.spnav ul li:last-child{
		/*border: none;*/
		border-bottom: 1px solid #3a77af;
	}
	header nav.spnav ul li a{
		display: block; 
		color: #fff;
		font-size: 1.5rem;
		text-decoration: none;
		padding: 3% 0%;
	}
	header nav.spnav ul li span {
		padding-left: 2rem;
		color: #7095af;
	}
	header nav.spnav dl {
		margin-top: 2rem;
		padding: 1.4rem;
	}
	header nav.spnav dl dt {
		margin-bottom: 1.0rem;
	}
	
	
}



.site-header{
    background: #fff;
    display: flex;
    justify-content: space-between;
    padding: 20px;
    position: absolute;
    width: 100%;
}
/*.header-change{
    background: #333;
    display: flex;
    justify-content: space-between;
    padding: 20px;
    position: fixed;
    top: -63px;
    transition: .5s;
    width: 100%;
	z-index: 999;
	
}
.header-change.show{
    top: 0;
}
.header-change .gnav__menu__item a{
    color: #fff;
    text-decoration: none;
}*/

#header{
  position: sticky;
  top: 0;
  z-index:2;
  padding:0px;
  background: #000;
}

.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  background-color: #000;
}


.header_parent {
	position: absolute;
    width: 100%;
	z-index: 999;
}
header.is-fixed .header_parent {
	/*background-color: #000;*/
	background: rgb(0,0,0);
	filter:alpha(opacity=30); 
	background-color: rgb(0,0,0,0.7);
}
.header_inner {
	display: flex;
	padding: 2rem;
	align-items: center;
}
.header_1st {
	width: 188px;
}
.header_2nd {
	margin-left: 20px;
	width: 75%;
}
.header_3rd {
	padding-left: 2rem;
}

.header_1st h1 img.off {
}
.header_1st h1 img.on {
	display: none;
}

header.is-fixed .header_1st h1 img.off {
	display: none;
}
header.is-fixed .header_1st h1 img.on {
	display: block;
}


.header_nav ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.header_nav ul li {
	flex: 1;
	text-align: center;
	font-size:14px;
	border-right: 1px solid #000;
}
.header_nav ul li:first-child {
	border-left: 1px solid #000;
}

.header_nav ul li span {
	display: block;
	font-size: 1.1rem;
}
.header_nav ul li a {
	color: #333;
	text-decoration: none;
}

.header_3rd dl {
	position: relative;
}
.header_3rd dl:before {
	content: "";
	background-image: url("../img/headertel_off.png");
	position: absolute;
	left: 0;
	top: 0;
	width: 27px;
	height: 36px;
	
}
.header_3rd dt,.header_3rd dd{
	padding-left: 3rem;
	line-height: 1.7rem;
}

.header_3rd dt a {
	font-size: 2.4rem;
	text-decoration: none;
	color: #333;
}
.header_3rd dd {
	font-size: 1.4rem;
	letter-spacing: 0.1rem;
	text-align: center;
}

header.is-fixed .header_3rd,header.is-fixed .header_3rd a {
	color: #fff;
}

header.is-fixed .header_3rd dl:before {
	content: "";
	background-image: url("../img/headertel_on.png");
	position: absolute;
	left: 0;
	top: 10.2%;
	width: 27px;
	height: 36px;
	
}
header.is-fixed .header_nav ul li a {
	color: #fff;
}

header.is-fixed .header_nav ul li {
	border-right: 1px solid #fff;
}
header.is-fixed .header_nav ul li:first-child {
	border-left: 1px solid #fff;
}

@media screen and (max-width:767px){
	.header_inner {
		padding: 1.4rem;
	}
	.header_1st {
		width: 188px;
		margin-right: auto;
	}
	.header_2nd {
		margin-left: auto;
		width: auto;
	}
	.header_3rd {
		display: none;
	}
	
	header.is-fixed.open .header_parent {
		background: rgb(0,0,0);
		filter:alpha(opacity=30); 
		background-color: rgb(33,76,122,0.7) !important;
	}
}

/********************************************************/
/*mv*/
/********************************************************/

.mv {
	margin-left: auto;
	margin-right: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 0;
	padding-top: 62.5%;
	background: url("../img/FV.jpg") center center / cover no-repeat;
}

@media screen and (max-width:767px){
	.mv {
		padding-top: 81.5%;
		background: url("../img/FV_sp.jpg");
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;
	}
}

/********************************************************/
/*main*/
/********************************************************/
.main {
	padding-bottom: 10%;
}

/********************************************************/
/*colbox*/
/********************************************************/
.colbox {
	width: 100%;
}

/********************************************************/
/*col*/
/********************************************************/
.col {
	padding-top: 5%;
}

/********************************************************/
/*col1*/
/********************************************************/
.col1 {
}

/********************************************************/
/*col2*/
/********************************************************/
.col2 {
	display: flex;
	justify-content: space-between;
}
.col2 .colbox {
	width: 48%;
}

@media screen and (max-width:767px){
	.col2 {
		flex-direction: column;
	}
	.col2 .colbox {
		width: 100%;
		margin-bottom: 12%;
	}
}

/********************************************************/
/*col3*/
/********************************************************/
.col3 {
	display: flex;
	justify-content: space-between;
}
.col3 .colbox {
	width: 31%;
}
@media screen and (max-width:767px){
	.col3 {
		flex-direction: column;
	}
	.col3 .colbox {
		width: 100%;
		margin-bottom: 12%;
	}
}

/********************************************************/
/*col4*/
/********************************************************/
.col4 {
	display: flex;
	justify-content: space-between;
}
.col4 .colbox {
	width: 23%;
}

@media screen and (max-width:767px){
	.col4 {
		flex-direction: column;
	}
	.col4 .colbox {
		width: 100%;
		margin-bottom: 12%;
	}
}




.ttl {
	font-size: 3.0rem;
	text-align: center;
	letter-spacing: 0.1em;
}


.ttl_line {
    font-size: 2.2rem;
    border-left: none;
    padding-left: 0px;
    padding-top: 1.5%;
    padding-bottom: 1.5%;
    font-weight: bold;
    text-align: center;
    display: flex;
}
.ttl_line:before {
    content: "";
    flex-grow: 1;
    height: 1px;
    background: #f9f9f9;
    display: block;
    margin-right: 3em;
    margin-top: 1.4%;
}
.ttl_line:after {
    content: "";
    flex-grow: 1;
    height: 1px;
    background: #f9f9f9;
    display: block;
    margin-left: 3em;
    margin-top: 1.4%;
}

.al_c {
	text-align: center;
}







/************************************************************/
/*from */
.fmbox {
	width: 100%;
}

button, input, select, textarea {
    background-color: transparent;
    border:1px solid #666;
    color: #666;
}

.fmbox table {
	border-collapse: collapse;
	margin: 0;
	padding: 0;
	margin-top: 4%;
	width: 100%;
}

.fmbox th,.fmbox td {
	padding: 1.8rem 2.0rem;
	text-align: left;
	font-size: 1.6rem;
	/*border: 1px solid #f9f9f9;*/
	vertical-align: middle;
}

.fmbox th {
	/*background-color: #f9f9f9;*/
	/*color: #fff;*/
	/*border-top: 1px solid #f9f9f9;
	border-left: 1px solid #f9f9f9;
	border-right: 1px solid #f9f9f9;*/
	border-bottom: 1px solid #b1b1b1;
	position: relative;
	width: 30%;
	vertical-align: top;
}
.fmbox tr:last-child th {
	border-bottom: 1px solid #b1b1b1;
}
.fmbox th span {
	background-color: #214c7a;
	color: #fff;
	padding: 0.5% 2%;
	font-size: 1.4rem;
	font-weight: bold;
	position: absolute;
	right: 5%;
	top:25%;
}
.recruit_form_outer .fmbox th span {
	background-color: #49D69A;
}

.fmbox th span.nini {
	background: #999999;
}
.fmbox th em {
	font-style: normal;
	font-size: 1.3rem;
	display: block;
}
.fmbox tr:last-child th span {
	top:43%;
}





@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, .fmbox tr.tr_last th span {
    /* IE11 にのみ適用される */
		top:60px !important;
  }
}







.fmbox td {
	/*background-color: #fff;*/
	
	border-bottom: 1px solid #b1b1b1;
}

.fmbox td input[type="text"] {
	width: 70%;
}
.fmbox td input.c_email {
	width: 70%;
}
.fmbox td input.c2_tel {
	width: 20% !important;
}
.fmbox td textarea {
	width: 80%;
	height: 120px;
}

.fmbox td input.c2_tel {
    width: 20% !important;
}
.fmbox td input.c2_zip {
    width: 20% !important;
}

.fmbox td select {
    width: 20% !important;
	padding: 1rem;
}


@media screen and (max-width : 767px) {
	.fmbox td input[type="text"],
	.fmbox td input.c_email, 
	.fmbox td input.ip_tel {
		width: 100%;
	}
	.fmbox td textarea {
		width: 100%;
		height: 120px;
	}
}

.policy_box {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	overflow: auto;
	height: 200px;
	border: 1px solid #bfbfbf;
	padding: 2% 2% 2% 2%;
	background-color: #fff;
	margin-top: 2%;
}

.policy_box h5 {
	font-weight: bold;
	font-size: 1.6rem;
	display: block;
	margin-top: 4%;
}
.policy_box h5:first-child {
	margin-top: 0%;
}
.policy_box p {
	margin-top: 1.5%;
}
.policy_box p img {
	width: auto;
}
.policy_box ul {
	width: auto;
	margin-top: 1%;
	list-style-position: inside;
	list-style: disc;
}
.policy_box li {
	font-size: 1.6rem;
	margin-bottom: 0.5%;
	line-height: 1.7em;
}

.policy_caution {
	background-color: #fff;
	padding: 4% 4%;
	margin-top: 5%;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}

.policy_caution p {
}

.policy_chkbox {
	text-align: center;
	margin-top: 3%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.policy_chkbox span {
	font-size: 1.6rem;
	padding-left: 5px;
}




@media screen and (min-width: 768px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
}

.contact_btn ul {
	margin: 0;
	padding: 0;
	width: 35%;
	display: flex;
	justify-content: space-between;
	margin-top: 2.5%;
	margin-left: auto;
	margin-right: auto;
}
.contact_btn li {
	width:100%;
	position: relative;
	display: inline-block;
	text-align: center;
}
.contact_btn li a {
	color: #fff;
	text-decoration: none;
	width: 100%;
	display: block;
	background-color: #E8A02B;
	font-size: 1.6rem;
	padding: 3.5% 8%;
}

.contact_btn li:after {
	/*font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: '\f0da';
	position: absolute;
	right: 8%;
	top: 30%;*/
	color: #fff;
	font-size: 1.2rem;
	content: "";
    background-image: url(../img/ico_btn.png);
    width: 17px;
    height: 16px;
    position: absolute;
    right: 2rem;
    top: 1.4rem;
}


.contact_btn　input[type="submit"] {
    padding: 3.5% 8%;
    font-size: 1.6em;
    background-color: #E8A02B !important;
    color: #fff;
    border-style: none;
}

button, input[type="button"], input[type="reset"], input[type="submit"] {
    
    background: #000;
    color: #fff;
    font-size: 1.6rem;
    line-height: 1;
    padding: 4.5% 8%;
	width:100%;
	border: 1px solid #000;
	border-radius: 30px;
}
input[type="submit"] :after {
	/*font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: '\f0da';
	position: absolute;
	right: 8%;
	top: 30%;*/
	content: "";
    background-image: url(../img/ico_btn.png);
    width: 17px;
    height: 16px;
    position: absolute;
    right: 2rem;
    top: 1.8rem;
}





@media screen and (max-width : 768px) {
	.fmbox th,.fmbox td {
		display: block !important;
		width: 100%;
		/*padding-top: 2%;
		padding-bottom: 2%;*/
		padding-left: 0;
		padding-right: 0;
	}
	.fmbox th {
		border-bottom: none;
		padding-top: 2rem;
		padding-bottom: 0;
	}
	.fmbox th span {
		right: 5%;
		top: 2.2rem;
	}
	.fmbox tr:last-child th span {
		top: 2.2rem;
	}
	.fmbox tr:last-child th {
		border-bottom: none;
	}
	.fmbox td {
		/* padding-botom: 2rem; */
	}
	
	.policy_box {
		width: 100%;
	}
		.policy_caution {
		width: 100%;
	}
	.contact_btn ul {
		width: 90%;
	}
	.policy_chkbox {
		margin-top: 8%;
		margin-bottom: 4%;
	}
	.policy_caution {
		margin-top: 7%;
	}
	

}



/**********************************************/
.width_full {
	width: 100%;
}
.width_1280 {
	max-width: 1080px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 100px;
	padding-right: 100px;
	padding-top: 7.2rem;
	padding-bottom: 8.0rem;
}

.flex {
	display: flex;
}

.ttl_wrap {
	text-align: center;
	margin-bottom: 2.4rem;
}
.ttl_wrap strong {
	font-weight: bold;
	font-size: 3.8rem;
	display: block;
}
.ttl_wrap span {
	color: #54779a;
	font-weight: bold;
	font-size: 1.4rem;
	display: block;
}
.ttl_wrap h2 {
	line-height: 3.2rem;
	position: relative;
	font-weight: bold;
	font-size: 3.8rem;
	display: block;
    margin-bottom:5px;
}
.ttl_wrap h2.h2_bb:before {
    content: '';
    position: absolute;
    bottom: -3px;
    display: inline-block;
    width: 45px;
    height: 3px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #214c7a;
    border-radius: 0px;
}


.ttl_wrap h2.h2_recruit strong {
	font-weight: bold;
	font-size: 3.8rem;
	display: block;
	margin-bottom: 1rem;
}
.ttl_wrap h2.h2_recruit span {
	color: #49D69A;
	font-weight: bold;
	font-size: 2.2rem;
	display: block;
}
.ttl_wrap h2.h2_recruit strong em {
		font-style: normal;
}
@media screen and (max-width : 767px) {
	.ttl_wrap h2.h2_recruit strong em {
		display: block;
		margin-top: 0.9rem;
	}
}

.boxes {
}
.boxes p:nth-of-type(n+2) {
	margin-top: 1.6rem;
}


.btnarea {
	padding-top: 3.0rem;
	 width: 300px;
	 margin: 0 auto;
}
.btn_bizhits {
    padding: 15px 0;
    font-size: 1.5rem;
    text-decoration: none;
    display: block;
    text-align: center;
    color: #FFFFFF;
    background: #000000;
    border-radius: 30px;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
	position: relative;
}
.btn_bizhits:after {
	content: "";
	background-image: url("../img/ico_btn.png");
	width: 17px;
	height: 16px;
	position: absolute;
	right: 2rem;
	top: 1.8rem;
}

.btn_bizhits_w {
    color: #FFFFFF;
    background: initial;
	border: 1px solid #fff;
}

@media screen and (max-width : 767px) {
	.btn_bizhits2 {
		text-align: left;
		padding-left: 2rem;
	}
}

@media screen and (max-width : 767px) {
	.width_1280 {
		width: 96%;
		padding-left: 1rem;
		padding-right: 1rem;
	}
}

.bg_slash {
	background-image: url("../img/bg_slash.jpg");
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
}

.bg_gray {
	background-color: #f9f9f9;
}

.top_service {
	align-items: center;
}
.top_service_left {
	width: 47%;
	margin-right: auto;
}
.top_service_right {
	padding-left: 5rem;
}

@media screen and (max-width : 767px) {
	.top_service {
		align-items: flex-start;
		flex-wrap: wrap;
	}
	.top_service_left {
		width: 50%;
		margin-right: auto;
		margin-left: auto;
		margin-bottom: 2.4rem;
	}
	.top_service_right {
		padding-left: 0rem;
	}
}



.top_information dl {
	display: flex;
	flex-wrap: wrap;
	font-size: 1.5rem;
	width: 100%;
}
.top_information dt,.top_information dd {
	border-bottom: 1px solid #cccccc;
	padding-top: 1.2rem;
	padding-bottom: 1.2rem;
}
.top_information dt {
	width: 20%;
}
.top_information dt span.catname {
	color: #fff;
	padding: 0.4rem 0.8rem;
	text-align: center;
	font-size: 1.2rem;
}
.top_information dt span.catname01 {
	background-color: #447f4b;
}
.top_information dt span.catname02 {
	background-color: #ea7833;
}
.top_information dt span.topdate {
	padding-left: 1.6rem;
}
.top_information dd {
	width: 80%;
}
.top_information dd a {
	color: #333;
}

@media screen and (max-width : 767px) {
	.top_information dl {
		flex-wrap: wrap;
	}
	.top_information dt {
		width: 100%;
		border-bottom: none;
		padding-bottom: 0;
	}
	.top_information dd {
		width: 100%;
	}
}


.top_outer_headtxt {
	margin-bottom: 2rem;
}
.top_outer_headtxt p {
	text-align: center;
}
.top_works_outer {	
}
.top_works_slide {
	border: 1px solid #333;
	padding: 2.5rem;
}

.works_slideinner {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.works_slideinner div {
	display: inline-block;
}



.top_works_pht {
	width: 40%;
	margin-right: auto;
	display: initial;
}
.top_works_right {
	width: 58%;
	margin-left: auto;
	margin-right: 0;
	padding-left: 2rem;
}

.top_works_right h3 {
	font-size: 1.6rem;
	padding-bottom: 0.8rem;
	border-bottom: 1px solid #000;
	margin-bottom: 1.0rem;
}
.top_works_right p {
	margin-bottom: 0.5rem;
}

.top_works_right .btnarea {
	width: 100%;
	margin-left: auto;
	padding-top: 1.0rem;
}
.top_works_right .btnarea a.btn_bizhits {
	width: 50%;
	margin-left: auto;
}

.top_works_slidethmb {
	display: flex;
	justify-content: space-between;
	margin-top: 1.6rem;
}
.top_works_slidethmb div {
/*	width: 96%;*/
	position: relative;
}
.top_works_slidethmb div a {
	pointer-events: none;
}
.top_works_slidethmb div img {
	width: 100%;
}

@media screen and (max-width : 767px) {
	.works_slideinner {
		flex-wrap: wrap;
		align-self: stretch;
	}
	.top_works_pht {
		width: 100%;
		margin-bottom: 1.5rem;
	}
	.top_works_right {
		width: 100%;
		margin-left: auto;
		margin-right: 0;
		padding-left: 0rem;
	}
	.top_works_right .btnarea a.btn_bizhits {
		width: 100%;
		margin-left: auto;
	}
	.top_works_slidethmb {
		display: none !important;
	}
}



.top_books {
	align-items: center;
}
.top_books_left {
	width: 96%;
	margin-left: auto;
	order: 1;
	position: relative;
}
.top_books_right {
	padding-right: 3rem;
	order: 0;
	flex-shrink: 1;
}

.top_books_right h3 {
	border-bottom: 1px solid #cccccc;
	padding-bottom: 1.6rem;
	margin-bottom: 1.6rem;
}
.top_books_right h3 strong {
	display: block;
	font-size: 1.5rem;
	margin-bottom: 0.8rem;
}
.top_books_right h3 span {
	display: block;
	font-weight: normal;
	font-size: 1.3rem;
}


@media screen and (max-width : 767px) {
	.top_books {
		align-items: flex-start;
		flex-wrap: wrap;
	}
	.top_books_left {
		width: 100%;
		margin-right: auto;
		margin-left: auto;
		margin-bottom: 2.4rem;
		order: 0;
	}
	.top_books_right {
		width: 100%;
		padding-left: 0rem;
		padding-right: 0rem;
		flex-shrink: 1;
		order: 1;
	}
}

.top_recruit {
	background-image: url("../img/top_recruit_bg.jpg");
	background-repeat: no-repeat;
	background-position: right top;
	background-size: contain;
	padding-bottom: 4rem;
}

.top_recruit h3 {
	font-size: 1.8rem;
	margin-bottom: 1.2rem;
}

@media screen and (max-width : 767px) {
	.top_recruit h3 span {
		display: block;
	}
}


.top_contact01 {
	margin-bottom: 2.4rem;
}
.top_contact01 p {
	text-align: center;
}

.top_contact02 {
	display: flex;
	flex-wrap: wrap;
	width: 660px;
	margin-left: auto;
	margin-right: auto;
	justify-content: space-between;
}

.top_contact_boxes {
	width: 305px;
	border: 1px solid #cccccc;
	padding: 2rem;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	background: rgba(255,255,255,0.6);
}

.top_contact_boxtel,.top_contact_boxmail {
	flex-wrap: wrap;
}
.top_contact_tel01 {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 2.0rem;
}
.top_contact_tel01 img {
	width: auto;
}
.top_contact_tel02 {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.top_contact_tel02 dl {
	font-size: 1.5rem;
	text-align: center;
}
.top_contact_tel02 dt {
}
.top_contact_tel02 dd {
}
.top_contact_tel02 dd a {
	font-size: 3.2rem;
	text-decoration: none;
	color: #214c7a;
	font-weight: bold;
}


.top_contact_boxmail {
	position: relative;
}
.top_contact_mail01 {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 2.0rem;
}
.top_contact_mail01 img {
	width: auto;
}
.top_contact_mail02 {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: -3rem;
}


@media screen and (max-width : 767px) {
	.top_contact02 {
		width: 100%;
	}
	.top_contact_boxes {
		width: 100%;
		padding: 1rem 0.8rem;
	}
	
	
	.top_contact_boxtel {
		flex-wrap: nowrap;
		align-items: center;
	}
	.top_contact_tel01 {
		width: auto;
		margin-bottom: 0rem;
		align-items: flex-start;
		justify-content: flex-start;
	}
	.top_contact_tel01 img {
		width: 100%;
	}
	.top_contact_tel02 dl {
		text-align: left;
		font-size: 1.3rem;
	}
	.top_contact_boxmail {
		display: none;
	}
}

.btn_square {
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 10;
}
.top_contact_boxmail .btn_square {
	width: 49px;
    height: 49px;
}

@media screen and (min-width : 768px) {
	.sp_only {
		display: none;
	}
}
@media screen and (max-width : 767px) {
	.sp_only {
		display: block;
	}
}

@media screen and (min-width: 768px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
}


/*********************************************************************/
.company_president_pht {
	margin-bottom: 2.8rem;
	padding-top: 2rem;
}

.message {
	margin-bottom: 3.2rem;
}
.message h3 {
	font-size: 2.1rem;
	line-height: 3.2rem;
	margin-bottom: 1.8rem;
}
.message h3 strong {
	display: block;
}

.president_name {
	display: flex;
}
.president_name dl {
	display: flex;
	align-items: center;
	margin-left: auto;
}
.president_name dt {
	font-size: 1.6rem;
	font-weight: normal;
	margin-right: 1.2rem;
}
.president_name dd {
}
.president_name img {
	width: auto;
}

.aboutus_outer {
}
.aboutus_outer .cmbox th {
	width: 20%;
}


.access_outer {
}
.map {
}
.map iframe {
	width: 100%;
}

.access {
	margin-top: 2rem;
}
.access dl {
}
.access dt {
	font-size: 1.6rem;
	font-weight: bold;
	margin-bottom: 0.8rem;
}
.access dd {
	font-size: 1.5rem;
}


@media screen and (max-width : 767px) {
	.aboutus_outer .cmbox th {
		width: 100%;
	}
}

/*********************************************************************/
.sv_outer {
	display: flex;
	justify-content: space-between;
	padding-top: 3.0rem;
	margin-top: 5rem;
}

.sv_outer:not( :first-child ) {
	padding-top: 3.0rem;
	margin-top: 3rem;
}

.sv_txt {
	width: 48.8%;
	order: 0;
}
.sv_pht {
	width: 42%;
	order: 1;
}
.sv_pht img {
	width: 100%;
}

.sv_txt dl {
	margin-bottom: 1.8rem;
}
.sv_txt dt {
	font-size: 1.4rem;
	color: #214c7a;
	font-weight: bold;
	margin-bottom: 0.4rem;
}
.sv_txt dd {
	font-size: 1.8rem;
	font-weight: bold;
}

.sv_outer02 {
}
.sv_outer02 .sv_txt {
	order: 1;
}
.sv_outer02 .sv_pht {
	order: 0;
}

.span_br {
	display: block;
}

@media screen and (max-width : 767px) {
	.sv_outer {
		flex-wrap: wrap;
		padding-top: 2.4rem;
	}
	.sv_txt {
		width: 100%;
		order: 1;
	}
	.sv_pht {
		width: 100%;
		order: 0;
		margin-bottom: 2rem;
	}
}


.md_outer {
	display: flex;
	justify-content: space-between;
	padding-top: 3.0rem;
	background-color: #fff;
	padding: 3rem 3.2rem;
	margin-top: 5rem;
}

.md_outer:not( :first-child ) {
	padding-top: 3.0rem;
}

.md_txt {
	width: 48.8%;
	order: 0;
}
.md_pht {
	width: 42%;
	order: 1;
}
.md_pht img {
	width: 100%;
}

.md_txt h3 {
	font-size: 1.8rem;
	padding-bottom: 1.2rem;
	margin-bottom: 2rem;
	border-bottom: 1px solid #333;
}

@media screen and (max-width : 767px) {
	.md_outer {
		flex-wrap: wrap;
		padding-top: 2.4rem;
	}
	.md_txt {
		width: 100%;
		order: 1;
	}
	.md_pht {
		width: 100%;
		order: 0;
		margin-bottom: 1rem;
	}
}


.point_headouter {
	margin-bottom: 3.0rem;
	text-align: center;
	padding-top: 2rem;
}
.point_headouter h3 {
	margin-bottom: 2.0rem;
	font-size: 1.8rem;
	font-weight: bold;
}
.point_headouter p span {
	display: block;
}


.point_mainouter {
	display: flex;
	flex-wrap: wrap;
}
.point_inner {
	width: 48%;
	margin-left: 1%;
	margin-right: 1%;
	border: 1px solid #adadad;
	padding: 2.4rem;
	margin-bottom: 2.0rem;
}
.point_icon {
	margin-bottom: 1.8rem;
	text-align: center;
}
.point_icon dl {
}
.point_icon dt {
	margin-bottom: 1.2rem;
}
.point_icon dt img {
	width: auto;
}
.point_icon dd {
	color: #214C7A;
	font-weight: bold;
	font-size: 1.4rem;
}
.point_main {
}
.point_main h3 {
	color: #214C7A;
	font-weight: bold;
	font-size: 1.6rem;
	margin-bottom: 1.5rem;
}

@media screen and (max-width : 767px) {
	.point_headouter h3 span {
		display:block;
	}
	.point_headouter p {
		text-align: left;
	}
	.point_inner {
		width: 100%;
		margin-left: 0%;
		margin-right: 0%;
		padding: 2.4rem;
		margin-bottom: 2.0rem;
	}
}

/*************************************************************************/
.pagerouter {
	margin-top: 3rem;
}

/* pagination */
.pageer {
  font-family: 'Cormorant Garamond', serif;
  text-align: center;
  margin: 3rem auto;
  display: flex;
  align-items: center;
  justify-content: center;
}


.pageer a,.pageer span {
  display: inline-block;
  border-radius: 18px;
}

.pageer a,.pageer span {
   display: inline-block;
  text-decoration: none;
  font-size: 1.8rem;
  width: 30px;
  padding: 0;
  border: 1px solid #ccc;
  color: #fff;
  background-color: #ccc;
  text-align: center;
  margin: 0 0.5rem;
}

.pageer a:hover,
.pageer span.current {
  background: #000;
  color: #fff;
  opacity: 1;
}

.pager-single {
	display: flex;
	justify-content: space-between;
}

.pager-single a {
	color: #fff;
	font-size: 1.3rem;
}


.pager-single .next {
	order: 2;
	position: relative;
}
.pager-single .prev {
	order: 1;
}

/********************************************************************/
.infodetail {

}

.infottl {
	padding-bottom: 1.2rem;
	border-bottom: 1px solid #cccccc;
	margin-bottom: 3rem;
}

.infottl h1 {
	font-size: 2.0rem;
}


.infottl dl {
	display: flex;
	flex-wrap: wrap;
	font-size: 1.5rem;
	width: 100%;
}
.infottl dt,.infottl dd {
	padding-top: 1.2rem;
	padding-bottom: 1.2rem;
}
.infottl dt {
	width: 20%;
}
.infottl dt span.catname {
	color: #fff;
	padding: 0.4rem 0.8rem;
	text-align: center;
	font-size: 1.2rem;
}
.infottl dt span.catname01 {
	background-color: #447f4b;
}
.infottl dt span.catname02 {
	background-color: #ea7833;
}
.infottl dt span.topdate {
	padding-left: 1.6rem;
}
.infottl dd {
	width: 80%;
}
.infottl dd a {
	color: #333;
	text-decoration: none;
}

@media screen and (max-width : 767px) {
	.infottl dl {
		flex-wrap: wrap;
		margin-bottom: 1.5rem;
	}
	.infottl dt {
		width: 100%;
		border-bottom: none;
		padding-bottom: 0;
	}
	.infottl dd {
		width: 100%;
	}
}


.infomain {
	padding-bottom: 3rem;
	border-bottom: 1px solid #cccccc;
	margin-bottom: 3rem;
}
.infomain img {
	width: auto;
}
@media screen and (max-width : 767px) {
	.infomain img {
		width: 100%;
		height: auto;
	}
}
/*****************************************************************/
.contact_header_outer {
	padding-bottom: 4rem;
	margin-bottom: 4rem;
	border-bottom: 1px solid #ccc;
}
.contact_header_outer_complete {
	border-bottom: none;
}

.contact_headertxt {
	text-align: center;
	margin-bottom: 4rem;
}

h2.h2_contact {
	font-size: 2.0rem;
}
.ttl_wrap h2.h2_contact strong {
    font-weight: bold;
    font-size: 2.3rem;
    display: block;
	padding-bottom: 1rem;
}


.contact_tel {
	width: 55%;
	margin-left: auto;
	margin-right: auto;
}
.contact_tel p {
	text-align: center;
}

@media screen and (max-width : 767px) {
	.contact_tel {
		width: 100%;
	}
}



.contact_boxes {
    width: 100%;
    border: 1px solid #cccccc;
    padding: 2rem;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    background: rgba(255,255,255,0.6);
	margin-bottom: 1.5rem;
}

.contact_boxtel {
		flex-wrap: nowrap;
		align-items: center;
}
	.contact_tel01 {
		width: auto;
		margin-bottom: 0rem;
		align-items: flex-start;
		justify-content: flex-start;
		margin-right: 2rem;
	}
	.contact_tel01 img {
		width: 100%;
	}
	.contact_tel02 dl {
		text-align: left;
		font-size: 1.3rem;
	}
	.contact_boxmail {
		display: none;
	}
.contact_tel02 dd a {
	font-size: 3.2rem;
	text-decoration: none;
	color: #214c7a;
	font-weight: bold;
}

@media screen and (max-width : 767px) {
	.contact_boxtel {
		padding: 1rem 0.8rem;
	}
}


/******************************************************************/
.recruit_attraction_outer {
	background-color: #fff;
	padding: 0rem 2rem;
	display: flex;
	justify-content: space-between;
}

.recruit_attraction {
	width: 33.3%;
	padding: 3.8rem 1.8rem;
}
.recruit_attraction:not(:first-child) {
	border-left: 1px solid #f9f9f9;
}

.recruit_attraction dl {
	text-align: center;
}
.recruit_attraction dt {
	margin-bottom: 1.5rem;
}
.recruit_attraction dt img {
	width: auto;
}
.recruit_attraction dd {
	font-weight: bold;
    font-size: 1.6rem;
    margin-bottom: 1.5rem;
}
.recruit_attraction dd span {
	display: block;
}
.recruit_attraction p {
}



@media screen and (max-width : 767px) {
	.recruit_attraction_outer {
		flex-direction: column;
	}
	.recruit_attraction {
		width: 96%;
		padding: 3.8rem 1.8rem;
	}
	.recruit_attraction:not(:first-child) {
		border-left: none;
	}
}

.bg_recruit_slash {
	background-image: url("../img/recruit/bg_slash.png");
	background-repeat: repeat;
}

.recruit_jobcat_outer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
}
.recruit_jobcat_outer:not(:first-child) {
	margin-top: 4.0rem;
}
.recruit_jobcat_outer:first-child {
	margin-top: 7rem;
}
.recruit_jobcat_pht {
	order: 1;
	width: 50%;
	margin-left: auto;
}
.recruit_jobcat_main {
	order: 0;
	width: 58%;
	background-color: #3FC487;
	padding: 3.8rem;
	position: absolute;
}
.recruit_jobcat_main h3 {
	font-size: 1.8rem;
	margin-bottom: 1.2rem;
	color: #fff;
}
.recruit_jobcat_main p {
	color: #fff;
}

@media screen and (max-width : 767px) {
	.recruit_jobcat_outer {
		flex-direction: column;
	}
	.recruit_jobcat_pht {
		order: 0;
		width: 100%;
		margin-left: auto;
	}
	.recruit_jobcat_main {
		order: 1;
		width: 100%;
		background-color: #3FC487;
		padding: 3.8rem;
		position: static;
	}
	
	.recruit_jobcat_main .btnarea {
		width: 100%;
	}
}


.recruit_submain_visual {
}

.staff_info_outer {
}
.staff_info_outer h3 {
	font-size: 2.4rem;
	text-align: center;
	margin-bottom: 6rem;
	margin-top: 9rem;
}

.staff_info_outer h3.mt0 {
	margin-top: 0rem;
}

.staff_info_inner {
	display: flex;
	justify-content: space-between;
}

.staff_info_pht {
	width: 30%;
	margin-right: auto;
	margin-top: auto;
	order: 0;
}

.staff_info_main {
	width: 60%;
	margin-left:auto;
	order: 1;
}

.staff_info_main h4 {
	margin-bottom: 2.0rem;
    border-left: 11px solid #49D69A;
    font-size: 1.8rem;
    padding-left: 1rem;
}


@media screen and (max-width : 767px) {
	.staff_info_inner {
		flex-direction: column;
	}
	.staff_info_pht {
		width: 100%;
		margin-bottom: 2rem;
	}

	.staff_info_main {
		width: 100%;
		margin-left:auto;
	}
}


.recruit_staff_outline {
	background-color: #fff;
	padding: 5.8rem 6.8rem;
}
.recruit_staff_outline:not(:first-child) {
	margin-top: 7rem;
}
.recruit_staff_outline h3 {
	font-size: 2.4rem;
	text-align: center;
	margin-bottom: 4.0rem;
}

.recruit_staff_outline dl {
}
.recruit_staff_outline dt {
	font-size: 1.8rem;
	margin-bottom: 0.4rem;
	padding-left: 3.8rem;
}
.recruit_staff_outline dd {
	padding-left: 3.8rem;
}

.recruit_staff_outline dl.chk dt {
	background-image: url("../img/recruit/icon_chk.png");
}
.recruit_staff_outline dl.att dt {
	background-image: url("../img/recruit/icon_attention.png");
}

.recruit_staff_outline dt:not(:first-child) {
	margin-top: 2.4rem;
}


@media screen and (max-width : 767px) {
	.recruit_staff_outline {
		padding: 5.8rem 2.0rem;
	}
	.recruit_staff_outline h3 {
		font-size: 2.1rem;
	}
}


.rebox th {
    width: 16%;
}

@media screen and (max-width : 767px) {
	.rebox th {
		width: 100%;
	}
}


.recruit_staff_flow {
	
}
.recruit_staff_flow dl {
}
.recruit_staff_flow dt {
	font-size: 1.8rem;
	margin-bottom: 1.4rem;
}
.recruit_staff_flow dt:not(:first-child) {
	margin-top: 1.4rem;
}
.recruit_staff_flow dt span {
    height:50px;
	width:50px;
	border-radius:50%;
	line-height:50px;
	text-align:center;
	border: 2px solid #49D69A;
	font-size:24px;
	margin-left:20px;
	padding: 1rem;
	color: #49D69A;
	margin-right: 1.6rem;
}
.recruit_staff_flow dd {
	padding-left: 3.8rem;
	margin-left: 4.4rem;
	padding-top: 1.4rem;
	padding-bottom: 1.4rem;
}
.recruit_staff_flow dd:not(:last-child) {
	border-left: 3px solid #49D69A;
}
.recruit_staff_flow dd span {
	display: block;
}
.recruit_staff_flow dd a {
	color: #333;
}

.btn_recruit {
    background: #49D69A;
}




/*form area*/
.recruit_form_readtxt {
	text-align: center;
	margin-top: 5.2rem;
	margin-bottom: 4.2rem;
}
.recruit_form_readtxt h3 {
	font-size: 1.8rem;
	font-weight: normal;
	margin-bottom: 1.5rem;
}
.recruit_form_readtxt p {
	font-size: 1.3rem;
}

.recruit_form_outer {
	background-color: #fff;
	padding: 0.8rem 3.8rem 3.8rem 3.8rem;
}

@media screen and (max-width : 767px) {
	.recruit_form_outer {
		background-color: #fff;
		padding: 0.8rem 1.8rem 3.8rem 1.8rem;
	}
}


.recruit_caution {
	color: #D00003;
	text-align: center;
}

a.btn_disable {
    pointer-events: none !important;
}

@media screen and (max-width : 767px) {
	.recruit_caution span {
		display: block;
	}
}


/******************************************************************/
/*　メディア掲載実績
/******************************************************************/
.post-index .list {
	display: -webkit-flex;
	display: flex;
}
.post-index .list li {
    width: 31%;
    margin-right: 3.5%;
}
.post-index .list li:last-child {
	margin-right: 0;
}
.post-index .list li a {
	display: block;
	padding: 0 15px 15px 15px;
	border-right: 1px solid #c3c3c3;
	border-bottom: 1px solid #c3c3c3;
	height: 100%;
	text-decoration: none;
	color: #000;
	transition: 0.3s opacity;
}
.post-index .list li figure {
	height: 200px;
	overflow: hidden;
	position: relative;
	background: #ededed;
	margin: 0 0 14px;
}
.post-index .list li figure img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	max-width: 100%;
	max-height: 100%;
	width: auto;
}
.post-index .list li .date {
	font-size: 1.3rem;
	margin-bottom: 4px;
}
.post-index .list li .title {
	font-size: 1.5rem;
	font-weight: bold;
}
.post-index .list li a:hover {
	opacity: 0.8;
}
.archive-publication .width_1280 {
	padding-bottom: 2rem;
}
.archive-publication .lead {
	margin-bottom: 50px;
}
.archive-publication .pagemenu {
	display: block;
	width: 70%;
	margin: 0 auto;
}
.archive-publication .pagemenu div {
	display: inline-block;
	width: 30.9%;
	margin: 0 1% 1.4%;
}
.archive-publication .pagemenu a {
	padding: 0.8rem 20px;
	font-size: 1.2rem;
	background-image: url(../img/icon_pagesubmenu.png);
	background-repeat: no-repeat;
	background-position: 92% center;
	background-size: 20px auto;
}
.archive-publication .pagemenu div:after {
	content: none;
}
.archive-publication .year-block .year-title {
	padding-top: 100px;
	margin-top: -100px;
	margin-bottom: 30px;
}
.archive-publication .year-block .year-title span {
	display: block;
	background: #efefef;
	padding: 8px 20px;
	font-size: 1.6rem;
	font-weight: bold;
	position: relative;
}
.archive-publication .year-block .year-title span:before {
	content: "";
	width: 24px;
	height: 2px;
	background: #214c7a;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: -12px;
}
.archive-publication .year-block dd {
	margin: 0 10px 30px;
}
.archive-publication .year-block .post {
	padding: 0 30px 30px 0;
	border-bottom: 1px solid #c3c3c3;
	position: relative;
}
.archive-publication .year-block .post:after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 1px;
	height: -webkit-calc(100% - 100px);
	height: calc(100% - 100px);
	background: #c3c3c3;
}
.archive-publication .year-block .post .title-area {
	padding-top: 100px;
	margin-top: -100px;
	margin-bottom: 20px;
}
.archive-publication .year-block .post .title-area .date {
	font-size: 1.2rem;
}
.archive-publication .year-block .post .title-area .title {
	font-size: 1.6rem;
}
.archive-publication .year-block .post .entry-body {
	display: -webkit-flex;
	display: flex;
}
.archive-publication .year-block .post .entry-body .content {
	order: 2;
	width: 56%;
}
.archive-publication .year-block .post .entry-body .content.full {
	width: 100%;
}
.archive-publication .year-block .post .entry-body .content,
.archive-publication .year-block .post .entry-body .content p {
	word-break: break-all;
}
.archive-publication .year-block .post .entry-body .image {
	order: 1;
	margin: 0 4% 0 0;
	width: 40%;
	height: 198px;
	overflow: hidden;
	border: 1px solid #cccccc;
	background: #ededed;
	position: relative;
}
.archive-publication .year-block .post .entry-body .image img {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 9;
	transform: translate(-50%, -50%);
	max-width: 100%;
	max-height: 100%;
	width: auto;
}
.archive-publication .year-block .post .entry-body .image:after {
	content: "";
	width: 40px;
	height: 40px;
	background: url(../img/btn_zoom_image.png) no-repeat center center;
	background-size: 100% auto;
	position: absolute;
	bottom: 0;
	right: -1px;
	z-index: 10;
	pointer-events: none;
}
.archive-publication .year-block .post .entry-body .image a {
	display: block;
	width: 100%;
	height: 100%;
}
.archive-publication .year-block .anchorMenuLink {
	text-align: right;
	margin: 0 10px 60px;
}
.archive-publication .year-block .anchorMenuLink a {
	font-size: 1.4rem;
	color: #000;
}
.archive-publication .year-block .anchorMenuLink a:hover {
    color: #F5A862;
    transition: all 0.5s;
}

@media screen and (max-width : 767px) {
	.archive-publication .width_1280 {
		padding-bottom: 0;
	}
	.archive-publication .pagemenu {
		display: block;
		width: 100%;
		margin: 0 auto;
		font-size: 0;
	}
	.archive-publication .pagemenu div {
		display: inline-block;
		width: 48% !important;
		margin: 0 1% 1.5%;
	}
	.archive-publication .lead {
		margin-bottom: 30px;
	}
	.archive-publication .lead p {
		font-size: 1.4rem;
		line-height: 2.0;
	}
	.archive-publication .year-block .year-title {
		padding-top: 80px;
		margin-top: -80px;
	}
	.archive-publication .year-block .year-title span:before {
		left: -15px;
	}
	.archive-publication .post-list-area.width_1280 {
		width: 100%;
		padding-left: 0;
		padding-right: 0;
	}
	.archive-publication .year-block .year-title span {
		margin-left: 15px;
	}
	.archive-publication .year-block .post {
		border-right: none;
		border-bottom: none;
		padding: 0 0 30px 0;
		margin: 0 15px 30px;
		border-bottom: 1px solid #c4c4c4;
	}
	.archive-publication .year-block .post:after {
		content: none;
	}
	.archive-publication .year-block .post .entry-body {
		display: block;
	}
	.archive-publication .year-block .post .entry-body .content,
	.archive-publication .year-block .post .entry-body .image {
		width: 100%;
	}
	.archive-publication .year-block .post .entry-body .content {
		margin-bottom: 20px;
	}
	.archive-publication .year-block .anchorMenuLink {
		margin: 0 15px 40px;
	}
	.archive-publication .year-block .post .title-area {
		padding-top: 80px;
		margin-top: -80px;
	}
	.post-index .list {
		display: block;
	}
	.post-index .list li {
		width: 100%;
		margin-right: initial;
	}
	.post-index .list li {
		border-bottom: 1px solid #c3c3c3;
	}
	.post-index .list li a {
		display: -webkit-flex;
		display: flex;
		padding: 20px 0;
		text-decoration: none;
		color: #000;
		border-right: none;
		border-bottom: none;
	}
	.post-index .list li figure {
		width: 40%;
		height: 110px;
		margin: 0 10px 0 0;
	}
	.post-index .list li .text {
		width: 59%;
		margin: 0 0 0 1%;
	}
	.modaal-image .modaal-inner-wrapper {
		padding-left: 8px;
		padding-right: 8px;
	}
}