﻿#wrap{
    line-height:2.2;
    overflow:hidden;
}

main.blur{
    background: linear-gradient(131deg,rgba(245, 250, 255, 1) 0%, rgba(222, 233, 255, 1) 100%);
}

/* ローディング */
#loading{
    background: linear-gradient(131deg,rgba(52, 77, 133, 1) 0%, rgba(19, 39, 59, 1) 100%);
}
#loading_logo{
    max-width: 180px;
}
@media screen and (max-width: 667px){
    #loading_logo{
    max-width: 80px;
}
}

.cate_list:before {
    background-color: var(--color1)!important;
}

/* FV */
 body {
    overflow:hidden; /* 初期はスクロール禁止 */
  }
  /* ===== ヒーローセクション ===== */
  .hero {
    position: relative;
    height:100vh;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
  }
  
video {
  position: fixed;
  left: 0;
  bottom: 0;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: 0;
}  

  /* 背景 */
  .hero-bg {
    position:absolute;
    inset:0;
    /* background: url('/Files/img/sample.png') center/cover no-repeat; */
    z-index:1;
    filter: brightness(0.85);
  }
  
  /* fv */
  .fv_txt01{
    width: 20%;
    position: absolute;
    top: 16%;
    left: 10%;
    z-index: 7;
  }
  .fv_txt02{
    z-index: 4;
    position: absolute;
    width: 16%;
    top: 15%;
    left: 41%;
  }
  .fv_img02{
    z-index: 4;
    position: absolute;
    width: 39%;
    bottom: -32%;
    left: 0px;
  }
  .fv_img01{
    z-index: 4;
    position: absolute;
    width: 23%;
    top: 0;
    right: 0;
  }
  .fv_img05{
    z-index: 4;
    position: absolute;
    width: 16%;
    bottom: 7%;
    right: 19%;
  }
  .fv_img03{
    z-index: 4;
    position: absolute;
    width: 3%;
    bottom: 28%;
    right: 10%;
    animation:fv_img03 3s infinite ease-in-out alternate;
  }
  @keyframes fv_img03 {
	0% {transform:translate(0, 0) rotate(-7deg);}
	50% {transform:translate(0, -7px) rotate(0deg);}
	100% {transform:translate(0, 0) rotate(7deg);}
}
  .fv_img04{
    z-index: 4;
    position: absolute;
    width: 7%;
    top: 23%;
    right: 30%;
    animation:fv_img04 5s infinite ease-in-out alternate;
  }
    @keyframes fv_img04 {
	0% {transform:translate(0, 0) rotate(-7deg);}
	50% {transform:translate(0, -7px) rotate(0deg);}
	100% {transform:translate(0, 0) rotate(7deg);}
}

@media screen and (max-width: 1500px){
    .fv_txt02 {
    width: 20%;
    top: 18%;
    left: 41%;
}
}

@media screen and (max-width: 1300px){
.fv_txt01 {
    width: 26%;
    top: 23%;
    left: 8%;
}
.fv_txt02 {
    width: 22%;
    top: 18%;
    left: 39%;
}
.fv_img01 {
    width: 27%;
    top: 0;
    right: 0;
}
.fv_img03 {
    width: 3%;
    bottom: 38%;
    right: 10%;
}
.fv_img04 {
    width: 7%;
    top: 28%;
    right: 26%;
}
.fv_img05 {
    width: 21%;
    bottom: 7%;
    right: 11%;
}
}

@media screen and (max-width: 1100px){
.fv_img02 {
    width: 45%;
    bottom: -12%;
    left: 0;
} 
.fv_txt02 {
    z-index: 5;
    width: 26%;
    top: 18%;
    left: 38%;
}
}

@media screen and (max-width: 768px){
    .fv_txt01 {
        width: 44%;
        top: 14%;
        left: 6%;
    }
    .fv_txt02 {
        width: 44%;
        top: 18%;
        left: 27%;
    }
    .fv_img01 {
        width: 39%;
        top: 0;
        right: 0;
    }
    .fv_img03 {
        width: 5%;
        bottom: 44%;
        right: 10%;
    }
    .fv_img04 {
        width: 10%;
        top: 41%;
        right: 79%;
    }
    .fv_img05 {
        width: 29%;
        bottom: 11%;
        right: 3%;
    }
}

@media screen and (max-width: 667px){
    .fv_txt01 {
        width: 57%;
        top: 12%;
        left: 6%;
    }
    .fv_txt02 {
        z-index: 5;
        width: 56%;
        top: 18%;
        left: 19%;
    }
    .fv_img02 {
        width: 57%;
        bottom: -12%;
        left: 0;
    } 
    .fv_img03 {
        width: 5%;
        bottom: 53%;
        right: 10%;
    }
    .fv_img05 {
        width: 33%;
        bottom: 27%;
        right: -11%;
    }
    .scroll-down,.tree-panel{
        display: none;
    }
}

  /* 左右の木々 */
  .tree-panel {
    position:absolute;
    top:0;
    width:50%;
    height:100%;
    z-index:5;
    pointer-events:none;
    background-size: cover;
    background-position: center;
    transition: transform 5s ease-out;
  }
  .tree-panel.left {
    left:0;
    background: url('/Files/img/main_img01.png') left center/cover no-repeat;
    transform-origin: left center;
    transform: translateX(0%);
  }
  .tree-panel.right {
    right:0;
    background: url('/Files/img/main_img02.png') right center/cover no-repeat;
    transform-origin: right center;
    transform: translateX(0%);
  }

  /* 光の演出 */
  .light-ray {
    position:absolute;
    top:0; left:0;
    width:100%; height:100%;
    background: radial-gradient(circle at 50% 20%, rgba(255,255,200,0.4) 0%, transparent 70%);
    opacity:0;
    pointer-events:none;
    z-index:6;
    transition: opacity 2s ease-out;
  }

  /* スクロール促し矢印 */
  .scroll-down {
    position: absolute;
    bottom:30px;
    left:50%;
    transform: translateX(-50%);
    z-index:5;
    color:#fff;
    animation: updown 2s infinite;
    font-size:1.2rem;
    opacity:0; /* 最初は非表示 */
    transition: opacity 0.5s ease-in;
  }
  @keyframes updown {
    0%,100% {transform:translateX(-50%) translateY(0);}
    50% {transform:translateX(-50%) translateY(10px);}
  }
  
