﻿/*スクショ用*/
/*html, body{overflow: auto}*/
/*.pp-section{position: static}*/
/*#custom .custom_wrap, #intro, #contents, #contents2, #top_cms{*/
/*    height: 100%!important;*/
/*}*/
/*--------------------------------------------
 色 ・　文字
----------------------------------------------*/
:root{
    --color1: #8cff19;
    --color2: #ccc;
    --color3: #ffff19;
    --color4: #ccc;
	--text: #fff;
	--white: #fff;
    --base: #333;
    --link: #69c300;
    
    --font1: 16px;
    --fontB1: 32px;
    --fontBno: 80px;
    --font-jp:  'IBM Plex Sans JP', sans-serif;
    --font-no: 'Roboto Mono', monospace;
}
/* タブレット */
@media screen and (max-width: 768px){}
/* スマホ */
@media screen and (max-width: 667px){
    :root{
        --fontB1: 24px;
        --fontBno: 60px;
    }
}




/* タブレット */
@media screen and (max-width: 768px){
    #custom .custom_wrap, #intro, #contents, #contents2, #top_cms{
        height: 100%!important;
    }
}

/* --------------------------------------------
 メインイメージ 
---------------------------------------------*/
#main_img{
    height: 100vh;
    overflow: hidden;
}

#main_img .main_logo{
    z-index: 3;
    position: absolute;
    top: 20px;
    right: 95px;
    width: 223px;
}
#main_img .catch{
    z-index: 3;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);/* X横 Y縦 始点が要素の中心になる */
    width: 70%;
}
.catch{
    opacity: 0;
    top: 150%;
    animation-duration:5s;
}

.catch.move{
    opacity: 0;
    top: 150%;
    animation-name: fadeInAnime;
}
@keyframes fadeInAnime{
  0% {
    top: 130%;
    opacity: 0;
    
  }

  10% {
    top: 50%;
    opacity: 1;
  }

  80% {
    top: 50%;
    opacity: 1;
  }

  100% {
    top: -150%;
    opacity: 0;
  }
}
/* タブレット */
@media screen and (max-width: 768px){
    /*.section:not(#main_img){height: calc(100vw * 0.56);}*/
    #main_img{height: calc(100vw * 0.56);position: relative;}
    #main_img .main_logo{
        top: 0px;
        right: 49px;
        width: 140px;
    }
    #main_img .catch{
        width: 65%;
    }
}
/* スマホ */
@media screen and (max-width: 667px){
    #main_img .main_logo{display: none;}
    #main_img .catch{width: 65%;}
}

/* --------------------------------------------
  閉じるボタン付き追従バナー 
---------------------------------------------*/

.fix_banner{
	max-width: 330px;
	position: fixed;
	bottom: 10px;
	left: 10px;
	z-index: 7;
	transition: 0.5s;
}
.fix_banner .close_bt{
	position: absolute;
	bottom: 65px;
    right: -15px;
	display: block;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	transition: 0.5s;
	background-color: #fff;
	z-index: 11;
	cursor: pointer;
}
.fix_banner .close_bt:hover{opacity: 0.7;}
.fix_banner .close_bt span{
	position: relative;
	display: block;
	width: 30px;
	height: 30px;
}
.fix_banner .close_bt span:before,.fix_banner .close_bt span:after{
	content: "";
	display: block;
	background-color: var(--base);
	height: 4px;
	width: 20px;
	position: absolute;
	top:50%;
	left: 50%;
}
.fix_banner .close_bt span:before{
	-ms-transform: translate(-50%,-50%) rotate(-45deg);
	-webkit-transform: translate(-50%,-50%) rotate(-45deg);
	transform: translate(-50%,-50%) rotate(-45deg);
}
.fix_banner .close_bt span:after{
	-ms-transform: translate(-50%,-50%) rotate(45deg);
	-webkit-transform: translate(-50%,-50%) rotate(45deg);
	transform: translate(-50%,-50%) rotate(45deg);
}
.fix_banner.close {opacity: 0;z-index: -1;
}
.fix_banner.close2{opacity: 0;z-index: -1;}

@media  screen and (max-width: 768px){
.fix_banner{}
.fix_banner .close_bt{}
}

@media  screen and (max-width: 667px){
.fix_banner{max-width: 220px;}
.fix_banner .close_bt{
	width: 25px;
	height: 25px;
	bottom: 40px;
	right: -8px;
}
.fix_banner .close_bt span{
	width: 25px;
	height: 25px;
}
}
/* 閉じるボタン付き追従バナー end */

/* --------------------------------------------
 募集要項
---------------------------------------------*/
#cms_6-b .cate_title{
    color: var(--base);
}


