@charset "UTF-8";

p.gotop{
    position:fixed;
    right:10%;
    bottom:0;
	z-index: 10;
}

p.gotop a{
    font-size:50px;
    display: block;
}

.page_back{
    font-size:18px;
}

.pc_only{display:block;}
.sp_only{display:none;}

@media screen and (max-width: 640px) {
.pc_only{display:none;}
.sp_only{display:block;}
}

#main_wrapper{position:relative;}

@media screen and (max-width: 991px) {
    .pad_none{display:none;}
}

/*リンクの位置調整*/
.shift {
    padding-top:70px;
	margin-top:-70px;
}

/*-------------------------------------------------------------------------------------------------
  navi
-------------------------------------------------------------------------------------------------*/
.inner {
    width:100%;
    max-width: 1200px;
    margin: 0 auto;
}
.inner:after {
    content: "";
    clear: both;
    display: block;
}
 
/* header */
#top-head {
    /*top: -100px;*/
    position: absolute;
    width: 100%;
    margin: auto 0;
    /*padding: 30px 0 0;*/
    line-height: 1;
    z-index: 999;
}
#top-head a,
#top-head {
    color: #fff;
    text-decoration: none;
}
#top-head .inner {position: relative;}
#top-head .logo {
    /*display:none;*/
    height: 40px;
    float: left;
    /*content:'';*/
    /*font-size: 36px;*/
}
#top-head .logo img{display:none;}

#top-head .sublogo {
    /*display:none;*/
    height: 40px;
    float: left;
    /*content:'';*/
    /*font-size: 36px;*/
}
#top-head .sublogo img{background-position: center 0%;}

#global-nav ul {
    list-style: none;
    position: absolute;
    right: 0;
    bottom: 25px;
    font-size: 14px;
}
#global-nav ul li {float: left;}
#global-nav ul li a {padding: 0 20px;}
 
/* Fixed */
#top-head.fixed {
    margin: 0 auto 0;
    padding: 0;
    top: 0;
    position: fixed;
    height: 70px;
    background: #000;
    background-color: rgba(0,0,0,0.76);
    transition: top 0.65s ease-in;
    -webkit-transition: top 0.65s ease-in;
    -moz-transition: top 0.65s ease-in;
}
#top-head.fixed .logo,
#top-head.fixed .sublogo{
    float: left;
    color: #333;
}
#top-head.fixed .logo img,
#top-head.fixed .sublogo img{
    display: block;
    background-position: center bottom;
}
#top-head.fixed #global-nav ul li a {
    color: #ffffff;
    padding: 0 20px;
}

 
/* Toggle Button */
#nav-toggle {
    display: none;
    position: absolute;
    right: 12px;
    top: 23px;
    width: 34px;
    height: 36px;
    cursor: pointer;
    z-index: 101;
}
#nav-toggle div {position: relative;}
#nav-toggle span {
    display: block;
    position: absolute;
    height: 4px;
    width: 100%;
    background: #ffffff;
    left: 0;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {top: 0;}
#nav-toggle span:nth-child(2) {top: 11px;}
#nav-toggle span:nth-child(3) {top: 22px;}