/* TOP　intro */
@media (min-width: 667px) and  (max-width: 768px){
    .intro_img1 a{
        position: absolute;
    min-width: 100%;
    min-height: 100%;
    left: 12%;
    top: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    -moz-transform: translate3d(-50%, -50%, 0);
    -ms-transform: translate(-50%, -50%);
    transform: translate3d(-50%, -50%, 0);
    }
}

/* TOP コンテンツタイトル */
.blur h3{
    line-height: 1.5;
    font-weight: 800;
    color:var(--color1);
}

.con_box_item .txt_color3 {
    color:var(--color1);
}

.top_title .slash::before,.top_title .slash::after{
    background-color:#fff;
}

.con_box_item .slash::before,.con_box_item .slash::after{
    background-color:var(--color3);
} 

.con_txt02,.con_txt03,.con_txt04{
    width: 80%;
    margin-bottom:5%;
}

/* TOP コンテンツあしらい */

.con_item01,.con_item02,.con_item03{
    width: 16%;
    position: absolute;
}
.con_item01{
    right: 0;
    top: 33%;
}
.con_item02 {
    left: 0;
    top: 45%;
}
 .con_item03{
     left: 0;
    bottom: 2%;
 }

@media screen and (max-width: 768px){
.con_item01{
    top: 46%;
}
.con_item02 {
    top: 24%;
}
 .con_item03{
    bottom: 2%;
 }
}
@media screen and (max-width: 768px){
    .con_item01,.con_item02,.con_item03{
        display: none;
    }
}

/* TOP メニュー */
.topcms_news_type2 .cate_box {
	width: 46.33333%!important;
	margin-right: 1.5%;
	margin-left: 1.5%;
	cursor: pointer;
	border-bottom: 1px solid #ddd;
	margin-bottom: 30px;
	box-shadow: 0 6px 12px rgb(0 0 0 / 0);
	/* padding: 20px; */
	/* border-radius: 20px; */
	/* background-color: #f5f5f5; */
}
.topcms_news_type2 .cate_box:hover {
	transform: translateY(-5px);
}
.topcms_news_type2 .cate_box .box_item {
	cursor: pointer;
}
.topcms_news_type2 .txt_height {
	height: 5em
}
.topcms_news_type2 .box_img1 {
	border-radius: 10px;
}

/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
.topcms_news_type2 .cate_box {width: 100%!important;}
.topcms_news_type2 .txt_height {height: 3em}
}

/* システム・料金案内 */
.link_type1 .link_top .link_title {
    font-size: 20px;
    margin-bottom: 20px;
    text-align: center;
	margin-bottom: 30px;
    color: #474521;
    font-weight: normal;
}
.link_type1 .link_top .link_title{
    font-size: 20px;
    margin-bottom: 20px;
}
.link_type1 .link_top a{
	padding-top: 80px;
    padding-bottom: 60px;
}
.link_type1 .link_top a:hover{
    background-color: var(--color1);
}
.link_type1 .link_top a:hover .link_img1{
    transform: translate(-50%, -50%) scale(1.1,1.1);
    opacity: 0.1;
}
@media screen and (max-width: 667px){
.link_type1 .link_top .link_title{
    font-size: 15px;
}
}

/* 共通 マウスカーソル */
.cursor, .follower{
	border-radius: 50%;
	position: fixed;
	top: 0;
	left: 0;
	pointer-events: none;
	z-index: 10;
	transition: 0.3s;
	transition-property: opacity,background,width,height,transform
}
.cursor {
	width: 8px;
	height: 8px;
	z-index: 11;
	background-color: #333;
}
.cursor.is-active{
	background-color: #9b744d;
}
.follower {
	width: 40px;
	height: 40px;
	border: solid 1px #333;
}
.follower.is-active{
	transform: scale(1.8,1.8);
	border: solid 1px #9b744d;
}

/* 共通 ヘッダー ロゴ */
#header #logo{
    max-width: 80px;
    width: 50%;
    margin: 10px;
}
@media screen and (max-width: 667px) {
    .width_150-max_sp {
        width: 100%;
        max-width: 55px;
    }
    #header #logo{
        margin:  2px 5px;
    }
}

/* 共通 ヘッダー メニュー */
.top_header{
    background-color :rgba(19,39,59,0.6);
}
.pc_nav li{
     padding-right: 20px;
}

@media screen and (max-width: 667px) {
    .top_header{
    background-color :rgba(19,39,59,0);
}
}

/* 共通 カテゴリリスト */
@media screen and (max-width: 667px) {
    .cate_list li{
        padding-bottom:0;
    }
}

/* 共通 フッター 会社情報 */
#footer_info #logo2 img{
    max-width: 180px;
}
@media screen and (max-width: 667px) {
    #footer_info #logo2 img{
    margin-top:20px;
}
}