@charset "UTF-8";
/* ======================================================

	Reset

====================================================== */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, a, img, ins, kbd, q, samp, small, strong, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: none;
  outline: none;
  background: transparent;
  vertical-align: baseline;
  font-size: 100%;
}

body {
  line-height: 1;
}

img {
  line-height: 0;
  vertical-align: top;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

li {
  list-style-type: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

input, select {
  vertical-align: middle;
}

hr {
  display: block;
  height: 1px;
  margin: 1em 0;
  padding: 0;
  border: none;
  border-top: 1px solid #ccc;
}

a {
  outline: none;
}

.cf:before, .cf:after, .section:before, .section:after {
  content: "";
  display: table;
}

.cf:after, .section:after {
  clear: both;
}

.cf, .section {
  zoom: 1;
}

em {
  font-style: normal;
}

/* ======================================================

	common

====================================================== */
/* anchor */
a:link {
  color: #3F3F3F;
  text-decoration: none;
}

a:visited {
  color: #3F3F3F;
}

a:hover {
  color: #3F3F3F;
  text-decoration: underline;
}

a:active {
  color: #3F3F3F;
}

.breadcrumbs a:link,
.detailContactForm a:link {
  color: #D0121A;
  text-decoration: underline;
}

.breadcrumbs a:visited,
.detailContactForm a:visited {
  color: #D0121A;
}

.breadcrumbs a:hover,
.detailContactForm a:hover {
  color: #D0121A;
  text-decoration: none;
}

.breadcrumbs a:active,
.detailContactForm a:active {
  color: #D0121A;
}

.detailFlow a:link {
  color: #0033FF;
  text-decoration: underline;
}

.detailFlow a:visited {
  color: #0033FF;
}

.detailFlow a:hover {
  color: #0033FF;
  text-decoration: none;
}

.detailFlow a:active {
  color: #0033FF;
}

/* 透過  */
a.op:hover img,
input.op:hover {
  filter: alpha(opacity=80);
  -moz-opacity: 0.8;
  opacity: 0.8;
}

/* 角丸  */
.radius {
  position: relative;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  behavior: url("PIE.htc");
}

.bgRep {
  background-repeat: no-repeat;
  background-position: 0 0;
}

.bgRepX {
  background-repeat: repeat-x;
  background-position: 0 0;
}

.bgRepY {
  background-repeat: repeat-y;
  background-position: 0 0;
}

.positionFixed {
  position: fixed;
}

.positionRelative {
  position: relative;
}

.positionAbsolute {
  position: absolute;
}

.txt_l, td.txt_l, .txt_l td {
  text-align: left;
}

.txt_r, td.txt_r, .txt_r td {
  text-align: right;
}

.txt_c, footer .copy, td.txt_c, footer td.copy, .txt_c td, footer .copy td {
  text-align: center;
}

.valign_t, td.valign_t, .valign_t td {
  vertical-align: top;
}

.valign_m, td.valign_m, .valign_m td {
  vertical-align: middle;
}

.valign_b, td.valign_b, .valign_b td {
  vertical-align: bottom;
}

.inlineBlockCenter {
  display: -moz-inline-box;
  display: inline-block;
  /*display: inline;*/
  /*zoom: 1;*/
}

.ct {
  width: 960px;
  margin: 0 auto;
}

/*
 * common
 */
#lp {
    color: #333;
    font-size: 18px;
}
.inner {
    width: 1200px;
    margin: 0 auto;
}
.pc {
    display: inline-block;
}
.sp {
    display: none;
}
.ttl h2 span {
    color: #113585;
}
@media screen and (max-width: 768px) {
	.inner {
		width: 100%;
		margin: 0 auto;
	}
	.pc {
		display: none;
	}
	.sp {
		display: inline-block;
	} 
}


/* ======================================================

	Layout

====================================================== */
/*
 * 共通ページ
 */
body {
  background-color: #ffffff;
  font: 14px/1.6 "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, Arial, Helvetica, sans-serif, "ＭＳ Ｐゴシック", "MS P Gothic";
  color: #1F1F1F;
}

header {
  width: 100%;
  border-bottom: solid 2px #082E89;
}
header .headerTxt {
  display: block;
  font-weight: normal;
  margin: 3px 0 8px;
}
header .logo {
  float: left;
  width: 260;
}
header .contact {
  float: right;
  width: 680;
  margin-right: 20px;
}
header .contact li {
  float: left;
}
header .contact .tel {
  margin-right: 17px;
}
header .contact .tel dd {
  padding-top: 7px;
  font-size: 86%;
  text-align: center;
}
header .gnav {
  margin: 30px 0 0;
  border-top: solid 1px #DFDFDF;
  background-color: #F2F2F2;
}
header .gnav ul {
  width: 960px;
  margin: 0 auto;
  border-left: solid 1px #DFDFDF;
}
header .gnav li {
  float: left;
  border-right: solid 1px #DFDFDF;
}
header .gnav li a {
  display: block;
  width: 159px;
  height: 52px;
  background-image: url("/img/common/header-nav.png");
  background-position: 0 0;
  background-repeat: no-repeat;
  background-color: #F2F2F2;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
header .gnav li a:hover {
  background-color: #FFFFFF;
}
header .gnav li.home a {
  background-position: 0 0;
}
header .gnav li.strength a {
  background-position: -160px 0;
}
header .gnav li.service a {
  background-position: -320px 0;
}
header .gnav li.case a {
  background-position: -480px 0;
}
header .gnav li.flow a {
  background-position: -640px 0;
}
header .gnav li.company a {
  background-position: -800px 0;
}

#js-home header .gnav li.home a,
#js-strength header .gnav li.strength a,
#js-service header .gnav li.service a,
#js-case header .gnav li.case a,
#js-flow header .gnav li.flow a,
#js-company header .gnav li.company a {
  background-color: #FFFFFF;
}

footer {
  padding: 30px 0 0;
  background-color: #F2F2F2;
  border-top: solid 42px #E6E6E6;
  border-bottom: solid 5px #082E89;
}
footer .ct {
  position: relative;
}
footer .ct .pagetop {
  position: absolute;
  top: -106px;
  left: 405px;
}
footer .address {
  float: left;
  width: 390px;
  padding: 20px 0 0;
}
footer .address .logo {
  margin: 0 0 35px;
}
footer .address p {
  font-size: 107%;
}
footer .fnav {
  float: right;
  width: 570px;
  letter-spacing: -0.05em;
  margin-bottom: 20px;
}
footer .fnav .menu {
  float: left;
  width: 165px;
}
footer .fnav .menu li {
  margin-bottom: 5px;
  padding-left: 20px;
  background-image: url("/img/common/footer-ico-ct.png");
  background-position: 0 40%;
  background-repeat: no-repeat;
}
footer .fnav .service {
  float: right;
  width: 405px;
}
footer .fnav .service dt {
  margin-bottom: 5px;
  padding-left: 20px;
  background-image: url("/img/common/footer-ico-ct.png");
  background-position: 0 40%;
  background-repeat: no-repeat;
}
footer .fnav .service dd {
  float: left;
  width: 275px;
  margin-bottom: 5px;
  padding-left: 33px;
  background-image: url("/img/common/footer-ico-arrow.png");
  background-position: 20px 40%;
  background-repeat: no-repeat;
}
footer .fnav .service dd.right {
  float: left;
  width: 60px;
  padding-left: 18px;
  background-position: 5px 40%;
}
footer .copy {
  padding: 15px 0;
  background-color: #ffffff;
  border-top: solid 1px #E6E6E6;
  font-size: 86%;
  color: #404040;
}

.pickupWrap {
  padding: 60px 0 55px;
  background-color: #E6E6E6;
  border-top: dotted 1px #082E89;
}
.pickupWrap ul {
  width: 962px;
  margin: 0 auto;
}
.pickupWrap .partner {
  float: left;
  width: 487px;
}
.pickupWrap .recruit {
  float: right;
  width: 475px;
}

#js-home .pickupWrap {
  border-top: none;
}

