
.clearfix:after {
content:" ";
display:block;
clear:both;
}

body {
font-family: 'Noto Sans JP', sans-serif;
font-weight: 500;
margin:0;
}


p {margin:0;
word-wrap: break-word;}

ul {margin:0;
padding:0;}

dd {margin:0;}

select {
-webkit-appearance: button;
appearance: button;
}

a {text-decoration:none;
color:#000;}

ul {
margin:0;
padding:0;
list-style:none;
}
img {
max-width: 100%;
vertical-align:bottom;
}

video {
width: 100%;
}

.yugo {
font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
}

/*------------------------  common   ----------------------------*/

#wrapper {
width: 100%;
margin: 0 auto;
}

.wrap {
margin: 0 auto;
max-width: 1120px;
width: 100%;
position: relative;
}
.img {
display: block;
overflow: hidden;
text-indent: 999%;
white-space: nowrap;
}


section.fv {
background:url("../images/fv.png") no-repeat black;
height: 100vh;
background-size:cover;
background-position: center;
position: relative;
}

header {
overflow: hidden;
position: relative;
}
h1 {
margin: 0;
display: inline-block;
float: left;
}

header #hamburger {
display: inline-block;
float: right;
}
header nav ul {
font-size: 0;
}


header nav li {
width: 150px;
text-align: center;
display: inline-block;
font-size: 20px;
}

header nav li a {
color: white;
display: block;
padding: 25px 0;
background:none;
position: relative;
z-index: 1;
}

header nav li a:before{
content: "";
position: absolute;
top: 0;
bottom: 0;
width: 0;
display: block;
z-index: -1;
transition: .2s;
}

header nav li a:hover:before{
width: 100%;
}

header nav li:nth-of-type(1) a {
border-bottom: 5px solid #c9001f;
box-sizing: border-box;
}
header nav li:nth-of-type(2) a {
border-bottom: 5px solid #2351b5;
box-sizing: border-box;
}
header nav li:nth-of-type(3) a {
border-bottom: 5px solid #077326;
box-sizing: border-box;
}
header nav li:nth-of-type(4) a {
border-bottom: 5px solid #ffffff;
box-sizing: border-box;
}



header nav li:nth-of-type(1) a:before{
background: #c9001f;
}
header nav li:nth-of-type(2) a:before{
background: #2351b5;
}
header nav li:nth-of-type(3) a:before{
background: #077326;
}
header nav li:nth-of-type(4) a:before{
background: #ffffff;
}
header nav li:nth-of-type(4) a:hover{
color: black;
}
header nav li:nth-of-type(5) a:before{
background: #fbd327;
}


footer {
background: black;
padding-top: 40px;
padding-bottom: 30px;
}

footer .wrap {
overflow: hidden;
}
footer h2 {
float: left;
width:255px;
margin: 0;
}

footer nav {
display: inline-block;
float: right;
}
footer nav ul {
font-size: 0;
}


footer nav li {
width: 150px;
text-align: center;
display: inline-block;
font-size: 20px;
}

footer nav li a {
color: white;
display: block;
padding: 15px 0;
background:none;
position: relative;
z-index: 1;
}

footer nav li a:before{
content: "";
position: absolute;
top: 0;
bottom: 0;
width: 0;
display: block;
z-index: -1;
transition: .2s;
}

footer nav li a:hover:before{
width: 100%;
}

footer nav li:nth-of-type(1) a {
border-bottom: 5px solid #c9001f;
box-sizing: border-box;
}
footer nav li:nth-of-type(2) a {
border-bottom: 5px solid #2351b5;
box-sizing: border-box;
}
footer nav li:nth-of-type(3) a {
border-bottom: 5px solid #077326;
box-sizing: border-box;
}
footer nav li:nth-of-type(4) a {
border-bottom: 5px solid #ffffff;
box-sizing: border-box;
}
footer nav li:nth-of-type(5) a {
border-bottom: 5px solid #fbd327;
box-sizing: border-box;
}

footer nav li:nth-of-type(1) a:before{
background: #c9001f;
}
footer nav li:nth-of-type(2) a:before{
background: #2351b5;
}
footer nav li:nth-of-type(3) a:before{
background: #077326;
}
footer nav li:nth-of-type(4) a:before{
background: #ffffff;
}
footer nav li:nth-of-type(4) a:hover{
color: black;
}
footer nav li:nth-of-type(5) a:before{
background: #fbd327;
}
footer nav li:nth-of-type(5) a:hover{
color: black;
}
footer .wrap:nth-of-type(2) {
padding-top: 100px;
}

footer .wrap:nth-of-type(2) small,footer .wrap:nth-of-type(2) a {
color: white;
display: inline-block;
}

footer .wrap:nth-of-type(2) small {
float: left;
}
footer .wrap:nth-of-type(2) a {
float: right;
}

.fv {
position: relative;
z-index: 3;
}



/*------------------------  index   ----------------------------*/


