/* ======================================================================================
  共通
========================================================================================= */
html{
    font-size: 62.5%;
    scroll-behavior: smooth;
}

body{
    font-size: 1.6rem;
    font-family: 'Noto Sans JP', sans-serif;
    line-height: 2;
    color: #444;   
}

a{
    text-decoration: none;
    color:#333333;
}

a:hover{
    opacity: 0.6;
}

.inner{
    max-width: 1000px;
    margin-right: auto;
    margin-left: auto;
}
@media screen and (max-width:1000px){
    .inner{
        padding:0.5%;
    }
}

.btn a{
	display: block;
	width: 200px;
	line-height: 65px;
    font-size: 1.6rem;
    background-color: #f3de2366;
	text-align: center;
	color: #333333;
	margin-left: auto;
	margin-right: auto;
    margin-top: 10px;
    margin-bottom: 50px;
	transition: 0.3s;
}
@media screen and (max-width:440px){
    .btn a{
        display: block;
        width: 200px;
        line-height: 3;
        font-size: 1.6rem;
    }
}



/* ===================
  タイトル
====================== */
h1{
    font-size: 4rem;
    font-weight: 600;
    letter-spacing: 2px;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}
h2{
    font-size: 4rem;
    font-weight: 600;
    letter-spacing: 2px;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}
h3{
    font-size: 2.6rem;
    font-weight: 600;
} 
.title_03{
    font-size: 2.6rem;
    font-weight: 600;
    margin-top: 15px;
    /* background:rgba(0, 0, 0, 0) linear-gradient(transparent 60%,#e5e5e1b3 0%) repeat scroll 0 0; */
    text-align: center;
}
.page_titlearea{
    padding: 110px 0px 30px 0px;
}
.titlearea{
    padding: 50px 0px 50px 0px;
}
#service h3{
    text-align: left;
    background:rgba(0, 0, 0, 0) linear-gradient(transparent 60%, #fcf65b 0%) repeat scroll 0 0;
    margin-top: 10px;
    margin-bottom: 20px;
}

@media screen and (max-width:550px){
    h1{
        font-size: 2.6rem;
    }
    h2{
        font-size: 2.6rem;
    }
    #cta h2{
        letter-spacing: 1px;
    }
    h3{
        font-size: 2.1rem;
    } 
    .title_03{
        font-size: 2.6rem;    
        color: #444;
    }
    .page_titlearea{
        padding: 70px 0px 40px 0px;
    }
    .titlearea{
        padding: 0px 0px 50px 0px;
    }  
    #service h3{
        margin-bottom: 20px;
    }
}




/* ======================================================================================
  ヘッダー
========================================================================================= */
header{  
    position: sticky; 
    top: 0; 
    padding: 10px 10px 10px 20px;
    background-color: #fff; 
    z-index: 1000;
    box-shadow: 0 1px 5px rgba(0,0,0,0.2);
}
header .nav{
    display: flex;
    justify-content: space-between;
}
header nav{
    display: flex;
}
header img{
    width:140px ;
    margin-left: 0px;
    margin-bottom: 0;
}
header nav a{
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1;  
    display: block;
    padding-top: 33px;
    margin-left: 30px;
    margin-right: 50px; 
    color: #333;
}

@media screen and (max-width:550px){  
    header{   
        padding: 10px 10px 10px 10px;
    }
    header img{
        width:120px ;
        padding-bottom: 0;
        margin-bottom: 0;
    }
    header nav a{
        font-size: 1.6rem;
        font-weight: 600;
        padding-top: 25px;
        margin-left: 10px;
        margin-right: 20px; 
    }
}

/* ==================
  トップページのヘッダー
=====================*/
.toppage_header h1{
    color: #333;
    font-size: 1.3rem;
    text-align: left;
}
@media screen and (max-width:550px){
    header{   
        padding: 10px 10px 10px 10px;
    }
    .toppage_header h1{
        margin-left: 0; 
        letter-spacing: 0;
    }
}



