@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css?family=Montserrat');


/* reset */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,button,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin:0;
    padding:0;
    border:0;
    outline:0;
}

* { box-sizing:border-box; }

li {list-style:none;}
textarea {resize:none; }
img { border:none; vertical-align: top; }

.clear { clear:both; }
.fl { float:left; }
.fr { float:right; }


.font11 { font-size:11px !important; }
.font12 { font-size:12px !important; }
.font13 { font-size:13px !important; }
.font14 { font-size:14px !important; }
.font15 { font-size:15px !important; }
.font16 { font-size:16px !important; }
.font17 { font-size:17px !important; }
.font18 { font-size:18px !important; }
.font19 { font-size:19px !important; }
.font20 { font-size:20px !important; }

.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom: 25px !important; }
.mb25 { margin-bottom: 20px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb50 { margin-bottom: 50px !important; }
.mb60 { margin-bottom: 60px !important; }
.mb70 { margin-bottom: 70px !important; }
.mb80 { margin-bottom: 80px !important; }
.mb90 { margin-bottom: 90px !important; }
.mb95 { margin-bottom: 95px !important; }
.mb100 { margin-bottom: 100px !important; }


.font_red { color: red !important; }

.alignL { text-align: left !important; }
.alignR { text-align: right !important; }
.alignC { text-align: center !important; }


a,
a img,
.hover-opa a {
   -webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}


a:hover img,
.hover-opa a:hover {
	 opacity:0.7;
}


.Montserrat,
.Montserrat * {
   font-family: 'Montserrat', sans-serif !important;
}

body {
	position: relative;
}

.youtube-wrap {
	position: relative;
	width: 100%;
	height:0;
	padding-top: 56.25%;
}
.youtube-wrap iframe {
	width: 100%;
	height: 100%;
	position:absolute;
	left:0;
	top:0;
}



/*------------------------------------------------
   anime style
--------------------------------------------------*/
@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}

/* zoom item */
.zoom-item a {
    display: block;
    position: relative;
}
.zoom-item a:after {
    content: '';
    display: block;
    opacity: 0;
    visibility: hidden;
    width: 100%;
    height: 100%;
    border: solid 1px #ccc;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}
.zoom-item a:hover:after {
    opacity: 1;
    visibility: visible;
    transform: scale(0.9);
}

/* imgCover */
.imgCover {
	position: relative;
	overflow: hidden;
}
.imgCover:after {
    content: '';
    display: block;
    width: 0;
    height: 100%;
    background: #c0ad7e;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10;
}
.imgCover.animated:after {
    animation: swipeRight 1.1s cubic-bezier(0.6,0,0.4,1);
    animation-fill-mode: forwards;
}
.imgCover img {
	opacity:0;
	visibility:hidden;
    -webkit-transition: all .5s ease-in-out;
    transition: all .7s ease-in-out;
	transition-delay: .7s
}
.imgCover.animated img {
	opacity:1;
	visibility: visible;
}

/* loading */
@-webkit-keyframes loading {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@-moz-keyframes loading {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes loading {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/*------------------------------------
loading position relative の要素と使う
-------------------------------------*/

.loadingWrap {
    width: 100%;
    height: 100%;
    background: rgba(255,255,255,0.7);
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10;
   -webkit-transition: all 0.2s ease-in-out;
   transition: all 0.2s ease-in-out;
}
.loadingWrap .loading {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40px;
    height: 40px;
    border-radius: 100%;
    margin: -20px 0 0 -20px;
    border-top: 5px solid rgba(255, 0, 0, 0.5);
    border-right: 5px solid rgba(255, 0, 0, 0.5);
    border-bottom: 5px solid rgba(255, 0, 0, 0.5);
    border-left: 5px solid #eee;
    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-animation: loading 1s linear 0s infinite normal;
    -moz-animation: loading 1s linear 0s infinite normal;
    animation: loading 1s linear 0s infinite normal;
}

/* fadeIn-up */
.fadeIn-up {
    opacity: 0;
    transform: translateY(20px);
    -webkit-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
    transition-duration: .5s;
}
.fadeIn-up.animated {
    opacity: 1;
    transform: translateY(0);
}

/* fadeIn-text */
.fadeIn-text {
    opacity: 0;
    transform: translateX(20px);
    -webkit-transition: all 1s ease-in-out;
    transition: all 1s ease-in-out;
}
.fadeIn-text.animated {
	visibility: visible;
    opacity: 1;
    transform: translateX(0);
}

/* txt-show */
.txt-show {
	position: relative;
	overflow:hidden;
}
.txt-show:after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(255,255,255,0.8);
    position: absolute;
    right: 0;
    top: 0;
    z-index: 10;
    -webkit-transition: all 1s ease-in-out;
    transition: all 1s ease-in-out;
}
.txt-show.animated:after {
    right: -500px;
}


/* popShow width list */
.popShow li * {
    opacity: 0;
    visibility: hidden;
    -webkit-transform: scale(.7);
    -ms-transform: scale(.7);
    transform: scale(.7);
    transition-duration: 500ms;
}
.popShow.animated li * {
	visibility: visible;
    opacity: 1;
   -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
}