@charset "utf-8";
/***********************************************

    基本設定

************************************************/
*{
    margin: 0;
    padding: 0;
	-webkit-box-sizing: border-box;
    box-sizing: border-box;
}
*:before, *:after{
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
html{
	background-color: #F5F5F5 !important;
}
body{
	font-family: "Mochiy Pop One", sans-serif;
	width: 100%;
    height: 100%;
	line-height: 1;
	letter-spacing: 2px;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	-webkit-text-size-adjust: 100%;
	font-weight: 400;
	font-size: 18px;
	color: #333;
}
.mincho{
	font-family:'Titillium Web','Yu Mincho','YuMincho','游明朝体','游明朝','ヒラギノ明朝 ProN','Hiragino Mincho ProN',"HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝",sans-serif;
	font-weight: 600;
}
.eng{
	font-family: "Big Shoulders Inline", sans-serif;
    font-optical-sizing: auto;
    font-weight: 800;
    font-style: normal;
}

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,
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 {
    border: 0;
    outline: 0;
    vertical-align: baseline;
    background: transparent;
}
h1, h2, h3, h4, h5, h6{
	font-weight: 700;
}
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary, main {
    display: block;
}
section{
	position: relative;
	z-index: 20;
}
.cf:after{
    clear:both;
    content:"";
    display:block;
    height: 0;
}
a{
	display: block;
	text-decoration: none;
	color: #000;
	vertical-align: baseline;
    background: transparent;
	opacity: 1;
	-webkit-transition: all .2s ease-out;
	transition:all .2s ease-out;
}
a:hover{
    opacity: 0.7;
}
.fax a{
	display: inline-block;
	color: #717071;
	text-decoration: none;
	pointer-events:none;
}
button{
	opacity: 1;
	-webkit-transition: opacity 0.3s ease-out;
	transition:opacity 0.3s ease-out;
}
button:hover{
	opacity: 0.7;
}
input, textarea, button {
    vertical-align: middle;
    outline: none;
    -webkit-appearance: none;
    border: 0;
    outline: 0;
}
li{
	list-style-type: none;
}
img{
	width: 100%;
	height: auto;
	vertical-align: bottom;
}
iframe{
	vertical-align: bottom;
	border: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
}
.bg{
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}
.flex{
	display : -webkit-box;
	display : -ms-flexbox; /*IE10*/
	display : -webkit-flex; /*old webkit browser*/
	display : flex;
}
.flex-c{
	display: -webkit-box;
	display : -ms-flexbox; /*IE10*/
	display : -webkit-flex; /*old webkit browser*/
	display : flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.flex-c-c{
	display: -webkit-box;
	display : -ms-flexbox; /*IE10*/
	display : -webkit-flex; /*old webkit browser*/
	display : flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.flex-jc{
	display: -webkit-box;
	display : -ms-flexbox; /*IE10*/
	display : -webkit-flex; /*old webkit browser*/
	display : flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.flex-sa{
	display: -webkit-box;
	display : -ms-flexbox; /*IE10*/
	display : -webkit-flex; /*old webkit browser*/
	display : flex;
	-ms-flex-pack: distribute;
	justify-content: space-around;
}
.flex-sb{
	display: -webkit-box;
	display : -ms-flexbox; /*IE10*/
	display : -webkit-flex; /*old webkit browser*/
	display : flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.flex-c-sb{
	display: -webkit-box;
	display : -ms-flexbox; /*IE10*/
	display : -webkit-flex; /*old webkit browser*/
	display : flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.flex-c-sa{
	display: -webkit-box;
	display : -ms-flexbox; /*IE10*/
	display : -webkit-flex; /*old webkit browser*/
	display : flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-pack: distribute;
	justify-content: space-around;
}
.flex-w{
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.flex-rev{
	-webkit-box-orient:horizontal;
    -webkit-box-direction:reverse;
    -webkit-flex-direction:row-reverse;
    -ms-flex-direction:row-reverse;
    flex-direction:row-reverse;
}
.flex-end{
	-webkit-box-align:end;
    -webkit-align-items:flex-end;
    -ms-flex-align:end;
    align-items:flex-end;
}
.flex-col{
	-webkit-box-orient: vertical;
  	-webkit-box-direction: normal;
  	-ms-flex-direction: column;
  	flex-direction: column;
}

/*  アイキャッチ画像設定　 */
span.thum-bg{
	display: block;
    width: 100%;
    padding-top: 66.5%;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

/* 既存スタイルの打ち消し */
select{
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  outline: none;
  background: transparent;
}

/* 既存スタイルの打ち消し　矢印（IE用） */
select::-ms-expand {
	display: none;
}

/*  三点リーダー　 */
.ell {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.ellipsis{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
.ellipsis-cl3{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}	
@-moz-document url-prefix(){
    .ellipsis,.ellipsis-cl4{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    }
}
@media all and (-ms-high-contrast: none){
    .ellipsis,.ellipsis-cl4{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    }
}

/*------------------------------------*
   
    アニメーション設定

*------------------------------------*/
@-webkit-keyframes roll {
  0% {
  	-webkit-transform: rotate(5deg);
  	transform: rotate(5deg);
  }
  25% {
  	-webkit-transform: rotate(0);
  	transform: rotate(0);
  }
  50% {
  	-webkit-transform: rotate(-5deg);
  	transform: rotate(-5deg);
  }
  75% {
  	-webkit-transform: rotate(0);
  	transform: rotate(0);
  }
  100% {
  	-webkit-transform: rotate(5deg);
  	transform: rotate(5deg);
  }
}
@keyframes roll {
  0% {
  	-webkit-transform: rotate(5deg);
  	transform: rotate(5deg);
  }
  25% {
  	-webkit-transform: rotate(0);
  	transform: rotate(0);
  }
  50% {
  	-webkit-transform: rotate(-5deg);
  	transform: rotate(-5deg);
  }
  75% {
  	-webkit-transform: rotate(0);
  	transform: rotate(0);
  }
  100% {
  	-webkit-transform: rotate(5deg);
  	transform: rotate(5deg);
  }
}

@-webkit-keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.anime-fade{
	opacity: 0;
}
.anime-fade.fadein{
	-webkit-animation: fadein 1s ease-in both;
	animation: fadein 1s ease-in both;
}

@-webkit-keyframes fadeup {
  0% {
    opacity: 0;
    -webkit-transform: translateY(50px);
    transform: translateY(50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes fadeup {
  0% {
    opacity: 0;
    -webkit-transform: translateY(50px);
    transform: translateY(50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
.anime-up{
	opacity: 0;
    -webkit-transform: translateY(50px);
    transform: translateY(50px);
}
.anime-up.fadeup{
	-webkit-animation: fadeup 1s ease-in both;
	animation: fadeup 1s ease-in both;
}

@-webkit-keyframes fadleft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(50px);
    transform: translateX(50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@keyframes fadeleft {
   0% {
    opacity: 0;
    -webkit-transform: translateX(50px);
    transform: translateX(50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
.anime-slideleft{
	opacity: 0;
    -webkit-transform: translateX(50px);
    transform: translateX(50px);
}
.anime-slideleft.fadeleft{
	-webkit-animation: fadeleft 1s ease-in both;
	animation: fadeleft 1s ease-in both;
}

@-webkit-keyframes faderight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-50px);
    transform: translateX(-50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@keyframes faderight {
   0% {
    opacity: 0;
    -webkit-transform: translateX(-50px);
    transform: translateX(-50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
.anime-slideright{
	opacity: 0;
    -webkit-transform: translateX(-50px);
    transform: translateX(-50px);
}
.anime-slideright.faderight{
	-webkit-animation: faderight 1s ease-in both;
	animation: faderight 1s ease-in both;
}