﻿/* ------------- my css ------------- */



/* color */
.txt_color_nomal, .hvr_txt_color_nomal:hover{color: var(--black);}
:root{
    --color1: #52c5e8; 
    --color2: #dfeff4; 
    --color3: #32c8cc; 
    --color4: #f0fffe; 
    --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
}

#wrap{
    min-width: 1300px;
}

@media screen and (max-width: 768px) {
    #wrap{
    min-width: auto;
}
}

/*------------- nav -------------*/

.overlay{
    z-index: 12;
    background: rgba(243, 253, 255, 0.97);
}


@media screen and (max-width: 768px) {
    .overlay {
        top: 0;
    }
.overlay-menu{
    padding-top: 100px;
}
}

@media screen and (max-width: 667px) {
    .overlay.open .menu-box .menu_list li:first-child {
        display: block;
    }
}

/* fix_bnr ---------------------------------------------------------------------------------------------*/
#fix_bnr {
    bottom: 0;
    right: 0;
    left: 0;
    z-index: 10;
    width: 70%;
    max-width: 400px;
    transition: 0.5s;
    opacity: 1;
    margin: auto;
}
#fix_bnr.scroll{
    opacity: 1;
}
#fix_bnr.close{
    opacity: 0;
    z-index: -1;
}

#fix_bnr .bnr1{
    z-index: 10;
}
#fix_bnr .hvr_people{
    position: absolute;
  bottom: 0;
  left: 50%;
  width: 80px;
  transform: translate(-50%,120%);
  transition: transform 0.3s ease-out;
  z-index: 9;
}
#fix_bnr a:hover .hvr_people {
  transform: translate(-50%,-50px);
}

@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;
    margin: auto;
    bottom: 10px;
}
}

.vibrate-realistic, #fix_bnr a:hover img {
  animation: realisticVibrate 2s infinite;
  display: inline-block;
}

/* fix_bnr end ---------------------------------------------------------------------------------------------*/


/*------------- FV -------------*/

#logo.top{
    left: -2%;
    width: 27%;
    max-width: 400px;
    height: 230px;
}

.point_none{
    pointer-events: none;
}

#main_img{
    height: 100vh;
}

.main_img1{
    bottom: 0;
}
.main_img2{
    top: 45%;
    left: 50%;
    transform: translate(-50%,-50%);
     width: 60%;
    max-width: 640px;
}

.main_img3{
    bottom: 0;
}
.main_img4 {
    width: 83%;
    bottom: 6%;
    left: 50%;
    transform: translate(-50%, 0);
}
.main_img5 {
    top: 38%;
    right: 5%;
    max-width: 120px;
    transform: translate(0, -50%);
}



.main_txt{
    top: 0;
    width: 80%;
    max-width: 750px;
    left: 50%;
    transform: translate(-50%,0);
}
.main_txt2{
    left: 0;
    top: 45%;
    max-width: 280px;
    transform: translate(0, -50%);
}

/* 雲のアニメーション */
.floating-image {
    animation: floatUpDown 3s ease-in-out infinite; /* 3秒かけてゆっくり上下に動く */
}

@keyframes floatUpDown {
    0% {
        transform: translateY(0); /* 通常の位置 */
    }
    50% {
        transform: translateY(-10px); /* 10px上に移動 */
    }
    100% {
        transform: translateY(0); /* 元の位置に戻る */
    }
}

.floating-image2 {
    animation: floatUpDown2 3.5s ease-in-out infinite; /* 3秒かけてゆっくり上下に動く */
}

@keyframes floatUpDown2 {
    0% {
        transform: translateY(0); /* 通常の位置 */
    }
    50% {
        transform: translateY(-15px); /* 10px上に移動 */
    }
    100% {
        transform: translateY(0); /* 元の位置に戻る */
    }
}

@media screen and (max-width: 768px) {
    #logo.top{
    height: 95px;
}

    #main_img {
    height: 80vh;
}
    .main_img1 {
        width: 150%;
        left: 50%;
        transform: translate(-55%, 0px);
    }
    .main_img2 {
    top: 56%;
    width: 60%;
    }
    .main_img3 {
    bottom: 15%;
    }
    .main_img5 {
        top: 48%;
        right: 5px;
        max-width: 70px;
        transform: translate(0, -50%);
    }
    
    .main_txt {
        top: 12%;
    }
    .main_txt2{
    top: 40%;
    max-width: 190px;
    }
}