/*-------------------------------------------------------------------------------------------------
  navi sp
-------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 640px) {
    #top-head,
    .inner {
        width: 100%;
        padding: 0;
    }
    #top-head {
        top: 0;
        position: fixed;
        margin-top: 0;
    }
    /* Fixed reset */
    #top-head.fixed {
        padding-top: 0;
        background: transparent;
    }
    #mobile-head {
        background: #000;
        width: 100%;
        height: 70px;
        z-index: 999;
        position: relative;
        background-color: rgba(0,0,0,0.76);
    }
    #top-head.fixed .logo,
    #top-head .logo,
    #top-head .sublogo{
        position: absolute;
        left: 10px;
        top: 0;
        color: #333;
        /*font-size: 26px;*/
        content:url("../com/bsp_s.svg");
    }
    #global-nav {
        position: absolute;
        /* 開いてないときは画面外に配置 */
        top: -500px;
        background: #333;
        width: 100%;
        text-align: center;
        padding: 10px 0;
        -webkit-transition: .5s ease-in-out;
        -moz-transition: .5s ease-in-out;
        transition: .5s ease-in-out;
    }
    #global-nav ul {
        list-style: none;
        position: static;
        right: 0;
        bottom: 0;
        font-size: 14px;
    }
    #global-nav ul li {
        float: none;
        position: static;
    }
    #top-head #global-nav ul li a,
    #top-head.fixed #global-nav ul li a {
        width: 100%;
        display: block;
        color: #fff;
        padding: 18px 0;
    }
    #nav-toggle {display: block;}
    /* #nav-toggle 切り替えアニメーション */
    .open #nav-toggle span:nth-child(1) {
        top: 11px;
        -webkit-transform: rotate(315deg);
        -moz-transform: rotate(315deg);
        transform: rotate(315deg);
    }
    .open #nav-toggle span:nth-child(2) {
        width: 0;
        left: 50%;
    }
    .open #nav-toggle span:nth-child(3) {
        top: 11px;
        -webkit-transform: rotate(-315deg);
        -moz-transform: rotate(-315deg);
        transform: rotate(-315deg);
    }
    /* #global-nav スライドアニメーション */
    .open #global-nav {
        /* #global-nav top + #mobile-head height */
        -moz-transform: translateY(570px);
        -webkit-transform: translateY(570px);
        transform: translateY(570px);
    }
}


/*-------------------------------------------------------------------------------------------------
  index movie_back
-------------------------------------------------------------------------------------------------*/
#home .bg{
	position: relative;
	width: 100%;
	height: 700px;
}

#home .grad{
    /*background: linear-gradient(-45deg, rgba(4, 114, 124, 0.4),rgba(17, 66, 99, 0.6));*/
	background-image: -webkit-linear-gradient(315deg,rgba(82,229,231,0.49) 10%,rgba(19,12,183,0.40) 100%);
    background-image: -moz-linear-gradient(315deg,rgba(82,229,231,0.49) 10%,rgba(19,12,183,0.40) 100%);
    background-image: -o-linear-gradient(315deg,rgba(82,229,231,0.49) 10%,rgba(19,12,183,0.40) 100%);
    background-image: linear-gradient(135deg,rgba(82,229,231,0.49) 10%,rgba(19,12,183,0.40) 100%);
    display: block;
    width: 100%;
    /* 背景画像の高さ */
    height: 700px;
    position: absolute;
    top: 0;
    left: 0;
    /* videoの上に乗せる */
    z-index: 2;
}

.video{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	overflow: hidden;
}
.video video{
	position: absolute;
	top: 50%;
	left: 50%;
	object-fit: cover;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
}

.top{
     position: absolute; /*必ず必要*/
     z-index: 3; /*必ず必要*/
     display: flex;
     flex-wrap: wrap;
     width: 100%;
     height:100%;
     top:0px;
     right:0;
     justify-content: center;
     align-items: center;
     text-align:center;
     margin: auto;
     line-height:30px;
     color:#ffffff;
    /*background: #000000;*/
}

/*.top h1{font-size:40px;padding-top:150px;margin-bottom:20px;}*/
.wrap{
	display: block;
	/*flex-wrap: wrap;*/
	width:100%;
	height:auto;
	justify-content: center; 
	align-items: center;
	text-align:center;
	overflow: hidden;
}
#home p.comment{font-size:23px;font-weight:500;}
#home p.top_logo{
    line-height:0.5;
    font-size:15px;
    font-family: 'Noto Serif JP', serif;
}


/*-------------------------------------------------------------------------------------------------
  index movie_back scroll
-------------------------------------------------------------------------------------------------*/

.scroll{
    display: block;
    justify-content: center;
    align-items: center;
    text-align:center;
    position: absolute;
    width: auto;
    height: auto;
    bottom:150px;
    left:49%;
    /*padding-top:-100px;*/
}

.down {
    position: relative;
    /*width: 100%;
    height: 100%;*/
    width: 24px;
    height: 24px;
}

.chevron {
    position: absolute;
    width: 28px;
    height: 8px;
    opacity: 0;
    transform: scale3d(0.5, 0.5, 0.5);
    animation: move 3s ease-out infinite;
}

.chevron:first-child {animation: move 3s ease-out 1s infinite;}

.chevron:nth-child(2) {animation: move 3s ease-out 2s infinite;}

.chevron:before,
.chevron:after {
    content: ' ';
    position: absolute;
    top: 0;
    height: 100%;
    width: 51%;
    background: #fff;
}

