body{
    color: #000;
    background: #fff;
}
img, video{
    width: 100%;
    margin: 0 auto;
    padding: 0;
}
a{
    color: transparent;
}
/*全幅レイアウト*/
.ec-layoutRole{
    background: none;
}
.ec-layoutRole .ec-layoutRole__contents{
    position: relative;
    max-width: 100%;
}
/*フェードイン*/
.fadein {
    opacity: 0;
    transform: translateY(20px);
    transition: all 1s ease;
}
.fadein.show {
    opacity: 1;
    transform: translateY(0);
}
/*ページトップ*/
.ec-blockTopBtn.pagetop{
    /*opacity: 1;*/
    background: #000;
    border: #fff 1px solid;
}

/*HEADER--------------------------------------*/
.ec-headerTitle img{
    max-width: 200px;
}
.ec-headerNav .ec-headerNav__itemIcon{
    color: #ccc;
    padding-right: 30px;
}
.ec-headerNav .ec-headerNav__itemLink{
    display: none;
}

/*FOOTER--------------------------------------*/
.ec-layoutRole__footer .ec-footerRole{
    border-top: none;
}
.ec-footerRole .ec-footerRole__inner img{
    max-width: 120px;
}
.ec-layoutRole__footer .ec-footerRole .ec-footerRole__inner .ec-footerNavi .ec-footerNavi__link a{
    border-bottom: none;
}

/*ITEM LIST--------------------------------------*/
.ec-blockBtn--action,.ec-blockBtn--action.add-cart{
    border-color: #999;
    background: #000;
}
.ec-blockBtn--action.add-cart:hover{
    border-color: #999;
    background: #333;
}
.ec-blockBtn--action:disabled, .ec-blockBtn--action.disabled{
    border-color: #999;
    background: #333;
}

/*TOP--------------------------------------*/
.top_bg {
    position: fixed;
    top: 0;
    left: 0;
    margin: 0 auto;
    width: 100%;
    height: 100%;
    z-index: -1000;
    text-align: center;
    background: #000;
    overflow: hidden;
}
.top_bg img, .top_bg video {
    margin: 0 auto;
    min-width: 100%;
    min-height: 100vh;
}
.top_logo{
    position: relative;
    width: 100%;
    height: 90vh;
}
.top_logo p{
    position: absolute;
    top: 80%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    color: #666;
    font-family: serif;
    font-size: 2em;
    font-style: italic;
}
/*SCROLL*/
/*@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@300;400&display=swap');*/
.scroll_down{
  position:absolute;
  bottom:100px;
  right:49%;
  animation: arrowmove 1s ease-in-out infinite;
}
.scroll_down a{
  position: absolute;
  left: -24px;
  bottom: 30px;
  color: #666;
  font-size: 14px;
  font-family: 'Josefin Sans', sans-serif;
  letter-spacing: .2em;
  text-transform: uppercase;
  width: 24px;
  height: 24px;
  text-decoration: none;
}
.scroll_text {
  display: block;
  margin-top: 70px;
  margin-left: -14px;
  font-size: 12px;
  color: #666;
  text-transform: uppercase;
  white-space: nowrap;
  letter-spacing: 2px;
}
.arrow {
  position: absolute;
  width: 28px;
  height: 5px;
  opacity: 0;
  transform: scale3d(0.5, 0.5, 0.5);
  animation: move 3s ease-out infinite;
}
.arrow:first-child {
  animation: move 3s ease-out 1s infinite;
}
.arrow:nth-child(2) {
  animation: move 3s ease-out 2s infinite;
}
.arrow:before,
.arrow:after {
  content: ' ';
  position: absolute;
  top: 0;
  height: 100%;
  width: 51%;
  background: #666;
}
.arrow:before {
  left: 0;
  transform: skew(0deg, 30deg);
}
.arrow:after {
  right: 0;
  width: 50%;
  transform: skew(0deg, -30deg);
}
@keyframes move {
  25% { opacity: 1; }
  33% { opacity: 1; transform: translateY(30px); }
  67% { opacity: 1; transform: translateY(40px); }
  100% { opacity: 0; transform: translateY(55px) scale3d(0.5, 0.5, 0.5); }
}


