@charset "utf-8";
/* CSS Document */

@media only screen and (max-width:1366px){
	
    .t-company-content{ width: 90%; }
}

@media only screen and (max-width:1180px){
    
}


@media only screen and (max-width:1024px){
	
	/* header */
    header{ padding: 25px 0 0 0; }
    header .logo{ padding-left: 25px; }
    header #pc_nav .menu ul{ padding-right: 35px; }
    header #pc_nav .menu ul li:not(:last-of-type) { margin-right: 1.5em; }
    
    /* slide */
    #vegas .caption h1{ font-size: 2.2em; }
    #vegas .caption p{ font-size: 0.8em; margin-top: 10px; }
    
    /* footer */
    .link-area{ width: calc( 100% - 400px); }
    .ig-area{ width: 360px; }
    .ig{ height: 500px; }
    .link-list li{ font-size: 1.1em; height: 70px; padding: 15px 15px 15px 30px; }
    .link-list li::before{ top: 25px; left: 7px; width: 14px; height: 23px; }
    
    /***** トップページ *****/
    
    .t-company-sec{ padding: 80px 0; }
    .t-company-text{ width: 50%; }
    .t-company-text h3 { font-size: 1.6em; margin-bottom: 20px; }
    .t-company-text p:not(:last-of-type){ margin-bottom: 10px; }
    .t-company-img{ width: 46vw; height: 420px; }
    .t-company-img img{ height: 420px; }
    
    .t-link-sec{ margin: 80px auto; }
    .t-link-content .link-banner01,
    .t-link-content .link-banner02{ padding: 25px; }
    
    /***** 採用情報 *****/
    
    .message-img { width: 360px; }
    .message-text { width: calc(100% - 400px); }
    
    /***** 共通 *****/
    
    .en-tit{ font-size: 0.9em; }
    .en-tit::before { top: 11px; }
    .ja-tit{ font-size: 1.6em; }
    
    .t-btn{ margin-top: 20px; padding: 5px 15px; }
   
}

@media only screen and (max-width:990px){
    
    /* header */
    header .logo a{ font-size: .7em; }
    
    /* slide */
    #vegas{ height: 55vh!important; }
    .scroll-Block{ display: none; }
    
    /* footer */
    .ig-area{ width: 290px; }
    .ig-logo img{ width: 150px; }
    .link-area{ width: calc( 100% - 330px); }
    .company-name a{ font-size: 1.2em; }

    
    /***** トップページ *****/
    
    .t-company-content{ flex-direction: column; }
    .t-company-img{ width: calc( 100vw - 5% ); }
    .t-company-text{ width: 100%; padding-top: 40px; }
    
    /***** 事業案内 *****/
    
    .service-flex-text{ padding: 0 2em; }
    .service-flex-text h4{ font-size: 1.2em; }
    
    /***** 共通 *****/
    
    .t-btn{ margin-top: 35px; padding: 15px 40px; }
    .page-head-ttl__sub{ font-size: 2em; }
    
    
    
}