.chevron:before {
    left: 0;
    transform: skew(0deg, 30deg);
}

.chevron:after {
    right: 0;
    width: 50%;
    transform: skew(0deg, -30deg);
}

@keyframes move {
    25% {opacity: 1;}
    33% {
        opacity: 1;
        transform: translateY(30px);
    }
    67% {
        opacity: 1;
        transform: translateY(40px);
    }
    100% {
        opacity: 0;
        transform: translateY(55px) scale3d(0.5, 0.5, 0.5);
    }
}

.scrolltext {
    display: block;
    margin-top: 65px;
    margin-left: -30px;
    font-family: "Helvetica Neue", "Helvetica", Arial, sans-serif;
    font-size: 12px;
    color: #fff;
    text-transform: uppercase;
    white-space: nowrap;
    opacity: .25;
    animation: pulse 2s linear alternate infinite;
}

@keyframes pulse {
      to {opacity: 1;}
}

/*-------------------------------------------------------------------------------------------------
  各ページ page_back
-------------------------------------------------------------------------------------------------*/
#page .bg{
	position: relative;
	width: 100%;
	height: 400px;
    margin-bottom:100px;
}

#page .grad{
    /*background: linear-gradient(-45deg, rgba(4, 114, 124, 0.4),rgba(17, 66, 99, 0.6));*/
	background-image: -webkit-linear-gradient(315deg,rgba(82,229,231,0.49) 10%,rgba(19,12,183,0.40) 100%);
    background-image: -moz-linear-gradient(315deg,rgba(82,229,231,0.49) 10%,rgba(19,12,183,0.40) 100%);
    background-image: -o-linear-gradient(315deg,rgba(82,229,231,0.49) 10%,rgba(19,12,183,0.40) 100%);
    background-image: linear-gradient(135deg,rgba(82,229,231,0.49) 10%,rgba(19,12,183,0.40) 100%);
    display: block;
    width: 100%;
    /* 背景画像の高さ */
    height: 400px;
    position: absolute;
    top: 0;
    left: 0;
    /* videoの上に乗せる */
    z-index: 2;
}

.main_back_company{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden;
    background: url("../images/company.jpg") no-repeat center center;
    background-size: cover;
}

.main_back_service{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden;
    background: url("../images/service.jpg") no-repeat center center;
    background-size: cover;
}

.main_back_case{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden;
    background: url("../images/case.jpg") no-repeat center center;
    background-size: cover;
}

.main_back_info{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden;
    background-repeat: no-repeat;
    background-position: center center;
    background-image: url("../images/info.jpg");
    background-size: cover;
}

.main_back_recruit{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden;
    background-repeat: no-repeat;
    background-position: center center;
    background-image: url("../images/recruit.jpg");
    background-size: cover;
}

.main_back_enquete{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden;
    background-repeat: no-repeat;
    background-position: center center;
    background-image: url("../images/enquete.jpg");
    background-size: cover;
}

#page p.comment{font-size:18px;font-weight:500;}
#page .comment span{
    font-size:15px;
    padding-right:1em;
}


/*-------------------------------------------------------------------------------------------------
  title　共通
-------------------------------------------------------------------------------------------------*/
i.line_title{
    content:url("../com/line127.png");
    padding: 0px 5px 5px 10px;
}

i.line_title_l{
    content:url("../com/line335.png");
    padding: 0px 5px 5px 10px;
}

#page h2{
    font-family: 'Noto Serif JP', serif;
    background-image: -webkit-linear-gradient(90deg,rgba(25,46,118,1.00) 10%,rgba(0,117,190,1.00) 50%,rgba(0,61,153,1.00) 100%);
    background-image: -moz-linear-gradient(90deg,rgba(25,46,118,1.00) 10%,rgba(0,117,190,1.00) 50%,rgba(0,61,153,1.00) 100%);
    background-image: -o-linear-gradient(90deg,rgba(25,46,118,1.00) 10%,rgba(0,117,190,1.00) 50%,rgba(0,61,153,1.00) 100%);
    background-image: linear-gradient(90deg,rgba(25,46,118,1.00) 10%,rgba(0,117,190,1.00) 50%,rgba(0,61,153,1.00) 100%);
    display: inline-block;
    width: 300px;
    padding-top: 5px;
    padding-bottom: 5px; 
    border-radius: 24px;
}

