﻿@import url('https://fonts.googleapis.com/css2?family=Dela+Gothic+One&display=swap');
body{
    font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.font1,
.font_shippori,
h2,h3{
    font-family: 'Dela Gothic One',"Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    line-height: 1.3;
}


/*
#loading{
    display:none;
}

#page-top{
    position:absolute;
}
*/

.linkStyle{
    color:#bf9d74;
}
.linkStyle:hover{
    transition:all 0.3s;
    opacity:0.7;
    text-decoration:underline;
}

body{
    overflow:hidden;
}

#loading .load_logo{
    width:400px;
}

#wrap,
#overlay{
    background: url(./Dup/img/bg.jpg) repeat;
    background-size: 200px;
}

#logo img{
    filter: drop-shadow(2px 2px 0 #fff);
}
#nav_menu .shop_link a{
    font-weight:normal;
}



/*--top page---------------------------
-------------------------------------*/
#main_img::before{
    content:'';
    position:absolute;
    display:block;
    width:100%;
    height:100%;
    background-color:rgba(0,0,0,0.15);
    top:0;
    left:0;
    z-index:2;
    pointer-events:none;
}
#main_img .catch{
    width: 60vw;
    max-width: 1200px;
    bottom: 12%;
    left: 50%;
    transform: translateX(-50%);
    z-index:3;
}
#main_img #pc_nav li a{
    color:#fff!important;
    font-size:1.2rem;
}

#intro::before,
#top_cms1::before{
position: absolute;
	content: "";
	width: 100%;
	height: 136px;
	background-image: url("../dup/img/loop.png");
	background-size: auto 100%;
	background-position-y: 0;
	background-position-x: 0;
	background-repeat: repeat-x;
}
#intro::before{
    left: 0;
	top: 0;
    animation: loop 30s linear infinite;
}
#top_cms1::before{
	left: 0;
	bottom: 100px;    
    animation: loop2 30s linear infinite;
}
@keyframes loop {
	0% {background-position-x: 0;}
	100% {background-position-x: -1000px;}
}
@keyframes loop2 {
	0% {background-position-x: -1000px;}
	100% {background-position-x: 0;}
}

#intro .item1{
    width: 30vw;
    max-width: 800px;
    top: -180px;
    left: -5%;
    z-index: 3;
}
/*左からフェードイン*/
 .fade_left {
  opacity: 0;
  transform : translate(-300px, 0);
  transition : all 1500ms;
}
.fade_left.scrollin{
  opacity: 1;
  transform: translate(0, 0);
}

/*→からフェードイン*/
 .fade_right {
  opacity: 0;
  transform : translate(300px, 0);
  transition : all 1500ms;
}
.fade_right.scrollin{
  opacity: 1;
  transform: translate(0, 0);
}

#intro .item2 {
    width: 21vw;
    max-width: 500px;
    bottom: -13%;
    right: 1%;
    z-index: 2;
}
/*右回転*/
.rotate {
  display: inline-block;
  animation: r1 100s linear infinite;
}
 
@keyframes r1 {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); } 
}

#intro .intro_title{
    font-size:3.2rem;
}
#intro .intro_title:first-letter{
    font-size:4rem;
}

#top_cms1 .item3{
    width: 25vw;
    max-width: 500px;
    right: 1%;
    bottom: 20px;
}
#top_cms1 .item7 {
    width: 15vw;
    max-width: 220px;
    right: 1%;
    bottom: 250px;
    animation: furu 2.2s infinite;
}
@keyframes furu {
    0% {
        transform: translate(0px, 0px) rotateZ(0deg)
    }
    2% {
        transform: translate(2px, 2px) rotateZ(2deg)
    }
    4% {
        transform: translate(0px, 2px) rotateZ(0deg)
    }
    6% {
        transform: translate(2px, 0px) rotateZ(-2deg)
    }
    8% {
        transform: translate(0px, 0px) rotateZ(0deg)
    }
    10% {
        transform: translate(2px, 2px) rotateZ(2deg)
    }
    12% {
        transform: translate(0px, 0px) rotateZ(0deg)
    }
    14% {
        transform: translate(2px, 0px) rotateZ(-2deg)
    }
    16% {
        transform: translate(0px, 2px) rotateZ(0deg)
    }
    18% {
        transform: translate(0px, 0px) rotateZ(0deg)
    }
    100% {
        transform: translate(0px, 0px) rotateZ(0deg)
    }
}

.top_cms_title{
    margin-bottom:0;
}
.top_cms_title h3{
    font-size: 2.5rem;
}
.top_cms_box .more_bt{
    margin-top:0;
}

#contents_links span.bg_box{
    background:url(./Dup/img/bg1.png) repeat;
    background-size:300px;
}

#contents_wrap p{
    overflow:hidden;
}

#contents_wrap .bg_container{
    background:url(./Dup/img/bg2.png) no-repeat;
    background-size:25%;
    background-position:bottom right;
    background-color: #f4ede0;
}
#contents_wrap h2 {
    display: inline-block;
    padding-bottom: 20px;
    background: url(./Dup/img/item6.png) repeat-x;
    background-size: 55px;
    background-position: bottom;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    margin-bottom: 30px;
}
#contents_wrap h3{
    font-size:2.3rem;
}


.cms_3-c{
    box-shadow: 5px 5px 0 0 #9c9c9c;
}

