@charset "UTF-8";

/* header
======================================================================*/
.top header {
    /*background-color: transparent;*/
    /*background-color: #001d09;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 11;*/
}

/* contents
======================================================================*/
#contents{
    /*padding-top: 40px;*/
    padding-bottom: 80px;
}
@media screen and (max-width: 768px){
#contents{
    padding-top: 20px;
    padding-bottom: 40px;
}
}

#contents h3{
    text-align: center;
    font-size: 3.2rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-bottom: 30px;
}
@media screen and (max-width: 768px){
#contents h3{
    font-size: 2.8rem;
}
}
@media screen and (max-width: 480px) {
#contents h3{
    font-size: 2.4rem;
    line-height: 1.3;
}
}

#contents p.message{
    text-align: center;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    line-height: 3.0;
    margin-bottom: 90px;
}
@media screen and (max-width: 768px){
#contents p.message{
    font-size: 1.4rem;
    margin-bottom: 60px;
}
}

#contents p.lead{
    text-align: center;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    margin-bottom: 20px;
}
@media screen and (max-width: 768px){
#contents p.lead{
    font-size: 1.4rem;
}
}

.ttlbox{
    margin-bottom: 40px;
}

.btm_more {
   margin-top: 20px;
}

.bnr_custom{
    margin-bottom: 30px;
}

.kokuchi{
    margin-bottom: 80px;
}

@media screen and (max-width: 768px){
.bnr_custom{
    margin-bottom: 20px;
}
.kokuchi{
    margin-bottom: 40px;
}
}


/* MainVisual
======================================================================*/
.MainVisual{
    width: 100%;
    position: relative;
    overflow: hidden;
    padding-bottom: 30px;
}

.MainVisual img {
	max-width: 100%;
    height: auto;
}

.MainVisual video {
	width: 100%;
    height: auto;
    position: relative;
}

.MainVisual h2{
    width: 340px;
    position: absolute;
    top: 33%;
    right: 160px;
    /*transform: translateY(-50%);*/
    z-index: 3;
    text-align: center;
    transition: all 0.3s linear;
}
@media screen and (max-width: 768px) {
.MainVisual h2{ 
    position: absolute;
    top: 33%;
    right: 80px;
    text-align: right;
}
}
@media screen and (max-width: 480px) {
.MainVisual h2 img{ 
    max-width: 180px;
    height: auto;
}
}

.scrolldown{
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -30px;
    height: 160px;
    z-index: 3;
    transition: all 0.3s linear;
}
@media screen and (max-width: 768px) {
.scrolldown{
    bottom: -30px;
    height: 160px;
    z-index: 3;
}
}
.scrolldown span{
    position: absolute;
    top: -30px;
    left: 50%;
    transform: translateX(-50%);
    color: #fff;
    font-size: 1.4rem;
    letter-spacing: 0.1em;
}
.scrolldown::before{
    content: "";
    position: absolute;
    top: 0;
    width: 1px;
    height: 130px;
    background: #fff;
    /*animation: pathmove 1.4s ease-in-out infinite;
    opacity: 0;*/
}
.scrolldown::after{
    content: "";
    position: absolute;
    top: 0;
    width: 1px;
    height: 130px;
    background: #001d09;
    animation: pathmove 1.4s ease-in-out infinite;
    opacity: 0;
}

@keyframes pathmove{
  0%{
    height: 0;
    top: 0px;
    opacity: 0;
  }
  30%{
    height: 70px;
    opacity: 1;
  }
  100%{
    height: 0;
    top: 130px;
    opacity: 0;
  }
}


/* slider
===================================*/
.slider {
    margin-inline: auto;
    overflow: hidden; /* 画像がはみ出ないようにする */
    /*width: 80vw;
    height: 53vw;*/
    width: 100vw;
    height: 100%;
}
.slick-img img {
    width: 100%;
}
@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15); /* 拡大率 */
  }
}
.add-animation {
  animation: zoomUp 10s linear 0s normal both;
}
@media only screen and (max-width: 768px){
.slider {
  /*height: 53vw;*/
    height: 100%;
}
}






/* information
======================================================================*/
.information{
    width: 100%;
    /*max-width: 960px;*/
    max-width: 860px;
    margin: 0 auto 120px;
}
@media screen and (max-width: 768px) {
.information{
    width: 90%;
    display: block;
}
}
/*info_ttl*/
.info_ttl{
    width: 100%;
    align-items: center;
    border-bottom: 1px solid #5E8153;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

#contents.top h3.info{
    color: #fff;
    font-size: 1.8rem;
    letter-spacing: 0.1em;
    text-align: center;
    overflow: hidden;
}
@media screen and (max-width: 768px) {
#contents.top h3.info{
    font-size: 2.0rem;
    text-align: center;
}
}
/*info_wrap*/

.info_wrap{
    width: 100%;
}
.info_wrap dl{
    width: 100%;
    overflow: hidden;
    color: #fff;
    font-size: 1.4rem;
    margin-bottom: 20px;
}
.info_wrap dl:last-child{
    margin-bottom: 0px;
}
.info_wrap dt{
    width: 100px;
    float: left;
}
@media screen and (max-width: 768px) {
.info_wrap dt{
    width: 100%;
    float: none;
}
}
.info_wrap dd{
    overflow: hidden;
}
.info_wrap dl a{
    color: #fff;
    transition: all 0.3s linear;
}
.info_wrap dl a:hover{
    opacity: 0.6;
}

/* concept
======================================================================*/
.concept{
    width: 100%;
    position: relative;
    max-width: 1400px;
    /*height: 540px;*/
    margin: 0 auto;
    /*padding-bottom: 678px;
    background-image: url(../../images/top/concept_ph@2x.png);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: cover;*/
}
/*
@media screen and (max-width: 768px) {
.concept{
    background-image: url("../../images/top/concept_ph_sp@2x.png");
    background-size: cover;
}
}
@media screen and (max-width: 480px) {
.concept{
    padding-bottom: 400px;
    background-size: 100% auto;
}
}
*/

/* mv_box */
.mv_box {
    margin: 40px auto;
}
.mv_box video{
    max-width: 100%;
    height: auto;
}
@media screen and (max-width: 480px) {
.mv_box {
    margin: 20px auto;
}
}



/* location
======================================================================*/
.location{
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    position: relative;
    /*margin-top: -180px;*/
    margin-top: 90px;
    margin-bottom: 90px;
    z-index: 2;
}
@media screen and (max-width: 480px) {
.location{
    /*margin-top: -60px;*/
    margin-top: 60px;
    margin-bottom: 60px;
}
}
.location h4{
    text-align: center;
    margin-bottom: 40px;
}
@media screen and (max-width: 480px) {
.location h4 img{
    max-width: 64px;
    height: auto;
}
}
.location ul{
    text-align: center;
    margin-bottom: 30px;
}

/* design
======================================================================*/
.design{
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.design h4{
    text-align: center;
    margin-bottom: 40px;
}
@media screen and (max-width: 480px) {
.design h4 img{
    max-width: 64px;
    height: auto;
}
}
.design ul{
    text-align: center;
    margin-bottom: 30px;
}
.design li{
    position: relative;
}
/*
.design li img{
    opacity: 0.4;
}
*/
.design li p.caption{
    position: absolute;
    z-index: 3;
    font-size: 1.2rem;
    bottom: 5px;
    right: 5px;
    color: #fff;
    opacity: 0.6;
}
@media screen and (max-width: 480px) {
.design li p.caption{
    font-size: 1.1rem;
}
}

