@charset "UTF-8";

/* 
------------------------------------------------------------------------------------------------------------------------
Set out
------------------------------------------------------------------------------------------------------------------------
*/

*:not(select):not(input), *:before, *:after {
    margin: 0;
    padding: 0;
	border: 0;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
iframe{
    width: 100%;
}
html {
  font-size: 62.5%;
  overflow-x:hidden;
}
html, body {
	width:100%;
	margin:0;
	padding:0;
}
body {
	font-family: "Open Sans","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif ;
	color: #1A1A1A;
	height:100%;
	font-size:1.5rem;
	line-height:1.7;
	-webkit-text-size-adjust: 100%;
}

.clearfix:after {
    content:"";
    display:block;
    clear:both;
}
.clear {clear:both;}

img {
	max-width:100%;
	margin:0;
	padding:0;
	vertical-align:bottom;
	transition:.3s;
}

a {text-decoration:none; color:#1A1A1A;}
a:hover img {opacity:0.7;}
h1 a:hover img {opacity:1; transition:.3s;}
h1,h2,h3,h4,h5,h6 {font-weight:normal; letter-spacing:normal;}
li {list-style-type:none;}
.align {text-align:center;}
.align_left {text-align:left;}
.align_right {text-align:right;}

.bold {font-weight:bold;}
.font_s {font-size:1.2rem;}
.mb10 { margin-bottom:10px;}
.mb20 { margin-bottom:20px;}
.mb30 { margin-bottom:30px;}
.mb40 { margin-bottom:40px;}
.mb50 { margin-bottom:50px;}
.mb60 { margin-bottom:60px;}
.mb70 { margin-bottom:70px;}
.mb80 { margin-bottom:80px;}

.in,.in2 {display:none;}

@media screen and (max-width:768px){
body {font-size:1.3rem;}
.in {display:block;}
img.in {display:inline-block;}
br.in {line-height:0;}
.out {display:none;}
}
@media screen and (max-width:480px){
.in2 {display:block;}
br.in2 {line-height:0;}
.out2 {display:none;}
}

/* 
------------------------------------------------------------------------------------------------------------------------
layout
------------------------------------------------------------------------------------------------------------------------
*/

.wrap {
	max-width:78.57142%;
	margin-left:auto;
	margin-right:auto;
	box-sizing:content-box;
}

.pagetitle {
	margin-bottom:110px;
}
.pagetitle .imgbox{
	max-width:100%;
	height:400px;
	background-size:cover !important;
	background-position:center !important;
	position:relative;
}
.pagetitle .imgbox h2{
	display:table-cell;
	vertical-align:middle;
	text-align:center;
	color:#fff;
	font-weight:bold;
	font-size:7.0rem;
	line-height:1.4;
	text-shadow:0 0 4px #000;
	padding-top:60px;
}
.pagetitle .imgbox h2 span:first-child{
	display:block;
	width:127px;
	height:4px;
	background:#C3C3AC;
	margin:0 auto 13px;
}
.pagetitle .imgbox h2 span:last-child{
	display:block;
	font-weight:normal;
	font-size:1.8rem;
}
.pagetitle .imgbox .back{
	display:table;
	width:100%;
	height:100%;
}
.pagetitle .pnkz{
	background:#272C30;
	color:#fff;
	font-size:1.3rem;
	padding:8px 0;
}
.pagetitle .pnkz li{
	display:inline-block;
	position:relative;
	padding:0 18px 0 0;
	margin:0 11px 0 0;
}
.pagetitle .pnkz li:after{
	content:"";
	position:absolute;
	top:7px;
	right:0;
	width:8px;
	height:8px;
	border-top: 2px solid #AAAA8A;
	border-right: 2px solid #AAAA8A;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.pagetitle .pnkz li:last-child:after{
	display:none;
}
.pagetitle .pnkz a{
	color:#fff;
}
.pagetitle .pnkz a:hover{
	text-decoration:underline;
}

.content_page {
	padding-top:90px;
	margin-top:-90px;
}

.back {
	background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAEklEQVQImWMQFBT8z0AUwKkSAGfcAmWen5AnAAAAAElFTkSuQmCC) repeat;
}

.slick-dots {
	text-align:center;
}
.slick-dots li {
	display:inline-block;
	margin:0 8px 0 0;
}
.slick-dots li:last-child {
	margin:0;
}
.slick-dots li button{
	font-size:0;
	border-radius:50%;
	width:12px;
	height:12px;
	background:#B2B2B2;
	cursor:pointer;
}
.slick-dots li button:hover,.slick-dots li.slick-active button{
	background:#87875A;
}

.slick-arrow {
	font-size:0;
	width:38px;
	height:38px;
	position:absolute;
	top:0;
	bottom:0;
	margin:auto 0;
	z-index:100;
	cursor:pointer;
}
.slick-arrow.slick-next {
	background:url(../images/common/arrow_next.png) no-repeat;
	background-size:38px;
	right:13px;
}
.slick-arrow.slick-prev {
	background:url(../images/common/arrow_prev.png) no-repeat;
	background-size:38px;
	left:13px;
}


.left_box,.forthbox,.triplebox,.doublebox{
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.left_box.right dt{
	-ms-flex-order: 2;
	-webkit-box-ordinal-group: 2;
	-webkit-order: 2;
	order:2;
}

.detailbtn a{
	background:#87875A;
	display:inline-block;
	padding:10px 42px;
	color:#fff;
	border-radius:6px;
	position:relative;
	transition:.3s;
}
.detailbtn a:after{
	content:"";
	position:absolute;
	top:0;
	bottom:0;
	margin:auto 0;
	right:13px;
	width: 8px;
	height: 8px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.detailbtn a:hover{
	background:#666540;
}

dl.info dt {
	float:left;
	clear:both;
}
dl.info dd a {
	color:#1A1A1A;
}
dl.info dd a:hover {
	text-decoration:underline;
}

.wp-pagenavi {
	text-align:center;
}
.wp-pagenavi a,.wp-pagenavi span{
	display:inline-block;
	width:36px;
	height:38px;
	text-align:center;
	line-height:38px;
	border:1px solid #87875A;
	background:#fff;
	color:#87875A;
	font-size:1.5rem;
	margin:0 15px 0 0;
}
.wp-pagenavi a:hover,.wp-pagenavi span{
	background:#87875A;
	color:#fff;
}
.wp-pagenavi .pages,.wp-pagenavi .last {
	width:auto;
	padding:0 10px;
}

table.info {
	width:100%;
	border-collapse:collapse;
}
table.info,table.info tr,table.info th,table.info td {
	border:1px solid #B2B2B2;
}
table.info th,table.info td {
	padding:13px;
}
table.info th {
	font-weight:normal;
	background:#F1F1F1;
}

/* ページTOP */
#top_back {
	width:38px;
	height:38px;
	border-radius:50%;
	background:#87875A;
	position:fixed;
	bottom:20px;
	right:20px;
	z-index:100;
	cursor:pointer;
	display:none;
	transition:.3s;
}
#top_back:hover {
	background:#666540;
}
#top_back:after {
	content:"";
	position:absolute;
	width: 12px;
	height: 12px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	top: 5px;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}