main.index .fv p {
text-shadow: 1px 2px 10px #3e3e3e;
color: white;
font-size: 52px;
font-weight: bold;
position: absolute;
bottom: 5%;
margin: 0 auto;
left: 5%;
transform: translate(0%, -5%);
-webkit-transform: translate(0%, -5%);
-ms-transform: translate(0%, -5%);
}
main.index .fv p span {
font-size:22px;
display: block;
}

main.index .top_visual p {
width: 1280px;
margin: 0 auto;
height: 1239px;
background: url("../images/top_pic.png") no-repeat;
background-size: contain;
}
main.index .top_visual {
background: linear-gradient(180deg, #f4f3f3 0%, #f4f3f3 80%, #ffffff 80%, #ffffff 100%);
}

main.index .top_detail h3 {
background: url("../images/what_wo_do.jpg") no-repeat;
background-position: left center;
height: 17px;
margin-top: 100px;
}

main.index .top_detail dt {
font-weight: bold;
font-size: 55px;
margin-bottom: 10px;
}
main.index .top_detail dd {
font-size: 23px;
line-height: 50px;
}

main.index .top_detail .detail1 dt {
text-align: right;
}

main.index .top_detail .detail1 dd {
padding-left: 450px;
background: url("../images/detail1.png") no-repeat;
background-position: left top;
padding-top: 45px;
}
main.index .top_detail .detail1 dd span {
display: inline-block;
color: white;
background: #c9001f;
line-height: 40px;
}

main.index .top_detail .detail2 {
background: url("../images/detail2.png") no-repeat;
background-position: right 65%;
margin-top: 45px;
margin-bottom: 15%;
}

main.index .top_detail .detail2 dd {
width: 670px;
}
main.index .top_detail .detail2 dd span {
display: inline-block;
color: white;
background: #2351b5;
line-height: 40px;
}


/*----------------  company  --------------------*/

main.company .page_fv {
background:linear-gradient(to left, #214bab, #0f358a);
}

main.company .page_fv .name {
position: relative;
background: url("../images/company_fv_name.png") no-repeat;
background-position: right center;
background-size: 55%;
height: 400px;
}
.fv_pic {
position: absolute;
mix-blend-mode:multiply;
max-height: 400px;
}


.page_fv p.title {
text-shadow: 0px 0px 10px black;
color: white;
font-size: 52px;
font-weight: bold;
position: absolute;
bottom: 15%;

margin: auto;
right: 5%;
letter-spacing: 0.2em;
transform: translate(0%, -5%);
-webkit-transform: translate(0%, -5%);
-ms-transform: translate(0%, -5%);
}
.page_fv p.title span {
font-size:22px;
display: block;
letter-spacing: 0;
}

.company_detail {
padding: 150px 0;
}

.company_detail dl {
margin-bottom: 30px;
}
.company_detail dl:last-of-type {
margin-bottom: 0;
}

.company_detail dt,.company_detail dd {
display:inline-block;

}
.company_detail dt {
font-size: 26px;
width:30%;
padding-left: 5%;
padding-bottom: 20px;
background: url("../images/company_vector.jpg") no-repeat;
background-size: contain;
background-position: center bottom;
vertical-align:top;
margin-right: 5%;
}
.company_detail dd {
font-size: 21px;
line-height: 150%;
width: 58%;
padding-top: 25px;
}


/*----------------  business  --------------------*/

main.business .page_fv {
background:linear-gradient(to left, #054d1a, #033e14);
}

main.business .page_fv .name {
position: relative;
background: url("../images/business_fv_name.png") no-repeat;
background-position: right center;
background-size: 55%;
height: 400px;
}

.business_detail {
padding: 150px 0 0;
    min-width: 1000px;
}

.business_detail article {
position: relative;
}

.business_detail article.left img.illust {
position: absolute;
right: 0;
bottom: 0;
}

.business_detail article.right img.illust {
position: absolute;
left: 0;
bottom: 0;
}

.business_detail article.new_pt2 img.illust {
	top: 0;
	bottom: auto;
}



.business_detail article dl {
padding-bottom: 10%;
margin-bottom: 10%;
}
.business_detail article:last-of-type dl {
padding-bottom: 10%;
margin-bottom: 0%;
}

.business_detail article dt {
font-size: 50px;
line-height: 70px;
font-weight: bold;
padding-bottom: 30px;
}

.business_detail article.right dt {
text-align: right;
}


.business_detail article dt span {
display: block;
padding-bottom: 30px;
}

.business_detail article dd {
font-size: 23px;
line-height: 40px;
width: 670px;
}

.business_detail article.right dd {
padding-left: 415px;
}


.business_detail article dd span {
display: inline;
color: white;
line-height: 40px;
}



.business_detail article.part1 dt {
background: url("../images/business_con1.png") no-repeat;
background-position: left 93%;
}


.business_detail article.part1 dt span {
border-bottom: 1px solid #c60024;
}
.business_detail article.part1 dd span {
background: #c60024;
}
.business_detail article.part2 dt {
background: url("../images/business_con2.png") no-repeat;
background-position: right 93%;
}

.business_detail article.part2 dt span {
border-bottom: 1px solid #334cb2;
}
.business_detail article.part2 dd span {
background: #334cb2;
}

.business_detail article.part3 dt {
background: url("../images/business_con3.png") no-repeat;
background-position: left 93%;
}

.business_detail article.part3 dt span {
border-bottom: 1px solid #6c33b2;
}
.business_detail article.part3 dd span {
background: #6c33b2;
}
.business_detail article.part4 dl {
    padding-bottom: 0;
        margin-bottom: 15%;
}


.business_detail article.part4 dt {
background: url("../images/business_con4.png") no-repeat;
background-position: right 93%;
}

.business_detail article.part4 dt span {
border-bottom: 1px solid #0ea5c5;
}
.business_detail article.part4 dd span {
background: #0ea5c5;
}

.business_detail article.part5 dt {
background: url("../images/business_con5.png") no-repeat;
background-position: right 93%;
}

.business_detail article.part5 dt span {
border-bottom: 1px solid #ffe536;
}
.business_detail article.part5 dd span {
background: #ffe536;
    color: black;
}
.business_detail article.part6 dt {
background: url("../images/business_con6.png") no-repeat;
background-position: left 93%;
}

.business_detail article.part6 dt span {
border-bottom: 1px solid #f959a4;
}
.business_detail article.part6 dd {

}

.business_detail article.part6 dd span {
background: #f959a4;
}

.business_detail article.new_pt1 dt {
background: url("../images/yagokoro_con1.png") no-repeat;
background-position: left 93%;
}
.business_detail article.new_pt2 dt {
background: url("../images/university_con1.png") no-repeat;
background-position: right 93%;
}

.business_detail article.new_pt2 dd h4 {
	display: inline-block;
	margin: 0;
	padding-left: 10px;
	border-left: 10px solid #334cb2;
}
.business_detail article.new_pt3 dt {
background: url("../images/smart_con1.png") no-repeat;
background-position: left 93%;
}









/*----------------  recruit  --------------------*/

main.recruit .page_fv {
background:linear-gradient(to left, #454545, #6e6d6d);
}

main.recruit .page_fv .name {
position: relative;
background: url("../images/recruit_fv_name.png") no-repeat;
background-position: right center;
background-size: 55%;
height: 400px;
}


.recruit_detail {
padding: 70px 0 0;
}

.recruit_detail .wrap {
    position: relative;
}
.recruit_detail .wrap img.flo {
    position: absolute;
    bottom: -30%;
    width: 30%;
    left: -3%;
    z-index: 2;
}

@media screen and (min-width:1550px) {
.recruit_detail .wrap img.flo {
    position: absolute;
    bottom: -30%;
    width: 30%;
    left: -18%;
    z-index: 2;
}
}	



.recruit_detail h3 {
text-align: center;
font-size: 35px;
padding-top:150px;
background: url("../images/recruit_h3.png") no-repeat;
background-position: center top;
}

.recruit_detail dl {
    text-align: center;
}

.recruit_detail dt {
font-size: 30px;
    padding-bottom: 60px;
background: url("../images/recruit_line.png") no-repeat;
background-position: center bottom;
    margin-bottom: 10px;
}

.recruit_detail dd {
    font-size: 25px;
    line-height: 60px;
}
.recruit_detail dd span {
display: inline-block;
color: white;
line-height: 40px;
    padding: 0 5px;
}

.recruit_detail dd span:nth-of-type(1) {
    background: #334cb2;
}
.recruit_detail dd span:nth-of-type(2) {
    background: #077326;
}
.recruit_detail dd span:nth-of-type(3) {
    background: #fbd327;
    color: black;
}

.recruit_detail .allstar {
    background: url("../images/allstar_bk.png") no-repeat;
    background-size: 100%;
    background-position: center bottom;
    position: relative;
    margin-top: -12%;
}
.recruit_detail .allstar img {
    width: 100%;
}


/*----------------  contact  --------------------*/

main.contact .page_fv {
background:linear-gradient(to left, #8b7410, #c2aa3e);
}

main.contact .page_fv .name {
position: relative;
background: url("../images/contact_fv_name.png") no-repeat;
background-position: right center;
background-size: 55%;
height: 400px;
}


.contact_area {
overflow: hidden;
}

.contact_greet {
padding: 70px 0 50px;
}

.contact_greet h3 {
text-align: center;
font-size: 40px;
line-height: 70px;
padding-bottom: 120px;
background: url("../images/contact_line.png") no-repeat;
background-position: center bottom;
margin: 0;
position: relative;
    z-index: 3;
}
.contact_greet h3 span {
display: block;
font-size: 25px;
font-weight: normal;
}

.contact_detail {
padding:0 0 100px 0;
position: relative;
background: #f4f3f3;
min-height:1000px;

}






.contact_detail .ab {
position: absolute;
}
.contact_detail img.bk1 {
bottom:80px;
left: -7%;

}
.contact_detail img.bk2 {
bottom:90px;
right: -7%;

}

@media screen and (max-width:1300px) {
.contact_detail img.bk1 {
width: 40%;
left: -10%;
}
.contact_detail img.bk2 {
width: 43%;
right: -10%;
}
}	






.contact_detail .wrap {
    width: 55vw;
 max-width: 1100px;
    padding-top: 5%;
}

.contact_detail form dl {
    margin-bottom: 40px;
}



.contact_detail form dt {
font-size: 25px;
  text-shadow:1px 1px 0 #f4f3f3, -1px -1px 0 #f4f3f3,
              -1px 1px 0 #f4f3f3, 1px -1px 0 #f4f3f3,
              0px 1px 0 #f4f3f3,  0-1px 0 #f4f3f3,
              -1px 0 0 #f4f3f3, 1px 0 0 #f4f3f3;
    margin-bottom: 10px;
}

.contact_detail form dt span {
display: inline-block;
    color: white;
    background: #c9001f;
    font-size: 16px;
    text-shadow: none;
    margin-left: 10px;
    border-radius: 50px;
    padding: 2px 10px;
    line-height: 1;
    position: relative;
    top: -2px;
}

.contact_detail form dd input,.contact_detail form dd textarea {
 width: 93%;
    padding:10px 3%;
    font-size: 25px;
    outline:solid 1px #a4a4a4;
}

.contact_detail form dd textarea {
    min-height: 300px;
}


::placeholder {
  color: #d2d2d2;
}
.contact_detail form dd div {
    overflow: hidden;
}

.contact_detail form dd div.row input {
 width: 42%;
float: left;
}
.contact_detail form dd div.row input:last-of-type {
float: right;
}
.contact_detail form button {
display: block;
width: 300px;
padding: 20px 0;
background:url("../images/c_vector.png") no-repeat #c9001f;
background-position: 94% center;
margin: 0 auto;
border: none;
color: white;
font-size: 35px;
cursor: pointer;
letter-spacing: 0.2em;
}



/*----------------  privacy  --------------------*/

main.privacy .page_fv {
background:black;
    padding-bottom: 10px;
}

.privacy_detail {
padding:60px 0;
position: relative;

}

.privacy_detail h3 {
    text-align: center;
    font-size: 35px;
}
.privacy_detail h3 span {
    display:inline-block;
    padding-bottom: 5px;
    margin-bottom: 5px;
    border-bottom: 2px solid;
}


.privacy_detail p.greet {
    text-align: center;
    font-size: 18px;
}

.privacy_detail dl {
    margin: 5% 0;
}

.privacy_detail dl dt {
    font-size: 24px;
    padding: 10px;
background: #f4f3f3;
    margin-bottom:2%;
}
.privacy_detail dl dd {
    margin-bottom: 5%;
    font-size: 18px;
    line-height: 160%;
    padding: 0 15px;
}
.privacy_detail dl dd ol {
    margin: 1% 0;
}

.privacy_detail dl dd li {
    font-size: 16px;
}

.privacy_detail dl dt span {
    padding-left: 10px;
    border-left: 6px solid #c9001f;
}
.privacy_detail dl dt:nth-of-type(2) span {
    border-left: 6px solid #2351b5;
}
.privacy_detail dl dt:nth-of-type(3) span,.privacy_detail dl dt:nth-of-type(7) span {
    border-left: 6px solid #6c33b2;
}
.privacy_detail dl dt:nth-of-type(4) span,.privacy_detail dl dt:nth-of-type(8) span {
    border-left: 6px solid #0ea5c5;
}
.privacy_detail dl dt:nth-of-type(5) span,.privacy_detail dl dt:nth-of-type(9) span {
    border-left: 6px solid #ffe536;
}
.privacy_detail dl dt:nth-of-type(6) span,.privacy_detail dl dt:nth-of-type(10) span {
    border-left: 6px solid #f959a4;
}




@media screen and (min-width:769px) {

.sp {
display: none;
}	
}	




/*------------------------  MOBILE   ----------------------------*/

@media screen and (max-width:768px) {
.wrap {
margin: 0 auto;
max-width: 100%;
width: 94%;
position: relative;
}
    #area {
        overflow: hidden;
    }

#hamburger .btn-gNav{
position: fixed;
top: 10px;
right: 10px;
	left: auto;
width: 35px;
height: 40px;
z-index: 30;
box-sizing: border-box;
cursor: pointer;
-webkit-transition: all 400ms;
transition: all 400ms;
border-radius: 5px;

}
	#hamburger .btn-gNav.open {
		background: none;
	}

#hamburger .btn-gNav span{
  position: absolute;
  width: 90%;
  height: 4px;
  background: white;
  border-radius: 10px;
  -webkit-transition: all 400ms;
  transition: all 400ms;
}
#hamburger .btn-gNav span:nth-child(1) {
  top:6px;
    left: 2px;
}
#hamburger .btn-gNav span:nth-child(2) {
  top:16px;
	    left: 2px;
}
#hamburger .btn-gNav span:nth-child(3) {
  top:26px;
	    left: 2px;
}
#hamburger .btn-gNav.open span:nth-child(1){
  background: white;
  top: 16px;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}