@media screen and (max-width: 667px) {
    #logo.top{
    height: 78px;
}
    .main_img1 {
        width: 180%;
    }
    .main_img2 {
    top: 66%;
    width: 69%;
    }
    .main_img3{
        bottom: 8%;
    }
   .main_img5 {
        top: auto;
        bottom: 30%;
        max-width: 40px;
    }
    .main_txt{
        top: 14%;
        width: 90%;
    }
    .main_txt2 {
        top: 48%;
        max-width: 140px;
    }
}

/*-------------TOP---------------*/

#top_contents1{
    padding-bottom: 270px;
}
#top_contents1 .title h2{
    font-size: 36px;
}

#top_contents2 .title h2{
    color: var(--color1);
    font-size: 30px;
}

.contents_img1{
    bottom: 0;
    left: 18%;
    width: 30%;
    max-width: 230px;
}
.contents_img2{
    bottom: -3%;
    left: 50%;
    transform: translate(-50%, 0);
    width: 20%;
    max-width: 200px;
}
.contents_img3{
    bottom: 0;
    right: 18%;
    width: 30%;
    max-width: 230px;
}

.contents_img4{
    margin: 0 auto -3%;
    width: 80%;
    max-width: 600px;
    position: relative;
    z-index: 2;
}
.contents_img5{
    bottom: 0;
    right: 10%;
    max-width: 110px;
}

.contents_img6{
    z-index: 2;
    max-width: 300px;
    width: 17%;
    top: 0;
    right: 14%;
}
.contents_img7{
    z-index: 2;
    max-width: 300px;
    width: 17%;
    top: 0;
    left: 17%;
}
#top_info{
    position: relative;
}
#top_info::before {
    content: "";
    position: absolute;
    top: -5%;
    right: 0;
    width: 700px;
    height: 360px;
    background: url(/Files/img/logo.png) no-repeat center / contain;
    z-index: -1;
    opacity: 0.1;
}
@media screen and (max-width: 1300px) {
.contents_img6,.contents_img7{
    top: -10%;
}
}

@media screen and (max-width: 768px) {
    #top_contents1{
        padding-bottom: 210px;
    }
    .contents_img1 {
        max-width: 130px;
    }
    .contents_img2 {
        max-width: 100px;
    }
    .contents_img3 {
        max-width: 130px;
    }
    .contents_img4 {
        margin-bottom: -5%;
        width: 70%;
        max-width: 430px;
    }
    .contents_img5 {
        right: 5%;
        max-width: 70px;
    }
    .contents_img5.page {
    margin-left: auto;
    margin-right: 5%;
    width: 35%;
    max-width: 110px;
}

.contents_img6,.contents_img7{
    top: -7%;
    width: 30%;
}
.contents_img6{
    right: 2%;
}
.contents_img7{
    left: 2%;
}
#top_info::before {
    top: 8%;
    width: 350px;
    height: 190px;
}

}

@media screen and (max-width: 667px) {
#top_contents1 .title h2{
    font-size: 24px;
}

#top_contents2 .title h2{
    font-size: 24px;
}

#top_info::before {
    top: -5%;
    width: 190px;
    height: 135px;
}
    .contents_img1 {
            left: 3%;
    }
    .contents_img3 {
        right: 5%;
    }
.contents_img5{
    max-width: 50px;
}
.contents_img6, .contents_img7 {
        top: -3%;
}

}


/*-------------#footer---------------*/

#footer{
    margin-top: 0;
}

/*-------------下層---------------*/
#page_title::before {
    background-color: transparent;
}

/*-------------事例紹介---------------*/
#cms_2-c .cate .width_50per{
    margin: 0 auto 20px;
    width: 47% !important;
}


#cms_2-c .box_img1 {
  display: inline-block;
}

#cms_2-c .img1::before {
  content: 'before'; 
  position: absolute;
  top: 0;
  left: 0;
  background: var(--color3); 
  color: #fff; 
  font-size: 16px;
  padding: 3px 8px;
  border-radius: 0 0 10px 0;
  font-weight: bold;
}
#cms_2-c .img2::before {
  content: 'after'; 
  position: absolute;
  top: 0;
  left: 0;
  background: var(--color1); 
  color: #fff; 
  font-size: 16px;
  padding: 3px 8px;
  border-radius: 0 0 10px 0;
  font-weight: bold;
}



@media screen and (max-width: 667px) {
#cms_2-c .cate .width_50per {
    width: 100% !important;
}

}

/*マップ削除*/

.top_map ,.map{
    display: none;
}