@charset "utf-8";
body { line-height: 200%; }
.wrapper { width: 100% ; margin: 0;  }

.contents_wrap { width: 90%; margin: 0 auto; max-width: 1700px; }
.contents_wrap_l { width: 90%; max-width: 1600px; margin: 0 auto; }
.contents_wrap_m { width: 90%; max-width: 1300px; margin: 0 auto; }
.contents_wrap_s { width: 90%; max-width: 1000px; margin: 0 auto; }
.contents_wrap_s p{
	text-align:left;
}
.base_contents { position: relative;  }
img { max-width: 100%; vertical-align: bottom; }
.contsL { float: left; }
.contsR { float: right; }
a:hover { opacity: .7; }
.mt1 {  margin-top: 3em; }
a.text-link { color: #245AA9; text-decoration: underline; }

@media screen and (max-width: 1000px) {
  .contsL { float: none; display: block; }
  .contsR { float: none;display: block;  }
}

.inviewContents {}
.inviewContents.inviewStd { opacity: 0; -ms-transform: translateY(20px); -webkit-transform: translateY(20px); transform: translateY(20px); -ms-transition: all .3s .3s;  -webkit-transition: all .3s .3s; transition: all .3s .3s;}
.inviewContents.inviewStd.inview { opacity: 1; -ms-transform: translateY(0); -webkit-transform: translateY(0); transform: translateY(0); }
/*layout*/
.column2,
.column-max2,
.column3,
.column_lr,
.column_lr2 { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; justify-content: space-between; }

.box-section { padding: 6rem 0; }
.box-section-t { padding: 6rem 0 0; }

.column2 > *,
.column-max2 > * { width: 48%; }
.column2 > *:nth-child(n + 2),
.column-max2 > *:nth-child(n + 3) { margin-top: 3rem;  }

.column_lr > *:nth-child(odd) { width: 58%; }
.column_lr > *:nth-child(even) { width: 38%; }

.column_lr2 > *:nth-child(odd) { width: 38%; }
.column_lr2 > *:nth-child(even) { width: 58%; }


.column3 > * { width: 33%; width: calc(100% / 3); display: inline-block; vertical-align: top; }
.column3 > *:nth-child(3n) { margin-right: 0; }

@media screen and (max-width: 1200px) {
  .box-section { padding: 5rem 0; }
  .box-section-t { padding: 5rem 0 0; }
}

@media screen and (max-width: 900px) {
  .column-max2 > * { width: 100%;  }
  .column-max2 > *:nth-child(n + 2) { margin-top: 2rem; }
  .box-section { padding: 3rem 0; }
  .column_lr > *:nth-child(odd),
  .column_lr > *:nth-child(even),
  .column_lr2 > *:nth-child(odd),
  .column_lr2 > *:nth-child(even){ width: 100%;  }
  .column_lr > * + *,
  .column_lr2 > * + * { margin-top: 2rem; ; }
}

.column_lr .img img,
.column_lr2 .img img { width: 100%; }



.breadcrumb { font-size: .7rem; width: 100%; position: relative; letter-spacing: .1em;}
.breadcrumb ul { padding: 1rem 1.5rem; background: #FFF; position: absolute; bottom: 100%; right: 0; margin: auto; z-index: 2; }
.breadcrumb ul li { display: inline-block; }
.breadcrumb ul li + li:before { content: '>'; display: inline-block; margin: 0 .5rem; vertical-align: middle; }

/*contents*/
.header-top { padding: 1.2rem 0; text-align: right; box-shadow: 0 1px 4px rgba(0,0,0,.1); position: relative; }
.title-head {
	font-size: 1.8rem; /* テキストのフォントサイズ */
	float: left;
	height: 4rem; /* ボックスの高さ */
	width: auto; /* 必要に応じて幅を指定 */
	display: flex; /* フレックスボックスで中央揃え */
	justify-content: center; /* 横方向の中央揃え */
	align-items: center; /* 縦方向の中央揃え */
	white-space: nowrap; /* テキストの折り返しを防ぐ */
	overflow: hidden; /* ボックスからはみ出す部分を隠す */
	text-align: center; /* テキストを中央揃え */
	padding-top:10px;
	background: url("../img/hf-logo.svg") no-repeat center center / contain;
}
.title-head_org {
	font-size: 1.8rem;
	float: left;
	height: 4rem;
	/*width: 15rem;*/
	display: block;
	/*text-indent: 20%;*/
	white-space: nowrap;
	/*white-space: normal;*/
	/*text-indent: 100%;*/
	overflow: hidden;
	background: url("../img/hf-logo.svg") no-repeat center center / contain;
}

.btn_humberger { display: none; }
.global-navi { font-size: .8rem; padding-top: 1em;}
.global-navi > ul { display: inline-block; }
.global-navi > ul > li { text-align: center; position: relative; display: inline-block; }
.global-navi > ul > li + li { margin-left: 3em }
.global-navi span { color: #98BF0B; font-size: .6rem; letter-spacing: .06em; font-family: 'Roboto', sans-serif; display: block;  line-height: 100%; }

.global-navi a { position: relative; }
.global-navi a:before { content:''; width: 5px; height: 5px; display: block; border-radius: 100%; position: absolute; top: -10px; left: 0; right: 0; margin: auto; background: #fa962a; opacity: 0; -ms-transition: all .3s; -webkit-transition: all .3s; transition: all .3s; }
.global-navi.hover a:hover:before,
.global-navi.hover a.here:before { opacity: 1; }

@media screen and (max-width: 900px) {
  .title-head { font-size: 1rem; }
  
	.btn_humberger { position: absolute; width: 3rem; height: 3rem; font-size: .9rem; top: 1rem; right:5%; display: block; background: #FFF;padding: 0; border: 0;  z-index: 9999; text-indent: 100%; overflow: hidden; white-space: nowrap; }
	.btn_humberger:before,
  .btn_humberger:after { content: ''; width: 2rem; height: 2px; background: currentColor; position: absolute; top: 0; left: 0; bottom: 0; right:0; margin: auto; 
  -ms-transition: all .3s; -webkit-transition: all .3s; transition: all .3s; } 
  .btn_humberger:before { -ms-transform: translateY(-.6em); -webkit-transform: translateY(-.6em); transform: translateY(-.6em);  box-shadow: 0 .6em #fa962a;}
  .btn_humberger:after {  -ms-transform: translateY(.6em); -webkit-transform: translateY(.6em);transform: translateY(.6em); }
  
  .btn_humberger.open:before { -ms-transform: rotate(-45deg); -webkit-transform: rotate(-45deg); transform: rotate(-45deg);  box-shadow: none;}
  .btn_humberger.open:after {  -ms-transform: rotate(45deg); -webkit-transform: rotate(45deg);transform: rotate(45deg); }
  
  .global-navi {display: none; position: absolute; top: 0; left: 0; right: 0; margin: auto; z-index: 99; background: #FFF; padding: 2em 0; }
  .global-navi.open {display: block; }
  .global-navi > ul { display: block; font-size: 1rem; }
  .global-navi > ul > li {  margin-top: 1em; width: 100%; }
  .global-navi > ul > li + li  { margin-left: 0; }
}


.page-footer { border-top: 1px solid #EEE; font-size: .9rem; }
.bottom_contact {
	background: #ffac52 url(../img/bg-contact) no-repeat center center / cover;
	color: #FFF;
	text-align: center;
}
.title-dot,
.bottom_contact .title-contact { font-size: 1.5rem; letter-spacing: .1em; display: inline-block; margin-bottom: 1em; }
.title-dot span,
.bottom_contact .title-contact span { font-family: 'Josefin Sans', sans-serif; font-size: .6em; display: block; line-height: 120%; margin-top: 1em; padding-top: 1em; border-top: 1px solid; letter-spacing: 0; }
.title-dot:before ,
.bottom_contact .title-contact:before {content: ''; width: 5px; height: 5px; display: block; margin: 0 auto 1rem; background: currentColor;; border-radius: 50%; }

.bottom_contact .list-contact { margin-top: 5rem; }
.bottom_contact .list-contact > li { display: inline-block; vertical-align: middle; }
.bottom_contact .list-contact > li + li { margin-left: 100px; padding-left: 100px; border-left: 1px dotted #FFF;  }
.bottom_contact .list-contact .tel { font-size: 2rem; font-family: 'Josefin Sans', sans-serif; }
.bottom_contact .list-contact .mail { color: #333; padding: 1em; width: 18rem; background: #BAE3F9; text-align: center; display: block; }

.list-bottom-links { width: 100%; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; justify-content: space-between;   }
.list-bottom-links > li { width: 49%; border-bottom: 1px solid #BBB; position: relative;  }
.list-bottom-links a { width: 100% ; font-size: 1.5rem; padding-bottom: 2em; padding-rihgt: 2em; padding-left: 3em; display: block; letter-spacing: .1em;position: relative;  }
.list-bottom-links a span  { display: block; font-family: 'Josefin Sans', sans-serif; color: #BBB; font-size: 1rem; display: block; margin-top: .5em; letter-spacing: 0; }
.list-bottom-links a:after { content: ''; width: 1.5em; height: 1.5em; display: block; position: absolute; top: 0; right: 0; margin: auto; -ms-transform: translateX(-50%) rotate(45deg); -webkit-transform: translateX(-50%) rotate(45deg);  transform: translateX(-50%) rotate(45deg); border-top: 1px solid #BBB; border-right: 1px solid #BBB; }
.list-bottom-links > li:before { content: ''; width: 2.5em; height: 2.5em; display: block; position: absolute; left: 0; top: 0; margin: auto; background-size: auto 100%; background-position: center center; background-repeat: no-repeat; }
.list-bottom-links > li:first-child:before { background-image: url("../img/icon-company.png"); }
.list-bottom-links > li:nth-child(2):before { background-image: url("../img/icon-recruit.png"); }


.header-top_org {
	padding: 1.2rem 0;
	text-align: right;
	box-shadow: 0 1px 4px rgba(0,0,0,.1);
	position: relative;
}

.title-head_org {
	font-size: 1.8rem; /* テキストのフォントサイズ */
	float: left;
	height: 4rem; /* ボックスの高さ */
	width: auto; /* 必要に応じて幅を指定 */
	display: flex; /* フレックスボックスで中央揃え */
	justify-content: center; /* 横方向の中央揃え */
	align-items: center; /* 縦方向の中央揃え */
	white-space: nowrap; /* テキストの折り返しを防ぐ */
	overflow: hidden; /* ボックスからはみ出す部分を隠す */
	text-align: center; /* テキストを中央揃え */
	padding-top: 10px;
	background: url("../img/hf-logo.svg") no-repeat center center / contain;
}

.footer-top {
	margin-bottom: 3em;
	/*padding: 1.2rem 0;
	text-align: right;
	box-shadow: 0 1px 4px rgba(0,0,0,.1);
	position: relative;*/
}
.foot-logo {
	/*display: inline-block;
	vertical-align: middle;
	margin-right: 3em;
	height: 4rem;
	width: 8rem;
	text-indent: 100%;
	white-space: normal;
	overflow: hidden;
	background: url("../img/hf-logo.svg") no-repeat center center / contain;*/
	font-size: 1.0rem; /* テキストのフォントサイズ */
	float: left;
	height: 4rem; /* ボックスの高さ */
	width: auto; /* 必要に応じて幅を指定 */
	display: flex; /* フレックスボックスで中央揃え */
	justify-content: center; /* 横方向の中央揃え */
	align-items: center; /* 縦方向の中央揃え */
	white-space: nowrap; /* テキストの折り返しを防ぐ */
	overflow: hidden; /* ボックスからはみ出す部分を隠す */
	text-align: center; /* テキストを中央揃え */
	padding-top: -20px 30px 20px 0;
	background: url("../img/hf-logo.svg") no-repeat center center / contain;
}
.foot-navi { display: inline-block; vertical-align: middle;  }
.foot-navi > li { display: inline-block; vertical-align: middle;  margin-right: 3em; }

.footer-bottom { -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; justify-content: space-between; }

.copyright { font-size: .7rem; }
.gotop { font-size: .6rem; font-family: 'Josefin Sans', sans-serif; width: 5rem; display: block; float: right; }
	.gotop:before {
		content: '';
		width: 3rem;
		height: 3rem;
		display: block;
		border-left: 1px solid #fd0000;
		border-top: 1px solid #fd0000;
		-ms-transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		margin-bottom: -1.5rem;
	}

@media screen and (max-width: 900px) {
  .bottom_contact .list-contact {margin-top: 2rem;}
  .bottom_contact .list-contact > li + li  { margin-left: 5vw; padding-left: 5vw;  }
}

@media screen and (max-width: 640px) {
  .bottom_contact .list-contact > li  { display: block; width: 100%; }
  .bottom_contact .list-contact > li + li  { margin-left: 0; padding-left: 0; margin-top: 2rem; border: none;}
  .bottom_contact .list-contact .mail { margin: 0 auto;  }
}
@media screen and (max-width: 600px) {
  .list-bottom-links > li { width: 100%; }
  .list-bottom-links a { font-size: 1.2rem;  padding-top: 1em; padding-bottom: 1em; }
  .list-bottom-links a:after { top: 0; bottom: 0; margin: auto; }
  .list-bottom-links > li:before { top: 1.2rem; }
}
/*text*/
.t-center { text-align: center; }
.t-right { text-align: right; }
.t-bold {font-weight: bold; }
.t-serif { font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;}
.t-blue { color: #5A91EB; }
.t-green { color: #90C33F; }
.t-underline { text-decoration: underline;}
.mb_1em {  margin-bottom: 1em; }

/*common */
/*.bg-blue { background: #EDF8FE; }*/
/*.bg-blue { background: #fa962a; }*/
.bg-blue {
	background: #fcd7f0;
}
.bg-orange {
	/*background: #ffffe0;*/
	background-color: rgba(255, 255, 248, 0.5);
}

.conts-text p { line-height: 200%; }

/*title*/
.title-page { font-size: 1.3rem; font-weight: bold; letter-spacing: .1em; }
.title-page span { font-family: 'Josefin Sans', sans-serif; font-size: 5rem; font-weight: bold; color: #3160A2; display: block; line-height: 120%; letter-spacing: 0; }


.title-section { font-size: .8rem; margin-bottom: 2em; letter-spacing: .1em; font-weight: bold; }
.title-section span { font-size: 2.5rem; font-weight: bold;font-family: 'Josefin Sans', sans-serif; display: block; letter-spacing: 0; margin-bottom: .5rem;  }

.title-section-s { font-size: 1.5rem; letter-spacing: .1em; font-weight: bold; margin-bottom: 1.5em; }
.title-section-s span { font-family: 'Josefin Sans', sans-serif; font-size: .7em; display: block; color: #999; letter-spacing: 0; }

.title-std { font-size: 2rem; font-weight: bold; margin-bottom: 1em; }

.title-bline { padding-left: 1em; font-size: 1.3rem; font-weight: bold; margin-bottom: 1em;  }
.title-bline:before { content: ''; width: .3em; height: 1em; display: inline-block; vertical-align:  middle; margin-left: -1em; margin-right: .7em; background: #245AA9;  }
.title-bline-s { font-weight: bold; margin-bottom: 1em; padding-left: 1em; }
.title-bline-s:before { content: ''; width: .5em; height: 3px; display: inline-block; vertical-align:  middle; margin-left: -1em; margin-right: .5em; background: #245AA9;  }


.title-oline {
	padding-left: 1em;
	font-size: 1.3rem;
	font-weight: bold;
	margin-bottom: 1em;
}

	.title-oline:before {
		content: '';
		width: .3em;
		height: 1em;
		display: inline-block;
		vertical-align: middle;
		margin-left: -1em;
		margin-right: .7em;
		background: #ffac52;
	}

.title-oline-s {
	font-weight: bold;
	margin-bottom: 1em;
	padding-left: 1em;
}

.title-oline:before {
	content: '';
	width: .5em;
	height: 3px;
	display: inline-block;
	vertical-align: middle;
	margin-left: -1em;
	margin-right: .5em;
	background: #ffac52;
}

@media screen and (max-width: 900px) {
  .title-section span { font-size: 2rem; }
}
@media screen and (max-width: 600px) {
  .title-page span { font-size: 3rem;  }
  .title-section span { font-size: 1.5rem; }
  
}
/*list*/
.list-dot { margin-bottom: 1em; }
.list-dot > li { padding-left: 1rem;  }
.list-dot > li:before { content: ''; width: .4em; height: .4em; display: inline-block; margin-left: -1em; margin-right: .6em; background: #245AA9; border-radius: 100%; }

.list-dot-s > li { padding-left: 1rem; margin-bottom: 1em;  }
.list-dot-s > li:before { content:'・'; margin-left: -1em; vertical-align: middle; display: inline-block; }

.list-num { counter-reset: listnum;  margin-bottom: 1em; }
.list-num > li { counter-increment: listnum; padding-left: 1.5em; }
.list-num > li:before { content:counter(listnum); margin-left: -1.5em; display: inline-block; width: 1.5em; }
.list-num.blue > li:before { color: #245AA9; }
.list-num.pattern > li:before { content:'P'counter(listnum)'.'; font-weight: bold; margin-right: .5em; }
	.list-num.pattern2 > li:before {
		content: counter(listnum)'.';
		font-weight: bold;
		margin-right: .5em;
	}

/*button*/
a.btn-push { background: #98BF0B; box-shadow: 0 4px #728E0A; border-radius: 5px; display: block; padding: 1em; }
a.btn-contact { color: #FFF; font-size: 1.3rem; text-align: center;  padding: 1em 3em; position: relative; margin-top: 1em; }
a.btn-contact:after { content: ''; width: 1.3em; hegiht: 1em; display: inline-block; background: url(../img/envelope.png) no-repeat center center; background-size: 100% auto; position: absolute; top: 0; bottom: 0; right: 2rem; margin: auto; }

.btn-flat { font-size: 1rem; width: 12rem; padding: .5rem 1em;background: #98BF0B; color: #FFF; margin: 3rem auto; display: block; text-align: center; border-radius: 5px; letter-spacing: .1em; border: none; cursor: pointer; }

@media screen and (max-width: 1200px) {
  a.btn-contact { font-size: 1rem; padding: 1em 3em 1em 1em; }
  a.btn-contact:after { rihgt: 1rem; }
}

/*contents*/
/*.mainvisual { width: 100%; height: 100vh; background: url(../img/mainvisual.jpg) no-repeat center center;  background-size: cover;*/
.mainvisual { width: 100%; height: 100vh; background: url(../img/mainvisual_top.png) no-repeat center center;  background-size: cover;			  
display: flex; justify-content: center; align-items: center; position: relative; }
.maintxt { color: #fa962a; text-align: center; }
a.btn-scroll { color: #fd0000; font-size: .7rem; position: absolute; bottom: 12rem; left: 0; right: 0; margin: auto; z-index: 2; width: 5rem; text-align: center; }
.btn-scroll:after { content: ''; width: 3em; height: 3em; border-right: 2px solid; border-bottom: 2px solid; -ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); transform: rotate(45deg); display: block; margin: -1.5em auto 0; }

@media only screen and (max-width: 768px) and (orientation: landscape) {
	a.btn-scroll {
		color: #fd0000;
		font-size: .7rem;
		position: absolute;
		bottom: 1.5rem;
		left: 0;
		right: 0;
		margin: auto;
		z-index: 2;
		width: 5rem;
		text-align: center;
	}

	.btn-scroll:after {
		content: '';
		width: 3em;
		height: 3em;
		border-right: 2px solid;
		border-bottom: 2px solid;
		-ms-transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		display: block;
		margin: -1.5em auto 0;
	}

}

.maintxt h1 { width: 450px; height: 225px; background: url("../img/logo-w.svg") no-repeat center center/ contain; display: block; margin: 0 auto; text-indent: 100%; overflow: hidden; white-space: nowrap; }
.maintxt h1 + p { line-height: 150%; font-size: 1.8rem; margin: 1em auto; font-weight: bold; letter-spacing: .1em; }
.maintxt .en { font-size: 1.2rem; font-family: 'Josefin Sans', sans-serif; line-height: 150%;  }

@media screen and ( max-width: 900px) {
  
  .maintxt h1 { width: 200px; height: 120px; }
  .maintxt h1 + p { font-size: 1.2rem;  }
}

/*home*/
.home-information .title { font-size: 1.3rem; width: 6em; float: left;  }
.home-information .title span { font-size: .8rem; color: #BBB;  font-family: 'Josefin Sans', sans-serif; display: block; }
.home-information .title span:before { content: ''; width: 2rem; height: 3px; background: #fa962a; display: block; margin: 1rem 0; }
.home-information .contents { padding-left: 8rem; }


.list-information { border-top: 1px dotted;  }
.list-information > dt { font-family: 'Josefin Sans', sans-serif; float: left; font-size: .9rem; width: 8em; border: 1px solid #BBB; line-height: 220%; text-align: center; margin-top: 1.5rem; letter-spacing: .1em; }
.list-information > dd { border-bottom: 1px dotted; padding: 1.5em 0 1.5em 9rem; }

@media screen and ( max-width: 900px) {
  .list-information > dt { float: none; margin-top: 1rem; }
  .list-information > dd { padding: 1em 0; }
  
}

.home-roles { background-image: url("../img/img.png"); background-position: 30% center;  text-align: center; }
@media screen and ( max-width: 900px) {
	.home-roles { background-image: url("../img/img.png"); background-position: 55% center;  text-align: center; background-size: 420% 100%;}
	/*.home-roles { background-image: url("../img/img.png"); background-position: 50% center;  text-align: center; background-size: 1400px 500px;}*/
}
@media only screen and (max-width: 768px) and (orientation: landscape) {
	/* 横向きの場合 */
	.home-roles {
		background-image: url("../img/img.png");
		background-position: 55% center;
		text-align: center;
		background-size:250% 100%;
		/*background-size: contain;*/ /* 画像全体を表示 */
		background-repeat: no-repeat;
		height: auto; /* 高さを自動調整 */
		width: 100%; /* 横幅を100%に調整 */
	}
}


.conts-home-link { width: 49%; }
.conts-home-link .img { width: 100%; }
	.conts-home-link .text {
		background: #fcd9f5;
		width: 90%;
		margin: 0 auto;
		position: relative;
		z-index: 2;
		text-align: center;
		padding: 3rem;
	}

.conts-home-link:nth-of-type(odd) .text { margin-top: -5rem;}
.conts-home-link:nth-of-type(even) .text { margin-bottom: -5rem;}
.conts-home-link:nth-of-type(even) { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; flex-direction: column-reverse; }

.btn-more { width: 15em; max-width: 90%; padding: .8em; position: relative; display: inline-block; margin-top; 1em; background: #FFF; margin-top: 2rem;  }
.btn-more:after { content:''; width: .6em; height: .6em; display: block; border-right: 1px solid; border-top: 1px solid; -ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); transform: rotate(45deg); position: absolute; top: 0; bottom: 0; margin: auto; right: 1em;  }
@media screen and (max-width: 900px) {
  .conts-home-link { width: 100%;  }
  .conts-home-link:nth-of-type(even) { flex-direction: column; }
.conts-home-link:nth-of-type(even) .text { margin-top: -5rem; margin-bottom: 0; }
}
@media screen and ( max-width: 900px) {
  .conts-home-link .text { padding: 2rem; }
}

.lower-mainvisual { position: relative; height: 400px; }
.lower-mainvisual:before { content: ''; width: 85%; height: 100%; display: block; position: absolute; right: 0; top: 0; bottom: 0; margin: auto; background-color: #CCC; background-repeat: no-repeat; background-position: center center; background-size: cover; }
.lower-mainvisual .title-page { position: absolute; top: 50%; -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); z-index: 3; }

.lower-mainvisual.service:before { background-image: url("../service/img/service_head.png");} 
.lower-mainvisual.our-role:before { background-image: url("../our-role/img/head.png"); background-position: 50% center; } 
.lower-mainvisual.case-study:before { background-image: url("../to-use/img/head.png");} 
.lower-mainvisual.corporate-profile:before { background-image: url("../corporate-profile/img/head.jpg");} 
.lower-mainvisual.recruit:before { background-image: url("../recruit/img/head.jpg");} 
.lower-mainvisual.contact:before { background-image: url("../contact/img/head.jpg");}
	.lower-mainvisual.privacy-policy:before {
		background-image: url("../privacy-policy/img/privacy-policy-head.png");
	} 

@media screen and (max-width: 900px) {
  .lower-mainvisual {height:  40vw;}
}

@media screen and (max-width: 600px) {
  .lower-mainvisual {height:  50vw;}
}

/*service*/
.about-service p { margin-bottom: 1em; }
.about-service > li + li { padding-top: 4rem; margin-top: 4rem; border-top: 1px solid #DDD; }

.list-sample { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.list-sample > li { width: 22%; margin-right: 4%; }
.list-sample > li:nth-child(4n) { margin-right: 0; }
.list-sample > li:nth-child(n + 5) { margin-top: 2rem; }


a.btn-blue,
.btn-blue{ background: #245AA9; color: #FFF; line-height: 130%; padding: 0 2em 0 2em; height: 5em; font-weight: bold;display: -webkit-flex; display: flex; align-items: center; position: relative; font-size: .9rem;  }
.btn-blue:after { content: ''; width: .5em; height: .5em; display: block; border-top: 2px solid; border-right: 2px solid; position: absolute; top: 0; right: 1em; bottom: 0; margin: auto; -ms-transform: translateX(-50%) rotate(45deg); -webkit-transform: translateX(-50%) rotate(45deg); transform: translateX(-50%) rotate(45deg);}

@media screen and (max-width: 900px) {
  .list-sample > li { width: 48%; }
  .list-sample > li:nth-child(2n) { margin-right: 0; }
  .list-sample > li:nth-child(n + 3) { margin-top: 2rem; }
}

.staff-profile { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; justify-content: space-between; }
.staff-profile .img { width: 25%; }
.staff-profile .text { width: 70%; line-height: 150%;  }
.staff-profile .text .name { font-weight: bold; margin-bottom: 1em; }

/*corporate profile*/
.list-coap-prof > li { border-bottom: 1px solid #CCC; padding-bottom: 3rem;  }
.list-holizontal dt { width: 25%; float: left; }
.list-holizontal dd { padding-left: 25%; }

.coop-map .title-blue { font-weight: bold; font-size: 1.5rem; font-family: 'Josefin Sans', sans-serif; color: #3160A2; width: 5em; float: left; }
.coop-map .contents { padding-left: 9rem; }
.coop-map .map-wrap { width: 100%; height: 0; padding-bottom: 40%; display: block; margin-bottom: 3rem; position: relative; }
.coop-map .map-wrap iframe { width: 100%; height: 100%; position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; }

@media screen and (max-width: 900px) {
  .coop-map .title-blue { width: 100%; float: none; }
  .coop-map .contents { padding-left: 0; }
  .coop-map .map-wrap { padding-bottom: 80%; }
}
/*recruit*/
.conts-text dl { border-top: 1px solid #CCC; }
.conts-text dl > dt,
.conts-text dl > dd { padding: 1em 0;  }
.conts-text dl > dt { width: 25%; display: inline-block; float: left; font-weight: bold; }
.conts-text dl > dd { padding-left: 27%; border-bottom: 1px solid #CCCCCC }

/*contact*/
.conts-text .mailform { border: none; margin-top: 5rem;  }
.conts-text .mailform dt { padding-top: 1.5rem; }
.conts-text .mailform dd { border: none; }
.mailform .must { width: 3em; line-height: 180%; float: right; background: #FF7373; color: #FFF; font-size: .8rem; font-weight: normal; text-align: center; }
.mailform p { color: #777; }

.mailform input[type="text"],
.mailform input[type="number"],
.mailform input[type="date"],
.mailform input[type="email"],
.mailform input[type="tel"],
.mailform select,
.mailform textarea  {
	width: 80%;
  -webkit-appearance: none;
	height: 3em;
	padding: 5px 8px;
	margin: 3px 0;
	vertical-align: middle;
	display: inline-block;
	border: none;
  border: 1px solid #DDD;
  border-radius: 5px;
	background: #F5F5F5;
	font-size: inherit;
  outline: none;
	font-family:inherit;
}
.mailform select {
  width: 70%; 
}
.mailform textarea  {
	height: 10rem;
	font-size: 1rem;
  width: 100%; 
}
.btn-submit { font-size: 1.2rem; color: #FFF; width: 15rem; padding: .8em 1em; border-radius: 2rem; background: #3160A2; 
  -webkit-appearance: none; text-align: center; display: block; margin: 0 auto; outeline: none; border: none; margin-top: 3rem; 
}
@media screen and ( max-width: 900px) {
  .conts-text .mailform dt { width: 100%; float: none;; }
  .conts-text .mailform dd{ padding-left: 0; padding-top: 0; }
  .mailform input[type="text"],
  .mailform input[type="number"],
  .mailform input[type="date"],
  .mailform input[type="email"],
  .mailform input[type="tel"],
  .mailform select,
  .mailform textarea  {
    width: 100%; 
  }