.sec h3{
    background:url(../com/sec_icon.svg) no-repeat left center;
    line-height:45px;
    padding-left:35px;
    font-size:20px;
}

/*-------------------------------------------------------------------------------------------------
  TOP
-------------------------------------------------------------------------------------------------*/
/*------TOP menu-------------*/
#top_menu{margin-bottom:100px;}

#top_menu h2{
    font-family: 'Noto Serif JP', serif;
    font-size:30px;
}

#top_menu h3{
    font-family: 'Noto Serif JP', serif;
    font-size: 20px;
    padding-left:3%;
}

#top_menu h2 a{
    display:block;
    width:100%;
    padding-top:50px;
    padding-bottom:50px;
    padding-left:3%;
    color:#ffffff;
    position: relative;
	text-decoration: none;
    background:rgba(25,46,118,0.40);
}

#top_menu h2 a::after {
	position: absolute;
	content: '';
	bottom: 0;
	left: 0;
	width: 0;
	height: 3px;
	background: #2196F3;
	transition: all 0.3s ease 0s;
}
#top_menu h2 a:hover {cursor: pointer;}
#top_menu h2 a:hover::after {width: 100%;}

#top_menu .menu01{
    background: url("../images/top_menu01.jpg") no-repeat;
    background-position: 50% 50%;
    background-size: cover;
}

#top_menu .menu02{
    background:url("../images/top_menu02.jpg") no-repeat;
    background-position: 50% 50%;
    background-size: cover;
}

#top_menu .menu03{
    background:url("../images/top_menu03.jpg") no-repeat;
    background-position: 50% 50%;
    background-size: cover;
}

#top_menu .menu04{
    background:url("../images/top_menu04.jpg") no-repeat;
    background-position: 50% 50%;
    background-size: cover;
}

#top_menu p{color:#3B3B3B;}

/*------news-------------*/
#news h2,
#sns h2{
    font-family: 'Noto Serif JP', serif;
    padding-left:3%;
}

#news{margin-bottom:100px;}

#news .n1{
    color:#ffffff;
    background:#003D99;
    font-weight:600;
    display:inline-block;
    padding:3px 10px 3px 10px; 
    margin-right:20px;
    border-radius: 15px;
}

#news dl{
    clear:left;
    padding-left:20px;
    padding-right:20px;
    padding-bottom:20px;
    background: url("../images/news_dd.png") left bottom repeat-x;
}

#news dt{
    float:left;
    width:120px;
    padding-top:18px;
}

#news dd{
    margin-left:100px;
    padding-left:50px;
    background: url("../images/news_dt.png") left top no-repeat;
}


@media screen and (max-width: 480px) {
    #news dt{
        float:none;
        width:120px;
        padding-top:18px;
    }
    
    #news dd{
        margin-left:0;
        padding-left:5px;
        background : none;
    }
 
}

/*------contact_guide-------------*/

#contact_guide h2{
    font-family: 'Noto Serif JP', serif;
    padding-left:3%;
    color:#ffffff;
}

#contact_guide h3{
    font-family: 'Noto Sans JP', sans-serif;
    color:#ffffff;
    text-align:center;
}

#contact_guide{
    margin-bottom: 100px;
    padding-bottom:30px;
    background-image: -webkit-linear-gradient(90deg,rgba(25,46,118,1.00) 10%,rgba(0,117,190,1.00) 50%,rgba(0,61,153,1.00) 100%);
    background-image: -moz-linear-gradient(90deg,rgba(25,46,118,1.00) 10%,rgba(0,117,190,1.00) 50%,rgba(0,61,153,1.00) 100%);
    background-image: -o-linear-gradient(90deg,rgba(25,46,118,1.00) 10%,rgba(0,117,190,1.00) 50%,rgba(0,61,153,1.00) 100%);
    background-image: linear-gradient(90deg,rgba(25,46,118,1.00) 10%,rgba(0,117,190,1.00) 50%,rgba(0,61,153,1.00) 100%);
}

#contact_guide .flex{
    height: 200px;
    display: flex;
    align-items: center;
}

.tel_guide{
    width:50%;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content:center;
    background-repeat: no-repeat;
    background-image: url("../images/tel_guide.jpg");
    background-size: cover;
    background-position: 50% 50%;
    text-align:center;
}