/*--------------------------------------------
 コンテンツ装飾
----------------------------------------------*/
#contents .con_wrap,#contents2 .con_wrap{
    position: relative;
    overflow: hidden;
}
.condec{
    position: absolute;
    z-index: 2;
}
#contents .con_wrap .con1dec1{
    bottom: 0;
    right: -30px;
    max-width: 180px;
}
#contents2 .con_wrap .con2dec1{
    bottom: 0;
    right: 20px;
    max-width: 240px;
    width: 28%;
}
#contents2 .con_wrap .con2dec2{
    bottom: 0;
    right: calc(30px + 28%);
    max-width: 240px;
    width: 28%;
}
#contents2 .con_wrap .con2dec3{
    position: relative;
    display: block;
    bottom: 80px;
    right: 0px;
    margin-right: 0;
    margin-left: 60%;
    width: 40%;
    max-width: 400px;
}
/* スマホ */
@media screen and (max-width: 667px){
    #contents .con_wrap .con1dec1{
        max-width: 140px;
    }
    
    #contents2 .con_wrap .con2dec1,#contents2 .con_wrap .con2dec2{
        width: 50%;
    }
    #contents2 .con_wrap .con2dec1{
        right: 0;
    }
    #contents2 .con_wrap .con2dec2{
        right: 50%;
    }
    #contents2 .con_wrap .con2dec3{
        bottom: 50px;
        margin: 0 auto;
        width: 60%;
    }
}

/*--------------------------------------------
 反転・黒背景
----------------------------------------------*/
h1, h2, h3, h4, h5, h6{font-weight: bold;}
body,#top_cms,#intro,#custom,#loader{
    font-family: var(--font-jp);
    background-color: var(--base);
    color: var(--text);
    font-weight: bold;
}
.txt_white,#pc_nav .txt_white{
    color: var(--base);
}
#page_title.txt_white{
    color: var(--text);
}
#menu_stick span.stick::before, #menu_stick span.stick::after,#menu_stick span.stick.bg_white,#loader .loader_bar{
    background-color: var(--base);
}
#menu_stick.trans span.stick{
    background-color: transparent;
}
.more a::before,.more a::after,.more a:hover::before,.more a:hover::after{
    border-color: var(--base)!important;
}
#page_top{
    background-color: rgba(0,0,0,0.8);
}
#contents{}
#contents2{}
.copyright{
    color: var(--base);
}
footer.bg_color2,footer.bg_white{
    background-color: var(--color1);
}
.footer_left,
#footer_nav ul li a{
    color: var(--base);
}
#footer_nav ul li a{
    border-bottom: 2px solid var(--color1);
}
#footer_nav ul li a:hover{
    opacity:0.7;
    border-bottom: 2px solid var(--base);
}
.footer_bg.bg_color2{
    background-color: var(--color1);
}
.footer_left a{
    color: var(--base);
}
.footer_left .tel_bt a{
    border-bottom: 3px solid;
    font-size: 22px;
}
.footer_left .tel_bt a span{}

.footer_left .tel_bt a:hover{
    border-bottom: 3px solid;
    border-color: var(--color1);}
    
.footer_left .tel_bt a:hover span{}

#cms_1-g .box_title1,#cms_1-g .date_box {
    color: var(--color1);
}
#google_privacy{}

@media screen and (max-width: 667px){
    .footer_left .tel_bt a{
        font-size: 20px;
    }
}

/*--------------------------------------------
 社員の声
----------------------------------------------*/
.v_type2 .demo_box {padding-top: 70px}
.v_type2 {counter-reset: number 0;}
.v_type2 .cate_box {
    padding: 50px 20px 30px;
    background-color: var(--base);
    border-bottom: 1px solid var(--color4);
    border-right: 1px solid var(--color4);
    border-left: 1px solid var(--color4);
    box-shadow: none;
}
.v_type2 .cate_box:before {
    counter-increment: number 1;
    content: "0" counter(number);
    display: inline-block;
    position: absolute;
    top: -43px;
    left: -5px;
    z-index: 1;
    font-size: 80px;
    font-weight: 100;
    font-style: italic;
    font-family: var(--font-no);
    color: var(--color3);
    background-color: var(--base);
    line-height: 1;
    padding: 0 25px 0 0;
}

@media screen and (max-width: 667px){
.v_type2 .cate_box{padding: 42px 25px 25px;}
.v_type2 .cate_box:before{top: -31px;font-size: 48px;}
}



/*--------------------------------------------
 問い合わせ
----------------------------------------------*/
#tel_txt h3,.tel_box h3{
    font-family: var(--font-jp);
    font-weight: bold;
    color: var(--color3);
}
.tel_box{
    max-width: 600px;
    margin: 0 auto 50px;
}
.tel_wrap a,.mail_wrap a{
    background-color: var(--color1);
    color: var(--base);
    padding: 15px 20px;
    border-radius: 5px;
}
/* スマホ */
@media screen and (max-width: 667px){
    .tel_wrap a,.mail_wrap a{
        padding: 15px 0px;
        font-size: 24px;
        letter-spacing: 0em;
        width: 100%;
        line-height: 1.3;

    }
}

