@charset "utf-8";
/* CSS Document */

@media only screen and (max-width:1600px){
    
    .merit-mess-img{ width: 370px; }
    .merit-mess-text{ width: calc( 100% - 420px ); }
}

@media only screen and (max-width:1366px){
	
    /* トップページ */
    
    #vegas .caption h2{ font-size: 48px; }
    
    #t-card-link-bg{ height: 420px; }
    
    /* 組合員加入のメリット　*/
    
    #page-head-img,
    #page-head-img::before{ height: 460px; }
    
    .merit-mess-sec { flex-direction: column; }
    .merit-mess-img{ width: 100%; }
    .merit-mess-img img{ aspect-ratio: 3 / 1.5; object-fit: cover;  }
    .merit-mess-text{ width: 100%; margin-top: 40px; }
    
}

@media only screen and (max-width:1024px){
	
    /* ヘッダー */
    
    #side-header{
        position: relative;
        display: flex;
        align-items: center;
        width: 100%;
        height: 100px;
        background: #fff;
        box-sizing: border-box;
    }
    .side-header-inner{ 
        display: flex;
        align-items: center;
        overflow: visible; 
        padding: 0; 
        width: 100%;
        height: 100px;
    }
    .logo{ width: 170px; margin: 0 0 0 40px; padding: 0; }
    
    #pc_nav{ display: none;}
    
    /* バーガーメニュー */
    
	.button_container {
        display: block;
        position: fixed;
        top: 20px;
        right: 20px;
        height: 60px;
        width: 60px;
        cursor: pointer;
        -webkit-transition: opacity .25s ease;
        transition: opacity .25s ease;
        z-index: 2000;
        background-color: #009333;
        border-radius: 50%;
    }
	.button_container:hover {
  		opacity: 0.95;
	}
	
	.button_container.active .top {
  		-webkit-transform: translateY(10px) translateX(0) rotate(45deg);
        transform: translateY(0px) 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(-6px) translateX(0) rotate(-45deg);
		background: #fff;
	}
	.button_container span {
		background: #fff;
		border: none;
		height: 2px;
		width: 20px;
		position: absolute;
		top: 30px;
		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: 24px;
	}
	.button_container span:nth-of-type(3) {
		top: 36px;
	}

	.overlay {
		display: block;
		position: fixed;
		background: #fff;
		top: 0;
		right: 0;
		width: 0%;
		height: 100%;
 		opacity: 0;
		visibility: hidden;
		-webkit-transition: opacity .35s, visibility .35s, width .35s;
		transition: opacity .35s, visibility .35s, width .35s;
		overflow: hidden;
	}
	.overlay.open {
        opacity: 1;
		visibility: visible;
		width: 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%);
		width: 70%;
		margin: 0 auto;
	}
	.overlay ul {
		list-style: none;
		padding: 0;
		margin: 0 auto;
		display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
		position: relative;
        width: 100%;
		height: 100%;
	}
	.overlay ul li {
		display: block;
		width: 49%;
		position: relative;
		opacity: 0;
	}
    .overlay ul li:nth-child(1),
    .overlay ul li:nth-child(2),
    .overlay ul li:nth-child(3),
    .overlay ul li:nth-child(4){ margin-bottom: 15px; }
    /*.overlay ul li:not(:last-of-type){ margin-bottom: 20px; }*/
	.overlay ul li a {
		display: flex;
        flex-direction: column;
		position: relative;
        width: 100%;
        background: #fff;
        box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.15);
        border: 2px solid #000;
        border-radius: 6px;
        padding: 10px 10px 10px 60px;
		color: #000;
		text-decoration: none;
        font-weight: 500;
		overflow: hidden;
        box-sizing: border-box;
	}
    .overlay ul li:nth-child(1) a::before{
        content: "";
        position: absolute;
        top: 20px;
        left: 15px;
        background: url(https://kanayakenchikukumiai.com/images/common/icon-home.svg) no-repeat;
        width: 30px;
        height: 30px;
    }
    .overlay ul li:nth-child(2) a::before{
        content: "";
        position: absolute;
        top: 15px;
        left: 15px;
        background: url(https://kanayakenchikukumiai.com/images/common/icon-merit.svg) no-repeat;
        width: 28px;
        height: 35px;
    }
    .overlay ul li:nth-child(3) a::before{
        content: "";
        position: absolute;
        top: 20px;
        left: 15px;
        background: url(https://kanayakenchikukumiai.com/images/common/icon-message.svg) no-repeat;
        width: 32px;
        height: 28px;
    }
    .overlay ul li:nth-child(4) a::before{
        content: "";
        position: absolute;
        top: 16px;
        left: 15px;
        background: url(https://kanayakenchikukumiai.com/images/common/icon-download.svg) no-repeat;
        width: 32px;
        height: 28px;
    }
    .overlay ul li:nth-child(5) a::before{
        content: "";
        position: absolute;
        top: 20px;
        left: 18px;
        background: url(https://kanayakenchikukumiai.com/images/common/icon-contact.svg) no-repeat;
        width: 28px;
        height: 21px;
    }
	.overlay ul li a .ja {
		margin: 0;
		font-size: 16px;
        
	}
    .overlay ul li a .en {
		margin: 0;
		font-size: 14px;
		color: #009333;
	}
	.overlay ul li a:hover:after, .overlay ul li a:focus:after, .overlay ul li a:active:after {
		width: 100%;
	}

	@-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;	}
	}
    
    
    /* トップページ　*/
    
    #vegas{ height: 460px; }
    #vegas::before,#vegas::after{ width: 30px; height: 30px; }
    #vegas .caption{ left: 50px; }
    #vegas .caption h2:not(last-of-type){ margin-bottom: 10px; }
    #vegas .caption h2{ font-size: 40px; padding-bottom: 10px; }
    
    .page-head-info{ 
        top: -40px; 
        border-top: 2px solid #000;
        border-top-left-radius: 15px;
        border-bottom-left-radius: 15px;
    }
    
    .scroll-Block{ display: none; }
    
    .main-contents{ margin: 0; }
    .main-visual{ margin: 0 0 0 4%; }
    
    .recruit-pc-btn{ display: none; }
    .recruit-sp-btn{ 
        position: absolute;
        right: 5%;
        bottom: -10%;
        display: block;
        width: 120px;
        height: 120px;
        background: rgb(0, 147, 51);
        background: linear-gradient(180deg, rgba(0, 147, 51, 1) 0%, rgba(255, 221, 126, 1) 100%);
        box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.15);
        border: 1px solid #000;
        border-radius: 50%;
        margin: 0;
        text-align: center;
        color: #fff;
    }
    .recruit-sp-btn .img{
        position: absolute;
        top: -55px;
        left: 42%;
        transform: translateX(-42%);
        -webkit-transform: translateX(-42%);
        -ms-transform: translateX(-42%);
        display: block;
        width: 65px;
        height: 78px;
    }
    .recruit-sp-btn .txt{
        display: block;
        margin-top: 40px;
        font-size: 20px;
        font-weight: 500;
        line-height: 1.3;
    }
    
    .page-head-tel p{ font-size: 22px; }
    
    #t-card-link-bg{ border-radius: 0!important; }
    .t-card-link-list li figure{ width: 280px; }
    .t-card-txt-area { width: calc(100% - 320px); }
    
    /* 組合員加入のメリット　*/
    
    
    
    /* 共通　*/
    
    .page-header {
        position: relative;
        margin: 0 0 0 4%;
    }
    #page-head-img,
    #page-head-img::before,
    #page-head-img .js-parallax{ height: 400px; }
    .page-head-ttl .ja{ font-size: 40px; }
    
    /* フッター　*/
    #footer{ border-radius: 0; }
	
}

@media only screen and (max-width:920px){
    
    /* ヘッダー　*/
    
    #side-header,.side-header-inner{ height: 90px; }
    .logo { width: 140px; margin: 0 0 0 30px; }
    
    /* バーガーメニュー　*/
    
    .button_container{ top: 10px; right: 10px; }
	
    /* トップページ */
    
    #vegas .caption h2{ font-size: 36px; }

    .t-about-ttl{ width: 100%; }
    .t-about-txt{ width: 100%; margin-top: 25px; }
    .t-about-ttl .ja{ font-size: 26px; letter-spacing: 1px; }
    .t-about-ttl .en,
    .t-card-ttl .en,
    .footer-contact-ttl .en{ font-size: 18px; padding-left: 40px; }
    
    #t-card-link-bg{ height: 340px; }
    .t-card-link-list li figure{ width: 240px; }
    .t-card-txt-area { width: calc(100% - 275px); }
    .t-card-ttl .ja,
    .footer-contact-ttl .ja{ font-size: 24px; letter-spacing: 1px; }
    
    .page-head-info{
        flex-direction: column;
        align-items: flex-start;
        padding: 15px 20px;
    }
    
    /* 組合員加入のメリット　*/
    
    .merit-text-sec{ margin: 60px auto; }
    .merit-ttl h2{ font-size: 26px; margin: 10px 0 40px 0; }
    .merit-list-sec{ margin: 80px auto; }
    .merit-list-ttl{ font-size: 20px; }
    .merit-list-sec ul li h3{ padding: 5px 20px 5px 40px; }
    .merit-list-nam{ top: -7px; font-size: 24px; width: 50px; height: 50px; }
    .merit-contact-sec{ margin: 0 auto 80px auto; }
    
    /* 代表挨拶　*/
    
    .mess-text-sec{ margin: 60px auto; }
    .mess-ttl h2{ font-size: 26px; margin: 10px 0 40px 0; }
    
    .mess-img-sec img { border-radius: 15px 0 0 15px !important; }
    
    /* 資料ダウンロード　*/
    
    .down-list-sec{ padding: 60px 0 40px 0; }
    
    /* 共通　*/
    
    #tb-br{ display: none; }
    
    /* お問合せ　*/
    
    .contact-sec{ padding: 80px 0; }
    .text_box:not(:last-of-type) { margin-bottom: 60px; }
    
    /* フッター */
    
    .footer_nav li{ padding: 5px; }
    .footer_nav li a{ font-size: 14px; }
    .footer-company-info figure{ width: 150px; }
	.footer-contact-text { margin: 20px 0 30px 0; padding-bottom: 30px; }
    
}
    

@media only screen and (max-width:640px){
    
    /* ヘッダー　*/
    
    .logo { width: 135px; margin: 0 0 0 20px; }
    
    /* バーガーメニュー　*/
    
    .overlay nav{ width: 80%; }
    .overlay ul{ flex-direction: column; }
    .overlay ul li{ width: 100%; }
	
    /* トップページ */
    
    .page-head-info{ 
        border-top-left-radius: 10px;
        border-bottom-left-radius: 10px;
        top: -20px; 
        padding: 10px 15px;
    }
    .page-head-tel{ align-items: center; }
    .page-head-tel p{ font-size: 18px; }
    .page-head-tel img{ width: 18px; }
    .page-head-time{
        flex-direction: column;
        margin: 0 0 0 15px; 
    }
    .page-head-time-ttl{ 
        font-size: 12px;
        width: 100%;
        height: 18px;
        padding: 0;
        border-radius: 4px;
    }
    .page-head-time-txt{ font-size: 14px; margin: 5px 0 0 0;}
    .page-head-time-txt small{ font-size: 12px; }
    .page-head-info-sns{ width: 85px; }
    .page-head-info-sns li{ width: 25px; }
    
    #vegas{ height: 480px; }
    #vegas::before, #vegas::after { width: 15px; height: 15px; }
    #vegas .caption{ left: 25px; bottom: 25%; }
    #vegas .caption h2{ font-size: 34px; padding-bottom: 0px; }
    #vegas .caption h2:not(last-of-type){ margin-bottom: 5px; }
    
    .recruit-sp-btn{ bottom: -8%; width: 105px; height: 105px; }
    .recruit-sp-btn .img{ top: -44px; width: 55px; height: 66px; }
    .recruit-sp-btn .txt { margin-top: 28px; font-size: 18px; }
    
    .t-about-sec{ padding: 50px 0 0 0; }
    .t-about-txt{ font-size: 14px; }
    .t-about-ttl .ja{ font-size: 20px; }
    .t-about-ttl .en, 
    .t-card-ttl .en,
    .footer-contact-ttl .en{ font-size: 16px; padding-left: 35px; }
    .t-about-ttl .en::before{ width: 15px; height: 15px; }
    
    #t-card-link-bg{ height: 210px; }
    .t-card-link-sec{ margin-bottom: 60px; }
    .t-card-link-list{ 
        margin-top: 50px;
        padding: 20px 20px 40px 20px;
        border-radius: 10px; 
    }
    .t-card-link-list li{ flex-direction: column; }
    .t-card-link-list li:first-child { 
        margin-bottom: 30px; 
        padding-bottom: 30px; 
    }
    .t-card-link-list li figure{ width: 100%; }
    .t-card-txt-area{ width: 100%; margin-top: 20px; }
    .t-card-ttl .ja, .footer-contact-ttl .ja{ 
        font-size: 20px; 
        margin: 5px 0 0 0; 
    }
    .t-card-ttl .en::before,
    .footer-contact-ttl .en::before,
    .page-head-ttl .en::before{ width: 15px; height: 15px; }
    .t-card-text { font-size: 14px; margin: 15px 0 25px 0; }
    
    /* 組合員加入のメリット　*/
    
    .merit-mess-sec{ margin: 50px auto 80px auto; }
    .merit-mess-text{ margin-top: 20px; }
    .merit-ttl h2{ font-size: 20px; margin: 5px 0 25px 0; }
    .merit-ttl p{ font-size: 16px; }
    .merit-txt{ font-size: 14px; }
    
    .merit-list-sec { margin: 60px auto 50px auto; }
    .merit-list-sec ul li{ padding: 40px 20px 20px 30px; }
    .merit-list-sec ul li:not(:last-of-type){ margin-bottom: 50px; }
    .merit-list-sec ul li h3{ left: 35px; }
    .merit-list-ttl{ font-size: 16px; }
    .merit-list-txt{ font-size: 16px; padding: 10px 10px 10px 30px; }
    .merit-list-txt::before{ left: -25px; width: 45px; height: 45px; }
    .merit-list-nam {
        top: -5px;
        font-size: 20px;
        width: 45px;
        height: 45px;
    }
    
    .merit-contact-sec{ 
        flex-direction: column; 
        padding: 25px 20px; 
        margin-bottom: 60px;
    }
    .merit-contact-txt-area{ width: 100%; margin-bottom: 10px; }
    .merit-contact-txt-area h2{ font-size: 20px; padding-left: 35px; }
    .merit-contact-txt-area h2::before{ width: 10px; height: 20px; }
    .merit-contact-txt-area h2::after{ left: 15px; width: 10px; height: 20px; }
    .merit-contact-txt-area p{ font-size: 14px; }
    .merit-contact-illust-area{ width: 130px; }
    
    /* 代表挨拶　*/
    
    .mess-text-sec{ margin: 50px auto; }
    .mess-ttl h2{ font-size: 20px; margin: 5px 0 25px 0; }
    .mess-ttl p{ font-size: 16px; }
    .mess-txt{ font-size: 14px; }
    .mess-img-sec{ padding-bottom: 60px; }
    
    /* 資料ダウンロード　*/
    
    .down-list-sec{ padding: 50px 0 30px 0; }
    .down-list{ flex-direction: column; }
    .down-list li{ width: 100%; padding: 20px; }
    .down-list li h3{ font-size: 16px; margin: 0 0 15px 0; padding-bottom: 15px; }
    .down-btn{ font-size: 14px; padding: 15px; }
    .down-btn span{ padding-left: 35px; }
    .down-btn span::before{ width: 24px; height: 21px; }
    
    /* 共通　*/
    
    #pc-br{ display: none; }
    #sp-br{ display: block; }
    #pc-block{ display: none; }
    #sp-block{ display: block; }
    #pc-cation{ display: none!important; }
    #sp-cation{ display: inline-block!important; }
    
    .common-btn{ font-size: 14px; padding-right: 35px; }
    .common-btn::before{ width: 25px; height: 25px; }
    .common-btn::after{ top: 4px; right: 7px; }
    
    .sub-ttl{ font-size: 20px; margin-bottom: 25px; }
    .sub-ttl::before{ width: 60px; }
    
    #page-head-img, 
    #page-head-img::before,
    #page-head-img .js-parallax { height: 240px; }
    .page-head-ttl-area{ top: 54%; left: 7%; }
    .page-head-ttl{ margin-bottom: 10px; }
    .page-head-ttl .ja{ font-size: 26px; }
    .page-head-ttl .en{ font-size: 16px; padding-left: 35px; }
    #page-head-img{ border-radius: 20px 0 0 20px; }
    
    #bread{ font-size: 12px; }
    
    /* お問い合わせ */
    
    .contact-sec { padding: 60px 0; }
    .text_box:not(:last-of-type) { margin-bottom: 50px; }
    .text_box p{ font-size: 14px; }
    .contact-text,
    .form-policy{ font-size: 14px; }
    .contact-text{ margin-bottom: 30px; }
    .contact-message-sec{ margin-bottom: 40px; }
    form#mail_form input#form_submit_button{ font-size: 14px; }
    
    
    /* フッター */
    
    #footer{ padding: 30px 0; }
    .footer_nav{ display: none; }
    .footer-column{ flex-direction: column; }
    .footer-left-area,.footer-right-area{ width: 100%; }
    .footer-left-area{ margin-bottom: 20px; }
    .footer-contact-text{ 
        font-size: 14px; 
        margin: 20px 0;
        padding-bottom: 20px;
    }
    .footer-company-info{ margin-top: 40px; }
    .footer-company-info figure{ width: 130px; }
    .add{ margin: 15px 0; }
    .footer-sns-list{ width: 95px; }
    .footer-link{ width: 130px; }
    .pc-copy-right{ display: none; }
    .sp-copy-right{ 
        display: block;
        margin: 0;
        color: #707070;
        font-size: 10px;
    }
    .web-contact-inner{ padding: 20px 15px; margin: 10px 0; }
    .btn-txt{ font-size: 14px; }
    .tel-contact-inner{ padding: 15px; margin: 10px 0; }
    .tel-contact-inner .tel p{ font-size: 20px; }
    .tel-contact-inner .tel figure{ width: 18px; }
    .tel-contact-inner .time .time-ttl{ height: 30px; font-size: 14px; }
    .tel-contact-inner .time .time-txt{ font-size: 14px; }
    .tel-contact-inner .time .time-txt small{ font-size: 12px; }
    .tel-contact-inner .time{ margin: 0; }
    
}