.tel_guide p.tel{
    width:100%;
    font-size:45px;
    font-weight:500;
    text-align:center;
    margin-bottom:0;
    margin-top:0;
}

.tel_guide a{
    color:#000000;
    text-decoration:none;
}

.tel_guide span.hours{
    width:100%;
    font-weight:500;
    text-align:center;
    margin-bottom:0;
    margin-top:0;
}

.form_guide{
    width:50%;
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content:center;
    background-repeat: no-repeat;
    background-image: url("../images/form_guide.jpg");
    background-size: cover;
    background-position: 50% 50%;
}

.form_guide a{
    font-size:35px;
    font-weight:500;
    margin-top:0;
    margin-bottom:0;
    text-align:center;
    display:block;
    width:100%;
    height:100%;
    color:#000000;
    text-decoration:none;
}

@media screen and (max-width: 767px) {
    #contact_guide .flex{
        flex-direction: column;
        height:auto;
    }
    .tel_guide{
        width:100%;
        height:180px;
    }
    .form_guide{
        height:180px;
        width:100%;
    }
}

/*------tool_guide-------------*/
#tool_guide h2,
#enquete_guide h2{
    font-family: 'Noto Serif JP', serif;
    padding-left:3%;
}

#tool_guide{margin-bottom:100px;}

#tool_guide p{
    margin-bottom:40px;
    color:#3B3B3B;
}

#tool_guide a{
    display:inline-block;
    text-decoration:none;
    background:#43c1d2;
    color:#ffffff;
    padding:10px 20px;
    margin-bottom:40px;
}


/*------enquete_guide-------------*/
#enquete_guide{margin-bottom:100px;}

#enquete_guide p{
    margin-bottom:40px;
    color:#3B3B3B;
}

#enquete_guide a{
    display:inline-block;
    text-decoration:none;
    background:#43c1d2;
    color:#ffffff;
    padding:10px 20px;
    margin-bottom:40px;
}

.bangot{
    text-align:center;
    margin-bottom:20px;
}


/*------banner-------------*/
.banner{
    background:#C3DEFF;
    padding-top:40px;
}

.banner div{margin-bottom:20px;}

/*------sns-------------*/
#twitter{
    width:100%;
	margin:0 auto 40px;
	padding-left:5%;
	padding-right:5%;
	/*max-width:900px;*/
	text-align:center;
}

.twitter-timeline{overflow: auto;}


/*-------------------------------------------------------------------------------------------------
  company
-------------------------------------------------------------------------------------------------*/
/*------共通-------------*/
.list dt{
    float:left;
    width:150px;
    padding:10px 0 10px 10px;
}

.list dd{padding:10px 0 10px 150px;}

.gray{background:rgba(216,216,216,1.00);}

.sec{margin-bottom:100px;}

@media screen and (max-width: 480px) {
    .list dt{
        float:none;
        width:100%;
        padding:10px 0 10px 10px;
    }

    .list dd{
        width:100%;
        padding:10px 0 10px 10px;
    }
}

/*------map-------------*/

#map{margin-bottom:40px;}

#map_canvas{height:350px;}


.concept{
    background-repeat: no-repeat;
    background-position: center bottom;
    background-image: url(../company/images/concept_back.png);
    min-height: 690px;
}

.concept h4{
    font-family: 'Noto Serif JP', serif;
    text-align:center;
    font-size:23px;
}

.concept h5{
    font-family: 'Noto Serif JP', serif;
    font-size:20px;
}

/*-------------------------------------------------------------------------------------------------
  service
-------------------------------------------------------------------------------------------------*/
.service h4 {
    font-size:18px;
    position: relative;
    padding: 1.5rem 1rem;
    font-family: 'Noto Serif JP', serif;
}