/* ======================================================================================
  フッター
========================================================================================= */ 
footer{
    background-color: #1e1e1e;;
}
footer .inner{
    padding: 20px 20px 50px 20px;
    display: flex;
    justify-content: space-between;   
}
.footer p{
    color: #fff;
}
.footer a{
    color: #fff;
}
footer .footer_left img{
    width:140px ;
    margin-bottom: 15px;
}
footer .footer_left .adress{
    line-height: 1.3;
}
footer .footer_right nav{
    display: flex;
    justify-content: space-between;
}
footer .footer_right nav a{
    display: block;
    font-size: 1.6rem;
    margin-top: 9px;    
    margin-left: 30px;
    margin-right: 30px;
    color: #fff;
}
footer .footer_right .icon img{
    width: 30px;
}
footer .footer_right .icon{
    display: flex;
    justify-content: space-between;
    margin-top: 40px;
    margin-right: 20px;
}

@media screen and (max-width:700px){
    footer .footer_left img{
        width:100px ;
        margin-bottom: 5px;
    }
    footer .inner{
        flex-direction: column-reverse;
        padding: 0 0 15px 20px;
    } 
    footer .inner p{
    font-size: 1.4rem;
    }
    footer .footer_right nav{
        display: flex;
        justify-content: right;
    }
    footer .footer_right nav p{
        font-size: 1.4rem;
    }
    footer .footer_right .icon{
        margin-top: 15px;
        display: flex;
        justify-content: right;   
    }
    footer .footer_right .icon img{
        width: 30px;
        margin-right: 50px;
    }
    footer .footer_right .icon .right img{
        margin-right: 0;
    }
}




/* ======================================================================================
  CTA  お問い合わせ
========================================================================================= */

#cta .contact{
    padding-top: 50px;
    padding-bottom: 150px; 
}
#cta .contact_block{
    display: flex;
    justify-content: space-evenly;
    padding-left: 5%;
    padding-right: 5%;
}  
#cta .contact_block .btn a{
	width: 300px;
}
#cta .contact .contact_text{
    text-align: center;
    padding-bottom: 30px;
}

@media screen and (max-width:600px){
    
    #cta .contact{
        padding-top: 50px;
        padding-bottom: 70px; 
    }
    #cta .contact_block{
        display: block;
    }
    #cta .contact_block .btn a{
        width: 250px;
    }
    #cta .contact .contact_text{
        text-align: left;
        padding-top: 0px;
        padding-left: 10%;
        padding-right: 10%;
        font-weight: 600;
    }
} 

@media screen and (min-width:600px){      
    #cta .contact .contact_text .br_pc{display: block !important;}
    #cta .contact .contact_text .br_sp{display: none !important;}
}
@media screen and (max-width:600px){      
    #cta .contact .contact_text .br_pc{display: none !important;}
    #cta .contact .contact_text .br_sp{display: block !important;}
}




/* ======================================================================================
  トップページ
========================================================================================= */
#top_main img{
    display: block;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    }
    #top_main .about{
        text-align: center;
        margin-left: auto;
        margin-right: auto;
}
    
/* ==========
  key_visual
============= */
#key{
    background-image: url(../img/key.jpg);
    height: 80vh;
    background-size: cover;
    background-position: center center;
}
#key > div{
    display: table;
    width:100%;
    max-width:1000px;
    height: 80vh;
}
#key > div .pc{
    display: table-cell;
    vertical-align: middle;
    text-align: center;
}

#key > div .pc p{
    background-color: rgba(245, 244, 244, 0.5);
    display: inline-block;
    color: #000;
    font-size: 6.6rem;
    font-weight: 600;
    line-height: 1.2;
    padding:50px 80px 50px 80px;
}
#key > div .pc p span{
    font-size: 4.6rem;
}

@media screen and (max-width:768px){
    #key{
        height: 30vh;
    }
    #key > div{
        display: table;
    
        height: 30vh;}
    #key > div .pc p{
    font-size: 2.5rem;
    font-weight: 700;
    padding:15px;
    }
    #key > div .pc p span{
        line-height: 1.5;
        font-size: 2.5rem;
    }
}


