@charset "UTF-8";
/* CSS Document */

.mv-sub {
	position: relative;
    margin-left: 120px;
    margin-bottom: 50px;
    border-bottom-left-radius: 25px;
    height: 480px;
    background: url(../img/top_mainview-1.jpg);
	background-size: cover;
}
.page-tit {
	color: var(--main-color);
    position: absolute;
    top: 390px;
    left: -30px;
    font-size: 50px;
	font-weight: 700;
text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff,
              -1px 1px 0 #fff, 1px -1px 0 #fff,
              0px 1px 0 #fff,  0 -1px 0 #fff,
              -1px 0 0 #fff, 1px 0 0 #fff;	
}
.tit_deco {
    margin: 0 0 60px 0;
    border-bottom: 2px solid var(--main-color);
}
.tit_deco:before {
    width: 100px;
    background: var(--main-color);
    height: 8px;
    display: block;
    margin: 0 0 -70px 0;
    content: "";
}
.bk-white{
	background-color: white;
}
.add-padd-150{
	padding-top: 150px!important;
}
.add-mgn-150{
	margin-top: 150px!important;
}
.sub_footer-siteMap {
	/* margin-top: -340px; */
	color: #ffffff;
	background: var(--main-color);
	padding: 100px 0 160px 0;
	position: relative;
	z-index: 2
}

@media (max-width: 896px) {
.sub_footer-siteMap {
	padding: 131.69643vw 0vw 26.78571vw 0vw;
	margin-top: -104.91071vw
}
}


.sub_footer-siteMap a {
	color: #ffffff
}
.sub_footer-siteMap .t_inner {
	width: 100%;
	padding: 0 100px
}

@media (max-width: 896px) {
.sub_footer-siteMap .t_inner {
	padding: 0vw 6.69643vw 0vw 6.69643vw
}
}

@media (max-width: 414px) {
.sub_footer-siteMap .t_inner {
	padding: 0 30px
}
}

/*service.html------------------------------------
-------------------------------------------------*/
.sub-sec-1st {
    padding: 100px 0 120px 0; 
    margin: 100px 0 0 0;
    position: relative;
    z-index: 2;
}

.module_tit {
    margin: 0 0 50px 0;
	width: 100%;
}
.module_tit-en {
    display: block;
    font-size: 18px;
    margin-bottom: 15px;
}
.module_tit-jp {
    display: block;
    font-size: 45px;
    line-height: 1.4;
    position: relative;
    z-index: 4;
}
.module_tit:before {
    width: 100px;
    background: #000000;
    height: 1px;
    display: block;
    margin: 0 0 50px 0;
    content: "";
}
.parts-area {
    margin-top: 100px;
}
.parts-tit {
    font-size: 28px;
    font-weight: 600;
    margin-bottom: 40px;
	padding-left: 50px;
	position: relative;
}
.parts-tit:before {
    position: absolute;
    content: '';
    display: inline-block;
    width: 50px;
    height: 50px;
    background-image: url(../img/point-01.svg);
    background-size: contain;
    vertical-align: middle;
    left: -7px;
    top: -11px;
}
.parts-txt {
    font-size: 18px;
    line-height: 25px;
}
.sub-deco-img01 {
    width: 45%;
    position: absolute;
    top: 0px;
    z-index: -1;
    right: 0;
}
.sub-deco-img01 img{
	border-radius: 10px;
}



.sub-sec-2nd{
    position: relative;
    z-index: 2;
    height: 100%;
    padding: 50px 0 150px 0;
	margin-bottom: 100px;
    overflow: hidden;
}

.sub-sec-2nd:after {
	position: absolute;
	width: -webkit-calc(100% - 100px);
	width: calc(100% - 100px);
	content: "";
	height: 100%;
	top: 120px;
	z-index: -2;
	left: 0;
	display: block;
	background: var(--SubLine-color)
}

@media (max-width: 1280px) {
.sub-sec-2nd:after {
	width: -webkit-calc(100% - 40px);
	width: calc(100% - 40px)
}
}

@media (max-width: 896px) {
.sub-sec-2nd:after {
	width: 100%
}
}