.service h4:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 10px;
    content: '';
    background-image: -webkit-repeating-linear-gradient(135deg, #43c1d2, #43c1d2 1px, transparent 2px, transparent 5px);
    background-image: repeating-linear-gradient(-45deg, #43c1d2, #43c1d2 1px, transparent 2px, transparent 5px);
    background-size: 7px 7px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.service p{
    color:#3B3B3B;
}


/*-------------------------------------------------------------------------------------------------
  case
-------------------------------------------------------------------------------------------------*/
.second-row{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width:100%;
}
 
.card{
    border: 1px solid #6c757d;
    border-radius: 5px;
    padding: 20px;
    margin: 5px;
    width: 31%;
    position:relative;
}

.card-body{margin-bottom:40px;}
 
.card-footer{
    position:absolute;
    bottom: 0;
    padding-bottom: 20px;
    margin-left: auto;
    margin-right: auto;
}

.card-title {
    position: relative;
    padding: 1.5rem;
    text-align: center;
    font-size:18px;
}

.card-title span{font-size:13px;}

.card-title:before {
    position: absolute;
    bottom: -10px;
    left: calc(50% - 40px);
    width: 80px;
    height: 3px;
    content: '';
    border-radius: 3px;
    background-image: -webkit-linear-gradient(90deg,rgba(25,46,118,1.00) 10%,rgba(0,117,190,1.00) 50%,rgba(0,61,153,1.00) 100%);
    background-image: -moz-linear-gradient(90deg,rgba(25,46,118,1.00) 10%,rgba(0,117,190,1.00) 50%,rgba(0,61,153,1.00) 100%);
    background-image: -o-linear-gradient(90deg,rgba(25,46,118,1.00) 10%,rgba(0,117,190,1.00) 50%,rgba(0,61,153,1.00) 100%);
    background-image: linear-gradient(90deg,rgba(25,46,118,1.00) 10%,rgba(0,117,190,1.00) 50%,rgba(0,61,153,1.00) 100%);
}

@media screen and (max-width: 767px) {
    .card{width: 48%;}
}

@media screen and (max-width: 640px) {
    .second-row{flex-direction: column;}
    
    .card{width:100%;}
}


.case_outline{
    border: 1px solid #6c757d;
    border-radius: 5px;
    padding: 10px;
    margin: 5px;
    position:relative;
}

.case_outline li{
    display:inline-block;
    padding-right:10px;
}

.case_outline li.s1{width:350px;}

.case_outline li.s2{width:180px;}

.case_outline li.s3{width:200px;}


/*------case詳細-------------*/
.case_images{
    text-align:center;
    margin-bottom:40px;
}


/*-------------------------------------------------------------------------------------------------
  info
-------------------------------------------------------------------------------------------------*/
/*------フォーム-------------*/
.mailform.list dt{
    float:left;
    width:240px;
    padding:10px 0 10px 10px;
}

.mailform.list dd{padding:10px 0 10px 250px;}


.mailform textarea{
    width:80%;
    height:250px;
}

.agree{
    background:rgba(216,216,216,1.00);
    margin-bottom:80px;
    padding:20px;
}

.agree .che{margin-left:20px;}

@media screen and (max-width: 767px) {
    .mailform.input{width:80%;}
    .mailform.list dt{
        float:none;
        width:100%;
        padding:10px;
    }
    .mailform.list dd{padding:10px;}
}

@media screen and (max-width: 480px) {
    .mailform.input{width:80%;}
}



/*------ボタン-------------*/
.form-button{text-align:center;}

/*------mailform check-------------*/
#form a{
    display:inline-block;
    text-decoration:none;
    background:#43c1d2;
    color:#ffffff;
    padding:10px 20px;
    margin-bottom:40px;
}


/*-------------------------------------------------------------------------------------------------
  recruit
-------------------------------------------------------------------------------------------------*/
/*------求人ナビ-------------*/
#recruit_navi a{
    display:inline-block;
    text-decoration:none;
    background:#43c1d2;
    color:#ffffff;
    padding:10px 20px;
    margin-bottom:40px;
    width:80%;
    font-size:25px;
}

/*------福利厚生-------------*/
.benefit figure{
    border: 1px solid #6c757d;
    border-radius: 5px;
    padding: 20px;
    margin: 5px;
    width: 31%;
    position:relative;
    text-align:center;
}

@media screen and (max-width: 767px) {
    .benefit figure{
        width: 48%;
        padding: 1%;}
}

@media screen and (max-width: 640px) {
    .second-row{flex-direction: column;}
    
    .benefit figure{
        width:95%;
        margin: 0 auto 10px;
        padding: 1%;
    }
}