@media screen and (max-width:768px){
.wrap {
	max-width:86.571%;
}
.pagetitle {
    margin-bottom: 55px;
}
.pagetitle .imgbox {
	max-width:100%;
	height:250px;
}
.pagetitle .imgbox h2{
	font-size:4.0rem;
	padding-top:47px;
}
.pagetitle .imgbox h2 span:last-child {
	font-size:1.4rem;
}
.pagetitle .pnkz,.pagetitle .pnkz a {
	font-size:1.2rem;
}

.slick-dots li {
    display: inline-block;
    margin: 0 15px 0 0;
}
}

/* 
------------------------------------------------------------------------------------------------------------------------
header
------------------------------------------------------------------------------------------------------------------------
*/

header {
	overflow:hidden;
	position:fixed;
	top:0;
	left:0;
	width:100%;
}
header h1,header nav ul,header nav ul li,header nav p.mailbtn {
	float:left;
}
header h1 {
	margin:24px 0 0 50px;
}
header nav {
	float:right;
	background:#272C30;
	color:#fff;
	padding:0 35px 0 18px;
}
header nav a {
	color:#fff;
	transition:.3s;
}
header nav a:hover {
	color:#A8A484;
}

header nav ul.gnav li a {
	font-size:2.0rem;
	display:block;
	text-align:center;
	line-height:1.4;
	padding:19px 23px 20px;
	letter-spacing:1px;
}
header nav ul.gnav li a span{
	display:block;
	font-size:1.2rem;
}

header nav p.mailbtn{
	margin-right:18px;
	margin-top: -3px;
}
header nav p.mailbtn a{
	display:block;
	background:#007E8C;
	padding:7px 19px;
	border-radius:6px;
	font-size:2.2rem;
	margin-top:20px;
	letter-spacing:1px;
}
header nav p.mailbtn a img{
	vertical-align:middle;
	margin:-4px 10px 0 0;
}
header nav p.mailbtn a:hover{
	background:#00ACB5;
	color:#fff;
}
header nav p.mailbtn a:hover img{
	opacity:1;
}

header nav ul.snsnav {
	margin: 31px 0px 0px;
}
header nav ul.snsnav li a img{
	border-radius:50%;
	overflow:hidden;
	display:block;
}
header nav ul.snsnav li:first-child{
	margin:0 10px 0 0;
}

header .spnav {
	float:right;
}
header .spnav li{
	float:left;
}
header .spnav li.mailbtn a{
	display:block;
	background:#007E8C;
	width:60px;
	height:60px;
	text-align:center;
	line-height:60px;
}
header .spnav li.mailbtn a span{
	display:block;
}
header .spnav li.mailbtn a img{
	vertical-align:middle;
	width:25px;
	margin-top:-5px;
}

header .spnav li.menu-btn {
	width:60px;
	height:60px;
	background:#272C30;
}


