@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;
	letter-spacing: 1px;
    font-family: 'Hiragino Kaku Gothic ProN',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, sans-serif;
    word-wrap: break-word;
	 -webkit-overflow-scrolling: touch;
}

a {outline:none;text-decoration:none;}
li { list-style:none; }
textarea { resize:none; }
img { vertical-align:top; }

input,
select,
textarea,
radio,
checkbox,
button {
    font-family: 'Hiragino Kaku Gothic ProN',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, sans-serif;
}



/*------------------------------------------------
   common style
--------------------------------------------------*/
.sp { display: none; }

* { box-sizing:border-box; }

.clear { clear:both; }
.fl { float:left; }
.fr { float:right; }


.mb0   { margin-bottom: 0 !important; }
.mb5   { margin-bottom: 5px !important; }
.mb10  { margin-bottom: 10px !important; }
.mb20  { 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; }
.mb100 { margin-bottom: 100px !important; }


.alignL { text-align:left !important; }
.alignR { text-align:right !important; }
.alignC { text-align:center !important; }


.hover-opa a {
   -webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}
.hover-opa a:hover {
	 opacity:0.7;
}





/*------------------------------------------------
   anime style
--------------------------------------------------*/
@-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);
  }
}



@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(0,0,0,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, 255, 255, 0.5);
    border-right: 5px solid rgba(255, 255, 255, 0.5);
    border-bottom: 5px solid rgba(255, 255, 255, 0.5);
    border-left: 5px solid #ccc;
    -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;
	position: relative;
	top:50px;
    visibility: hidden;
    transition-duration: 1.2s;
}
.fadeIn-up.show {
    top:0;
	visibility: visible;
    opacity: 1;
}


/* popShow width list */
.popShow li * {
    opacity: 0;
    visibility: hidden;
    -webkit-transform: scale(.7);
    -ms-transform: scale(.7);
    transform: scale(.7);
    transition-duration: 500ms;
}
.popShow.show li * {
	visibility: visible;
    opacity: 1;
   -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
}




/*------------------------------------------------
   media query
--------------------------------------------------*/
@media (max-width: 1280px) {
}
@media (max-width: 1200px) {
}

/* 815px 以下(iphone X横向き対策) */
@media (max-width: 815px) {
	.sp { display: block; }
	.pc { display: none; }
	
	img { max-width: 100%; height:auto; }



/* 360px 以下 */
@media (max-width: 360px) {
	

}