@media only screen and (max-width:880px){
    
    /* header */
    header #pc_nav{ display: none; }
    
	/*ハンバーガーメニュー*/
	/*.button_container {
		display: block;
  		position: fixed;
  		top: 4%;
  		right: 5%;
  		height: 35px;
  		width: 45px;
  		cursor: pointer;
  		z-index: 100;
  		-webkit-transition: opacity .25s ease;
  		transition: opacity .25s ease;
		z-index: 2000;
	}*/
    .button_container {
        display: block;
        position: fixed;
        top: 0;
        right: 0;
        height: 65px;
        width: 65px;
        cursor: pointer;
        z-index: 100;
        -webkit-transition: opacity .25s ease;
        transition: opacity .25s ease;
        z-index: 2000;
        background: #339F30;
    }
	/*.button_container:hover {
  		opacity: .7;
	}*/
	.button_container.active .top {
  		-webkit-transform: translateY(10px) translateX(0) rotate(45deg);
        transform: translateY(10px) translateX(0) rotate(45deg);
  		background: #fff;
	}
	.button_container.active .middle {
  		opacity: 0;
  		background: #fff;
	}
	.button_container.active .bottom {
  		-webkit-transform: translateY(-4px) translateX(0) rotate(-45deg);
    	transform: translateY(-4px) translateX(0) rotate(-45deg);
		background: #fff;
	}
	.button_container span {
		background: #fff;
		border: none;
		height: 1.5px;
		width: 20px;
		position: absolute;
		top: 24px;
		left: 0;
        right: 0;
        margin: 0 auto;
		-webkit-transition: all .35s ease;
		transition: all .35s ease;
		cursor: pointer;
	}
	.button_container span:nth-of-type(2) {
		top: 31px;
	}
	.button_container span:nth-of-type(3) {
		top: 38px;
	}

	.overlay {
		display: block;
		position: fixed;
		background: #339F30;
		top: 0;
		left: 0;
		width: 100%;
		height: 0%;
 		 opacity: 0;
		visibility: hidden;
		-webkit-transition: opacity .35s, visibility .35s, height .35s;
		transition: opacity .35s, visibility .35s, height .35s;
		overflow: hidden;
	}
	.overlay.open {
		opacity: 1;
		visibility: visible;
		height: 100%;
		z-index: 1000;
	}
	.overlay.open li {
		-webkit-animation: fadeInRight .5s ease forwards;
		animation: fadeInRight .5s ease forwards;
		-webkit-animation-delay: .35s;
		animation-delay: .35s;
	}
	.overlay nav {
		position: relative;
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
        display: block;
		width: 70%;
		margin: 0 auto;
	}
	.overlay ul {
		list-style: none;
		padding: 0;
		margin: 0 auto;
		display: inline-block;
		position: relative;
        width: 100%;
		height: 100%;
	}
	.overlay ul li {
		display: block;
        width: 100%;
		position: relative;
		opacity: 0;
        padding-left: 30px;
        box-sizing: border-box;
	}
	.overlay ul li::before {
    	content: "";
    	position: absolute;
    	top: 38px;
    	left: 0;
    	width: 15px;
    	height: 2px;
    	background: #fff;
        border-radius: 3px;
	}
	.overlay ul li a {
		display: block;
		position: relative;
		font-size: 2em;
        font-weight: 700;
		color: #fff;
		text-decoration: none;
		line-height: 2.5em;
		letter-spacing: .05em;
		overflow: hidden;
        font-family: 'Noto Serif JP', serif;
	}
	.overlay ul li a span {
		font-size: .6em;
		color: #fff;
		margin-left: 20px;
	}
	.overlay ul li a:hover:after, 
    .overlay ul li a:focus:after,
    .overlay ul li a:active:after { width: 100%; }
    
    .menu-ig{ 
        margin: 0;
        padding-left: 15px;
        font-size: 1.2em;
        font-weight: 500;
    }
    
    .menu_list_link{
        display: flex;
        align-items: center;
        margin-top: 25px;
        text-decoration: none;
        color:#fff;
    }
    .menu_list_link .link-img{ padding: 5px; background: #fff; border-radius: 50%; }
    .menu_list_link .link-img img{ width: 25px; }
    .menu_list_link .link-text p{ margin: 0; padding-left: 10px; }
    
	@-webkit-keyframes fadeInRight {
		0% { opacity: 0; left: 20%; }
		100% { opacity: 1; left: 0; }
	}

	@keyframes fadeInRight {
		0% { opacity: 0; left: 20%; }
		100% { opacity: 1; left: 0;	}
	}
	
	/*.button_container span.change-color { background-color: #2E3B92; }*/
    
    /* slide */
    #vegas .caption{ bottom: 10%; left: 5%; }
    
    /***** 会社情報 *****/
    
    .rinen-sec,
    .message-sec,
    .company-profile-sec{ margin-bottom: 50px; }
    
    .company-profile table th{ width: 8rem; }
    .company-profile table td{ width: calc( 100% - 8rem ); }
    
    .map-content{ flex-direction: column; }
    .map-img{ width: 100%; }
    .map-info{ width: 100%; margin-top: 40px; }
    
    /***** 事業案内 *****/
    
    .service-sec{ margin-bottom: 50px; }
    
    /***** 採用情報 *****/
    
    .recruit-sec,
    .entry-sec,
    .member-sec{ margin-bottom: 50px; }
    
    
}

@media only screen and (max-width:820px){
    
}

@media only screen and (max-width:768px){
	
    /* slide */
    #vegas { height: 63vh!important; }
	
}



@media only screen and (max-width:640px){
    
    /* header */
    header{ padding-top: 15px; }
    header .logo{ width: 210px; padding-top: 5px; }
    header .logo a{ font-size: .5em; }
    
    .overlay ul li a{ font-size: 1.7em; }
    .overlay ul li::before{ top: 35px; }
    
    /* footer */
    .footer-info-content{ flex-direction: column-reverse; }
    .footer-info-sec{ padding: 40px 0; }
    .link-area{ width: 100%; margin-top: 30px; }
    .ig-area{ width: 100%; }
    .ig{ height: 380px; }
    .link-list{ flex-direction: column; margin: 25px 0 0 0; }
    .link-list li{ width: 100%; margin-bottom: 15px; font-size: 1em; padding-left: 40px;}
    .link-list li::before{ left: 13px; }
    .ig-logo img{ width: 120px; }
    .contact-tel{ margin-top: 10px; }
    .contact-tel h5{ font-size: 1em; }
    .contact-tel p{ font-size: 1.6em; }
    
    /* slide */
    #vegas .caption h1{ font-size: 1.8em; }
    #vegas .caption p{ font-size: 0.7em; margin-top: 10px; padding-left: 7px; }
    
    /***** トップページ *****/
    
    .t-company-sec{ padding: 40px 0; }
    .t-company-img,
    .t-company-img img{ height: 260px; }
    .t-company-text{ padding-top: 20px; }
    .t-company-text p{ font-size: 0.9em; }
    .t-company-text h3{ font-size: 1.2em; margin-bottom: 15px; }
    
    .t-link-sec{ margin: 40px auto; }
    .t-link-content{ flex-direction: column; }
    .t-link-content .link-banner01{ margin-bottom: 20px; }
    .t-link-content .link-banner01,
    .t-link-content .link-banner02{ padding: 20px; width: 100%; }
    .link-btn-slide span{ width: 40px; height: 40px; }
    .link-btn-slide span::before{ width: 20px; height: 11px; top: 15px; right: 9px; }
    .link-text{ font-size: 0.8em; }
    
    /***** 会社情報 *****/
    
    .rinen-text{ font-size: 1em; }
    
    .message-content{ flex-direction: column; }
    .message-img{ width: 100%; }
    .message-text{ width: 100%; margin-top: 20px; }
    .message-text h4{ font-size: 1.2em; }
    .message-text h5{ font-size: 1em; margin-top: 20px; }
    .message-text p{ font-size: 0.9em; }
    
    .company-profile table th,
    .company-profile table td{ font-size: 0.9em; }
    .company-profile table th{ width: 6em; }
    .company-profile table td{ width: calc( 100% - 6em ); }
    
    .map-info{ margin-top: 20px; padding: 20px; }
    .map-info h4{ font-size: 1.2em; }
    .map-lead p{ font-size: 0.9em; }
    .map-contact{ margin-top: 20px; }
    .map-contact-tel{ font-size: 1.5em; }
    .map-contact-text{ font-size: 0.8em; }
    
    /***** 事業案内 *****/
    
    .education-lead p{ font-size: 0.9em; }
    .education-area{ flex-direction: column; padding: 20px 0; }
    .education-img{ width: 100%; }
    .education-text{ width: 100%; margin-top: 20px;  }
    .education-text ul li{ font-size: 1em; }
    .education-content{ padding-bottom: 20px; }
    .education-sec{ margin-bottom: 20px; }
    
    .service-lead p{ font-size: 0.9em; }
    .service-lead p:not(:last-of-type) { margin-bottom: 10px!important; }
    .service-flex{ flex-direction: column; }
    .service-flex-img{ width: 100%; }
    .service-flex-text{ width: 100%; padding: 1em 1.5em; }
    .service-flex-text h4 { font-size: 1em; }
    .service-list li h6{ font-size: 1em; }
    .service-list p{ font-size: 0.9em; }
    
    .service-message-content{ padding: 50px 0; }
    .service-message-content h4{ font-size: 1.2em; margin-bottom: 20px; }
    .service-message-content p{ font-size: 0.9em; }
    
    /***** 採用情報 *****/
    
    .recruit-lead p{ font-size: 0.9em; }
    .recruit-message-lead{ margin-bottom: 20px; padding-bottom: 20px; }
    .recruit-message-lead p{ font-size: 1em; }
    
    .entry-contact{ padding: 1.5em 1em; }
    .entry-contact h4{ font-size: 1em; margin-bottom: 10px; }
    .entry-text{ font-size: 0.9em; margin-bottom: 20px; padding-bottom: 20px; }
    .entry-tel-info{ font-size: 1.2em; }
    .entry-tel{ font-size: 1.8em; }
    
    .member-item{ flex-direction: column; }
    .member-img{ width: 100%; margin-bottom: 15px; }
    .member-text{ width: 100%; }
    .member-text h6{ font-size: 1em; margin: 10px 0; }
    .member-text p{ font-size: 0.9em; }
    
    /***** 共通 *****/
    
    #pc{ display: none; }
    #sp{ display: block; }
    #br-pc{ display: none; }
    #br-sp{ display: block; }
    
    .t-btn { margin-top: 25px; padding: 10px 30px; }
    
    .en-tit{ margin-bottom: 10px; }
    .ja-tit{ font-size: 1.4em; }
    
    .common-sub-tit{ font-size: 1.2em; margin-bottom: 20px; }
    
    #content{ margin: 50px auto; }
    
    /*.page-head-area{ height: 380px; }
    .page-head-ttl{ padding: 15px 20px; }
    .page-head-ttl__main{ font-size: 1.3em; padding-bottom: 8px; }
    .page-head-ttl__sub{ font-size: 0.7em; }*/
    
    .page-head-ttl__sub{ font-size: 1.4em; }
    .page-head-ttl__main{ font-size: 0.6em; }
    .page-head-ttl__main::before{ top: 13px; left: 15px; }
    
    #company,
    #service,
    #recruit{ height: 320px; padding: 140px 0 80px; }
    
    .common-main-tit{ font-size: 1.3em; margin: 0 0 20px 0; padding: 0 0 15px 44px; }
    .common-main-tit::before{ top: 2px; width: 30px; height: 30px; }
    .common-main-tit::after{ width: 2em; }
    
    /* footer */
    .footer_inner{ 
        flex-direction: column; 
        align-items: flex-start;
        padding: 40px 5%;
    }
    .footer_inner .info{ width: 100%; margin-bottom: 25px; }
    .company-name{ margin-bottom: 10px; }
    .company-name a{ font-size: 1em; }
    .add{ font-size: 0.9em; }
    .footer_link{ padding: 10px 15px; }
    
	/*.button_container.active .top {
		-webkit-transform: translateY(9px) translateX(0) rotate(45deg);
		transform: translateY(8px) translateX(0) rotate(45deg);
		background: #fff;
	}
	.button_container.active .bottom {
		-webkit-transform: translateY(-6px) translateX(0) rotate(-45deg);
		transform: translateY(-6px) translateX(0) rotate(-45deg);
		background: #fff;
	}
	
	.overlay nav { width: 55%; }
	.overlay ul li a { font-size: 1em; letter-spacing: .1em; }*/
	
}

@media only screen and (max-width:420px){
    
}
