@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;
}
body{
	font-family:'Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3',Meiryo,メイリオ,Osaka,'MS PGothic',arial,helvetica,sans-serif;
	width: 100%;
    height: 100%;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	-webkit-text-size-adjust: 100%;
}
body{
    animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
}
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
.mincho{
	font-family:'Yu Mincho','YuMincho','游明朝体','游明朝','ヒラギノ明朝 ProN','Hiragino Mincho ProN',"HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝",sans-serif;
	font-weight: 600;
}
.eng{
	font-family:'Barlow', sans-serif;
}
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;
}
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary, main {
    display: block;
}
.cf:after{
    clear:both;
    content:"";
    display:block;
    height: 0;
}
#content{
	overflow: hidden;
}
.wp6{
	width: 100%;
	max-width: 600px;
	margin: 0 auto;
	position: relative;
}
.wp8{
	width: 98%;
	max-width: 800px;
	margin: 0 auto;
	position: relative;
}
.wp9{
	width: 98%;
	max-width: 900px;
	margin: 0 auto;
	position: relative;
}
.wp10{
	width: 98%;
	max-width: 1000px;
	margin: 0 auto;
	position: relative;
}
.wp11{
	width: 98%;
	max-width: 1100px;
	margin: 0 auto;
	position: relative;
}
.wp12{
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
}
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;
}
span.blue{
	color: #2e9cec !important;
}
button{
	opacity: 1;
	-webkit-transition: opacity 0.2s ease-in-out;
	transition:opacity 0.2s ease-in-out;
}
button:hover{
	opacity: 0.7;
}
li{
	list-style-type: none;
}
img{
	width: 100%;
	height: auto;
	vertical-align: bottom;
}
iframe{
	width: 100%;
	vertical-align: bottom;
	border: none;
}
section{
	position: relative;
}

section.pd11{
	padding: 110px 0;
}
.bg{
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center top;
}
.bg-fixed{
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center top;
	background-attachment: fixed;
}
.bg-scroll{
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center top;
	background-attachment: scroll;
}
table{
	border-collapse: collapse;
    border-spacing: 0;
	width: 100%;
}
.ell {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.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-d{
	-webkit-box-orient:horizontal;
    -webkit-box-direction:reverse;
    -webkit-flex-direction:row-reverse;
    -ms-flex-direction:row-reverse;
    flex-direction:row-reverse;
}
.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-end{
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: 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: 62.5%;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}
span.thum-bg-works{
	display: block;
    width: 100%;
    padding-top: 100%;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}
span.thum-bg-event{
	display: block;
    width: 100%;
    padding-top: 100%;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}
span.thum-bg-topev{
	display: block;
    width: 100%;
    padding-top: 50%;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}
span.thum-bg-real{
	display: block;
    width: 100%;
    padding-top: 75%;
	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;
	*/
}
	

/*  オブジェクトフィット　 */
.fit{
	-webkit-object-fit: cover;
	-moz-object-fit: cover;
	-webkit-object-position: 50% 50%;
	-moz-object-position: 50% 50%;
	object-fit: cover;
	object-position: 50% 50%;
  font-family: 'object-fit: cover;';
}

/*  Youtube設定　 */
.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}
/*------------------------------------*
    ページ先頭へ
*------------------------------------*/
.scroll-top{
	position: fixed;
    right: 1%;
	bottom: 10%;
    width: 50px;
    height: 50px;
    background-color: #1f99b3;
    opacity: 0.7;
	z-index: 100;
	display: none;
}
.scroll-top a{
	display: block;
    width: 100%;
    height: 100%;
	color: #fff;
}
.scroll-top a i{
    font-weight: 900;
	font-size: 24px;
	display: block;
	position: relative;
    text-align: center;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
/***********************************************
      三点リーダー
************************************************/
.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-cl3{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    }
}
@media all and (-ms-high-contrast: none){
    .ellipsis,.ellipsis-cl3{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    }
}

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

.fade{
	opacity: 1;
	-webkit-transition-property: opacity,transform;
	transition-property: opacity,transform;
	-webkit-transition-duration: 1s;
	 transition-duration: 1s;
	-webkit-transition-timing-function: ease-in-out;
	transition-timing-function: ease-in-out;
}
.slide-top{
	opacity: 0;
	-webkit-transform: translateY(50px);
    transform: translateY(50px);
}
.slide-bottom{
	opacity: 0;
	-webkit-transform: translateY(-50px);
    transform: translateY(-50px);
	-webkit-transition-duration: 0s;
	 transition-duration:0s;
}
.slide-right{
	opacity: 0;
	-webkit-transform: translateX(-10%);
    transform: translateX(-10%);
}
.slide-left{
	opacity: 0;
	-webkit-transform: translateX(10%);
    transform: translateX(10%);
}
li.fade-order:nth-child(2){
	-webkit-transition-delay: 0.3s;
	 transition-delay: 0.3s;
}
li.fade-order:nth-child(3){
	-webkit-transition-delay: 0.6s;
	 transition-delay: 0.6s;
}

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

.image-l.slide-right,
.price-col.flex-d .slide-right{
	-webkit-transform: translateX(10%);
    transform: translateX(10%);
}
.image-top.slide-left,
	.price-col.flex-d .slide-left{
	-webkit-transform: translateX(-10%);
    transform: translateX(-10%);
}

/*------------------------------------*
    メディアクエリ
*------------------------------------*/
@media screen and (max-width:768px){
	span.thum-bg-event{
    padding-top: 62.5%;
}
@media screen and (max-width:480px){
	/*  アイキャッチ画像設定　 */
span.thum-bg-works{
    padding-top: 120%;
}
span.thum-bg-topev{
    padding-top: 80%;
}
}