/* ハンバーガーメニュー */
.menu-trigger,
.menu-trigger span {
  transition: all .4s;
  box-sizing: border-box;
}
.menu-trigger {
  position: relative;
  width: 30px;
  height: 22px;
  box-sizing:content-box;
  margin:18px auto;
}
.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color:#fff;
}
.fix_header .menu-trigger span {
	background:#00A99D;
	box-shadow:none;
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
  top: 10px;
}
.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}
.menu-trigger.active span:nth-of-type(1) {
  -webkit-transform: translateY(10px) rotate(-45deg);
  transform: translateY(10px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
  -webkit-transform: translateY(-10px) rotate(45deg);
  transform: translateY(-10px) rotate(45deg);
}

/* ハンバーガーメニュー中身 */
[off-canvas] {
	background:#272C30;
}
[off-canvas] ul:not(.snsnav) li,
.border_bottom{
	border-bottom:1px solid rgba(255,255,255,0.2);
}
[off-canvas] li.acordion ul li:last-child {
	border-bottom:none;
}
[off-canvas] a,
[off-canvas] li span,
[off-canvas] li.head_rson{
	color:#fff;
	display:block;
	padding:10px 20px;
	font-size:1.5rem;
}
[off-canvas] ul:not(.subnav) li a:hover{
	color:#fff;
	background:#40474d;
}

[off-canvas] .snsnav {
	padding:0 20px;
	margin:20px 0 0;
}
[off-canvas] .snsnav li {
	display:inline-block;
	margin:0 10px 0 0;
}
[off-canvas] .snsnav li a{
	padding:0px;
}
[off-canvas] .snsnav li a:hover img,[off-canvas] .snsnav li a:hover {
	background:none;
	opacity:1;
}
[off-canvas] .snsnav li a img{
	border-radius:50%;
	overflow:hidden;
	display:block;
}

@media screen and (max-width:1030px){
header h1 {
    margin: 6px 0 0 19px;
	max-width: 100px;
}
header nav {
    padding: 0 21px 0 7px;
}
header nav ul.gnav li a {
    font-size: 1.6rem;
    padding: 15px 13px 18px;
}
header nav ul.gnav li a span {
    font-size: 1.0rem;
}
header nav p.mailbtn a {
    padding: 4px 16px;
    font-size: 1.6rem;
    margin-top: 18px;
}
header nav ul.snsnav {
    margin: 23px 0px 0px;
}
}


/* 
------------------------------------------------------------------------------------------------------------------------
footer
------------------------------------------------------------------------------------------------------------------------
*/

footer {
	background: #272C30;
	color:#fff;
	text-align:center;
	padding:55px 0 15px !important;
}
footer .logo{
	margin-bottom:30px;
}
footer .logo img{
	opacity:1;
}
footer .logo+p{
	font-size:1.4rem;
	margin-bottom:40px;
}
footer small{
	font-size:1.2rem;
}
footer a{
        color: #fff;
}

footer a:hover{
       opacity: 0.7;
　     color: #fff;
}

/* 
------------------------------------------------------------------------------------------------------------------------
top
------------------------------------------------------------------------------------------------------------------------
*/

#top .main {
	margin-bottom:130px;
}
#top .main .slide .slick-dots {
	position:absolute;
	bottom:15px;
	width:100%;
}
#top .main .slide dl,#top .main .slide dt {
	position:relative;
}
#top .main .slide dt p {
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	width:100%;
	height:100%;
	background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAEklEQVQImWMQFBT8z0AUwKkSAGfcAmWen5AnAAAAAElFTkSuQmCC) repeat;
}
#top .main .slide dd {
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	top:0;
	max-width:1220px;
	padding:0 60px;
	width:100%;
	height:100%;
	margin:auto;
	color:#fff;
	font-size:2.4rem;
	text-shadow: 0 0 10px #777;
}
#top .main .slide dd .inner{
	display:table;
	width:100%;
	height:100%;
}
#top .main .slide dd .inner .box{
	display:table-cell;
	vertical-align:middle;
}

#top .main .slide dd .inner .catch{
	font-size:12.6rem;
	font-weight:bold;
	line-height:1.1;
	margin-bottom:30px;
	padding-top:50px;
}


@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100px);
    transform: translateX(100px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100px);
    -ms-transform: translateX(100px);
    transform: translateX(100px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
}

#top .main .slide dd .inner .catch.fadeInRight,#top .main .slide dd .inner .fadeInLeft {
	display:none;
	font-weight:bold;
}
#top .main .slide .slick-active dd .inner .catch.fadeInRight {
  animation: fadeInRight 1s ease .5s 1 normal both;
  display:block;
}
#top .main .slide .slick-active dd .inner .fadeInLeft {
  animation: fadeInLeft 1s ease .7s 1 normal both;
  display:block;
}

#top h2,#company h3.bigtitle,#recruit h3.bigtitle {
	font-size:7.0rem;
	font-weight:bold;
	line-height:1.4;
	margin-bottom:55px;
}
#top h2 p,#company h3.bigtitle p,#recruit h3.bigtitle p{
	font-size:1.8rem;
	font-weight:normal;
}
#top h2 span,#company h3.bigtitle span,#recruit h3.bigtitle span{
	width:127px;
	height:4px;
	background:#87875A;
	display:block;
	margin-bottom:17px;
}