/*top-nav*/
#top_nav .top_nav{
    width: 100%;
    margin: 0 auto;
    padding: 0;
}
#top_nav .top_nav ul{
    width: 100%;
    display: flex;
    justify-content: center;
    margin: 0 auto;
    padding: 0;
}
#top_nav .top_nav ul li{
    position: relative;
    list-style: none;
    display: inline-block;
    width: 33.3%;
    margin: 0 auto;
    padding: 0;
    overflow: hidden;
    background: #fff;
}
#top_nav .top_nav ul li img:hover{
    opacity: .9;
    transform: scale(1.05);
    transition: .5s ease-in-out;
}

#top_nav .top_nav ul li h4{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    color: #fff;
    font-family: serif;
    font-size: 3em;
    font-style: italic;
    padding: 30px;
    background: rgb(0 0 0 / 0.6);
}
#top_slide{
    width: 100%;
    background: #fff;
    padding-top: 60px;
    padding-bottom: 60px;
}
.slider-container {
    position: relative;
    width: 100%;
    max-width: 1130px;
    margin: 0 auto;
    overflow: hidden;
}
.slider-container h2{
    color: #000;
    font-family: serif;
    font-size: 10em;
    font-style: italic;
    line-height: .8em;
    margin-bottom: -60px;
    padding: 0;
}
.slider {
    display: flex;
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: none;
}
.slider::-webkit-scrollbar {
    display: none;
}
.slide {
    position: relative;
    max-width: 30%;
    flex-shrink: 0;
    text-align: center;
    padding: 40px 20px;
}
.slide img{
    height: 100%;
}
.slide a:hover{
    opacity: .8;
}
.slide a p{
    position: absolute;
    bottom: 0;
    left: 0;
    font-family: serif;
    font-style: italic;
    font-size: 1.5em;
    color: #fff;
    background:  rgb(0 0 0 / 0.6);
    padding: 40px 20px 10px 20px;
}
.button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border: none;
    padding: 20px;
    cursor: pointer;
    z-index: 1;
}
.prev {
    left: 0;
    background: url(/html/user_data/assets/img/common/chevron_left.svg) no-repeat #000;
}
.next {
    right: 0;
    background: url(/html/user_data/assets/img/common/chevron_right.svg) no-repeat #000;
}

.top_content{
    color: #fff;
    width: 100%;
    margin: 0 auto;
    background: rgb(0 0 0 / 0.9);
    padding-top: 100px;
    padding-bottom: 100px;
}
.top_content .top_topic_wrap{
    position: relative;
    width: 90%;
    max-width: 1130px;
    min-height: 90vh;
    margin: 0 auto;
}
.top_content .top_topic_wrap .top_topic_inner.text h2{
    color: #fff;
    font-family: serif;
    font-size: 10em;
    line-height: .8em;
    font-style: italic;
    padding: 20px;
}
.top_content .top_topic_wrap .top_topic_inner.text p{
    font-family: serif;
    font-weight: bold;
    font-size: 1.6em;
    line-height: 1.6em;
    padding: 20px 0px;
}
.top_content .top_topic_wrap .top_topic_inner.text .more_button a{
    display: inline-block;
    color: #000;
    background: #fff;
    border: 1px solid #fff;
    padding: 10px 20px;
}
.top_content .top_topic_wrap .top_topic_inner.text .more_button a:hover{
    color: #fff;
    background: #000;
}