.contactWrap {
  padding: 55px 0 90px;
  background-image: url("/img/common/bg-contact.jpg");
  background-position: center 0;
  background-repeat: repeat-x;
  background-color: #F2F2F2;
  color: #ffffff;
}
.contactWrap .catch {
  text-align: center;
}
.contactWrap .catch dd {
  font-size: 107%;
  padding: 15px 0 30px;
}
.contactWrap ul {
  width: 790px;
  margin: 0 auto;
}
.contactWrap .tel {
  float: left;
  width: 414px;
}
.contactWrap .tel dd {
  text-align: center;
  padding: 5px 0 0;
}
.contactWrap .bt {
  float: right;
  width: 376px;
}

/*
 * 下層ページ共通
 */

.underlayer-mainWrap {
  background-image: url("/img/common/bg-underlayer-main.png");
  background-position: 0 0;
  background-repeat: repeat;
}
.underlayer-mainWrap .title {
  width: 960px;
  height: 180px;
  margin: 0 auto;
  padding: 10px 0;
  background-position: 0 10px;
  background-repeat: no-repeat;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

#js-strength .underlayer-mainWrap .title {
  background-image: url("/img/strength/img-main.jpg");
}

#js-service .underlayer-mainWrap .title {
  background-image: url("/img/service/img-main.jpg");
}

#js-case .underlayer-mainWrap .title {
  background-image: url("/img/case/img-main.jpg");
}

#js-flow .underlayer-mainWrap .title {
  background-image: url("/img/flow/img-main.jpg");
}

#js-company .underlayer-mainWrap .title {
  background-image: url("/img/company/img-main.jpg");
}

#js-contact .underlayer-mainWrap .title {
  background-image: url("/img/contact/img-main.jpg");
}

#js-recruit .underlayer-mainWrap .title {
  background-image: url("/img/recruit/img-main.jpg");
}
#js-privacy .underlayer-mainWrap .title {
  background-image: url("/img/privacy/img-main.jpg");
}

.breadcrumbs {
  margin: 0 0 40px;
  padding: 8px 0 8px;
  background-image: url("/img/common/bg-breadcrumbs.png");
  background-position: 0 0;
  background-repeat: repeat;
  font-size: 87%;
}
.breadcrumbs li {
  display: inline;
}
.breadcrumbs li span {
  margin: 0 2px 0 6px;
}
.breadcrumbs li strong {
  font-weight: normal;
}

.titleWrap {
  margin: 0 0 30px;
}
.titleWrap .title {
  margin: 0 0 20px;
}
.titleWrap .txt {
  line-height: 1.8;
}

.titleWrap.mb0 {
  margin: 0;
}
.titleWrap.mb0 .title {
  margin: 0;
}

.wrap {
  box-shadow: rgba(68, 68, 68, 0.1) 0px 0px 8px 2px;
  -webkit-box-shadow: rgba(68, 68, 68, 0.1) 0px 0px 8px 2px;
  -moz-box-shadow: rgba(68, 68, 68, 0.1) 0px 0px 8px 2px;
}

table {
  width: 100%;
  border-top: solid 1px #CCCCCC;
  border-left: solid 1px #CCCCCC;
}
table th,
table td {
  padding: 15px 30px;
  border-bottom: solid 1px #CCCCCC;
  border-right: solid 1px #CCCCCC;
  text-align: left;
  vertical-align: top;
}
table th {
  background-color: #E2E8F6;
  font-weight: normal;
}

input::-ms-clear {
  visibility: hidden;
}

input[type="text"] {
  width: 218px;
  margin: 0 5px 7px 0;
  padding: 5px;
  border: solid 1px #CCCCCC;
}

input.long {
  width: 468px;
}

textarea {
  resize: vertical;
  width: 468px;
  height: 188px;
  padding: 5px;
  border: solid 1px #CCCCCC;
}

input[type="submit"] {
  display: inline-block;
  width: 266px;
  height: 60px;
  padding: 0;
  background-position: 0 0;
  background-repeat: no-repeat;
  border: none;
  color: transparent;
  font-size: 0;
  cursor: pointer;
  outline: none;
}

input[type="submit"].confirm {
  background-image: url("/img/contact/img-bt.png");
}

input[type="submit"].send {
  background-image: url("/img/contact/btn_send.png");
}

@media screen and (max-width: 768px) {
	.contents {
		padding: 55px 0 0;
	}
	#js-privacy .underlayer-mainWrap .title {
		background-image: url("/img/sp/img-main_bg.png");
	}
	.underlayer-mainWrap .title {
		width: 100%;
		background-position: 20% 10px;
		position: relative;
	}
	.titleWrap p.sp {
		display: block;
		border-bottom: #022a8b 3px solid;
	}
	.titleWrap p.sp span {
		background: url("/img/sp/side_sp.png") 3% center no-repeat;
		padding: 0 0 0 30px;
		color: #022a8b;
		font-size: 24px;
	    font-weight: bold;
		display: block;
	}
	.underlayer-mainWrap .title span {
		width: 100%;
		height: auto;
		margin: 0 auto;
		padding: 26px 0;
		white-space: inherit;
		text-align: right;
		font-size: 25px;
		line-height: 1;
		text-indent: 0;
		color: #002a8b;
		display: block;
		position: absolute;
		top: 32%;
		right: 5%;
		text-shadow: #fff 1px 1px 0px, #fff -1px 1px 0px,
             #fff 1px -1px 0px, #fff -1px -1px 0px;
	}
}

/*
 * TOPページ
 */