.benefit .b1{
    background: url(../recruit/images/back01.png) no-repeat center center;
    background-size: cover;
}
.benefit .b2{
    background: url(../recruit/images/back02.png) no-repeat center center;
    background-size: cover;
}
.benefit .b3{
    background: url(../recruit/images/back02.png) no-repeat center center;
    background-size: cover;
}
.benefit .b4{
    background: url(../recruit/images/back02.png) no-repeat center center;
    background-size: cover;
}
.benefit .b5{
    background: url(../recruit/images/back03.png) no-repeat center center;
    background-size: cover;
}
.benefit .b6{
    background: url(../recruit/images/back04.png) no-repeat right top;
    /*background-size: cover;*/
}
.benefit .b7{
    background: url(../recruit/images/back05.png) no-repeat center center;
    background-size: cover;
}
.benefit .b8{
    background: url(../recruit/images/back05.png) no-repeat center center;
    background-size: cover;
}
.benefit .b9{
    background: url(../recruit/images/back05.png) no-repeat center center;
    background-size: cover;
}
.benefit .b10{
    background: url(../recruit/images/back07.png) no-repeat center center;
    background-size: cover;
}
.benefit .b11{
    background: url(../recruit/images/back08.png) no-repeat center center;
    background-size: cover;
}
.benefit .b12{
    background: url(../recruit/images/back09.png) no-repeat center center;
    background-size: cover;
}
.benefit .b13{
    background: url(../recruit/images/back10.png) no-repeat center center;
    background-size: cover;
}
.benefit .b14{
    background: url(../recruit/images/back11.png) no-repeat center center;
    background-size: cover;
}
.benefit .b15{
    background: url(../recruit/images/back12.png) no-repeat center center;
    background-size: cover;
}
.benefit .b16{
    background: url(../recruit/images/back13.png) no-repeat center center;
    background-size: cover;
}
.benefit .b17{
    background: url(../recruit/images/back14.png) no-repeat center center;
    background-size: cover;
}

/*------社内行事-------------*/
.event_photo figure{
    /*border: 1px solid #6c757d;*/
    /*border-radius: 5px;*/
    /*padding: 20px;*/
    margin: 5px;
    width: 31%;
    position:relative;
    text-align:center;
    padding-bottom:20px;
    
}

.event_photo figure img{
    border-radius: 5px;
    padding-bottom:10px;
}

.event_photo p{
    color:#9C9C9C;
    padding:0;
    margin:0;
}

p.event_title{
    font-weight:600;
    color:#3B3B3B;
    padding-bottom:5px;
    margin:0;
}

@media screen and (max-width: 767px) {
    .event_photo figure{
        width: 48%;
        padding: 1%;}
}

@media screen and (max-width: 640px) {
    .second-row{flex-direction: column;}
    
    .event_photo figure{
        width:95%;
        margin: 0 auto 10px;
        padding: 1%;
    }
}

/*------社員の声-------------*/
.voice{
    border: 1px solid #6c757d;
    border-radius: 5px;
    padding: 20px;
    margin: 1%;
    width: 98%;
    position:relative;
    background:url(../recruit/images/voice_back.png) repeat;
}

.voive-no{
    position:absolute;
}

.voice-body{margin-bottom:40px;}

.voice-title {
    position: relative;
    padding: 1.5rem;
    text-align: center;
    font-size:18px;
}

.voice-title span{font-size:13px;}

.voice-title:before {
    position: absolute;
    bottom: -10px;
    left: calc(50% - 40px);
    width: 80px;
    height: 3px;
    content: '';
    border-radius: 3px;
    background-image: -webkit-linear-gradient(90deg,rgba(25,46,118,1.00) 10%,rgba(0,117,190,1.00) 50%,rgba(0,61,153,1.00) 100%);
    background-image: -moz-linear-gradient(90deg,rgba(25,46,118,1.00) 10%,rgba(0,117,190,1.00) 50%,rgba(0,61,153,1.00) 100%);
    background-image: -o-linear-gradient(90deg,rgba(25,46,118,1.00) 10%,rgba(0,117,190,1.00) 50%,rgba(0,61,153,1.00) 100%);
    background-image: linear-gradient(90deg,rgba(25,46,118,1.00) 10%,rgba(0,117,190,1.00) 50%,rgba(0,61,153,1.00) 100%);
}

.voice-photo{
    float:right;
}