/*concept*/
.top_content.concept .top_topic_wrap .top_topic_inner.image{
    max-width: 700px;
}
.top_content.concept .top_topic_wrap .top_topic_inner.text{
    position: absolute;
    bottom: 0;
    right: 0;
    text-align: right;
}
/*golf*/
.top_content.golf .top_topic_wrap .top_topic_inner.image{
    position: relative;
    text-align: right;
}
.top_content.golf .top_topic_wrap .top_topic_inner.image img{
    max-width: 700px;
}
.top_content.golf .top_topic_wrap .top_topic_inner.text{
    position: absolute;
    bottom: 0;
    left: 0;
    text-align: left;
}


/*CONCEPT--------------------------------------*/
#concept .main_image {
    position: relative;
    width: 100%;
    margin: 0 auto;
    background: #000;
}
#concept .main_image .main_image_img {
    position: relative;
    width: 100%;
    height: 90vh;
    overflow: hidden;
}
#concept .main_image .main_image_title {
    position: relative;
    width: 90%;
    max-width: 1130px;
    margin: 0 auto;
}
#concept .main_image .main_image_title h2 {
    position: absolute;
    top: -116px;
    left: 0;
    color: #fff;
    font-family: serif;
    font-size: 10em;
    line-height: .8em;
    font-style: italic;
}
#concept .main_text{
    position: relative;
    color: #000;
    width: 100%;
    margin: 0 auto;
    background: #fff;
    padding-top: 100px;
    padding-bottom: 100px;
}
#concept .main_text.foot{
    min-height: 60vh;
}
#concept .main_text .main_container{
    position: relative;
    width: 90%;
    max-width: 800px;
    margin: 0 auto;
}
#concept .main_text .main_container h6{
    font-family: serif;
    font-weight: bold;
    font-style: italic;
    font-size: 3em;
    line-height: 1.6em;
}
#concept .main_text .main_container h6 span{
    color: #666;
}
#concept .main_text .main_container p{
    font-family: serif;
    font-weight: bold;
    font-style: italic;
    font-size: 2em;
    line-height: 1.6em;
}
#concept .image_video{
    position: relative;
    width: 100%;
    margin: 0 auto;
    background: #000;
}
#concept .image_video .sub_container{
    position: relative;
    width: 90%;
    max-width: 1130px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    overflow: hidden;
}
#concept .image_video .sub_container video{
    max-width: 800px;
}
#concept .image_video .sub_text{
    position: absolute;
    bottom: 0;
    right: 0;
    text-align: right;
    padding: 40px;
}
#concept .image_video .sub_text p{
    color: #fff;
    font-family: serif;
    font-weight: bold;
    font-size: 1.6em;
    line-height: 1.6em;
    padding: 20px;
}
#concept .main_text .foot_logo{
    position: absolute;
    bottom: -120px;
    left: 0;
    width: 100%;
}


/*STORE-------------------------------------*/
#store{
    position: relative;
}
#store h6{
    font-weight: bold;
    font-size: 2em;
    padding: 10px 20px;
}
#store p{
    font-size: 1.6em;
    padding: 10px 20px;
}
#store .title, #store .store_open, #store .store_map_inner, #store .store_add{
    position: relative;
    width: 100%;
    max-width: 1130px;
    margin: 0 auto;
    color: #000;
    font-family: serif;
    font-style: italic;
}
#store .store_open, #store .store_map_inner, #store .store_add{
    padding-top: 100px;
    padding-bottom: 100px;
    text-align: center;
}
#store .title h2{
    font-size: 10em;
}
#store .store_open p strong{
    font-weight: bold;
}
#store .store_map{
    background: #000;
}
#store .store_map_inner, #store .store_map_inner .map{
    position: relative;
    width: 100%;
    max-width: 600px;
    height: 450px;
    margin: 0 auto;
}
#store .store_map_inner, #store .store_map_inner .map iframe{
    width: 100%;
    height: 100%;
    border: 0;
}
#store .store_map_inner, #store .store_map_inner p a{
    color: #fff;
}
#store .store_add{
    min-height: 60vh;
}
#store .store_add p a{
    color: #000;
}
#store .foot_logo{
    position: absolute;
    bottom: -120px;
    left: 0;
    width: 100%;
}

