﻿
/* ------------- my css ------------- */



/* color */
.txt_color_nomal, .hvr_txt_color_nomal:hover{color: var(--black);}
:root{
    --color1: #222d44; 
    --color2: #d1d4db; 
    --color3: #721515; 
    --color4: #eae3d8; 
    --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(--color1);
}
.linkStyle:hover{
	opacity:0.7
}



/*------------- animation -------------*/

.fadein{
	transform: translateY(20px);
	transition: transform 1.5s ease, opacity 2s;
	transition-property: opacity,transform;
	opacity: 0;
}
.fadein.start{transform: translateY(0);opacity: 1;}

/*------------- header -------------*/

#header_menu ul {
    display: none;
}

#header .header_info p{
    display: none;
}

.index_header #header{
    display: none;
}
.clone-nav.is-show #header{
    display: flex;
}



/*------------- FV -------------*/

.swiper-container .box_img{

object-fit: cover;
 height: 100%;

}

#main_img {
    max-height: 100vh;
    margin-top: 0;
}

#main_img .main_txt{
    z-index: 2;
        top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
}

#main_img .main_txt .item1{
    width: 30%;
    max-width: 280px;
}

#main_img .main_txt .item2{
     width: 30%;
    max-width: 280px;
}

#main_img .main_txt .item3{
    width: 40%;
    max-width: 380px;
}

#main_img .main_logo{
    z-index: 2;
     top: 30%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
    max-width: 800px;
}

#main_img .main_logo .logo{
    opacity: 0;
}

.anim_box .item{
	transform: translateY(20px);
	transition: transform 1.5s ease, opacity 2s;
	transition-property: opacity,transform;
	opacity: 0;
}
.anim_box .item.start{transform: translateY(0);opacity: 1;}

.anim_box .item.hide {
  opacity: 0;
  transform: translateY(-20px);
  transition: transform 1s ease, opacity 1s;
}


/* ロゴアニメ */
#main_img .main_logo .logo, #main_img .sub_txt .sub{
  opacity: 0;
  transform: translateY(20px);
  transition: transform 1.5s ease, opacity 1.5s;
}
#main_img .main_logo .logo.start , #main_img .sub_txt .sub.start{
  opacity: 1;
  transform: translateY(0);
}


#main_img .sub_txt{
    z-index: 2;
    max-width: 380px;
    width: 30%;
    bottom: 0%;
    left: 1%;
}

#main_img .sub_logo{
    z-index: 2;
    max-width: 250px;
    width: 30%;
    top: 3%;
    left: 2%;
}

@media screen and (max-width: 768px) {
.swiper-container-fade .swiper-slide {
    height: 80vh !important;
}

#main_img .main_txt{
    z-index: 2;
        top: 38%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
}

#main_img .sub_txt {
    width: 47%;
}
}
@media screen and (max-width: 667px) {
    #main_img .main_txt{
        top: 28%;
    }
    #main_img .sub_logo{
    width: 40%;
}
}

/*------------- TOP -------------*/

#top_cms .top_cms_box .width_1280-max {
    width: 90%;
}

#contents0 .logo{
    max-width: 600px;
    left: -5%;
    bottom: -5%;
    z-index: -1;
}


#intro2 .contents_item{
    z-index: 1;
    right: 5%;
    bottom: 0;
    width: 60%;
    max-width: 330px;
}

#intro_txt{
    padding-left: 30px;
    padding-right: 30px;
}
#contents h2{
    color: #fff;
}
#intro_txt .pc_txt {
    transform: translateY(-20px);
}


#contents .pc_txt{
    font-size: 30px;
}
#intro_txt .sp_txt ,#contents .sp_txt{
    text-align: center;
}


#contents .back_color {
    border-bottom: 3px solid #fff;
}
.offset-1r{
    margin-right: 0;
}

.item2{
    pointer-events: none;
}


@media screen and (max-width: 1500px) {
  #intro2 .contents_item{
        max-width: 200px;
        left: 50%;
        right: auto;
        transform: translate(-50%, 0);
    }
    #intro2{
        padding-top: 25vh;
    }
}
    
@media screen and (max-width: 768px) {
    
    #intro_txt .pc_txt {
    transform: none;
}


    #contents0 .logo{
    bottom: 0;
}

    #top_cms .cms_title{
        margin-bottom: 50px;
    }
    
  
}

@media screen and (max-width: 667px) {
    #intro{
        margin-bottom: 0;
    }
    #intro2 .contents_item {
        max-width: 150px;
        }
    #intro2 {
        padding-top: 210px;
    }
    #top_cms .contents {
    right: auto;
    left: 50%;
    transform: translate(-50%, -50%);
    }
    
}


/*------------- footer -------------*/

#footer .pd_l-r5per{
    padding: 0 10%;
}

/*------------- 下層 -------------*/
#page_title h2 {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: horizontal-tb;
}

#page_title .txt_shadow {
    font-weight: bold;
    font-size: 40px;
    color: #fff;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);
}


#page_title .back_color2,#page_title .back_color  {
    background-color: transparent;
}

@media screen and (max-width: 667px) {
    #page_title .txt_shadow {
    font-size: 22px;
}
}

/*------------- お問い合わせ -------------*/
    #form_bt .submit{
    width: 200px;
    padding: 10px;
    background: var(--color1);
    cursor: pointer;
    color: white;
    border: none;
    transition: 0.5s;
    margin-right: 10px;
    }
    
    #form_bt .reset{
    width: 200px;
    padding: 10px;
    background: var(--color2);
    cursor: pointer;
    color: var(--color1);
    border: none;
    transition: 0.5s;
    }
    
    #form_bt .submit:hover, #form_bt .reset:hover{
        opacity: 0.7;
    }
    
    @media screen and (max-width: 667px) {
            #form_bt .submit{
                width: 150px;
            }
            #form_bt .reset{
                width: 100px;
            }
    }
    
    

/*------------- 会社情報 -------------*/
#page7 #map{
    display: none;
}

/*------------- サイトマップ -------------*/
@media screen and (max-width: 667px) {
#page10 .container {
    margin-bottom: 55px;
}
}