.mainWrap {
  padding: 65px 0 69px;
  background-image: url("/img/top/bg-main.jpg");
  background-position: center 0;
  background-repeat: repeat-x;
}
.mainWrap .title {
  margin: 0 0 15px -15px;
}
.mainWrap .strength {
  width: 971px;
  margin: 0 auto 55px;
}
.mainWrap .strength li {
  float: left;
  width: 322px;
  height: 257px;
  background-position: 0 0;
  background-repeat: no-repeat;
}
.mainWrap .strength li h3 {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
.mainWrap .strength li .txt {
  width: 260px;
  margin: 125px auto 0;
  color: #ffffff;
  letter-spacing: -0.05em;
}
.mainWrap .strength .point1 {
  background-image: url("/img/top/img-strength1.png");
}
.mainWrap .strength .point2 {
  background-image: url("/img/top/img-strength2.png");
}
.mainWrap .strength .point3 {
  background-image: url("/img/top/img-strength3.png");
}
.mainWrap .bt {
  width: 480px;
  margin: 0 auto;
}

.serviceWrap {
  padding: 65px 0 53px;
  background-image: url("/img/top/bg-service.jpg");
  background-position: center 0;
  background-repeat: repeat-x;
}
.serviceWrap .ct {
  width: 910px;
  padding: 30px 25px 10px;
  background-color: rgba(255, 255, 255, 0.66);
  border: solid 1px #C0BBAC;
  text-align: center;
}
.serviceWrap .ct .title {
  font-size: 257%;
  line-height: 1.2;
  color: #0D0068;
}
.serviceWrap .ct .leadTxt {
  margin-bottom: 20px;
  color: #0D0068;
}
.serviceWrap .ct .list li {
  float: left;
  width: 166px;
  margin: 0 20px 25px 0;
}
.serviceWrap .ct .list li .ph {
  margin-bottom: 10px;
}
.serviceWrap .ct .list li h3 {
  font-size: 143%;
  color: #0D0068;
}
.serviceWrap .ct .list li h3.fs17 {
  font-size: 122%;
}
.serviceWrap .ct .list li h3.fs16 {
  font-size: 115%;
}
.serviceWrap .ct .list li .txt {
  font-size: 86%;
  margin-top: -5px;
  margin-bottom: 5px;
}
.serviceWrap .ct .list li.mr0 {
  margin-right: 0;
}
.serviceWrap .ct .list li a:hover{
    text-decoration:none;
}
.serviceWrap .ct .list li a:hover h3,
.serviceWrap .ct .list li a:hover .txt{
  filter: alpha(opacity=80);
  -moz-opacity: 0.8;
  opacity: 0.8;
}
.caseWrap {
  padding: 55px 0 55px;
  background-image: url("/img/top/bg-case.jpg");
  background-position: center 0;
  background-repeat: repeat-x;
}
.caseWrap .title {
  margin-bottom: 30px;
}
.caseWrap .leadTxt {
  margin-bottom: 50px;
}
.caseWrap .ct {
  position: relative;
}
.caseWrap .ct .listBt {
  position: absolute;
  top: 5px;
  right: 0px;
}
.caseWrap .slickWrap {
  width: 800px;
  margin: 0 auto 20px;
  padding: 0 0 0 20px;
}
.caseWrap .slickWrap .box {
  margin-right: 18px;
  background-color: #ffffff;
  border: solid 1px #DDDDDD;
}
.caseWrap .slickWrap .box dl {
  padding: 15px 10px 20px;
}
.caseWrap .slickWrap .box dt {
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: dotted 1px #000000;
  line-height: 0.9;
}
.caseWrap .slickWrap .box dt span {
  border-left: solid 4px #FFE300;
  margin-bottom: 5px;
  padding: 0 0 0 10px;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
	.mainWrap {
    	padding: 15px 0 69px;
		background-color: #5594bd;
	}
	.mainWrap .title {
		margin: 0;
		padding: 0 5%;
	}
	.mainWrap .title img {
		width: 100%;
		height: auto;
		margin: 5% 0;
	}
	.mainWrap .strength {
    	width: 90%;
    	padding: 0 5%;
	}
	.mainWrap .strength li {
    	float: none;
    	width: 100%;
		height: auto;
		padding: 0 0 22%;
	}
	.mainWrap .strength .point1,
	.mainWrap .strength .point2,
	.mainWrap .strength .point3 {
		background-size: 100%;
	}
	.mainWrap .strength li .txt {
	    margin: 38% auto 0;
	}
	.mainWrap .bt {
		width: 90%;
		padding: 0 5%;
	}
	.mainWrap .bt img {
		width: 100%;
		height: auto;
	}
	.serviceWrap {
	    background-repeat: repeat;
	}
	.serviceWrap .ct {
		width: 85%;
		padding: 5%;
	}
	.serviceWrap .ct .list {
		display: flex;
		flex-wrap: wrap;
		align-content: space-between;
	}
	.serviceWrap .ct .list li {
		float: none;
		width: 48%;
		margin: 0 10px 25px 0;
	}
	.serviceWrap .ct .list li.mr0 {
		margin: 0 10px 25px 0;
	}
	.serviceWrap .ct .list li:nth-child(2n) {
		margin: 0 0 25px 0;
	}
	.serviceWrap .ct .list li .ph img {
		width: 100%;
		height: auto;
	}
	.caseWrap .slickWrap {
    	width: 80%;
		padding: 0 5%;
	}
	.caseWrap .title img {
		margin: 0 0 0 5%;
	}
	.caseWrap .ct .listBt {
		right: 5%;
	}
	.caseWrap .seoTxt {
		padding: 0 5%;
	}
	.caseWrap .slickWrap .box {
		width: 244px !important;
	}
	.slick-slider .slick-track {
	    width: 2115px !important;
	}
	.slick-slide img {
		width: 100%;
		height: auto;
	}
}

/*
 * 当社の強み
 */
.detailStrength .box {
  padding: 30px 0 40px;
  border-bottom: solid 1px #CDCDCD;
  background-position: right 50%;
  background-repeat: no-repeat;
}
.detailStrength h4 {
  margin-bottom: 10px;
}
.detailStrength .txt {
  width: 500px;
  line-height: 1.8;
}

.detailStrength .point1 {
  background-image: url("/img/strength/img-point1-ph.jpg");
}

.detailStrength .point2 {
  background-image: url("/img/strength/img-point2-ph.jpg");
}

.detailStrength .point3 {
  border-bottom: none;
  background-image: url("/img/strength/img-point3-ph.jpg");
}

.wrap.detailStrength {
  margin: 0 0 80px;
  padding: 10px 50px;
}

@media screen and (max-width: 768px) {
	.wrap.detailStrength {
	    padding: 10px 5%;
		margin: 0 0 50px;
	}
	.detailStrength h4 img {
		width: 100%;
		height: auto;
	}
	.detailStrength .txt {
    	width: 100%;
	}
	.detailStrength .box {
		padding: 30px 0 220px;
		border-bottom: none;
		background-position: center bottom;
	}
	.detailStrength .box:first-child {
		padding: 0 0 220px;
	}
}

/*
 * 事業内容
 */
.detailServicePoint {
  margin: 0 0 60px;
  padding: 20px 10px 10px;
}
.detailServicePoint li {
  float: left;
  width: 312px;
  border-right: solid 1px #CCCCCC;
}
.detailServicePoint li h4 {
  text-align: right;
}
.detailServicePoint li .txt {
  padding: 15px 30px 10px 40px;
}
.detailServicePoint li.last {
  border-right: none;
}

.detailService {
  margin: 0 0 50px;
  padding: 30px 50px;
}
.detailService .title {
  margin: 0 0 25px;
}
.detailService .title.noImg {
  margin: 0;
}
.detailService .phWrap .left {
  float: left;
}
.detailService .phWrap .right {
  float: right;
}
.detailService .txtWrap .characteristic {
  border-bottom: solid 1px #CDCDCD;
}
.detailService .txtWrap li {
  padding: 30px 0 25px;
}
.detailService .txtWrap li dt {
  float: left;
  width: 136px;
}
.detailService .txtWrap li dd {
  float: right;
  width: 700px;
}
.detailService .bt {
  text-align: right;
}

.detailService.last {
  margin: 0 0 100px;
}

.detailService.noImg .title {
  margin: 0;
}

@media screen and (max-width: 768px) {
	.detailService {
		padding: 30px 5%;
		margin: 0;
	}
	.detailServicePoint li {
		float: none;
		width: 100%;
		border-right: none;
		border-bottom: 1px solid #ccc;
		margin: 20px 0 0;
	}
	.detailServicePoint li:first-child {
		margin: 0;
	}
	.detailServicePoint li:last-child {
		border-bottom: none;
	}
	.detailServicePoint li h4 {
    	text-align: center;
	}
	.detailServicePoint li .txt {
    	padding: 15px 30px;
	}
	.serviceh4_sp span {
		background: url("../../img/sp/side_sp01.png") left center no-repeat;
		padding: 0 0 0 55px;
		color: #022a8b;
		font-size: 24px;
	    font-weight: bold;
		display: block;
	}
	.serviceh4_sp {
		display: block;
		border-bottom: #022a8b 3px dotted;
	}
	.detailService .phWrap .left,
	.detailService .phWrap .right {
	    float: none;
	}
	.detailService .phWrap img {
		width: 100%;
		height: auto;
		margin: 0 0 10px;
	}
	.detailService .phWrap {
		margin: 10px 0 0;
	}
	.detailService .txtWrap li dt {
		float: none;
		width: 100%;
	}
	.detailService .txtWrap li dd {
		float: none;
		width: 100%;
		margin: 10px 0 0;
	}
	.detailService .bt {
		text-align: center;
	}
	.detailService.last {
		margin: 0;
	}
}

/*
 * 施行事例
 */
.detailCase {
  margin: 0 0 50px 20px;
}
.detailCase li {
  position: relative;
  float: left;
  width: 300px;
  height: 300px;
  margin: 0 10px 0 0;
  background-position: 0 0;
  background-repeat: no-repeat;
}
.detailCase li p {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 258px;
  margin: 0 1px;
  padding: 30px 20px;
  background-color: rgba(6, 44, 134, 0.7);
  font-size: 129%;
  color: #ffffff;
}
.detailCase .case1_2 {
	margin-top:20px;
}
.detailCase .case1 .left {
  background-image: url("/img/case/img-case1-ph1.jpg");
}
.detailCase .case1 .center {
  background-image: url("/img/case/img-case1-ph2.jpg");
}
.detailCase .case1 .right {
  background-image: url("/img/case/img-case1-ph3.jpg");
}
.detailCase .case1_2 .left {
  background-image: url("/img/case/img-case1-ph4.jpg");
}
.detailCase .case1_2 .center {
  background-image: url("/img/case/img-case1-ph5.jpg");
}
.detailCase .case1_2 .right {
  background-image: url("/img/case/img-case1-ph6.jpg");
}
.detailCase .case2 .left {
  background-image: url("/img/case/img-case2-ph1.jpg");
}
.detailCase .case2 .center {
  background-image: url("/img/case/img-case2-ph2.jpg");
}
.detailCase .case2 .right {
  background-image: url("/img/case/img-case2-ph3.jpg");
}
.detailCase .case3 .left {
  background-image: url("/img/case/img-case3-ph1.jpg");
}
.detailCase .case3 .center {
  background-image: url("/img/case/img-case3-ph2.jpg");
}
.detailCase .case3 .right {
  background-image: url("/img/case/img-case3-ph3.jpg");
}
.detailCase .case4 .left {
  background-image: url("/img/case/img-case4-ph1.jpg");
}
.detailCase .case4 .center {
  background-image: url("/img/case/img-case4-ph2.jpg");
}
.detailCase .case4 .right {
  background-image: url("/img/case/img-case4-ph3.jpg");
}
.detailCase .case5 .left {
  background-image: url("/img/case/img-case5-ph1.jpg");
}
.detailCase .case5 .center {
  background-image: url("/img/case/img-case5-ph2.jpg");
}
.detailCase .case5 .right {
  background-image: url("/img/case/img-case5-ph3.jpg");
}
.detailCase .ex .left {
  background-image: url("/img/case/img-case-phex.jpg");
}
.detailCase .ex .center {
  background-image: url("/img/case/img-case-phex.jpg");
}
.detailCase .ex .right {
  background-image: url("/img/case/img-case-phex.jpg");
}

.detailCase.last {
  margin: 0 0 100px 20px;
}

@media screen and (max-width: 768px) {
	.detailCase {
		margin: 0 0 50px;
		width: 100%;
	}
	.detailCase li {
		float: none;
		width: 80%;
		margin: 0 auto 5%;
	}
	
	.detailCase li p {
		width: 86%;
	}
	.detailCase .case1_2 {
		margin: 0;
	}
	.detailCase.last {
		margin: 0 0 100px;
	}
}

/*
 * ご契約の流れ
 */
.detailFlow {
  margin: 0 0 100px 0;
  padding: 55px 50px 55px;
}
.detailFlow li .ph {
  float: left;
  padding: 4px;
  border: solid 1px #DFDFDF;
}
.detailFlow li .box {
  float: right;
  width: 538px;
  border-top: dotted 1px #CCCCCC;
}
.detailFlow li .box .bg {
  padding: 25px;
  background-color: #F3F4FA;
  border-top: solid 1px #ffffff;
}
.detailFlow li .box h4 {
  margin: 0 0 15px;
  background-position: 0 0;
  background-repeat: no-repeat;
  font-size: 230%;
  font-weight: bold;
  color: #002A8B;
  line-height: 1;
  letter-spacing: -0.05em;
}
.detailFlow li .box h4 span {
  padding: 0 0 0 148px;
}
.detailFlow li .box h4 em.letterSpacing {
  letter-spacing: -0.3em;
}
.detailFlow li .box h4:before {
  height: 100%;
  vertical-align: middle;
  width: 0px;
  display: inline-block;
}
.detailFlow li .box .txt {
  margin: 0 0 4px;
  line-height: 1.8;
}
.detailFlow li .step1 h4:before {
  content: url("/img/flow/img-step1-icon.png");
}
.detailFlow li .step2 h4:before {
  content: url("/img/flow/img-step2-icon.png");
}
.detailFlow li .step3 h4:before {
  content: url("/img/flow/img-step3-icon.png");
}
.detailFlow li .step4 h4:before {
  content: url("/img/flow/img-step4-icon.png");
}
.detailFlow li .step5 h4:before {
  content: url("/img/flow/img-step5-icon.png");
}
.detailFlow li .step6 h4:before {
  content: url("/img/flow/img-step6-icon.png");
}
.detailFlow li:after {
  content: url("/img/flow/img-step-arrow.png");
  width: 10px;
  margin: 0 auto;
  padding: 20px 0 15px;
}
.detailFlow li.last:after {
  content: "";
  padding: 0;
}

@media screen and (max-width: 768px) {
	.titleWrap .txt {
		margin: 10px 0 0;
		padding: 0 5%;
	}
	.detailFlow {
		padding: 0 5%;
		margin: 0 0 50px 0;
	}
	.wrap {
		box-shadow: none;
	}
	.detailFlow li .ph {
    	float: none;
	}
	.detailFlow li .ph img {
    	width: 100%;
		height: auto;
	}
	.detailFlow li .box {
		float: none;
		width: 100%;
		border: none;
		margin: 10px 0 0;
	}
	.detailFlow li .box h4 span {
		padding: 10px 0 0;
		display: block;
		font-size: 24px;
	}
	.detailFlow li .box .bg {
		min-height: inherit!important;
	}
	.detailFlow li .box .txt {
		min-height: inherit!important;
	}
}

/*
 * 会社概要
 */
.detailGreeting {
  position: relative;
  min-height: 350px;
  margin: 0 0 60px;
  padding: 0 440px 0 0;
  background-image: url("/img/company/img-ph.jpg");
  background-position: right 0;
  background-repeat: no-repeat;
}
.detailGreeting dt {
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 0 440px 0 0;
}
.detailGreeting dt .fs18 {
  font-size: 129%;
}
.detailGreeting dt .fs20 {
  font-size: 143%;
}
.detailGreeting dd {
  width: 520px;
  word-wrap: break-word;
  overflow-wrap: break-word;
  line-height: 1.8;
}

.detailCompany {
  margin: 0 0 130px;
}
.detailCompany table th {
  width: 110px;
}

#js-googleMap {
  width: 707px;
  height: 400px;
  margin-bottom: 10px;
}

