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

@media screen and (max-width:899px){

}

@media screen and (max-width:768px){
.visible-sp{
	display:block;
}
.hidden-sp{
	display:none !important;
}
body{
	font-size: 14px;
	line-height: 1.7;
}
	.header{
		position: sticky;
	}
	main{
		margin-top: 0;
	}
.header_in{
	padding: 14px 18px;
}
.logo img{
    width: 93px;
}
.logo span{
	margin-left: 10px;
    font-size: 10px;
}
.header_links{
    display: flex;
    align-items: center;
}
.header_links ul li .contact_btn{
    margin-left: 10px;
    padding: 6px 10px 4px;
    border-radius: 6px;
    font-size: 8px;
}
.header_links ul li a span{
    margin-bottom: 0;
    font-size: 12px;
}
.menu-trigger p{
    font-size: 9px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    text-align: center;
    position: absolute;
    top: 4px;
    width: 100%;
}
.menu-trigger {	
	position: relative;
	display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
    cursor: pointer;
    width: 50px;
    height: 50px;
    z-index: 2;
}
.menu-trigger span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
    cursor: pointer;
    position: absolute;
    background: #000;
    width: 30px;
    height: 2px;
    left: 0;
    right: 0;
    margin: auto;

}
.menu-trigger span:nth-of-type(1) {
    top: 20px;
}
.menu-trigger span:nth-of-type(2) {
    top: 30px;
}
.menu-trigger span:nth-of-type(3) {
    top: 40px;
}
.g-nav {
    display: none;
    position: fixed;
    top: 78px;
    left: 0;
    background: #fff;
    width: 100%;
    height: calc(100vh - 78px);
    z-index: 10;
}
.g-nav .list {
    padding: 20px;
}
.g-nav .list li{
    list-style: none;
	text-align: center;
	margin-bottom: 20px;
}
.g-nav .list li a {
    display: block;
    text-align: center;
    text-decoration: none;
    padding: 10px 0;
    font-size: 12px;
}
.g-nav .list li a span{
    font-size: 16px;
    font-weight: 600;
    font-family: 'Montserrat', sans-serif;
    display: block;
}
.menu-trigger.active span:nth-of-type(1) {
    -webkit-transform: translateY(10px) rotate(-45deg);
    transform: translateY(10px) rotate(-45deg);
}