#top .service {
	margin-bottom:155px;
}
#top .service .left_box dt {
	width:56%;
	min-height:390px;
	position:relative;
	background:#F1F1F1;
}
#top .service .left_box dt div,#top .service .left_box dt p{
	background:#87875A;
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	width:0;
	height:100%;
	background-size:cover !important;
	background-position:center !important;
	transition: all .6s .2s ease;
}
#top .service .left_box right dt div,#top .service .left_box right dt p{
	background:#87875A;
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	width:0;
	height:100%;
	background-size:cover !important;
	background-position:center !important;
	transition: all .6s .2s ease;
}
#top .service .left_box dt div.animated,#top .service .left_box dt p.animated{
	width:100%;
}
#top .service .left_box dt div{
	background:#87875A;
	transition: all .8s .2s ease;
}
#top .service .left_box dt p{
	transition: all .8s .6s ease;
}
#top .service .left_box dd {
	width:44%;
	background:#F1F1F1;
	padding:0 3%;
}
#top .service .left_box dd .inner{
	display:table;
	width:80.16%;
	height:390px;
}
#top .service .left_box.right dd .inner{
	float:right;
}
#top .service .left_box dd .inner .box{
	display:table-cell;
	vertical-align:middle;
}
#top .service .left_box dd .title{
	font-size:2.4rem;
	margin-bottom:30px;
	font-weight:bold;
}
#top .service .left_box dd .title span{
	width:62px;
	height:4px;
	background:#87875A;
	display:block;
	margin:10px 0 0;
}
#top .service .left_box dd .detailbtn{
	margin:20px 0 0;
}


#top .news {
	margin-bottom:100px;
}
#top .news .left {
	width:29%;
}
#top .news .left h2{
	margin:-18px 0 30px;
}
#top .news .right {
	width:71%;
}
#top .news .right .info {
	border-top:1px solid #CBCBCB;
}
#top .news .right .info dt{
	padding:10px 19px;
}
#top .news .right .info dd{
	padding:10px 19px 10px 140px;
	border-bottom:1px solid #CBCBCB;
}

#top .topics {
	background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAEklEQVQImWM4cP7gfwaiAE6VACYbBp8Xf3E4AAAAAElFTkSuQmCC) repeat;
	padding:85px 0 100px;
}
#top .topics .linkbox {
	width:100%;
	height:340px;
	background:url(../images/top/newrecruit2.jpg) no-repeat;
	background-size:cover;
	background-position:center;
	display:table;
	transition:.3s;
}
#top .topics .linkbox a {
	display:table-cell;
	vertical-align:middle;
}
#top .topics .linkbox a p{
	width:248px;
	height:248px;
	background:rgba(0,0,0,0.8);
	color:#fff;
	margin:0 auto;
	font-size:4.0rem;
	text-align:center;
	line-height:1.4;
	padding:85px 0 0;
	transition:.3s;
	font-weight:bold;
}
#top .topics .linkbox a p span{
	font-size:1.8rem;
	display:block;
	font-weight:normal;
}
#top .topics .linkbox a:hover p{
	width:100%;
	height:340px;
	padding:131px 0 0;
}


@media screen and (max-width:1030px){
#top .main .slide dd {
	font-size:1.8rem;
}
#top .main .slide dd .inner .catch{
	font-size:8.6rem;
	margin-bottom:10px;
}

}
@media screen and (max-width:768px){
#top .main {
    margin-bottom: 50px;
}
#top .main .slide dd {
	font-size:1.5rem;
	padding:0 30px;
}
#top .main .slide dd .inner .catch{
	font-size:5.6rem;
	margin-bottom:10px;
}

#top h2,#company h3.bigtitle,#recruit h3.bigtitle {
	font-size:3.0rem;
	margin-bottom:25px;
}
#top h2 p,#company h3.bigtitle p,#recruit h3.bigtitle p {
	font-size:1.4rem;
}
#top h2 span,#company h3.bigtitle span,#recruit h3.bigtitle span {
    margin-bottom: 10px;
	width:100px;
}

#top .service {
	margin-bottom:60px;
}
#top .service .left_box dd .title {
	font-size:2.0rem;
	margin-bottom:10px;
}

#top .news {
    margin-bottom: 50px;
}
#top .news .doublebox{
	display:block;
}
#top .news .doublebox .left,#top .news .doublebox .right{
	width:100%;
	margin:0;
}
#top .news .doublebox .left {
	margin-bottom:10px;
}
#top .news .doublebox .left h2,#top .news .doublebox .left .detailbtn{
	max-width:none;
	display:inline-block;
	vertical-align:middle;
}
#top .news .doublebox .left .detailbtn{
	float:right;
}
#top .news .doublebox .left .detailbtn a{
	padding:10px 34px 10px 24px;
}
#top .news .doublebox .right {
	display:block;
	clear:both;
}
#top .news .right .info dt {
    padding:10px 5px;
}
#top .news .right .info dd {
    padding: 10px 5px 10px 105px;
}

#top .topics {
    padding: 40px 0 80px;
}
#top .topics .linkbox,#top .topics .linkbox a:hover p {
	height:300px;
}
#top .topics .linkbox a p {
	font-size:3.0rem;
    width: 200px;
	height:200px;
    padding: 67px 0 0;
}
#top .topics .linkbox a:hover p{
	padding:120px 0 0;
}
}
@media screen and (max-width:550px){
#top .service .left_box {
	display:block;
}
#top .service .left_box dt{
	height:200px;
	width:100%;
	min-height:0;
}
#top .service .left_box dd{
	width:100%;
	padding: 30px 0;
}
#top .service .left_box.right dd .inner {
	float:none;
}
#top .service .left_box dd .detailbtn {
	text-align:center;
}