.detailCompany iframe {
  width: 707px;
  height: 400px;
  margin-bottom: 10px;
}

.greeting {
	margin-bottom:60px;
}

.greeting .txtBox {
	width: 670px;
}

.greeting .txtBox .name {
	padding-top:15px;
	text-align:right;
}

.greeting .txtBox .name span {
	font-size: 20px;
}

.greeting .txtBox p {
	margin:0 0 15px 0 ;
}

@media screen and (max-width: 768px) {
	.greeting img {
		display: block;
		width: 90%;
		height: auto;
		padding: 0 5%;
		margin: 0 0 10%;
	}
	.greeting .txtBox {
		width: 90%;
		padding: 0 5%;
	}
	.detailCompany {
		padding: 0 5%;
	}
	#js-googleMap {
		width: 90%;
		height: 150px;
	}
	.detailCompany iframe {
		width: 100%;
		height: 200px;
	}
}

/*
 * お問い合わせ
 */
.detailContact {
  min-height: 333px;
  margin: 0 0 50px;
  background-image: url("/img/contact/img-ph.jpg");
  background-position: right 0;
  background-repeat: no-repeat;
}
.detailContact .txt {
  padding: 20px 0 15px;
}
.detailContact .attention {
  width: 500px;
  padding: 20px 30px 20px;
  background-color: #FEFFF4;
  border: solid 1px #EAEAEA;
}
.detailContact .attention dt {
  margin: 0 0 10px;
  font-size: 143%;
  font-weight: bold;
  color: #AE9300;
}
.detailContact .attention li {
  margin: 0 0 4px;
  text-indent: -1em;
  padding-left: 1em;
  letter-spacing: -0.05em;
}
.detailContact .attention li:before {
  content: "・";
}

.detailContactForm {
  margin: 0 0 100px;
}
.detailContactForm .txt {
  margin-bottom: 15px;
}
.detailContactForm .required:before,
.detailContactForm .any:before {
  margin: 0 12px 0 0;
  padding: 1px 5px;
  font-size: 86%;
  color: #ffffff;
  line-height: 1;
}
.detailContactForm .required.mr5:before {
  margin-right: 5px;
}
.detailContactForm .required:before {
  content: "必須";
  background-color: #BA242B;
}
.detailContactForm .any:before {
  content: "任意";
  background-color: #062C87;
}
.detailContactForm table {
  margin: 0 0 30px;
}
.detailContactForm table th {
  width: 260px;
}
.detailContactForm table td {
  padding-bottom: 10px;
}
.detailContactForm .bt {
  text-align:center;
}