#hamburger .btn-gNav.open span:nth-child(2),#hamburger .btn-gNav.open span:nth-child(3){
  top: 16px;
  background:white;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}
#gNav{
  position: fixed;
  top: 0;
  right: -100%;
  width:100%;
  height: 100%;
  background:black;
  font-size: 16px;
  box-sizing: border-box;
  z-index: 20;
  transition: .3s;
}
#gNav.open{
  right: 0px;
}
	#gNav ul.menu {
  padding-top: 22%;
	  background:url("../images/sp_menu.png") no-repeat #0f88d9;
	background-position: center 3%;	
	}

#gNav .gNav-menu{
  width: 100%;
  height:100%;
  display: flex;
  flex-direction: column;
  text-align: center;
  /*justify-content: center;*/
}
#gNav .gNav-menu li{
  display: block;
  padding : 20px 30px;
}
#gNav .gNav-menu li a{
  color: #ddd;
  text-decoration: none;
}

  #gNav{
    position: fixed;
    top: 0;
	  overflow: auto;
  }
  #gNav .gNav-menu{
    display: flex;
    flex-direction: row;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    right: 0;
    padding-left: 50px;
  }
  #gNav .gNav-menu li{
    padding-top: 5px;
  }




.pc {
display: none;
}	

section.fv {
background:url("../images/fv_sp.png") no-repeat black;
height: 100%;
padding-bottom: 130%;
background-size: 100%;
background-position: center;
position: relative;
}