#top .service .left_box dd .inner {
	width:86.571%;
	margin: 0 auto;
	height:auto;
}
}
@media screen and (max-width:520px){
#top .main .slide dd {
	font-size:1.3rem;
}
#top .main .slide dd .inner .catch{
	font-size:3.6rem;
	margin-bottom:10px;
	padding-top:30px;
}
}
@media screen and (max-width:400px){
#top .main .slide .slick-dots {
	bottom:10px;
}
#top .main .slide dd {
	font-size:1.1rem;
	line-height:1.3;
}
#top .main .slide dd .inner .catch{
	font-size:2.6rem;
	margin-bottom:10px;
	padding-top:32px;
}
}

/* 
------------------------------------------------------------------------------------------------------------------------
service
------------------------------------------------------------------------------------------------------------------------
*/
#service .read {
	text-align:center;
	font-size:2.0rem;
	margin-bottom:110px;
}
#service .read .catch {
	font-size:6.0rem;
	font-weight:bold;
	color:#87875A;
	margin-bottom:20px;
}
#service .read ul:last-child {
	margin-top:70px;
}
#service .read ul:last-child li{
	display:inline-block;
	margin:0 50px 0 0;
}
#service .read ul:last-child li:last-child{
	margin:0;
}
#service .read ul:last-child li a{
	color:#87875A;
	font-weight:bold;
	position:relative;
	padding:0 0 0 48px;
}
#service .read ul:last-child li a:hover{
	text-decoration:underline;
}
#service .read ul:last-child li a:before,#service .read ul:last-child li a:after{
	content:"";
	position:absolute;
}
#service .read ul:last-child li a:before {
	width:38px;
	height:38px;
	background:#87875A;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	background: #87875A;
	top:-3px;
	left:0;
}
#service .read ul:last-child li a:after {
	width:10px;
	height:10px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	top:9px;
	left:15px;
}

#service .content_page {
	margin-bottom:115px;
}
#service .content_page:last-child {
	margin-bottom:150px;
}

#service .content_page .left_box{
	margin-bottom:18px;
}
#service .content_page dt{
	width:38.5%;
	background-position:center !important;
	background-size:cover !important;
}
#service .content_page dt .inner{
	display:table;
	width:100%;
	height:100%;
	background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAEklEQVQImWMQFBT8z0AUwKkSAGfcAmWen5AnAAAAAElFTkSuQmCC) repeat;
	padding-left:9.2%;
}
#service .content_page dt .inner p{
	display:table-cell;
	text-align:center;
	vertical-align:middle;
	color:#fff;
	font-size:5.0rem;
	font-weight:bold;
	line-height:1.2;
	text-align:left;
	text-shadow:0 0 5px #000;
}
#service .content_page dt .inner p span.line{
	display:block;
	max-width:199px;
	width:100%;
	height:4px;
	background:#C3C3AC;
	margin:13px 0 20px;
}
#service .content_page dt .inner p span:last-child{
	display:block;
	font-size:2.4rem;
}
#service .content_page dd{
	width:61.5%;
	background:#F1F1F1;
	padding:70px 9.3% 60px 4%;
}

#service .content_page dd .box {
	margin-bottom:70px;
}
#service .content_page dd .box:last-child {
	margin:0;
}

#service .content_page dd .box p{
	margin-bottom:30px;
}
#service .content_page dd .box p:last-child {
	margin:0;
}

#service .content_page dd .box .small_title,#contact .small_title{
	font-size:2.4rem;
	font-weight:bold;
	line-height:1.4;
	margin-bottom:30px;
}
#service .content_page dd .box .small_title span,#contact .small_title span{
	display:block;
	width:62px;
	height:4px;
	background:#87875A;
	margin:8px 0 0;
}

#service .content_page dd .red {
	color:#C80000;
	font-weight:bold;
}
#service .content_page dd .blue {
	color:#006698;
	font-weight:bold;
}

#service .content_page dd .bord {
	margin-bottom:50px;
}
#service .content_page dd .bord li{
	display:inline-block;
	margin:0 20px 10px 0;
}
#service .content_page dd .bord li:last-child{
	margin:0 0 10px;
}

#service .content_page dd .icon {
	margin-bottom:30px;
}
#service .content_page dd .icon:last-child {
	margin:0;
}
#service .content_page dd .icon li:first-child {
	float:left;
	clear:both;
}
#service .content_page dd .icon li:last-child {
	padding:0 0 0 84px;
}
#service .content_page dd .icon li:last-child .catch{
	font-weight:bold;
	font-size:2.4rem;
	margin-bottom:5px;
	line-height:1.4;
}

#service .content_page dd .info {
	display:block;
}
#service .content_page dd .info dt,#service .content_page dd .info dd {
	width:auto;
	padding:10px;
}
#service .content_page dd .info dt {
	font-size:1.8rem;
	font-weight:bold;
	padding:0 7px 15px;
}
#service .content_page dd .info dd {
	padding:0 7px 15px 120px;
	margin-bottom:15px;
	border-bottom:1px solid #CBCBCB;
}

@media screen and (max-width:1000px){
#service .read {
	font-size:1.8rem;
}
#service .read .catch {
	font-size:4.5rem;
}

#service .content_page dd .bord li img {
	width:50px;
	height:auto;
}

