﻿:root {
    --color1: #4081c5;
    
}

h1, h2, h3, h4, h5, h6, .catch, #topCms .cmstitle p, .pagetitle .title_box p, .pc_nav li .page_title, #sp_nav .sp_nav_inner .l-menu .l-menu_cms {
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "游ゴシック体", YuGothic, "YuGothic M", meiryo, sans-serif;}

#main_img{
      perspective: 470px;
    perspective-origin: bottom;
    min-height: 700px;
    min-width: 1280px;
}

.slider1{
     /*transform: rotate3d(4.5, -12.5, -6.5, 13deg) translateY(50%);*/
     transform: rotate3d(10.5, -28.5, -3.5, 20deg) translateY(50%) scale(1.7);
}

#intro .txt_box div.txt_center{
    text-align: left;
        color: #3b3b3b;
}

#main_img:after{
   content: "";
    display: block;
    width: 100%;
    height: 97%;
    position: absolute;
    top: 55%;
    left: 50%;
    background-image: url(/files/img/man.png);
    background-position: left center;
    background-repeat: no-repeat;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background-size: contain;
    pointer-events: none;
    opacity: 1;
    background-color: transparent;
    z-index: 1;
}

#intro:before {
    background-color: rgba(220, 220, 240, 0.5);
}

#intro .title h2 div{
    color: var(--color1);
        font-weight: bold;
    font-size: max(2.2vw, 20px);
}

#intro .intro_inner{
    text-shadow: none;
}

.f_con_bgcolor {
    opacity: 0.1;
}

div.f_contact_box > .txt_white{
    color: black;
}

.f_contact_btn a {
    color: #4081c5;
}

.catch.slide_ver {
    padding-bottom: 3%;
    padding-right: 5%;
}

.catch h2 {
    font-size: -webkit-calc(1rem + 48px);
    font-size: calc(1rem + 48px);
    line-height: 1.2em;
    margin-bottom: 20px;
    font-weight: 500;
}

/*#main_img:before {
    width: 100%;
    height: 45%;
    background-repeat: repeat;
    animation: loop 30s linear infinite;
    z-index: 2;
    opacity: 0.1;
}

@keyframes loop {
	0% {background-position-x: 200%;}
	100% {background-position-x: -200%;}
}*/


#main_img:before {
       width: 2000px;
    height: 45%;
    background-repeat: repeat-x;
    animation: loop 60s linear infinite;
    z-index: 2;
    opacity: 0.1;
    background-size: 100% auto;
    transform: translateY(-60%);
}

@keyframes loop {
	0% {background-position-x: -1000px;}
	100% {background-position-x: 1000px;}
}

/*--20251117 sns animate start--*/

#page1{
    overflow: hidden;
        min-width: 1280px;
}

div.footer_sns{
    padding-bottom: 0;
    position: relative;
}

.kei{
        max-width: 200px;
    /* margin: auto; */
    /* margin-right: 0; */
    display: block;
    /* transform: translateX(calc(100% + 250px)); */
    width: 10%;
    position: relative;
    left: -15%;
    left: calc(100% - 5%);
    min-width: 150px;
    animation: car 12s ease-in-out infinite;
    cursor: pointer;
}

.kei:before{
    content: "";
    display: block;
    width: 60%;
    height: 60%;
    position: absolute;
    top: -10%;
    left: 50%;
    background-image: url(/files/img/contact.png);
    background-position: center;
    background-repeat: no-repeat;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background-size: contain;
    pointer-events: none;
    opacity: 0;
}

.kei:hover:before{
    opacity: 1;
}

.kei:hover{
    animation-play-state: paused
}

@keyframes car {
    0% { left: calc(100% - 0%);opacity:1;}
     20% { left: calc(100% - 5%);}
     25% { left: calc(100% - 5%);}
  80% { left: -15%;opacity: 1;}
  84%{ left: -15%;opacity:0;}
  85% { left: calc(100% - 0%); opacity:0;}
  100% { left: calc(100% - 0%);opacity:0;}
}

/*--20251117 sns animate end--*/


/*div.contact__form{
    display: none;
}*/

.more a:before {
    transform: scale(0.5) translateY(-50%);
    color: white;
}

.more a:hover:before {
    transform: translateY(-50%);
}

footer{
    overflow: hidden;
}



/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){


#page1{
    overflow: hidden;
        min-width: 100%;
}

#main_img{
    min-height: auto;
    min-width: 100%;
}



.footer_contact{
        background-position: center bottom;
            background-size: 280%;
}

.catch.slide_ver {
        text-align: left;
}

.slider1 {
    transform: rotate3d(2.5, -25.5, -14.5, 20deg) translateY(100%) scale(1.7);
}

.blog_list .blogListPattern_item a p{
    width: 100% !important;
}

}

/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){

.catch h2 {
    font-size: -webkit-calc(1rem + 14px);
    font-size: calc(1rem + 14px);
    font-weight: 500;
    font-feature-settings: "palt";
}

.catch.slide_ver {
    padding-right: 2%;
    padding-left: 2%;
        text-align: left !important;
}

.kei{
    display: none;
}

div.footer_sns {
    padding-bottom: 50px;
}

.slider1 {
    transform: rotate3d(2.5, -25.5, -14.5, 20deg) translateY(50%) scale(1.2);
}

div.cmstitle{
    margin-bottom: 50px;
}

#cms_5-b .box_wrap{
    margin-bottom: 0;
}

.all_contents > div{
    padding: 0 2%;
}

#cms_5-b .cate_box .arrow, .cms_5-b .cate_box .arrow {
    left: 0px;
}

#cms_5-b .cate_box .open_bt .box_title1, .cms_5-b .cate_box .open_bt .box_title1 {
    margin-left: 70px;
}

.topCms{
    margin-bottom: 50px;
}

.swiper-container {
    z-index: -1;
}


.catch.slide_ver {
    z-index: 3;
}

#main_img{
      perspective: 0px;
    perspective-origin: unset;
    min-height: 700px;
    min-width: 1280px;
}

.slider1 {
       transform: scale(0.3) translateY(-80%);
    }
    
    
    #main_img:after {
    height: 80%;
    left: 37.5%;
    display: none;
}

.test{
    position: relative;
}

.test > .catch{
    position: absolute;
    bottom: 0;
    z-index: 99;
}
.test > span{
    position: absolute;
    bottom: 0;
}

#cms_5-b .cate_box .arrow i:before, .cms_5-b .cate_box .arrow i:before {
    content: ">";
}

.menu_btn {
        z-index: 999;
    }

.header {
    z-index: 999;
}

}