header {
overflow: hidden;
}
h1 {
margin: 0;
    margin-top: 5px;
    display: inline-block;
    float: none;
    width: 35%;
}

header nav {
display: inline-block;
float: right;
}
header nav ul {
font-size: 0;
padding-top: 35px;
}


header nav li {
    width: 80%;
    text-align: center;
    display: block;
    font-size: 16px;
    margin: 0 auto;
}

header nav li a {
color: white;
display: block;
padding: 25px 0;
background:none;
position: relative;
z-index: 1;
}

header nav li a:before{
content: "";
position: absolute;
top: 0;
bottom: 0;
width: 0;
display: block;
z-index: -1;
transition: .2s;
}

header nav li a:hover:before{
width: 100%;
}

header nav li:nth-of-type(1) a {
border-bottom: 3px solid #c9001f;
box-sizing: border-box;
}
header nav li:nth-of-type(2) a {
border-bottom: 3px solid #2351b5;
box-sizing: border-box;
}
header nav li:nth-of-type(3) a {
border-bottom: 3px solid #077326;
box-sizing: border-box;
}
header nav li:nth-of-type(4) a {
border-bottom: 3px solid #ffffff;
box-sizing: border-box;
}
header nav li:nth-of-type(5) a {
border-bottom: 3px solid #fbd327;
box-sizing: border-box;
}