#service .content_page dt .inner p {
	font-size:3.4rem;
}
#service .content_page dt .inner p span:last-child,
#service .content_page dd .box .small_title,
#service .content_page dd .icon li:last-child .catch,#contact .small_title {
	font-size:1.8rem;
}
}
@media screen and (max-width:768px){
#service .read {
	font-size:1.4rem;
	margin-bottom:55px;
}
#service .read .catch {
    font-size: 2.5rem;
	margin-bottom:10px;
}
#service .read ul:last-child {
    margin-top: 35px;
}
#service .read ul:last-child li a {
    padding: 0 0 0 38px;
}
#service .read ul:last-child li a::before {
    width: 29px;
    height: 29px;
}
#service .read ul:last-child li a::after {
    width: 8px;
    height: 8px;
    top: 6px;
    left: 11px;
}

#service .content_page {
	margin-bottom:60px;
}
#service .content_page:last-child {
    margin-bottom: 75px;
}

#service .content_page .left_box {
	display:block;
}
#service .content_page dt {
	width:100%;
}
#service .content_page dt .inner {
	padding:50px 5%;
}
#service .content_page dd {
	width:100%;
	padding:35px 5%;
}

#service .content_page dd .box {
    margin-bottom: 35px;
}

#service .content_page dd .box .small_title,#service .content_page dd .box p,#service .content_page dd .icon,#contact .small_title {
	margin-bottom:15px;
}

#service .content_page dd .bord {
    margin-bottom: 25px;
}

#service .content_page dd .info dt {
	font-size:1.6rem;
}
#service .content_page dd .info dd {
    padding: 0 7px 15px 105px;
}
}
@media screen and (max-width:520px){
#service .read ul:last-child li {
	display:block;
	margin:0 0 20px;
}
}

/* 
------------------------------------------------------------------------------------------------------------------------
news
------------------------------------------------------------------------------------------------------------------------
*/

#news.index .list {
	padding-bottom:150px;
}
#news.index .list select{
	margin-bottom:27px;
}
#news.index .list dl.info {
	border-top:1px solid #CBCBCB;
	margin-bottom:50px;
}
#news.index .list dl.info dt{
	padding:10px 19px;
}
#news.index .list dl.info dd{
	padding:10px 19px 10px 140px;
	border-bottom:1px solid #CBCBCB;
}

#news.detail .content {
	padding-bottom:120px;
}
#news.detail h3.underline {
	font-size:2.8rem;
	border-bottom:1px solid #CBCBCB;
	margin-bottom:20px;
}
#news.detail h3.underline span {
	display:block;
	width:164px;
	height:4px;
	background:#87875A;
	margin:10px 0 0;
}
#news.detail .date {
	margin-bottom:80px;
}
#news.detail .text {
	padding:0 0 70px;
	margin-bottom:55px;
	border-bottom:1px solid #CBCBCB;
}
#news.detail .text p {
	margin-bottom:30px;
}
#news.detail .detailbtn {
	text-align:center;
}

@media screen and (max-width:768px){
#news.index .list {
	padding-bottom:75px;
}
#news.index .list dl.info {
	margin-bottom:30px;
}
#news.index .list dl.info dd {
    padding: 10px 19px 10px 105px;
}

#news.detail .content {
	padding-bottom:60px;
}
#news.detail h3.underline {
	font-size:2.0rem;
	margin-bottom:10px;
}
#news.detail h3.underline span {
	width:124px;
	margin:7px 0 0;
}
#news.detail .date {
	margin-bottom:40px;
}
#news.detail .text {
	padding:0 0 40px;
	margin-bottom:30px;
}
#news.detail .text p {
	margin-bottom:15px;
}
}

/* 
------------------------------------------------------------------------------------------------------------------------
company
------------------------------------------------------------------------------------------------------------------------
*/

#company .philosophy {
	margin-bottom:140px;
}
#company .philosophy ul {
	margin-bottom:90px;
}
#company .philosophy ul li{
	text-align:center;
	font-size:5.0rem;
	font-weight:bold;
}
#company .philosophy li span {
	color:#000080;
}
#company .philosophy .doublebox {
	background:#F1F1F1;
}
#company .philosophy .doublebox .box{
	width:50%;
	padding:75px 5%;
	text-align:center;
	font-size:1.6rem;
}
#company .philosophy .doublebox .box:nth-child(2),#company .philosophy .doublebox .box:nth-child(3){
	background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAEklEQVQImWPo6F38n4EogFMlAPBoBW/6QstkAAAAAElFTkSuQmCC) repeat;
}
#company .philosophy .doublebox .box dl dt{
	color:#87875A;
	font-weight:bold;
	font-size:4.0rem;
	margin-bottom:25px;
}
#company .philosophy .doublebox .box dl dt span{
	display:block;
	width:73px;
	height:4px;
	background:#87875A;
	margin:5px auto 0;
}

#company .content {
	margin-bottom:130px;
}
#company .content dl,#recruit .requirements dl{
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-bottom:70px;
}
#company .content dl dt,#company .content dl dd,
#recruit .requirements dl dt,#recruit .requirements dl dd{
	border-bottom:1px solid #CBCBCB;
	margin-bottom:30px;
}
#company .content dl dt,#recruit .requirements dl dt{
	width:14.9%;
	align-self: flex-end;
}
#company .content dl dt p,#company .history .title span:first-child,#recruit .requirements dl dt p{
	padding:3px 10px;
}
#company .content dl dt span,#company .history .title span:last-child,#recruit .requirements dl dt span{
	display:block;
	width:100%;
	height:4px;
	background:#87875A;
}
#company .content dl dd,#recruit .requirements dl dd{
	width:85.1%;
	padding:0 30px 10px;
}