/* --------------------------------------------
 リンクボタン 
---------------------------------------------*/
.linkStyle,a{
	color: var(--link);
	text-decoration: underline;
	transition: all 0.5s;
}
a{
    text-decoration: none;
}
.linkStyle:hover,a:hover{
	opacity: 0.7;
	text-decoration: none;
}

.cate_list li a,.more a{
    color: var(--base);
    font-weight: bold;
    padding: 10px 20px;
    transition: all 0.3s;
}
.cate_list li a{
    color: var(--color1);
}
.pager li a{
    background-color: var(--color1);
    color: var(--base);
}
.pager li a:hover{
    background-color: var(--color3);
    color: var(--base);
    opacity: 1;
    transform: translateY(3px);
}
#page10 ul li .font_bar{
    font-family: var(--font-no);
    color: var(--color3);
}
#page10 ul li a{
    color: var(--color1);
    padding-top: 15px;
    padding-bottom: 15px;
}
#page10 ul li a:hover,.more a:hover{
    opacity: 0.7;
}
.cate_list li a:hover{
    color: var(--color3);
    transform: translateY(3px);
}

/* タブレット */
@media screen and (max-width: 768px){}
/* スマホ */
@media screen and (max-width: 667px){}
/*--------------------------------------------
 色 ・　文字
----------------------------------------------*/
html,body,.font_10,.font_11,.font_12,.font_13,.font_14,.font_15{font-size: var(--font1);}
.font_2up{font-size: max(calc(var(--font1) + 2px), calc(1rem  + 2px));}
.font_4up{font-size: max(calc(var(--font1) + 4px), calc(1rem  + 4px));}
.font_2dw{font-size: max(calc(var(--font1) - 2px), calc(1rem  - 2px));}
.font_4dw{font-size: max(calc(var(--font1) - 4px), calc(1rem  - 4px));}
.font_6dw{font-size: max(calc(var(--font1) - 6px), calc(1rem  - 6px));}

.date_box{
    font-family: var(--font-no);
}
.box_title,.box_title1,#cms_2-f .box_title1,#cms_2-g .cate_title h3, .cate_title{
    font-weight: bold;
}
#pp-nav.right{
    background-color: var(--base);
    border-radius: 20px;
}

#intro{}
#intro .intro_title{
    font-size: var(--fontB1);
    color: var(--color1);
}


#contents,#contents2{
    background-color: var(--base);
}
#contents .con_box1,#contents2 .con_box2{
    position: relative;
}

#contents .con_title,#contents2 .con_title{
    font-size: var(--fontB1);
}
.con_no{
    font-family: var(--font-no);
}
#contents .con_no,#contents2 .con_no{
    font-size: var(--fontBno);
}

#top_cms{}
#top_cms .cms_title p,#page_title .title_wrap p{
    font-family: var(--font-no);
}

#page_title .title_wrap h2{
    font-weight: bold;
    font-family: var(--font-jp);
}
#page_title .title_bg{
    opacity: 0.6;
}

/* タブレット */
@media screen and (max-width: 768px){}
/* スマホ */
@media screen and (max-width: 667px){
    #page_title .title_wrap span{letter-spacing: 0em;}
    
    #pc_nav ul{
        padding-top: 40px;
    }
    .txt_white, #pc_nav .txt_white{
        line-height: 1.5;
    }
}


/* color */
body, .txt_color_nomal, .hvr_txt_color_nomal:hover{color: var(--text);}
.linkStyle{transition: 0.5s;color: var(--text)}
.linkStyle:hover{opacity: 0.7}

.txt_color1, .hvr_txt_color1:hover{color: var(--color1)} /* メインカラー */
.txt_color2, .hvr_txt_color2:hover{color: var(--color2)} /* サブカラー */
.txt_color3, .hvr_txt_color3:hover{color: var(--color3)} /* アクセントカラー1 */
.txt_color4, .hvr_txt_color4:hover{color: var(--color4)} /* アクセントカラー2 */

/* background-color */
.bg_color1, .hvr_bg_color1:hover{background-color: var(--color1)} /* メインカラー */
.bg_color2, .hvr_bg_color2:hover{background-color: var(--color2)} /* サブカラー */
.bg_color3, .hvr_bg_color3:hover{background-color: var(--color3)} /* アクセントカラー1 */
.bg_color4, .hvr_bg_color4:hover{background-color: var(--color4)} /* アクセントカラー2 */


/* border-color ※!important */
.border_color1, .hvr_border_color1:hover{border-color: var(--color1)}
.border_color2, .hvr_border_color2:hover{border-color: var(--color2)}
.border_color3, .hvr_border_color3:hover{border-color: var(--color3)}
.border_color4, .hvr_border_color4:hover{border-color: var(--color4)}