/* @media screen and (max-width:1000px){
    #top_main .key_visual .inner{
        padding:0%;
    }
} */

/* ==========
  about
============= */
#top_main .about{
    max-width: 1000px;
    padding-top: 100px;
    padding-bottom: 100px;
    font-size: 2rem;
}
@media screen and (min-width:600px){      
    #top_main .about .br_pc{display: block !important;}
    #top_main .about .br_sp{display: none !important;}
}
@media screen and (max-width:600px){      
    #top_main .about .br_pc{display: none !important;}
    #top_main .about .br_sp{display: block !important;}
    #top_main .about .br_sp{
        font-size: 1.6rem;
        font-weight: 600;
        text-align: left;
    }
    #top_main .about .inner{
        padding: 10%;
    }
    #top_main .about{
        padding-top: 20px;
        padding-bottom: 20px;
    }
}

/* ==========
  SERVICE
============= */
#top_main .service{
    background-color: #a7a7a533;
    z-index: -1;
    }
#top_main .service{
    padding-top: 30px;
    padding-bottom: 150px;
}
#top_main .service_block img{
    max-width: 100%;  
}
#top_main .service_block{
    max-width: 45%;
    background-color: #fff;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
}
#top_main .text{
    padding: 20px;
}
#top_main .service_block_01{
    display: flex;
    justify-content: space-between;
    padding-top: 60px;
    padding-bottom: 60px;
    /* padding-left: 5%;
    padding-right: 5%; */
}
#top_main .service .titlearea{
    padding-left: 5%;
    padding-right: 5%;
}
#top_main .service .titlearea .title_en{
    font-size: 5rem;
    color: rgba(173, 172, 172, 0.938);
}
#top_main .service_title{
    font-size: 4.5rem;
}

/* #top_main .service .service_title::before{
content: "SERVICE";
font-size: 5.5rem;
color: rgba(179, 177, 177, 0.966);
} */






@media screen and (max-width:767px){ 
    #top_main .service{
        padding-top: 45px;
        padding-bottom: 10px;
    }
    #top_main .service_block{
        max-width: 90%;
        text-align: center;
        margin-left: auto;
        margin-right: auto;
        padding-bottom: 0px;
       margin-bottom: 30px;
    }
    #top_main .service_block_01{
        flex-direction: column;
        padding-top: 0;
    }
    #top_main .service_block .text{
        text-align: left;
        font-size: 1.6rem;
    }
    #top_main .service .service_title::before{
        font-size: 4rem;
        }
        #top_main .service_title{
            font-size: 3.5rem;
        }
}





/* ======================================================================================
  事業内容 service
========================================================================================= */

#service .leadtext p{ 
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    font-size: 2.1rem;
    font-weight: 400;
    letter-spacing: 1px;
    font-family: -apple-system, "system-ui", open-sans, source-han-sans-japanese, "Helvetica Neue", "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
} 
#service .leadtext{
    margin-bottom: 80px;
} 
#service .br_pc{
    display: block !important; 
}
#service .br_sp{
    display: none !important; 
}

#service section{
    display: flex;
    justify-content: space-between;
    max-width: 800px;
    margin-right: auto;
    margin-left: auto;
    padding: 30px;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
    margin-bottom: 30px;
}
#service section img{
    width: 100%;
    max-width: 400px;
    display: block;
    text-align: center;
    margin-right: auto;
    margin-left: auto;
    margin-top: 15px;
}
#service section .service_text{
    width: 80%;
    padding-left: 30px;
}
#service .sectionarea{
    background-color: #a7a7a533;
    z-index: -1;  
    padding-top: 50px;
    padding-bottom: 50px;
}
#service .service_name{
    background-color: #fff;
}

