﻿/* ------------- my css ------------- */

body {

    line-height: 1.5;
}

/* color */
.txt_color_nomal, .hvr_txt_color_nomal:hover{color: var(--black);}
:root{
    --color1: #1e60af; 
    --color2: #eaf2f9; 
    --color3: #19468e; 
    --color4: #f7f8f9; 
    --black: #151a1e; 
}

.txt_red, .hvr_txt_red:hover{color: #C12326;}
.txt_gray, .hvr_txt_gray:hover{color: #ccc}
.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_black, .hvr_bg_black:hover{background-color: var(--black)} /* 黒背景 */
.bg_gray, .hvr_bg_gray:hover{background-color: #ccc}
.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 */
.bg_color_clear, .hvr_bg_color_clear:hover{background-color: transparent!important}

/* border-color ※!important */
.border_black, .hvr_border_black:hover{border-color: var(--black)}
.border_gray, .hvr_border_gray:hover{border-color: #ccc}
.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)}


/*自動リンク設定*/
.linkStyle{
    color:var(--color3);
}
.linkStyle:hover{
	opacity:0.7
}

/*------------- ヘッダー -------------*/

.logo1 {
    max-width: 200px;
    padding-right: 20px;
    transition: .3s;
}

@media screen and (max-width: 768px) {
    .logo1 {
    max-width: 120px;

}

}

/*------------- TOP -------------*/

#intro h2{
    font-size:30px;
}
@media screen and (max-width: 667px) {
    #intro h2{
    font-size:21px;
}
}

@media screen and (min-width: 667px) and (max-width: 768px) {
.slider1.swiper-container{
    transform: scale(2.5);
    transform-origin: center top;
}
.swiper-slide.swiper-slide-duplicate,.swiper-slide.swiper-slide-prev,.swiper-slide.swiper-slide-next{
    margin-right: 25px!important;
}
}

#main_img::before{
    display: none;
}

#main_img .sub_txt{
    top: 14%;
    width: 40%;
    max-width: 300px;
    z-index: 2;
}

#main_img .main_txt{
     bottom: 12%;
    right: 0;
    width: 80%;
    max-width: 650px;
    z-index: 2;
    padding: 20px 0px 20px 100px;
    background: rgba(255, 255, 255, 0.7);
    clip-path: polygon(80px 0%, 100% 0%, 100% 100%, 0% 100%);
}


@media screen and (max-width: 768px) {
    #main_img .main_txt{
     width: 90%;
     bottom: 12%;
    right: 0;
    padding: 15px 0px 15px 20px;
     clip-path: polygon(25px 0%, 100% 0%, 100% 100%, 0% 100%);
}
#main_img .sub_txt{
    max-width: 200px;
}

}
@media screen and (max-width: 667px) {
    #main_img .sub_txt{
    top: 10%;
    }
    
}




#intro .txt_box .txt_center{
    text-align: left;
}

#content .cate_item .no {
    font-size: 50px;
    font-family: "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";
    line-height: 1.3;
    color: var(--color1);
}

#content .flex_top-left{
    align-items: center;
}
#content .box_txt {
    -webkit-line-clamp: 5;
}

.modal-open span{
    border-radius: 0;
}
.more a {
    border-radius: 0;
}

@media screen and (max-width: 768px) {
    .more{
        margin-top: 30px;
    }
    #content .swiper-button-next, #content .swiper-button-prev {
        top: 30px;
    }
    #content .box_title::before {
    left: -70px;
}

}
@media screen and (max-width: 667px) {

#content .swiper-button-prev,#content .swiper-button-next {
        top: 308px;
    }
}



/*------------- フッター -------------*/

.f_contact_btn a{
    border-radius: 0;
}

.f_contact_btn a span{
    margin-right: 5px;
}

.footer_contact::before {
    content: "";
    background-image: url('/files/img/pika.png');
    display: inline-block;
    position: absolute;
    width: 80px;
    height: 80px;
    top: -9%;
    left: 50%;
    clip-path: none;
    background-color: transparent;
    z-index: 1;
    background-repeat: no-repeat;
background-size: contain;
background-position: center;
}

.f_contact_box {
    padding: 120px 30px 50px;
}

.f_contact_box .txt_color1{
    color:#fff4a4;
}


.footer_sns{
    display: none;
    padding: 0;
}

@media screen and (max-width: 667px) {
.footer_contact.bg_posi_c-c{
    background-position: center right;
}
}

/*------------- 下層ページ -------------*/
.cate_list li a{
    border-radius: 0;
}




/*------------- ビフォーアフター -------------*/

#cms_4-b .cate_box {
    margin: 0 auto;
}

#cms_4-b .cate_box.width_50per{
    width: 47% !important;
}

.before_txt{
    top: 0;
    padding: 10px 25px;
}
@media screen and (max-width: 667px) {
#cms_4-b .cate_box.width_50per {
    width: 100% !important;
}
.before_txt {
    padding: 5px 15px;
}
}
/*------------- 会社概要 -------------*/

.content .map{
    display: none;
}

/* flow ---------------------------------------------------------------------------------------------*/

#page5 .cate_list{
    display: none;
}

/*------------- お問い合わせ -------------*/
#page8 .contact_tel a {
    border-radius: 0px;
}


/* fix_bnr ---------------------------------------------------------------------------------------------*/

#bottom_tel a{
    display: none;
}

#fix_bnr {
    bottom: 20px;
    right: 0;
    left: 0;
    z-index: 10;
    width: 70%;
    max-width: 400px;
    transition: 0.5s;
    opacity: 0;
    margin: auto;
}

#fix_bnr a:hover{
    opacity: 0.7;
}
#fix_bnr.scroll{
    opacity: 1;
}
#fix_bnr.close{
    opacity: 0;
    z-index: -1;
}
@media screen and (max-width: 768px){
#fix_bnr{
    max-width: 400px;
}
#fix_bnr.close{
    transform: translateX(200px);
}
}
@media screen and (max-width: 667px){
#fix_bnr {
    width: 77% !important;
    right: auto;
    left: 20px;
    margin: auto;
    bottom: 10px;
    opacity: 0;
}
}

.vibrate-realistic, #fix_bnr a:hover img {
  animation: realisticVibrate 2s infinite;
  display: inline-block;
}

/* fix_bnr end ---------------------------------------------------------------------------------------------*/

@media screen and (max-width: 768px) {
    .pagetop {
        right: 10px;
        bottom: 20px !important;
    }
    
}
    
    @media screen and (max-width: 667px) {
    #sp_nav .sp_nav_inner .l-menu ul li {
         padding: 0;
    }
}