.detailContactForm .bt img,
.detailContactForm .bt input {
  margin:0 10px;
}

.detailContactForm .error{
    padding:5px;
    background:#fee;
    color:#f00;
    font-weight:bold;
}

.formComplete{
    margin:0 0 40px;
}

.formComplete p{
    margin:0 0 1em;
}

.formComplete .contact{
    margin:30px 0 0 0;
    padding:20px;
    background:rgba(2,42,139,.1);
}


/*
 * 採用情報
 */
.detailRecruitLead {
  margin-bottom: 55px;
}
.detailRecruitLead dt {
  margin-bottom: 20px;
}
.detailRecruitLead dd {
  line-height: 1.8;
}

.detailRecruit table {
  margin-bottom: 20px;
}
.detailRecruit table th {
  text-align: center;
  vertical-align: middle;
}
.detailRecruit table td {
  line-height: 1.8;
}
.detailRecruit .contact {
  margin-bottom: 55px;
  border: solid 1px #BA242B;
  text-align: center;
}
.detailRecruit .contact dt {
  margin-bottom: 20px;
  padding: 20px 0 17px;
  background-color: #CF656A;
  font-size: 214%;
  font-weight: bold;
  color: #ffffff;
}
.detailRecruit .contact .tel {
  margin-bottom: 15px;
}
.detailRecruit .contact .txt {
  margin-bottom: 25px;
  font-size: 129%;
}

@media screen and (max-width: 768px) {
	.detailRecruit {
		padding: 0 5%;
	}
	.detailRecruitLead dt img {
		width: 100%;
		height: auto;
	}
	.detailRecruitLead dd {
    	padding: 0 5%;
	}
	.detailRecruit .contact dt {
	    font-size: 20px;
	}
	.detailRecruit .contact .tel img {
		width: 80%;
	}
}

/*
 * プライバシーポリシー
 */
.detailPrivacy {
  margin: 0 0 100px 0;
  padding: 55px 50px 55px;
}
.detailPrivacy .title{
	line-height: 1.1;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 2px solid #9EBFE0;
    color: #022A8B;
    font-size: 125%;
}
.detailPrivacy .txt{
	margin: 0 0 1em 10px;
}
@media screen and (max-width: 768px) {
	.titleWrap h4 {
		padding: 5% 5% 0;
	}
	.detailPrivacy {
		margin: 0 0 0 0;
		padding: 0 5% 5%;
	}
	.detailPrivacy .txt {
		margin: 0 0 1em 0;
	}
}

/*-----------------------------------------------
LP /180724_sasabe
-----------------------------------------------*/

 /* mv
 */
.mv {
    background: url(../img/lp/mv_bg01.png) no-repeat bottom center;
    background-size: cover;
    text-align: center;
    height: 660px;
    border-left: none;
    border-right: none;
}
.mv .inner {
    background: url(../img/lp/mv_bg02.png) no-repeat right bottom;
    background-size: 353px auto;
    height: 660px;
    width: 960px;
}
.mv h1 {
    text-align: left;
    padding: 20px 0 0;
    font-size: 24px;
    font-weight: bold;
    font-style: italic;
    color: #fff;
    text-shadow: 2px 2px 1px #000;
}
.mvImg {
    text-align: left;
    padding-top: 140px;
}
@media screen and (max-width: 768px) {
    .mv {
        background: url(../img/lp/mv_bg01.png) no-repeat bottom center;
        height: auto;
        padding: 0;
        background-size: cover;
    }
    .mv .inner {
        background: url(../img/lp/mv_bg02.png) no-repeat right bottom;
        background-size: 140px auto;
        height: auto;
        width: 100%;
    }
    .mv h1 {
        padding: 2% 2% 0;
        font-size: 14px;
    }
    .mvImg {
        padding: 16% 15% 16% 5%;
        margin: 0;
    }
    .mvImg img {
        width: 80%;
    }
}

/*
 * sec01
 */