header nav li:nth-of-type(1) a:before{
background: #c9001f;
}
header nav li:nth-of-type(2) a:before{
background: #2351b5;
}
header nav li:nth-of-type(3) a:before{
background: #077326;
}
header nav li:nth-of-type(4) a:before{
background: #ffffff;
}
header nav li:nth-of-type(4) a:hover{
color: black;
}

footer {
background: black;
padding-top: 20px;
padding-bottom: 30px;
}

footer .wrap {
overflow: hidden;
}
footer h2 {
	display: none;
float: left;
width:255px;
margin: 0;
}

footer nav {
display:block;
    float: none;
}
footer nav ul {
font-size: 0;
}


footer nav li {
width: 33%;
text-align: center;
font-size: 16px;
}

footer nav li a {
color: white;
display: block;
padding: 10px 0;
background:none;
position: relative;
z-index: 1;
}

footer nav li a:before{
content: "";
position: absolute;
top: 0;
bottom: 0;
width: 0;
display: block;
z-index: -1;
transition: .2s;
}

footer nav li a:hover:before{
width: 100%;
}

footer nav li:nth-of-type(1) a {
border-bottom: 3px solid #c9001f;
box-sizing: border-box;
}
footer nav li:nth-of-type(2) a {
border-bottom: 3px solid #2351b5;
box-sizing: border-box;
}
footer nav li:nth-of-type(3) a {
border-bottom: 3px solid #077326;
box-sizing: border-box;
}
footer nav li:nth-of-type(4) a {
border-bottom: 3px solid #ffffff;
box-sizing: border-box;
}
footer nav li:nth-of-type(5) a {
border-bottom: 3px solid #fbd327;
box-sizing: border-box;
}

footer nav li:nth-of-type(1) a:before{
background: #c9001f;
}
footer nav li:nth-of-type(2) a:before{
background: #2351b5;
}
footer nav li:nth-of-type(3) a:before{
background: #077326;
}
footer nav li:nth-of-type(4) a:before{
background: #ffffff;
}
footer nav li:nth-of-type(4) a:hover{
color: black;
}
footer nav li:nth-of-type(5) a:before{
background: #fbd327;
}
footer nav li:nth-of-type(5) a:hover{
color: black;
}
footer .wrap:nth-of-type(2) {
padding-top: 100px;
    background: url(../images/footlogo.png) no-repeat;
    background-position: center 10%;
    background-size: 45%;
    margin-top: 20px;
}