#company .history {
	margin-bottom:180px;
}
#company .history .title {
	border-bottom:1px solid #CBCBCB;
	margin-bottom:12px;
}
#company .history .title span:last-child {
	width:14.9%;
}
#company .history dl.info{
	margin-bottom:70px;
}
#company .history dl.info dt {
	padding:4px 10px;
}
#company .history dl.info dd{
	padding:4px 10px 4px 174px;
}

#company .clients {
	padding-bottom:160px;
}
#company .clients .triplebox ul{
	width:30.45%;
	margin:0 4.325% 0 0;
	border-top:1px solid #CBCBCB;
}
#company .clients .triplebox ul:last-child{
	margin:0;
}
#company .clients .triplebox ul li{
	padding:13px 12px;
	border-bottom:1px solid #CBCBCB;
}

@media screen and (max-width:768px){
#company .philosophy {
    margin-bottom: 70px;
}
#company .philosophy ul {
    margin-bottom: 45px;
}
#company .philosophy ul li {
	font-size:3.0rem;
}
#company .philosophy span {
	color:#000080;
}
#company .philosophy .doublebox .box dl dt {
	font-size:2.4rem;
}
#company .philosophy .doublebox .box {
	font-size:1.4rem;
	padding:40px 5%;
}

#company .content {
    margin-bottom: 65px;
}
#company .content dl,#company .history dl.info {
	margin-bottom:35px;
}
#company .content iframe {
	height:280px;
}

#company .history {
    margin-bottom: 90px;
}

#company .clients {
    padding-bottom: 80px;
}
#company .clients .triplebox ul,#company .clients .triplebox ul:last-child {
	width:48%;
	margin:0 4% 0 0;
}
#company .clients .triplebox ul:nth-child(2) {
	margin:0;
}
#company .clients .triplebox ul:last-child {
	border-top:none;
}
}
@media screen and (max-width:600px){
#company .content dl dt,#company .history .title span:last-child,#recruit .requirements dl dt {
    width: 27%;
}
#company .content dl dd,#recruit .requirements dl dd {
    width: 73%;
}
}
@media screen and (max-width:550px){
#company .philosophy ul li {
	font-size:2.0rem;
}
#company .philosophy span {
	color:#000080;
}
#company .philosophy .doublebox {
	display:block;
}
#company .philosophy .doublebox .box{
	width:100%;
}
#company .philosophy .doublebox .box:nth-child(3) {
	background:none;
}
#company .philosophy .doublebox .box:nth-child(4) {
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAEklEQVQImWPo6F38n4EogFMlAPBoBW/6QstkAAAAAElFTkSuQmCC) repeat;
}

#company .history dl.info dd {
    padding: 4px 10px 4px 75px;
}
}
@media screen and (max-width:468px){
#company .clients .triplebox ul,#company .clients .triplebox ul:last-child,#company .clients .triplebox ul:nth-child(2) {
	width:100%;
	margin:0;
}
#company .clients .triplebox ul:nth-child(2) {
	border-top:none;
}
}

/* 
------------------------------------------------------------------------------------------------------------------------
recruit
------------------------------------------------------------------------------------------------------------------------
*/

#recruit .message {
	font-size:1.6rem;
	text-align:center;
	margin-bottom:120px;
}
#recruit .message h3.bigtitle{
	text-align:left;
}
#recruit .message .logo{
	margin-bottom:35px;
}
#recruit .message ul {
	margin-bottom:60px;
}
#recruit .message ul li{
	font-size:3.0rem;
	font-weight:bold;
	color:#87875A;
	margin-bottom:15px;
}
#recruit .message ul li:last-child{
	font-size:2.4rem;
}
#recruit .message p{
	margin-bottom:40px;
}

#recruit .business {
	background:#F1F1F1;
	padding-top:100px;
	margin-bottom:130px;
}
#recruit .business h3.bigtitle{
	margin-bottom:40px;
}
#recruit .business h3.bigtitle+p{
	margin-bottom:70px;
}
#recruit .business .doublebox .box{
	height:480px;
	width:50%;
	background-size:cover !important;
	background-position:center !important;
	color:#fff;
	font-weight:bold;
	font-size:2.4rem;
	text-shadow:0 0 5px #000;
}
#recruit .business .doublebox .box:first-child{
	background:url(../images/recruit/01.jpg) no-repeat;
}
#recruit .business .doublebox .box:last-child{
	background:url(../images/recruit/02.jpg) no-repeat;
}
#recruit .business .doublebox .box .inner{
	display:table;
	width:100%;
	height:100%;
	background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAEklEQVQImWMQFBT8z0AUwKkSAGfcAmWen5AnAAAAAElFTkSuQmCC) repeat;
}
#recruit .business .doublebox .box .inner dl{
	text-align:center;
	display:table-cell;
	vertical-align:middle;
}
#recruit .business .doublebox .box .inner dl dt{
	font-size:5.0rem;
	line-height:1.2;
}
#recruit .business .doublebox .box .inner dl dd span{
	display:block;
	width:200px;
	height:4px;
	background:#C3C3AC;
	margin:15px auto;
}