.link_type_slick .box_txt1 {
    height: 6em;
	line-height: 1.7;
}
.link_type_slick .date {
    padding: 9px 22px 7px;
    border-radius: 45px;
}
.slick-slide img {
    box-shadow: 0 2px 4px rgb(0 0 0 / 0%);
}
/*--- slick ------------------------------------*/
.link_type_slick .slick-box{
    opacity: 0;
    transition: 3s;
}
.link_type_slick .slick-initialized{
    opacity: 1
}
.link_type_slick .slick-box .prev,.slick-box .next {
    display: block;
	cursor: pointer;
	position: absolute;
	top: 40%;
	z-index: 1;
	padding: 15px;
}
.link_type_slick .slick-container{
    padding-left: 30px;
    padding-right: 30px;
}
.link_type_slick .slick-box .prev {
	left: -54px;
}
.link_type_slick .slick-box .next {
	right: -54px;
}
/* Dots */
.link_type_slick .slick-dots{
    position: absolute;
    bottom: -35px;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}
.link_type_slick .slick-dots li{
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer;
}
.link_type_slick .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;
}
.link_type_slick .slick-dots li button:hover,
.link_type_slick .slick-dots li button:focus{
    outline: none;
}
.link_type_slick .slick-dots li button:hover:before,
.link_type_slick .slick-dots li button:focus:before{
    opacity: 1;
}
.link_type_slick .slick-dots li button:before{
    font-family: 'slick';
    font-size: 6px;
    line-height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    content: '●';
    text-align: center;
    opacity: .25;
    color: black;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.link_type_slick .slick-dots li.slick-active button:before{
    opacity: .75;
    color: black;
}
/* 最後まで行ったら、矢印透過する */
.link_type_slick .slick-disabled{
	opacity: 0.3;
}
/* 要素の高さを合わせる */
.link_type_slick .slick-slide {
	height: auto !important;
}
.link_type_slick .slick-track {
	display: flex;
}


.v_type1 .triangle {
    display: block;
    border: #000 solid 2px;
    box-shadow: 5px 5px 0 0 #9c9c9c;
}
.v_type1 .triangle:before {
    content: '';
    position: absolute;
    display: block;
    z-index: 1;
    border-style: solid;
    border-color: #FFF transparent;
    border-width: 13px 13px 0 0;
    bottom: -13px;
    left: 50%;
    margin-left: -9px;
}
.v_type1 .triangle:after {
    content: '';
    position: absolute;
    display: block;
    z-index: 0;
    border-style: solid;
    border-color: #000 transparent;
    border-width: 15px 15px 0 0;
    bottom: -17px;
    left: 50%;
    margin-left: -11px;
}


/*--under page---------------------------
-------------------------------------*/




/* ---------- responshive ---------- */
@media screen and (max-width: 1600px){
#main_img .catch{
    bottom: 17%;
}
#intro .item1{
    top:-120px;
}
#intro .intro_title {
    font-size: 3rem;
}
}

@media screen and (max-width: 1270px){
#intro .item1 {
    width: 35vw;
}
#intro .item2 {
    width: 23vw;
}
#top_cms1 .item7{
    bottom: 200px;
}
#contents_wrap .bg_container{
    padding: 5vh 0;
}
#contents_wrap h3 {
    font-size: 1.7rem;
}
}

@media screen and (max-width: 1000px){
#main_img .catch {
    width: 55vw;
    bottom: 20%;
}

}



/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
.scrollanim{
    opacity:1;
}
.fade_left{
    opacity:1;
    transform:translate(0,0);
}
#main_img .catch {
    width: 60vw;
    bottom: 10%;
}
#intro span.bg_box {
    width: 25%;
    height: 27%;
}
#intro::before, #top_cms1::before{
    height:100px;
}
#intro .item1 {
    top: -80px;
}
#intro .item2{
    bottom: -2%;
}
#top_cms1 .item7 {
    width: 14vw;
    bottom: 117px;
}
#contents_wrap .bg_container {
    padding: 7vh 0 10vh;
}
#contents_wrap h3 {
    font-size: 2.2rem;
}

}

/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){
html {
	scrollbar-width:none; /* Firefox 対応 */
}

#loading .load_logo{
    width:250px;
}
#main_img .catch {
    width: 87vw;
    bottom: 6%;
}
#intro{
    padding-top:170px;
}
#intro .item1 {
    width: 53vw;
    top: -10px;
    left: -11%;
}
#intro .item2 {
    width: 30vw;
}
#intro .intro_title {
    font-size: 2rem;
    letter-spacing: 4px;
}
#intro .intro_title:first-letter {
    font-size: 3rem;
}
#top_cms1::before {
    bottom: 70px;
}
#top_cms1 .item3 {
    width: 44vw;
}
#top_cms1 .item7 {
    width: 25vw;
    bottom: 100px;
}

#contents_wrap .bg_container {
    padding: 7vh 0 20vh;
    background-size: 46%;
}
#contents_wrap h3 {
    font-size: 1.8rem;
}
#contents_wrap #contents2 h3 {
    font-size: 1.5rem;
}
.top_cms_box .more_bt {
    margin-top: 20px;
}

.link_type_slick .slick-container{
    padding-left: 0;
    padding-right: 0;
}
.link_type_slick .slick-box .prev {
	left: -8px;
}
.link_type_slick .slick-box .next {
	right: -8px;
}

}