.module_tit-2 {
    margin: 0 0 50px 75%;
    /* position: absolute; */
}
.module_tit-2:before {
    width: 100px;
    background: #000000;
    height: 1px;
    display: block;
    margin: 0 0 50px 0;
    content: "";
}
.sub-components{
	padding: 20px;
	border-radius: 25px;
	margin-bottom: 20px;
}
.sub-deco-img02 {
    width: 45%;
    position: absolute;
    top: 0px;
	left: 0;
    z-index: -1;
    right: 0;
}
.sub-deco-img01 img{
	border-radius: 10px;
}

dl.dl-wrapper1 {margin:0;padding:.5em;width:100%;background-color:#fff;font-size:1em;}
.dl-wrapper1-dt {margin:0;padding:.5em;font-weight:bold;background-color:#e0e0e0;}
.dl-wrapper1-dd {margin:0;padding:0;padding-top:.5em;padding-bottom:.5em;}
.dl-wrapper1-dd .div1 {padding-left:.5em;border-left:1px solid #333;font-size:1em;clear:both;}


.outline-table{
  width: 100%;
}
.outline-table th {
    position: relative;
    text-align: left;
    width: 80%;
    display: inline-block;
    vertical-align: middle;
	padding: 15px;
}

.outline-table th:after{
  display: block;
  content: "";
  width: 30px;
  height: 2px;
  background-color: #333;
  position: absolute;
  top:calc(50% - 1px);
  right:-15px;
}

.outline-table td {
    text-align: left;
    padding: 7px 0 7px 30px;
    width: 85%;
    line-height: 25px;
}



/*voice.html------------------------------------
-------------------------------------------------*/
.sub-sec-3rd {
    padding: 100px 0 120px 0;
    position: relative;
    z-index: 2;
}

.module_tit {
    margin: 0 0 0 0;
    width: 100%;
}

.parts-area-voice {
    margin: 50px 0 0 0;
}

.voice-table{
  width: 100%;
}
.voice-table th {
    position: relative;
    text-align: left;
	padding: 10px 30px 10px 10px;
	background: var(--SubLine-color);
	border: 5px solid #fff;
}

.voice-table th:after{
  display: block;
  content: "";
  width: 30px;
  height: 2px;
  background-color: #333;
  position: absolute;
  top:calc(50% - 1px);
  right:-15px;
}

.voice-table td {
    text-align: left;
    padding: 0 20px 0 30px;
    background: var(--SubLine-color);
    border: 5px solid #fff;
}
dl.dl-wrapper2 {margin:0;padding: 50px 0 0 0;width:100%;background-color:#fff;font-size:1em;}
.dl-wrapper2-dt {margin:0;padding:.5em;font-weight:bold;background: var(--SubLine-color);}
.dl-wrapper2-dd {margin:0;padding:0;padding-top:.5em;padding-bottom:.5em;}
.dl-wrapper2-dd .div1 {padding-left:.5em;border-left:1px solid #333;font-size:1em;clear:both;}


.sub-sec-4th {
    padding: 100px 0 120px 0;
    position: relative;
    z-index: 2;
}


/*recruit.html------------------------------------
-------------------------------------------------*/
.parts-area-100{
margin-top: 100px;
width: 100%;	
}

@media (max-width: 1280px) {

}

@media (max-width: 1040px) {

}

@media (max-width: 896px) {

}

@media (max-width: 414px) {
.mv-sub {
    margin-left: 40px;
    height: 280px;
}
.page-tit {
    top: 250px;
    left: -15px;
}	
.module_tit-2 {
    margin: 0 0 50px 0;
}
.sub_footer-siteMap {
    padding: 100px 0 120px 0;
    margin-top: 0;
}	
.parts-tit {
    line-height: 32px;
}	
.outline-table th:after{
	width: 0;
}
.outline-table tr {
    vertical-align: middle;
}
.outline-table td {
    padding: 7px 5px 7px 30px;
}
.sub-sec-4th {
    padding: 0px 0 120px 0;
    position: relative;
    z-index: 2;
}	
}