#recruit .requirements {
	padding-bottom:110px;
	background:#F1F1F1;
}
#recruit .requirements dl {
	margin-bottom:60px;
}
#recruit .requirements dl dt,#recruit .requirements dl dd {
	margin-bottom: 18px;
}
#recruit .requirements dl dt {
	align-self:inherit;
	position:relative;
}
#recruit .requirements dl dt span{
	position:absolute;
	bottom:0;
	left:0;
}
#recruit .requirements dl dd {
	padding:10px 30px 20px;
}
#recruit .requirements .detailbtn {
	text-align:center;
}
#recruit .requirements .detailbtn a {
	background:#007E8C;
	padding:10px 42px 10px 30px;
}
#recruit .requirements .detailbtn a:hover {
	background:#00ACB5;
}
#recruit .requirements .detailbtn a img{
	vertical-align:middle;
	margin:0 10px 0 0;
}

@media screen and (max-width:768px){
#recruit .message {
    font-size: 1.4rem;
    margin-bottom: 60px;
}
#recruit .message .logo {
	margin-bottom:15px;
}
#recruit .message .logo img {
	max-width:100px;
}
#recruit .message ul {
    margin-bottom: 30px;
}
#recruit .message ul li {
	font-size:2.0rem;
}
#recruit .message ul li:last-child {
    font-size: 1.7rem;
}
#recruit .message p {
    margin-bottom: 20px;
}

#recruit .business {
    padding-top: 50px;
    margin-bottom: 65px;
}
#recruit .business h3.bigtitle {
    margin-bottom: 20px;
}
#recruit .business h3.bigtitle+p {
    margin-bottom: 35px;
}
#recruit .business .doublebox {
	display:block;
}
#recruit .business .doublebox .box {
	font-size:2.0rem;
	height:280px;
	width:100%;
}
#recruit .business .doublebox .box .inner dl dt {
	font-size:3.5rem;
}

#recruit .requirements {
    padding-bottom: 70px;
}
#recruit .requirements dl {
    margin-bottom: 30px;
}
#recruit .requirements dl dd {
    padding: 10px 10px 20px;
}
}

/* 
------------------------------------------------------------------------------------------------------------------------
contact
------------------------------------------------------------------------------------------------------------------------
*/

#contact .form{
	padding-bottom:95px;
}
#contact .form dl{
	border-top:1px solid #CBCBCB;
	margin-bottom:44px;
}
#contact .form dt{
	padding:20px 16px;
}
#contact .form dt span{
	display:block;
	float:left;
	color:#fff;
	background:#C80000;
	border-radius:4px;
	padding:3px 10px;
	font-size:1.3rem;
}
#contact .form dt p{
	padding:0 0 0 60px;
}
#contact .form dd{
	padding:15px 15px 15px 223px;
	border-bottom:1px solid #CBCBCB;
}
#contact .form dd input,#contact .form dd textarea{
	max-width:772px;
	width:100%;
	box-sizing:border-box;
	font-size:1.5rem;
	padding:8px;
	border:1px solid #989898;
	line-height:1.5;
}

#contact .form .submit {
    max-width: 169px;
    margin: 0 auto;
    width: 100%;
    background: #87875A;
    color: #fff;
	border-radius:6px;
    position: relative;
    text-align: center;
	transition:.3s;
}
#contact .form .submit input {
    background: none;
    color: #fff;
    border: none;
    padding: 12px 30px 12px 20px;
    cursor: pointer;
	font-size:1.5rem;
}
#contact .form .submit:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    margin: auto 0;
    width: 8px;
    height: 8px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
#contact .form .submit:hover {
	background:#666540;
	transition:.3s;
}

#contact .screen-reader-response {
	text-align:center;
	font-weight:bold;
	color:#e30000;
	margin: 0 0 70px;
	font-size: 1.8rem;
}
#contact .screen-reader-response ul{
	display:none;
}
#contact .wpcf7-not-valid-tip {
	display:block;
	color:#e30000;
	font-weight:bold;
}
#contact .wpcf7-validation-errors,#contact .wpcf7-response-output {
	display:none;
}
 

@media screen and (max-width:768px){
#contact .form {
    padding-bottom: 60px;
}
#contact .form dl {
    margin-bottom: 25px;
}
#contact .screen-reader-response {
	margin: 0 0 35px;
	font-size: 1.5rem;
}

}
@media screen and (max-width:550px){
#contact .form dt {
	float:none;
	padding:20px 16px 10px;
	overflow:hidden;
}
#contact .form dt span {
	font-size:1.2rem;
}
#contact .form dd {
	padding:0 16px 22px;
}
}
.kiyaku {
    width: auto; 
    height: 200px;
    overflow: scroll;
    border: gray 1px solid;
    margin: 10px 10px;
}


/* 
------------------------------------------------------------------------------------------------------------------------
privacy policy
------------------------------------------------------------------------------------------------------------------------
*/
.subtitle {
  padding: 0.25em 0.5em;/*上下 左右の余白*/
  color: #494949;/*文字色*/
  background: transparent;/*背景透明に*/
  border-left: solid 5px #7db4e6;/*左線*/
}

h2.policytitle {
    border-bottom: solid 3px #808000;
    display: inline-block;
    margin: 0 auto;
}
table.data1 {
    border: solid 1px;              /* 枠線指定 */
    border-collapse: collapse;
    width: 100%;
}
.cellyohaku {
     padding: 5px 10px;
     border-bottom:solid 1px silver;
}