.slick-slider {
    margin-bottom: 30px;
}
.slick-dots {
    position: absolute;
    bottom: -45px;
    display: block;
    width: 100%;
    padding: 0;
    list-style: none;
    text-align: center;
}
.slick-dots li {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer;
}
.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 20px;
    height: 20px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus {
    outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
    opacity: 1;
}
.slick-dots li button:before {
    content: " ";
    line-height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    width: 12px;
    height: 12px;
    text-align: center;
    border: 1px solid #000;
    background-color: #fff;
    border-radius: 50%;
}
.slick-dots li.slick-active button:before {
    border: 1px solid #000;
    background-color: #000;
}
.slick-dots li button.thumbnail img {
    width: 0;
    height: 0;
}




/*NEWS--------------------------------------*/
.ec-secHeading{
    color: #999;
}
.ec-newsRole .ec-newsRole__news{
    border-color: #fff;
    background: #fff;
}




/*-----------------------------------------
レスポンシブ
-----------------------------------------*/
@media (max-device-width:480px){
    
    /*TOP---------------------*/
    .top_bg video {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translateY(-50%) translateX(-50%);
        width: auto;
        height: 100%;
    }
    .scroll_down{
        right:47%;
    }
    .slider-container h2{
        font-size: 3.6em;
        margin-bottom: 0px;
        padding: 20px 10px;
    }
    #top_nav .top_nav ul{
        flex-direction: column;
    }
    #top_nav .top_nav ul li{
        display: inline-block;
        width: 100%;
    }
    .slide {
        max-width: 70%;
        padding: 10px;
    }
    .top_content.concept .top_topic_wrap .top_topic_inner.image{
        min-height: 100%;
    }
    .top_content.golf .top_topic_wrap .top_topic_inner.image img{
        min-height: 100%;
    }
    .top_content .top_topic_wrap .top_topic_inner.text h2{
        font-size: 4em;
    }
    .top_content.concept .top_topic_wrap .top_topic_inner.text h2{
        padding: 10px;
    }
    .top_content.golf .top_topic_wrap .top_topic_inner.text h2{
        padding: 10px 0px;
    }
    .top_content .top_topic_wrap .top_topic_inner.text p{
        font-size: 1.2em;
        padding: 10px 0px;
    }
    
    /*ABOUT---------------------*/
    #concept .main_image {
        margin-top: 20px;
    }
    #concept .main_image .main_image_img {
        height: 60vh;
    }
    #concept .main_image .main_image_img img{
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translateY(-50%) translateX(-50%);
        width: auto;
        height: 100%;
    }
    #concept .main_image .main_image_title h2 {
        position: absolute;
        top: -116px;
        font-size: 4em;
    }
    #concept .main_text .main_container h6{
        font-size: 1.8em;
        line-height: 1.6em;
    }
    #concept .main_text .main_container p{
        font-size: 1.2em;
        line-height: 1.6em;
    }
    #concept .image_video .sub_container{
        min-height: 70vh;
    }
    #concept .image_video .sub_container video{
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translateY(-50%) translateX(-50%);
        width: auto;
        height: 100%;
    }
    #concept .image_video .sub_text{
        bottom: 10%;
        text-align: left;
        padding: 0;
    }
    #concept .image_video .sub_text p{
        font-size: 1.2em;
        line-height: 1.6em;
    }
    #concept .main_text.foot{
        min-height: 30vh;
    }
    #concept .main_text .foot_logo{
        bottom: -33px;
    }

    /*STORE---------------------*/
    #store p{
        font-size: 1.2em;
    }
    #store .title h2{
        text-align: center;
        font-size: 4em;
    }
    #store .store_open {
        padding-top: 40px;
    }
    #store .store_open p span{
        display: block;
    }
    #store .store_add{
        min-height: 30vh;
    }
    #store .foot_logo{
        bottom: -33px;
    }
}