.voice-a{
    padding:0 1em 15px 1em;
    font-weight:600;
}

.voice li{line-height:35px;}

@media screen and (max-width: 480px) {
    .voice-photo{
        float:none;
        text-align:center;
    }
}

/*------求人フォーム-------------*/
.caution{
	color:#ff0000;	
	font-size:85%;
}

.mailform span{
	font-size:12px;	
}

.mail_check dd{
    padding-left:1em;
	text-indent:-1em;
}

/*-------------------------------------------------------------------------------------------------
  footer
-------------------------------------------------------------------------------------------------*/
/*------リンク-------------*/
#footer{
	background-image: -webkit-linear-gradient(90deg,rgba(25,46,118,1.00) 10%,rgba(0,117,190,1.00) 50%,rgba(0,61,153,1.00) 100%);
    background-image: -moz-linear-gradient(90deg,rgba(25,46,118,1.00) 10%,rgba(0,117,190,1.00) 50%,rgba(0,61,153,1.00) 100%);
    background-image: -o-linear-gradient(90deg,rgba(25,46,118,1.00) 10%,rgba(0,117,190,1.00) 50%,rgba(0,61,153,1.00) 100%);
    background-image: linear-gradient(90deg,rgba(25,46,118,1.00) 10%,rgba(0,117,190,1.00) 50%,rgba(0,61,153,1.00) 100%);
	width:100%;
}

.footer-link{
    padding-top:20px;
    padding-bottom:20px;
}

.footer-link a{
	text-decoration:none;
	color:#ffffff;
}

.footer-link li{
	font-size: 13px;
	font-weight:500;
	color:#ffffff;
	padding-left: 20px;
	margin-bottom:5px;
}

#footer .bg{
	position: relative;
	width: 100%;
	height: 350px;
}

#footer .grad{
    display: block;
    width: 100%;
    /* 背景画像の高さ */
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    /* videoの上に乗せる */
    z-index: 2;
    background-color: rgba(255,255,255,0.35);
}

#footer .video{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	overflow: hidden;
}
#footer .video video{
	position: absolute;
	top: 50%;
	left: 50%;
	object-fit: cover;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
}

.last{
    position: absolute; /*必ず必要*/
    z-index: 3; /*必ず必要*/
    width: 88%;
    height:100%;
    text-align:left;
    margin: 0 auto;
    line-height:30px;
    color:#000000;
    display: flex;
    flex-wrap: wrap;
    /* justify-content: center;*/
    align-items: center;
    padding-left:2%;
}

.last a{
    color:#000000;
    text-decoration:none;
}

.last p{
    margin:0;
    padding:0 0 0 0;
}

.last .copy{font-size:13px;}

.last .brain{
    font-family: 'Noto Serif JP', serif;
    font-weight:600;
    font-size:30px;
}

.last .copyright{font-size:12px;}


/*----------------------------------------------------------------
  btn
----------------------------------------------------------------*/
.btn {
    /*color: #333;    
    font-size: 16px;
    font-weight: bold;
    background: transparent;
    padding: 18px 30px;*/
    /*border: 3px solid #333;
    border-radius: 6px;*/
    position: relative;
    z-index: 1;
    transition: .3s;
}
.btn::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background: #003D99;
    transform-origin: 100% 50%;
    transform: scaleX(0);
    transition: transform ease .3s;
}
.btn:hover {color: #fff;}
.btn:hover::before {
    transform-origin: 0% 50%;
    transform: scaleX(1);
}

/*----------------------------------------------------------------
  fade
----------------------------------------------------------------*/
.fadeInRight {
    -webkit-animation-fill-mode:both;
    -ms-animation-fill-mode:both;
    animation-fill-mode:both;
    -webkit-animation-duration:0.5s;
    -ms-animation-duration:0.5s;
    animation-duration:0.5s;
    -webkit-animation-name: fadeInRight;
    animation-name: fadeInRight;
    visibility: visible !important;
}

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



.fadeInLeft {
    -webkit-animation-fill-mode:both;
    -ms-animation-fill-mode:both;
    animation-fill-mode:both;
    -webkit-animation-duration:0.5s;
    -ms-animation-duration:0.5s;
    animation-duration:0.5s;
    -webkit-animation-name: fadeInLeft;
    animation-name: fadeInLeft;
    visibility: visible !important;
}

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