@media screen and (max-width:600px){
    #service section{
        flex-direction: column;
    }    
    #service .service_top{
        padding: 0px;
    } 
    #service .leadtext p{
        font-size: 1.6rem;
        font-weight: 600;
    }
    #service .leadtext{
        padding: 0 15px;
    } 
    #service .br_pc{
         display: none !important; 
    }
    #service .br_sp{
        display: block !important; 
    }
    #service section img{
        width: 90%;
    } 
    #service section{
        margin-top: 60px;
        margin-right: 5%;
        margin-left: 5%;
        padding: 10px 10px 30px 10px;
    }
    #service section .service_text{
        width: 100%;
        padding-top: 15px;
        padding-left: 0px;
    } 
    #service section:last-child{
        margin-bottom: 50px;
    }
    #service section .service_text{
        font-size: 1.6rem;
        padding-left: 5%;
        padding-right: 5%;
    }
    #service .sectionarea{  
        padding-top: 20px;
        padding-bottom: 30px;
    }
}






/* ======================================================================================
  会社概要 company
========================================================================================= */
#company div.cmp_info{
	width:60%;
	margin:0 auto;
}
#company div.cmp_info .line{
	margin:0 0 30px 0;
	border-bottom:#cccccc solid 1px;
}
#company div.cmp_info .line .name{
	font-weight:bold;
}
#company div.cmp_info .line .val{
	color:#000000;
}
#company .top_message{
    padding: 100px 0 50px 0;
}
#company .top_message .img_text{
    display: flex;
    justify-content: space-evenly;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
}
#company .top_message .img_text p{ 
    width: 45%;
}

@media screen and (max-width:600px){
    #company .top_message .img_text p{ 
        width: 100%;
        text-align: left;
    }
    #company .top_message .img_text{
        flex-direction: column;
        width: 80%;
        text-align: center;
        margin-left: auto;
        margin-right: auto;
    }
    #company .top_message{
        padding-top: 80px;
        padding-bottom: 90px;
    }
    #company .top_message .img_text img{
        margin-bottom: 20px;
    }
}

/* ======================================================================================
  LP
=======================================================================================*/
/* #lp .block_01{
    background-color: #fff(168, 58, 58);
}
#lp .block_01 .img_text{
    display: flex;
    justify-content: space-between;
}
#lp .block_01 .img_text p{
    width: 20%;
}
#lp .block_03 .img_text{
    display: flex;
    justify-content: space-between;
} */
@media screen and (min-width:600px){      
    #lp .block_01 .br_pc img{display: block !important;}
    #lp .block_01 .br_sp img{display: none !important;}
}
@media screen and (max-width:600px){      
    #lp .block_01 .br_pc img{display: none !important;}
    #lp .block_01 .br_sp img{display: block !important;}
}



#lp .inner{
    max-width: 700px;
    margin-bottom: 70px;
}
#lp h1{
    margin-top: 65px;
    margin-bottom: 20px; 
}
#lp .titlearea{
    background-color: #fcf65b;
}
#lp .title{
    font-size: 3rem;
    text-align: center;
}
#lp .block_02{
    margin-top: 100px;
}
#lp h2{
    margin-top: 0;
    margin-bottom: 40px;
}
#lp .block_03 .text img{
    width: 120px;
}
#lp .block_03 .img_text{
    padding-top: 20px;
}
#lp .block_03 .text{
    margin-top: 50px;
    padding: 40px;
    background-color: #5bbcfc44;
}
#lp .text span{
    font-size: 2rem;
    font-weight: 600;
}
#lp .text img{
    margin-bottom: 30px;
}


@media screen and (max-width:600px){
    #lp h1{
        font-size: 2rem;
    }
    #lp .br_sp img{
        padding: 0 20px;
    }
    #lp .inner{
        margin-bottom: 0;
    }
}


/* =============
LPの問い合わせ
==============*/

#lp .block_04 .contact_block{
    display: flex;
    justify-content: space-evenly;
    padding-top: 30px;
    padding-bottom: 10px;   
} 
#lp .block_04 .contact_block .btn a{
	width: 300px;
}
@media screen and (max-width:600px){
    #lp .block_04 .contact_block{
    display: block;
    }
    #lp .block_04 .btn a{
        width: 250px;
    } 
} 