.sec01 .box01 {
    background: url(../img/lp/sec01_ttl.png) no-repeat center #fff;
    width: 100%;
    height: auto;
    background-size: auto 300px;
}
.sec01 .box01 .ttl {
    position: relative;
    max-width: 780px;
    width: 100%;
    margin: 0 auto;
    text-align: center;
    padding: 90px 0 50px;
    line-height: 1;
}
.sec01 .box01 .ttl .ttl01 {
    display: inline-block;
    float: left;
    padding-right: 23px;
    font-size: 40px;
    font-weight: bold;
    line-height: 1.6;
    letter-spacing: 2px;   
}
.sec01 .box01 .ttl .ttl02 {
    display: block;
    position: absolute;
    top: 100px;
    right: 30px;
    margin-bottom: 20px;
    padding: 6px 14px 5px;
    width: 330px;
    font-size: 18px;
    font-weight: bold;
    color: #113585;
    border: 1px solid #113585;
}
.sec01 .box01 .ttl .ttl03 {
    display: inline-block;
    float: left;
    font-size: 40px;
    font-weight: bold;
    letter-spacing: 6px;
}
.sec01 .box01 .ttl .num {
    display: inline-block;
    font-size: 160px;
    font-weight: bold;
    color: #113585;
    line-height: 0.8;
}
.sec01 .box01 .ttl .pt {
    font-size: 70px;
    font-weight: bold;
}
.sec01 .box02 {
    background-position: 0 bottom;
    background-size: 100% auto;
    margin-bottom: -29.5em;
    padding-bottom: 29.5em;
    background-attachment: fixed;
}
.sec01 img {
    height: auto;
    width: 100%;
    min-height: 388px;
}
.sec01 .ul01 {
    display: flex;
    flex-wrap: wrap;
}
.sec01 .ul01 li {
    position: relative;
    border-top: 2px solid #113585;
}
.sec01 .ul01 li:nth-child(2),
.sec01 .ul01 li:nth-child(3),
.sec01 .ul01 li:nth-child(6),
.sec01 .ul01 li:nth-child(7) {
    width: 60%;
}
.sec01 .ul01 li:nth-child(1),
.sec01 .ul01 li:nth-child(4),
.sec01 .ul01 li:nth-child(5),
.sec01 .ul01 li:nth-child(8) {
    width: 40%;
}
.sec01 .ul01 li:nth-child(1),
.sec01 .ul01 li:nth-child(3) {
    overflow: hidden;
}
.sec01 .ul01 li .box0203Wrap {
    /*-webkit-clip-path: polygon(25% 0%, 100% 0%, 100% 100%, 0% 100%);
    clip-path: polygon(10% 0%, 100% 0%, 100% 100%, 0% 100%);*/
    background: #e7eaf3;
}
.sec01 .ul01 li .box0204Wrap {
    -webkit-clip-path: polygon(0 0, 75% 0, 100% 100%, 0% 100%);
    clip-path: polygon(0 0, 90% 0, 100% 100%, 0% 100%);
    background: #fff;
    float: right;
}
.sec01 .ul01 .box0201,
.sec01 .ul01 .box0202 {
    display: block;
    z-index: -10;
    position: absolute;
    width: 100%;
    min-width: 750px;
    min-height: 345px;
    right: 0;
    top: 0;
}
.sec01 .ul01 .box0201 {
    background: #e8eaf4;
}
.sec01 .ul01 .box0202 {
    background: #fff;
}
.sec01 .ul01 .box0203,
.sec01 .ul01 .box0204 {
    display: block;
    width: 635px;
    height: 288px;
}
.sec01 .ul01 .box0203 {
    padding: 100px 20px 0 7%;
    height: 288px;
    width: 635px;
    margin: 0;
    z-index: 10;
    position: relative;
}
.sec01 .ul01 .box0204 {
    padding: 100px 50px 0 2%;
    height: 288px;
    max-width: 635px;
    z-index: 10;
    position: relative;
}
.sec01 .ul01 .box020301,
.sec01 .ul01 .box020401 {
    font-size: 114px;
    line-height: 1;
    margin: 0 0 0 -10px;
    /*z-index: 10;*/
    position: relative;
    color: #113585;
    letter-spacing: -4px;
}
.sec01 .ul01 .box020301 p,
.sec01 .ul01 .box020401 p {
    display: inline-block;
    font-size: 40px;
    font-weight: bold;
    letter-spacing: 0;
}
.sec01 .ul01 .box020301 p span,
.sec01 .ul01 .box020401 p span {
    display: inline-block;
    margin-bottom: 20px;
    padding: 6px 8px 4px;
    font-size: 18px;
    font-weight: normal;
    color: #fff;
    background: #113585;
}
.sec01 .box02 .txt01 {
    padding-left: 130px;
}
@media screen and (max-width: 768px) {
    .sec01 .box01 {
        width: 100%;
        height: unset;
        background: unset;
    }
    .sec01 .box01 .ttl {
            position: relative;
        width: 100%;
        margin: 0 auto;
        text-align: center;
        padding: 8% 0 5%;
    }
    .sec01 .box01 .ttl .ttl01 {
        display: block;
        float: unset;
        padding-right: 0;
        font-size: 22px;
        line-height: 1.2;
    }
    .sec01 .box01 .ttl .ttl02 {
        position: relative;
        top: 0;
        right: 0;
        margin: 0 auto 2%;
        padding: 2% 2% 1%;
        max-width: 280px;
        width: 100%;
        font-size: 16px;
        font-weight: normal;
        color: #fff;
        border: 1px solid #113585;
        background: #113585;
    }
    .sec01 .box01 .ttl .ttl03 {
        display: block;
        float: unset;
        font-size: 22px;
        letter-spacing: 1px;
        line-height: 1;
        padding: 2% 0 0;
    }
    .sec01 .box01 .ttl .num {
        font-size: 65px;
    }
    .sec01 .box01 .ttl .pt {
        font-size: 40px;
    }
    .sec01 .box02 {
        background-position: 0 bottom;
        background-size: 100% auto;
        margin-bottom: -29.5em;
        padding-bottom: 29.5em;
        background-attachment: fixed;
    }
    .sec01 img {
        height: auto;
        width: 100%;
    }
    .sec01 .ul01 {
        width: 100%;
    }
    .sec01 .ul01 li:nth-child(1),
    .sec01 .ul01 li:nth-child(5),
    .sec01 .ul01 li:nth-child(6),
    .sec01 .ul01 li:nth-child(8) {
        border-top: 0;
    }
    .sec01 .ul01 li:nth-child(8) {
        border-bottom: 3px solid #113585;
    }
    .sec01 .ul01 li:nth-child(2),
    .sec01 .ul01 li:nth-child(3),
    .sec01 .ul01 li:nth-child(6),
    .sec01 .ul01 li:nth-child(7),
    .sec01 .ul01 li:nth-child(1),
    .sec01 .ul01 li:nth-child(4),
    .sec01 .ul01 li:nth-child(5),
    .sec01 .ul01 li:nth-child(8) {
        width: 100%;
    }
    .sec01 .ul01 li .box0203Wrap {
        -webkit-clip-path: unset;
        clip-path: unset;
        background: #e7eaf3;
    }
    .sec01 .ul01 li .box0204Wrap {
        -webkit-clip-path: unset;
        clip-path: unset;
        background: #fff;
    }
    .sec01 .ul01 .box0201,
    .sec01 .ul01 .box0202 {
        display: none;
    }
    .sec01 .ul01 .box0201 {
        background: #e8eaf4;
    }
    .sec01 .ul01 .box0202 {
        background: #fff;
    }
    .sec01 .ul01 .box0203,
    .sec01 .ul01 .box0204 {
        display: block;
        width: 100%;
        height: auto;
        padding: 0 0 5%;
    }
    .sec01 .ul01 .box0203 {
        height: auto;
        width: 100%;
        margin: 0;
        z-index: 10;
        position: relative;
    }
    .sec01 .ul01 .box0204 {
        height: auto;
        max-width: 100%;
        margin: 0;
        z-index: 10;
        position: relative;
    }
    .sec01 .ul01 .box020301,
    .sec01 .ul01 .box020401 {
        font-size: 80px;
        line-height: 1;
        margin: 0 auto;
        position: relative;
        color: #113585;
        letter-spacing: -4px;
        text-shadow: 2px 2px 0 #fff;
        text-align: center;
    }
    .sec01 .ul01 .no01::before,
    .sec01 .ul01 .no02::before,
    .sec01 .ul01 .no03::before,
    .sec01 .ul01 .no04::before {
        content: "";
        display: block;
        height: 30vw;
    }
    .sec01 .ul01 .no01::before {
        background: url(../img/lp/sec01_img1.png) no-repeat center/140%;
    }
    .sec01 .ul01 .no02::before {
        background: url(../img/lp/sec01_img2.png) no-repeat center/140%;
    }
    .sec01 .ul01 .no03::before {
        background: url(../img/lp/sec01_img3.png) no-repeat center/140%;
    }
    .sec01 .ul01 .no04::before {
        background: url(../img/lp/sec01_img4.png) no-repeat center/140%;
    }
    .sec01 .ul01 .box020301 p,
    .sec01 .ul01 .box020401 p {
        font-size: 32px;
        width: 68%;
        padding-left: 2%;
        line-height: 1.2;
        text-align: left;
    }
    .sec01 .ul01 .box020301 p span,
    .sec01 .ul01 .box020401 p span {
        display: block;
        margin: 4% 0;
        padding: 3% 6% 2%;
        font-size: 16px;
        color: #fff;
        background: #113585;
        text-shadow: none;
        width: auto;
        text-align: center;
    }
    .sec01 .box02 .txt01 {
        padding: 2% 5% 0;
        font-size: 16px;
    }
}

/*
 * sec02
 */
.sec02.fixedArea {
    width: 100%;
    text-align: center;
    margin: 0;
    background: url(../img/lp/sec02_img.png) no-repeat center -100px;
    background-attachment: fixed;
    background-size: cover;
}
.sec02.fixedArea p {
    padding: 170px 0 180px;
    font-size: 54px;
    color: #fff;
    line-height: 1;
    text-shadow: 1px 4px 3px #333;
}
.sec02.fixedArea p em {
    color: #fedf32;
}
.sec02.fixedArea p span {
    font-size: 18px;
}
@media screen and (max-width: 768px) {
    .sec02.fixedArea {
        width: auto;
        margin: 0;
        background: url(../img/lp/sec02_img.png) no-repeat left 40% center;
        background-attachment: unset;
        padding: 0 5%;
        background-size: 170%;
    }
    .sec02.fixedArea p {
        padding: 25% 0 15%;
        font-size: 30px;
        color: #fff;
        line-height: 1.1;
        text-shadow: 1px 4px 3px #333;
        font-weight: bold;
    }
    .sec02.fixedArea p span {
        font-size: 16px;
        display: block;
        line-height: 1.2;
        padding-top: 6%;
        font-weight: normal;
    }

}

/*
 * sec03
 */
.sec03 {
    margin: 0 auto;
    padding: 120px 0;
    width: 1200px;
}
.sec03 .ttl {
    text-align: center;
}
.sec03 .ttl h2 {
    display: inline-block;
    margin:0 auto 25px;
    font-size: 40px;
    border-bottom: 2px solid #333;
}
.sec03 .ttl p {
    font-size: 16px;
    margin-bottom: 75px;
}
.sec03 .box01 {
    position: relative;
    background: url(../img/lp/sec03_img1.png) no-repeat left -40px top;
    height: 606px;
}
.sec03 .box01 .msg {
    display: inline-block;
    position: absolute;
    top: 30px;
    right: 0;
    background: #ffffffc4;
    padding: 100px 90px 90px;
    border: 2px solid #113585;
    width: 600px;
}
.sec03 .box01 .msg p.msg01 {
    margin-bottom: 40px;
}
.sec03 .box01 h3 {
    font-size: 30px;
    color: #113583;
    font-weight: bold;
    line-height: 1;
    display: block;
    padding-bottom: 4%;
}

