@charset "UTF-8";

/* -- TOPページ -- */

/* メインイメージ*/
.main_image{
    height: 100vh; /* 変数をサポートしていないブラウザのフォールバック */
    height: calc(var(--vh, 1vh) * 100);
    background-size: cover;
}

/* スライドショー */
.full div {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    height: 100vh; /* 変数をサポートしていないブラウザのフォールバック */
    height: calc(var(--vh, 1vh) * 100);
    margin: 0;
  }
  .full div.img01 {
    background-image: url(../img/main_image01.jpg);
  }
  .full div.img02 {
    background-image: url(../img/main_image02.jpg);
  }
  .full div.img03 {
    background-image: url(../img/main_image03.jpg);
  }
  .full div.img04 {
    background-image: url(../img/main_image04.jpg);
  }
  .full div.img05 {
    background-image: url(../img/main_image05.jpg);
  }
  .full div.img06 {
    background-image: url(../img/main_image06.jpg);
  }
  .full .slick-dots {
    bottom: 4%;
    z-index: +1;
  }

.main_image .main_txt{
    z-index: 10;
    position: absolute;
    top:130px;
    right:20px;
    letter-spacing: 2px;
    writing-mode: vertical-rl;
    font-size: 2.3rem;
    line-height: 170%;
}
.main_image .main_copy{
    z-index: 10;
    position: absolute;
    letter-spacing: 1px;
    font-size: 1.3rem;
    bottom: 0;
    left: 40px;
    line-height: 180%; 
}
.top_news{
    padding: 50px 4vw;
}

.top_news h2{
    width:200px;
    margin: 0;
    padding-top: 15px;
}
.top_news dl dt,
.top_news dl dd{
    margin: 0;
    padding: 10px 0 20px;
    line-height: 150%;
}
.top_news dl dt{
    width: 18%;
}

.top_news dl dd{
    width: 82%;
    padding-left: 1rem;
    box-sizing: border-box;

}
.top_news p{
    margin-top: 50px;
    text-align: center;
}



@media screen and (min-width: 897px){
    .top_news>div{
        display: flex;
    }
    .top_news dl{
        margin: 10px;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
    }
}

@media screen and (max-width: 896px){
    .top_news h2{
        text-align: center;
        width: 100%;
    }
    .top_news dl dt{
        padding: 20px 0 5px 0;
        width: 100%;
    }
    .top_news dl dd{
        padding: 0 0 20px 0;
        border-bottom: 1px solid #999;
        width: 100%;
    }
}

@media screen and (max-width: 640px){
    .main_image .main_txt{
        position: absolute;
        top:100px;
        right:-10px;
        letter-spacing: 0;
        font-size: 2.1rem;
    }
    .main_image .main_copy{
        font-size: 1.2rem;
        left: 3vw;
        bottom: 0;
    }
    .top_news p,.top_contact p{
        text-align: center;
    }
}

.top_contact{
    background-image: url(../img/top_contact_bg.png) ;
    background-size: cover;
    background-position: center;
    text-align: center;
    padding: 50px 4vw;
}
.top_contact p:first-child{
    line-height: 180%;
    font-size: 1.2rem;
}