footer .wrap:nth-of-type(2) small,footer .wrap:nth-of-type(2) a {
color: white;
display: inline-block;
}

footer .wrap:nth-of-type(2) small {
float: none;
	text-align: center;
	display: block;
margin-top: 15px;
}
footer .wrap:nth-of-type(2) a {
float: none;
	text-align: center;
	display: block;
}

.fv {
position: relative;
z-index: 3;
}


main.index .top_visual p {
width: 100%;
margin: 0 auto;
height: 0;
	padding-bottom: 20%;
background: url("../images/top_pic.png") no-repeat;
background-size: contain;
}



main.index .fv p {
text-shadow: 1px 2px 3px #808080;
color: white;
font-size: 28px;
font-weight: bold;
position: absolute;
bottom: 35%;
margin: 0 auto;
left: 1%;
transform: translate(0%, -5%);
-webkit-transform: translate(0%, -5%);
-ms-transform: translate(0%, -5%);
}
main.index .fv p span {
font-size:15px;
display: block;
}

main.index .top_visual {
background: linear-gradient(180deg, #f4f3f3 0%, #f4f3f3 80%, #ffffff 80%, #ffffff 100%);
}

main.index .top_detail h3 {
    background: url(../images/what_wo_do.jpg) no-repeat;
    background-position:left center;
    height: 17px;
    background-size: 80%;
    margin-top: 70px;
}

main.index .top_detail dt {
font-weight: bold;
font-size: 24px;
margin-bottom: 10px;
}
main.index .top_detail dd {
font-size: 14px;
    line-height: 150%;
}

main.index .top_detail .detail1 dt {
text-align: right;
}

main.index .top_detail .detail1 dd {
padding-left: 10%;
    background: url(../images/detail1.png) no-repeat;
    background-position: left bottom;
    background-size: contain;
    padding-top: 10px;
}
main.index .top_detail .detail1 dd span {
display: inline-block;
color: white;
background: #c9001f;
line-height:140%;
}

main.index .top_detail .detail2 {
background: url(../images/detail2.png) no-repeat;
    background-position: right bottom;
    margin-top: 45px;
    background-size: contain;
    margin-bottom: 15%;
}

main.index .top_detail .detail2 dd {
padding-right: 10%;
width:90%;
}
main.index .top_detail .detail2 dd span {
display: initial;
color: white;
background: #2351b5;
line-height:140%;
}


/*----------------  company  --------------------*/

main.company .page_fv {
background:linear-gradient(#214bab, #0f358a);
}

main.company .page_fv .name {
position: relative;
    background: url(../images/company_fv_name_sp.png) no-repeat;
    background-position: right 5%;
    background-size: 60%;
    height: 350px;
}
.fv_pic {
    position: absolute;
    mix-blend-mode: multiply;
    max-height: initial;
    width: 50%;
    bottom: 0;
}


.page_fv p.title {
text-shadow: 0px 0px 5px black;
color: white;
font-size: 30px;
font-weight: bold;
position: absolute;
bottom: 5%;
margin: auto;
left: 25%;
right: 0;
letter-spacing: 0.2em;
transform: translate(0%, -5%);
-webkit-transform: translate(0%, -5%);
-ms-transform: translate(0%, -5%);
}
.page_fv p.title span {
font-size:14px;
display: block;
letter-spacing: 0;
}

.company_detail {
padding:10% 0;
	    width: 100%;
}

.company_detail dl {
margin-bottom: 30px;
}
.company_detail dl:last-of-type {
margin-bottom: 0;
}

.company_detail dt,.company_detail dd {
display:inline-block;

}
.company_detail dt {
font-size: 20px;
    width: 70%;
    padding-left: 5%;
    padding-bottom: 10px;
    background: url(../images/company_vector.jpg) no-repeat;
    background-size: contain;
    background-position: center bottom;
    vertical-align: top;
    margin-right: 5%;
}
.company_detail dd {
font-size: 16px;
    line-height: 180%;
    width: 90%;
    text-align: center;
    padding:5%;
	background: #f4f3f3;
}




/*----------------  business  --------------------*/

main.business .page_fv {
background:linear-gradient(to left, #054d1a, #033e14);
}

main.business .page_fv .name {
position: relative;
background: url("../images/business_fv_name_sp.png") no-repeat;
    background-position: right 5%;
    background-size: 60%;
    height: 350px;
}

.business_detail {
padding:15% 0 0;
    min-width: 100%;
    max-width: 100%;
}

.business_detail article {
position: relative;
}

.business_detail article.left img.illust {
position: absolute;
    right: -15%;
    bottom: 0;
    width: 45%;
}

.business_detail article.right img.illust {
position: absolute;
left:-15%;
bottom: 0;
width: 45%;
transform: scale(-1, 1);
}
.business_detail article.part5 img.illust {
transform: scale(-1, 1);
right: -10%;
width: 42%;
}
.business_detail article.part6 img.illust {
transform: scale(1, 1);
left:-11.5%;
width: 42%;
}


.business_detail article dl {
padding-bottom: 0%;
margin-bottom: 30%;
}
    
.business_detail article.pd dl {
padding-bottom: 10%;
margin-bottom: 15%;
}





.business_detail article:last-of-type dl {
padding-bottom: 10%;
margin-bottom: 0%;
}

.business_detail article dt {
font-size: 18px;
    line-height: 150%;
    font-weight: bold;
    padding-bottom: 5%;
}

.business_detail article.right dt {
text-align: right;
padding-right: 2%;
}
.business_detail article.right dt span {
padding-right: 2%;
}

.business_detail article dt span {
display: block;
    padding-bottom: 3%;
    padding-left: 2%;
}

.business_detail article dd {
font-size: 15px;
    line-height: 150%;
    width: 65%;
    padding-left: 2%;
}

.business_detail article.right dd {
    margin-left: auto;
    padding-left: 0;
    padding-right: 2%;
}


.business_detail article dd span {
display: inline;
color: white;
line-height: 150%;
}



.business_detail article.part1 dt {
background: url("../images/business_con1.png") no-repeat;
background-size: 80%;
    background-position: 2% 93%;
}

.business_detail article.part1 dt span {
border-bottom: 1px solid #c60024;
}
.business_detail article.part1 dd span {
background: #c60024;
}
.business_detail article.part2 dt {
background: url("../images/business_con2.png") no-repeat;
background-size: 80%;
background-position: 98% 93%;
}

.business_detail article.part2 dt span {
border-bottom: 1px solid #334cb2;

}
.business_detail article.part2 dd span {
background: #334cb2;
}

.business_detail article.part3 dt {
background: url("../images/business_con3.png") no-repeat;
background-size: 80%;
    background-position: 2% 93%;
}

.business_detail article.part3 dt span {
border-bottom: 1px solid #6c33b2;
}
.business_detail article.part3 dd span {
background: #6c33b2;
}
.business_detail article.part4 dl {
    padding-bottom: 0;
        margin-bottom: 15%;
}


.business_detail article.part4 dt {
background: url("../images/business_con4.png") no-repeat;
background-size: 80%;
background-position: 98% 93%;
}

.business_detail article.part4 dt span {
border-bottom: 1px solid #0ea5c5;
}
.business_detail article.part4 dd span {
background: #0ea5c5;
}

.business_detail article.part5 dt {
background: url("../images/business_con5.png") no-repeat;
background-size: 80%;
    background-position: 2% 93%;
}

.business_detail article.part5 dt span {
border-bottom: 1px solid #ffe536;
}
.business_detail article.part5 dd span {
background: #ffe536;
    color: black;
}
.business_detail article.part6 dt {
background: url("../images/business_con6.png") no-repeat;
background-size: 80%;
background-position: 98% 93%;
	text-align: right;
}

.business_detail article.part6 dt span {
border-bottom: 1px solid #f959a4;
}
.business_detail article.part6 dd {
    text-align: right;
        margin-left: auto;
        padding-left: 0;
        padding-right: 2%;
}

.business_detail article.part6 dd span {
background: #f959a4;
}

.business_detail article.new_pt1 dt {
background: url("../images/yagokoro_con1.png") no-repeat;
background-size: 70%;
background-position: left 93%;
}
.business_detail article.new_pt2 dt {
background: url("../images/university_con1.png") no-repeat;
background-size: 70%;
background-position: 98% 93%;
}
.business_detail article.new_pt3 dt {
background: url("../images/smart_con1.png") no-repeat;
background-size: 70%;
background-position: left 93%;
}


/*----------------  recruit  --------------------*/

main.recruit .page_fv {
background:linear-gradient(to left, #454545, #6e6d6d);
}

main.recruit .page_fv .name {
position: relative;
background: url("../images/recruit_fv_name_sp.png") no-repeat;
    background-position: right 5%;
    background-size: 60%;
    height: 300px;
}


.recruit_detail {
padding:10% 0 0;
}

.recruit_detail .wrap {
    position: relative;
}
.recruit_detail .wrap img.flo {
display: none;
}


.recruit_detail h3 {
text-align: center;
    font-size: 18px;
    padding-top: 15%;
    background: url(../images/recruit_h3.png) no-repeat;
    background-size: 80%;
    background-position: center top;
    margin: 0;
}

.recruit_detail dl {
    text-align: center;
    margin-top: 1%;
}

.recruit_detail dt {
    font-size: 18px;
    padding-bottom: 15%;
    background: url(../images/recruit_line.png) no-repeat;
    background-size: 0.3%;
    background-position: center bottom;
    margin-bottom: 10px;
}

.recruit_detail dd {
font-size: 15px;
    line-height: 160%;
}
.recruit_detail dd span {
display: inline-block;
color: white;
    line-height: 140%;
    padding: 0 5px;
}
.recruit_detail dd span:nth-of-type(1) {
    background: #334cb2;
}
.recruit_detail dd span:nth-of-type(2) {
    background: #077326;
}
.recruit_detail dd span:nth-of-type(3) {
    background: #fbd327;
    color: black;
}

.recruit_detail .allstar {
    background:none;
    position: relative;
    margin-top: -5%;
    z-index: -1;
}




/*----------------  contact  --------------------*/

main.contact .page_fv {
background:linear-gradient(to left, #8b7410, #c2aa3e);
}

main.contact .page_fv .name {
position: relative;
background: url("../images/contact_fv_name_sp.png") no-repeat;
    background-position: right 5%;
    background-size: 60%;
    height: 300px;
}


.contact_area {
overflow: hidden;
}

.contact_greet {
padding:10% 0 0px;
}

.contact_greet h3 {
text-align: center;
font-size: 22px;
padding-bottom: 15%;
background: url("../images/contact_line.png") no-repeat;
background-size: 0.3%;
background-position: center bottom;
margin: 0;
margin-bottom: 10px;
line-height: 150%;
position: relative;
z-index: 3;
}
.contact_greet h3 span {
display: block;
font-size:14px;
font-weight: normal;
}

.contact_detail {
padding:0 0 10% 0;
position: relative;
background: #f4f3f3;
min-height:auto;

}






.contact_detail .ab {
position: absolute;
}
.contact_detail img.bk1 {
display: none;

}
.contact_detail img.bk2 {
display: none;
}






.contact_detail .wrap {
    width: 94%;
    max-width: none;
    padding: 5% 0;
}

.contact_detail form dl {
    margin-bottom: 40px;
}



.contact_detail form dt {
font-size: 18px;
    text-shadow: none;
    margin-bottom: 10px;
}

.contact_detail form dt span {
display: inline-block;
    color: white;
    background: #c9001f;
    font-size: 14px;
    text-shadow: none;
    margin-left: 10px;
    border-radius: 50px;
    padding: 2px 10px;
    line-height: 1;
    position: relative;
    top: -2px;
}

.contact_detail form dd input,.contact_detail form dd textarea {
 width: 97%;
    padding:5px 1%;
    font-size: 20px;
    outline:solid 1px #a4a4a4;
}

.contact_detail form dd textarea {
    min-height:200px;
}


.contact_detail form dd div {
    overflow: hidden;
}

.contact_detail form dd div.row input {
 width: 45%;
float: left;
}
.contact_detail form dd div.row input:last-of-type {
float: right;
}
.contact_detail form button {
display: block;
    width: 200px;
    padding: 10px 0;
    background: url(../images/c_vector.png) no-repeat #c9001f;
    background-position: 94% center;
    background-size: 5%;
    margin: 0 auto;
    border: none;
    color: white;
    font-size: 20px;
    cursor: pointer;
    letter-spacing: 0.2em;
}



/*----------------  privacy  --------------------*/

main.privacy .page_fv {
background:black;
    padding-bottom: 10px;
}

.privacy_detail {
padding:30px 0;
position: relative;

}

.privacy_detail h3 {
    text-align: center;
    font-size: 25px;
}
.privacy_detail h3 span {
    display:inline-block;
    padding-bottom: 5px;
    margin-bottom: 5px;
    border-bottom: 2px solid;
}


.privacy_detail p.greet {
    text-align: center;
    font-size: 15px;
}
    .privacy_detail p.greet br {
        display: none;
    }


.privacy_detail dl {
    margin: 10% 0;
}

.privacy_detail dl dt {
    font-size: 18px;
    padding: 10px;
background: #f4f3f3;
    margin-bottom:2%;
}
.privacy_detail dl dd {
    margin-bottom: 5%;
    font-size: 16px;
    line-height: 160%;
    padding: 0 15px;
}
.privacy_detail dl dd ol {
    margin: 1% 0;
}

.privacy_detail dl dd li {
    font-size: 14px;
}













}


/*------------------------  contact_button   ----------------------------*/

/*リンクの形状*/
#to_contact a{
	display: flex;
	justify-content:center;
	align-items:center;
	border-radius: 5px;
	width: 110px;
	height: 110px;
	color: #fff;
	text-align: center;
	text-transform: uppercase; 
	text-decoration: none;
	font-size:0.6rem;
	transition:all 0.3s;
}

@media screen and (max-width:768px) {
#to_contact a{
width: 70px;
height: 70px;
}

}


#to_contact a:hover{
opacity: 0.8;
}


/*リンクを右下に固定*/
#to_contact {
	position: fixed;
	right: 10px;
	bottom:10px;
	z-index: 2;
    /*はじめは非表示*/
	opacity: 0;
	transform: translateY(200px);
}

/*　上に上がる動き　*/

#to_contact.UpMove{
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 0;
	transform: translateY(200px);
  }
  to {
    opacity: 1;
	transform: translateY(0);
  }
}

/*　下に下がる動き　*/

#to_contact.DownMove{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 1;
	transform: translateY(0);
  }
  to {
  	opacity: 1;
	transform: translateY(200px);
  }
}


.yago_link {
	text-decoration: underline;
}
.yago_link:hover {
	text-decoration: none;
}
a.yagokoro img:hover {
	opacity: 0.8;
	transition: 0.5s;
}