.menu-trigger.active span:nth-of-type(2) {
    opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
    -webkit-transform: translateY(-10px) rotate(45deg);
    transform: translateY(-10px) rotate(45deg);
}
.fv{
    padding: 0 15px;
    height: calc(100vh - 100px);
}
.fv_slider_item{
    height: calc(100vh - 100px);
    border-radius: 10px;
}
.fv_ttl{
    font-size: 25px;
    letter-spacing: 1px;
}
.footer_in{
    display: block;
}
.footer_links.visible-sp{
    display: flex;
}
.footer_links{
    flex-wrap: wrap;
}
.fv_txt{
    letter-spacing: 0px;
}
.fv_subttl{
    font-size: 14px;
}
.service{
    padding: 70px 0 50px;
}
.sec_ttl{
    font-size: 12px;
    margin-bottom: 30px;
}
.sec_ttl span{
    font-size: 16px;
}
.service_ttl{
    font-size: 18px;
    letter-spacing: 0px;
    margin-bottom: 20px;
}
.service_img{
    text-align: center;
    margin-bottom: 20px;
}
.service_img img{
    max-width: 90%;
}
.service_txt{
    font-size: 11px;
    letter-spacing: 0;
    margin-bottom: 20px;
}
.view_more a{
    padding: 10px 0;
    font-size: 12px;
}
.strength_list{
    display: block;
}
.strength_one p{
    font-size: 14px;
    margin-bottom: 8px;
}
.strength_one{
    margin-bottom: 25px;
}
.strength_one:last-child{
    margin-bottom: 0;
}
.strength{
    padding: 50px 0;
}
.links{
    padding: 50px 0;
}
.link_list{
    display: block;
}
.link_one{
    width: 100%;
    height: 220px;
}
.link_one p{
    font-size: 12px;
}
.link_one p span{
    font-size: 18px;
    line-height: 1.2;
}
.footer{
    padding: 50px 5%;
}
.footer_logo{
    text-align: center;
}
.footer_txt{
    text-align: center;
}
.footer_links{
    justify-content: center;
}
.footer_links li{
    margin: 10px;
}
.footer_links.visible-sp{
    display: flex;
}
.footer_left{
    margin-top: 30px;
}
.copyright{
    text-align: center;
}
.sub_fv{
    height: 50vw;
    margin: 0 15px;
    border-radius: 10px;
}
.service_fv{
    background-image: url(../img/service-fv-sp.png);
}
.sub_fv_ttl{
    font-size: 14px;
    margin-top: 10px;
}
.sub_fv_ttl span{
    font-size: 24px;
}
.service_sec1{
    padding: 40px 0 60px;
}
.service_sec1 .fixedcontainer{
    display: block;
}
.sec_ttl2{
    font-size: 24px;
    margin-bottom: 15px;
}
.sec_ttl3{
    font-size: 18px;
    margin-bottom: 15px;
}
.sec_txt{
    font-size: 12px;
}
.service_list{
    display: block;
    margin-top: 30px;
}
.service_one{
    width: 100%;
    margin-bottom: 30px;
}
.service_one h4{
    font-size: 16px;
}
.service_video{
    margin-top: 40px;
}
.service_video h4{
    font-size: 16px;
}
.service_video iframe{
    width: 100%;
    height: 60vw;
}
.service_sec2{
    padding-bottom: 40px;
}
.recruit_fv{
    background-image: url(../img/recruit-fv-sp.png);
}
.recruit_sec.flex{
    display: block;
    padding: 40px 0;
}
.recruit_sec h2{
	font-size: 24px;
	margin-bottom: 18px;
}
.recruit_sec p{
    font-size: 12px;
}
.recruit_sec_img{
    margin-top: 30px;
    text-align: center;
}
.recruit_sec_img img{
    max-width: 80%;
}
.recruit_sec{
    padding: 30px 0;
}
.recruit_sec_wrap{
    padding-bottom: 60px;
}
.company_fv{
    background-image: url(../img/company-fv-sp.png);
}
.company_sec1{
    padding: 40px 0;
}
.company_sec_content h2{
    font-size: 12px;
}
.company_sec_content p{
    font-size: 16px;
}
.company_sec_content{
    margin-bottom: 20px;
}
.company_sec2_in{
    display: block;
    border-radius: 20px;
    padding: 36px;
}
.company_sec2_in_img{
    margin-bottom: 20px;
}
.company_sec2_in_content h2{
    margin-bottom: 10px;
}
.company_sec2_in_content p{
    font-size: 12px;
}
.company_sec3{
    padding: 60px 0;
}
.company_sec3 p{
    font-size: 13px;
}
.company_sec3 h2{
    margin-bottom: 20px;
}
.contact_fv{
    background-image: url(../img/contact-fv-sp.png);
}
.contact_sec{
    padding: 40px 0;
}
.checkbox_item{
    font-size: 12px;
    margin: 15px 0;
}
.privacy_policy_txt{
    margin-bottom: 15px;
}
.privacy_policy_txt a{
    font-size: 12px;
}
.form_item label{
	width: 120px;
}
	.form_item input{
		height: 50px;
		padding: 5px;
	}
	.textarea_item textarea{
		padding: 5px;
	}
.works_sec{
    padding: 40px 0;
}
.works_list{
    gap: 20px;
}
.works_one{
    width: calc((100% - 20px) / 2);
}
	.works_one_img{
		height: 40vw;
	}
.works_fv{
    background-image: url(../img/work-fv-sp.png);
}
.work_detail_sec{
    padding: 40px 0;
}
.work_detail_header h1{
    font-size: 22px;
}
.work_detail_header{
    margin-bottom: 20px;
}
.work_detail_img{
    margin-bottom: 20px;
}
.back_btn{
    margin-top: 30px;
}
	.logo-animation-img{
		width: 180px;
	}
}