@media screen and (max-width: 768px) {
    .sec03 {
        padding: 12% 0;
        width: 100%;
    }
    .sec03 .ttl h2 {
        margin: 0 auto 4%;
        font-size: 30px;
    }
    .sec03 .ttl p {
        margin-bottom: 8%;
    }
    .sec03 .box01 {
        background: none;
        height: unset;
    }
    .sec03 .box01 img {
        width: 100%;
        display: block;
    }
    .sec03 .box01 .msg {
        display: block;
        position: unset;
        padding: 0;
        width: auto;
        margin: 0 5%;
        border: 0;
        background: unset;
    }
    .sec03 .box01 .msgbox  {
        border: 2px solid #113585;
        padding: 8% 4%;
        background: #fff;
        font-size: 16px;
        margin-bottom: 5%;
    }
    .sec03 .box01 .msg p.msg01 {
        margin-bottom: 0;
    }
    .sec03 .box01 h3 {
        font-size: 20px;
        line-height: 1.2;
        display: block;
    }
}
/*
 * sec04
 */
.sec04 {
    margin: 0 auto;
    padding: 120px 0;
    width: 100%;
    background: url(../img/lp/sec04_bg.png) no-repeat left top/2977px 1984px;
    background-size: cover;
}
.sec04 .ttl {
    text-align: center;
}
.sec04 .ttl h2 {
    display: inline-block;
    margin:0 auto 25px;
    font-size: 40px;
    border-bottom: 2px solid #fff;
    color: #fff;
}
.sec04 .ttl p {
    font-size: 16px;
    margin-bottom: 75px;
    color: #fff;
}
.sec04 .comTable {
    width: 100%;
    border-left: 0;
}
.sec04 .comTable th {
    border-right: solid 1px #113585;
    border-left: 0;
    border-bottom: 1px solid #113585;
    padding: 0 25px;
    text-align: center;
    font-weight: bold;
    width: 20%;
    background-color: #e8eefb;
    vertical-align: middle;
}
.sec04 .comTable td {
    background: #fff;
    border-bottom: solid 1px #113585;
    border-right: 0;
    padding: 50px;
}
.sec04 .comTable tr:last-child th {
    border-bottom: 0;
}
.sec04 .comTable tr:last-child td {
    border-bottom: 0;
}
.sec04 .comTable p {
    padding-bottom: 28px;
}
.sec04 .comTable p:last-child {
    padding-bottom: 0;
}
.sec04 .comTable p span {
    font-weight: bold;
}
@media screen and (max-width: 768px) {
    .sec04 {
        padding: 12% 0;
    }
    .sec04 .inner {
        width: auto;
        padding: 0 5%;
    }
    .sec04 .ttl h2 {
        margin: 0 auto 4%;
        font-size: 30px;
    }
    .sec04 .ttl p {
        margin-bottom: 8%;
    }
    .sec04 .comTable {
        font-size: 16px;
    }
    .sec04 .comTable th {
        border-right: 0;
        border-bottom: 1px solid #113585;
        border-top: 1px solid #113585;
        padding: 5% 8%;
        width: auto;
        display: block;
    }
    .sec04 .comTable tr:first-child th {
        border-top: 0;
    }
    .sec04 .comTable tr:last-child th {
        border-bottom: 1px solid #113585;
    }
    .sec04 .comTable td {
        padding: 8% 5%;
        display: block;
        width: auto;
        border: 0;
    }
}
/*
 * sec05
 */
.sec05 {
    margin: 0 auto;
    padding: 120px 0;
    background: url(../img/lp/sec05_bg01.png) no-repeat left bottom, url(../img/lp/sec05_bg02.png) no-repeat right top;
}
.sec05 .ttl {
    text-align: center;
}
.sec05 .ttl h2 {
    display: inline-block;
    margin:0 auto 25px;
    font-size: 40px;
    border-bottom: 2px solid #333;
}
.sec05 .ttl p {
    font-size: 16px;
    margin-bottom: 75px;
}
.sec05 .box02 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 960px;
    text-align: center;
    font-weight: bold;
}
.sec05 dl {
    height: 194px;
    width: 194px;
    position: relative;
}
.sec05 dl:after {
    position: absolute;
    content: "";
    top: 50%;
    right: -45px;
    width: 20px;
    height: 20px;
    margin-top: -5px;
    background: url(../img/lp/sec05_ico.png) top left no-repeat;
    background-size: 17px 18px;
}
.sec05 dl.dl04:after {
    display: none;
}
.sec05 dt {
    line-height: 92px;
    text-align: center;
    font-size: 21px;
    font-weight: bold;
}
.sec05 .box02 span {
    font-size: 38px;
}
.sec05 dd {
    color: #fff;
    font-weight: bold;
    font-size: 31px;
    letter-spacing: 1px;
}
.sec05 dl.dl01 {
    background: url(../img/lp/sec05_s01.png) no-repeat center/194px 194px;
}
.sec05 dl.dl02 {
    background: url(../img/lp/sec05_s02.png) no-repeat center/194px 194px;
}
.sec05 dl.dl03 {
    background: url(../img/lp/sec05_s03.png) no-repeat center/194px 194px;
}
.sec05 dl.dl04 {
    background: url(../img/lp/sec05_s04.png) no-repeat center/194px 194px;
}
.sec05 .dl01 dt {
    color: #5871a9;
}
.sec05 .dl02 dt {
    color: #415d9d;
}
.sec05 .dl03 dt {
    color: #284991;
}
.sec05 .dl04 dt {
    color: #113585;
}
.sec05 .dl01 dd {
    line-height: 2.5;
}
.sec05 .dl01 dd span {
    position: absolute;
    top: 75px;
    left: 5px;
    width: 100%;
    font-size: 17px;
    font-weight: normal;
}

@media screen and (max-width: 768px) {
    .sec05 {
        padding: 12% 0;
        background:  url(../img/lp/sec05_bg01.png) no-repeat left bottom/ 50% auto, url(../img/lp/sec05_bg02.png) no-repeat right top/50% auto;
    }
    .sec05 .ttl {
        text-align: center;
    }
    .sec05 .ttl h2 {
        margin: 0 auto 6%;
        font-size: 30px;
    }
    .sec05 .ttl p {
        margin-bottom: 8%;
    }
    .sec05 .box02 {
        width: 100%;
        text-align: center;
        font-weight: bold;
    }
    .sec05 dl {
        height: auto;
        width: 40%;
        position: relative;
        margin: 0 auto;
    }
    .sec05 dl:after {
        right: -20%;
    }
    .sec05 dl.dl02:after, 
    .sec05 dl.dl04:after {
        display: none;
    }
    .sec05 dt {
        line-height: 75px;
        font-size: 20px;
    }
    .sec05 .box02 span {
        font-size: 30px;
    }
    .sec05 dd {
        font-size: 24px;
        height: 90px;
    }
    .sec05 dl.dl01,
    .sec05 dl.dl02,
    .sec05 dl.dl03,
    .sec05 dl.dl04 {
        background-size: contain;
    }
    .sec05 .dl01 dd {
        line-height: 1.2;
    }
    .sec05 .dl01 dd span {
        position: unset;
        font-size: 16px;
        display: block;
    }
}
/*
 * sec06
 */
.sec06 {
    width: 100%;
    text-align: center;
    margin: 0;
    background: url(../img/lp/sec06_bg.png) no-repeat center top;
    background-size: cover;
    color: #fff;
}
.sec06 h2 {
    padding: 160px 0 10px;
    font-size: 36px;
    line-height: 1.8;
    font-weight: bold;
    text-shadow: 1px 4px 3px #041c52;
}
.sec06 p {
    font-size: 18px;
    padding: 0 0 170px;
    display: block;
    background: url(../img/lp/sec06_ico.png) no-repeat center top 120px;
}
@media screen and (max-width: 768px) {
    .sec06 h2 {
        padding: 15% 5% 8%;
        font-size: 22px;
        line-height: 1.5;
    }
    .sec06 p {
        font-size: 16px;
        padding: 0 4% 25%;
        background: url(../img/lp/sec06_ico.png) no-repeat center top 120px;
        line-height: 1.4;
    }
}
/*
 * cv
 */
.cv {
    margin: 0 auto;
    padding: 98px 0;
    background: url(../img/lp/cv_bg.png) no-repeat center top;
    background-size: cover;
    text-align: center;
}
.cv a:hover {
    text-decoration: none;
}
.cv .box01 {
    background: #ffffffd4;
    width: 1200px;
    margin: 0;
    padding: 50px 0 60px;
}
.cv .txt01 {
    padding: 0 0 25px;
    text-align: center;
    font-size: 40px;
    font-weight: bold;
    letter-spacing: 1px;
    line-height: 1;
}
.cv .txt01 span {
    color: #113585;
}
.cv .txt02 {
    padding: 0 0 30px;
}
.cv .left {
    float: left;
    display: inline-block;
    width: 44%;
    margin-left: 70px;
}
.cv .txt03 {
    background: #113585;
    color: #fff;
    display: inline-block;
    font-size: 26px;
    padding: 10px 52px;
    margin-bottom: 28px;
    line-height: 1;
}
.cv .left a {
    display: block;
    font-size: 60px;
    font-weight: bold;
    line-height: 1;
    background: url(../img/lp/cv_tel.png) no-repeat left 30px center/40px;
    padding-left: 40px;
    letter-spacing: -4px;
}
.cv .right {
    float: right;
    display: inline-block;
    width: 44%;
    margin-right: 70px;
}
.cv .comLinkBtn02 a {
    margin: 7px 0 0;
}
@media screen and (max-width: 768px) {
    .cv img {
        width: 100%;
    }
    .cv {
        padding: 12% 5%;
    }
    .cv a:hover {
        text-decoration: none;
    }
    .cv .box01 {
        width: auto;
        padding: 8% 4%;
    }
    .cv .txt01 {
        font-size: 26px;
        line-height: 1.4;
        padding: 0;
    }
    .cv .txt01 span {
        color: #113585;
    }
    .cv .txt02 {
        font-size: 14px;
        text-align: left;
        margin: 4% 0;
        padding: 0;
    }
    .cv .left {
        float: unset;
        display: block;
        width: 100%;
        margin-left: 0;
    }
    .cv .txt03 {
        display: block;
        font-size: 16px;
        margin: 0 0 2%;
        padding: 3% 0;
    }
    .cv .left a {
        font-size: 40px;
        background: url(../img/lp/cv_tel.png) no-repeat left top/33px;
        margin-bottom: 6%;
        padding-left: 30px;
    }
    .cv .right {
        float: unset;
        width: 100%;
        display: block;
        margin-right: 0;
    }
    .cv .comLinkBtn02 a {
        margin: 7px 0 0;
    }
}

/*
 * official common:　仮
 */
@media screen and (max-width: 768px) {
    .spMenu {
        position: absolute;
        top: 5px;
        right: 5px;
    }
    .spMenu li {
        background: #112e89;
        width: 44px;
        display: inline-block;
    }
    .spMenu img {
        width: 100%;
    }
	header {
		position: fixed;
		z-index: 100;
	}
    header .gnav {
        display: none;
        float: none;
        position: absolute;
        width: 100%;
        background: rgba(255,255,255,.95);
        top: 55px;
        margin: 0;
        z-index: 10;
    }
    header .gnav ul {
        width: 100%;
        text-align: center;
    }
    header .gnav li {
        float: none;
        border-bottom: rgba(0,0,0,.1) 1px solid;
        border-right: 0;
    }
    header .gnav li a {
        display: block;
        padding: 4%;
        font-size: 16px;
        background: unset;
        background: url(/img/common/ico_sp_menu.png) no-repeat top 50% right 4%;
        background-size: 7px;
        text-indent: unset;
        width: auto;
        height: auto;
        font-weight: bold;
    }
    header .gnav li a span,
    header .gnav .btnContact {
        display: none;
    }
    header .headerTxt {
        display: none;
    }
    header .ct {
        width: 100%;
        background: rgba(255,255,255,.95);
        border-bottom: rgba(0,0,0,.1) 1px solid;
    }
    header .logo {
        float: none;
        padding: 10px 0 0 5px;
        height: 44px;
    }
    header .logo img {
        width: 170px;
        height: auto;
    }
    .pickupWrap {
        border-top: none;
        width: auto;
        margin: 0 auto;
        padding: 12% 5%;
    }
    .pickupWrap ul {
        margin: 0 auto;
        width: 100%;
        display: block;
    }
    .pickupWrap .partner {
        float: none;
        width: 100%;
        display: block;
    }
    .pickupWrap .recruit {
        float: none;
        width: auto;
        margin-top: 10px;
    }
    .pickupWrap .partner img,
    .pickupWrap .recruit img {
        width: auto;
        width: 90%;
        height: auto;
        margin: 0 5%;
    }
    .contactWrap {
        width: 100%;
        padding: 12% 0;
        background-size: cover;
    }
    .contactWrap .ct {
        width: auto;
        padding: 0 5%;
        margin: 0;
    }
    .contactWrap ul {
        width: 100%;
        margin: 0 auto;
    }
    .contactWrap .catch dt {
        background: #fff;
        color: #113585;
        font-weight: bold;
        font-size: 24px;
        padding: 2% 5% 1%;
        line-height: 1.4;
    }
    .contactWrap .catch dd {
        font-size: 14px;
        text-align: left;
        margin: 4% 0;
        padding: 0;
    }
    .contactWrap .tel img,
    .contactWrap .bt img {
        width: 100%;
        height: auto;
    }
    .contactWrap .tel dd {
        margin-bottom: 4%;
        font-size: 16px;
    }
    .contactWrap .tel {
        float: unset;
        width: 100%;
    }
    .contactWrap .bt {
        float: none;
        width: 100%;
    }
    footer {
        padding: 0;
        background-color: #f2f2f2;
        border-top: 0;
        border-bottom: solid 4px #082E89;
    }
    footer .fnav {
        display: none;
    }
    footer .ct {
        width: 100%;
    }
    footer .ct .pagetop {
        position: unset;
        top: 0;
        left: 0;
        width: 100%;
        margin: 0;
        padding: 0;
        background: #e6e6e6;
        text-align: center;
    }
    footer .ct .pagetop a {
        display: block;
        padding: 3% 0;
    }
    footer .ct .pagetop img {
        width: 20px;
        vertical-align: middle;
    }
    footer .address {
        float: unset;
        width: 100%;
        padding: 8% 0;
        text-align: center;
    }
    footer .address .logo {
        margin: 0 0 4%;
    }
}

/*
 * レスポンシブ　問い合わせ
 */
 
 @media screen and (max-width: 768px) {
	#js-contact  .underlayer-mainWrap .title {
		width: 100%;
		height: auto;
		margin: 0 auto;
		padding: 26px 0;
		background-image: none;
		white-space: inherit;
		text-align: center;
		font-size: 20px;
		line-height:1;
		text-indent:0;
	}
	.breadcrumbs {
		padding: 8px 3% 8px;
	}
	.ct {
		width: 100%;
		margin: 0 auto;
	}
	.titleWrap.mb0 .title {
		background: #122e89;
		color: #fff;
		font-size: 20px;
		padding: 10px 3% 6px;
		margin-bottom: 10px;
	}
	.detailContact .attention dt {
		font-size: 110%;
		padding-left: 3%;
	}
	.detailContact {
		min-height: auto;
		margin: 0 0 50px;
		padding: 0 3%;
		background-image: none;
	}
	.detailContact .attention {
		width: 94%;
		padding: 10px 3% 10px;
	}
	.detailContactForm {
    	margin: 0 0 60px;
	}
	.detailContactForm .txt {
		margin: 0 3% 15px;
	}
	table {
		border-left: none;
	}
	.detailContactForm table table,
	.detailContactForm table tr,
	.detailContactForm table th,
	.detailContactForm table td {
		width: 100%;
		display: block;
	}
	table th, table td {
		padding: 15px 3%;
		border-right: none;
		box-sizing:border-box;
	}
	input[type="text"] {
		width: 40%;
		padding: 8px 5px;
		font-size: 16px;
	}
	input.long {
		width: 90%;
		font-size: 16px;
		padding: 8px 5px;
	}
	
	textarea {
		resize: vertical;
		width: 90%;
		height: 200px;
		padding: 8px 5px;
	}
	.detailContactForm .bt input {
		margin: 10px;
	}
	.formComplete {
		margin: 0 3% 40px;
	}
}