@import url('https://fonts.googleapis.com/css?family=Lato:400,700|Noto+Sans+JP:400,700" rel="stylesheet');

@import url('https://fonts.googleapis.com/css2?family=Fredericka+the+Great&display=swap');



html {
	overflow: auto;
}




#top {
	display: block;
	z-index: 1;
}



/* Global */
body {
	height: 100%;
    position: relative;
    color: #ccc1bf;
    word-break: break-all;
	font-size: 1em;
	font-family: 'Lato', 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	letter-spacing: 1px;
	background: #0d0707 url(../images/backimage.jpg) center;
	overflow: hidden;
}

img {
	max-width: 100%;
	height: auto;
}


.ie8 img {
	width: auto;
}

a:link,
a:visited {
	color: #d5a74a;
	text-decoration: none;
}

a:hover {
	color: #ffc758;
}


* {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

.container {
	width: 95%;
	max-width: 1000px !important;
	margin: auto;
	text-align: center;
}

.container1100 {
	width: 95%;
	max-width: 1100px !important;
	margin: auto;
	text-align: center;
}

.container1200 {
	width: 95%;
	max-width: 1200px !important;
	margin: auto;
	text-align: center;
}



header {
	background-image: url(../images/header_img.jpg);
	margin: 0;
	padding: 0;
}



/* Navigation */
.menu {
	margin: 0;
	padding: 0;
	text-align: center;
}

.menu h1 {
	margin: 0;
	padding: 30px 0 0;
}

.menu h1 img {
	width: 220px;
	
}



/* ヘッダーメニュー */
.header_menu {
	margin: 0px auto;
	max-width: 1000px;
	padding: 25px 0 15px;
}


/* ドロップダウンメニュー */
#menu_list {
  	list-style: none;
  	-js-display: flex;
 	display: flex;
 	justify-content: space-between;
 	align-items: center;
	width: 100%;
  	padding: 0;
	margin: 0;
}

#menu_list > li {
  	color: #222;
	font-size: 0.75em;
	line-height: 1.5em;
	font-weight: bold;
	text-align: center;
	letter-spacing: 0;
  	padding: 5px 15px 5px 15px;
}

#menu_list > li > a {
  	text-decoration:none;
  	color: #b1a7a5;
}

#menu_list > li:hover {
  	text-decoration: none;
	color: #fff !important;
}

#menu_list > li > a:hover {
  	text-decoration: none;
	color: #fff !important;
}


#menu_list > li > ul { 
  	display: none; 
  	padding: 0px 0px 0px 0px;
  	list-style: none;
}

#menu_list > li:hover > ul {
  	display: block;
  	position: absolute;
  	margin-top:5px;
  	margin-left:-15px;
	z-index: 1000;
}


#menu_list > li:hover >ul > li {
	text-align: left;
}

#menu_list > li:hover > ul > li > a {
  	background: #180000;
  	padding: 8px 15px;
}

#menu_list > li:hover > ul > li > a:hover { 
  	background: #3f0001;
  	color: #fff !important;
}

#menu_list > li > ul > li > a {
  	display: block;
  	text-decoration: none;
  	color: #b1a7a5;
  	white-space: nowrap;
}





/* ふわっと表示 */
/* 画面外にいる状態 */
.fadein {
    opacity : 0;
    transform : translate(0, 45px);
    transition : all 700ms;
    }
 
/* 画面内に入った状態 */
.fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0);
}

#fade_effect .fadein:nth-of-type(2) {
	-moz-transition-delay:200ms;
	-webkit-transition-delay:200ms;
	-o-transition-delay:200ms;
	-ms-transition-delay:200ms;
}

#fade_effect .fadein:nth-of-type(3) {
	-moz-transition-delay:400ms;
	-webkit-transition-delay:400ms;
	-o-transition-delay:400ms;
	-ms-transition-delay:400ms;
}

#fade_effect .fadein:nth-of-type(4) {
	-moz-transition-delay:600ms;
	-webkit-transition-delay:600ms;
	-o-transition-delay:600ms;
	-ms-transition-delay:600ms;
}



/* General Slides */ 
.slide{
	background-attachment: fixed;
	width:100%;
	height:auto;
	position: relative;
	padding:0;
}



/* Slide 1 */
#slide1 {
	margin: 0;
	padding: 0;
	position: relative;
}



/*slick*/
.slide_wrap {
	background-color: #000;
	margin: 0 auto;
	text-align: center;
	padding: 0;
	background-size:auto;
	background: #0d0707 url(../images/back_g.jpg) repeat-y center;
}

.slider-box {
	max-width: 1300px;
	margin: 0 auto;
}


.slider {
    margin: 0 auto 0;
  }
 
.slick-slide img {
    width: 100%;
    height: auto;
  }
  

.slider-nav {
	width:70%;
	margin:0 auto;
}

.slider-nav img{
	width:95%;
	margin:0 auto;
}


/* Arrows */
.slick-arrow {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}

.slider-for .prev-arrow {
  	left: 10px;
  	z-index: 10;
	width: 55px;
	height: auto;
	cursor: pointer
}

.slider-for .next-arrow {
  	right: 10px;
	width: 55px;
	height: auto;
	cursor: pointer
}

.slider-nav .prev-arrow {
	top: 35%;
	left: -50px;
  	z-index: 10;
	width: 35px !important;
	height: auto;
	cursor: pointer
}

.slider-nav .next-arrow {
	top: 35%;
  	right: -50px;
	width: 35px !important;
	height: auto;
	cursor: pointer
}








/* ページ読み込みふわっと表示下から */
.css-fade3 {
  width:100%;
  height: 100px;
  line-height: 100px;
  text-align: center;
  opacity: 0;
  animation-name:fade-in3;
  animation-duration:1s;
  animation-timing-function: ease-out;
  animation-delay:1s;
  animation-iteration-count:1;
  animation-direction:normal;
  animation-fill-mode: forwards;
}
@keyframes fade-in3 {
  0% {opacity: 0; transform: translate3d(0,20px,0);}
  100% {opacity: 1; transform: translate3d(0,0,0);}
}



/* アニメーション */

.box_imageLeft {  
	position: absolute;
  	left: 30px;
   	bottom: 300px;
	z-index: 0;
}

.box_imageRight {
	position: absolute;
  	Right: 30px;
	z-index: 0;
	top: 50px;
}

.box_curtain_Left {
  	position: absolute;
  	left: 0px;
   	bottom: 0px;
	z-index: 10;
}

/* グラデーション */

.front_g {
	margin:0 auto;
	display: block;
   	bottom: 0px;
	z-index: 10;
	text-align: center;
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#000000+0,000000+99&1+0,0+100 */
background: -moz-linear-gradient(left,  rgba(0,0,0,1) 0%, rgba(0,0,0,0.01) 99%, rgba(0,0,0,0) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(left,  rgba(0,0,0,1) 0%,rgba(0,0,0,0.01) 99%,rgba(0,0,0,0) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right,  rgba(0,0,0,1) 0%,rgba(0,0,0,0.01) 99%,rgba(0,0,0,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#00000000',GradientType=1 );
	width: 100px;
	height: 557px;
	position: relative;
	right: 600px;
}

.front_g2 {
	margin:0 auto;
	display: block;
   bottom: 0px;
	z-index: 10;
	text-align: center;
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#000000+0,000000+99&0+0,1+100 */
background: -moz-linear-gradient(left,  rgba(0,0,0,0) 0%, rgba(0,0,0,0.99) 99%, rgba(0,0,0,1) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(left,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.99) 99%,rgba(0,0,0,1) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.99) 99%,rgba(0,0,0,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#000000',GradientType=1 ); /* IE6-9 */

	width: 100px;
	height: 557px;
	position: relative;
	left: 600px;
}

.flontfront {
	
	width: 100%;
	height: 500px;
	position: absolute;
	text-align: center;
}

.flontfront_naka {
	
	width: 100%;
	height: 500px;
	text-align: center;
	position: relative;
}

.flontfront_naka_naka {
	
	width: 1300px;
	height: 500px;
	text-align: center;
	
	marign:0 auto;
	margin-right: auto;
	margin-left: auto;
}



/* Slide2 */ 
#slide2 {
	position: relative;
	margin: 0;
	padding: 80px 0;
}

#slide2 h2 {
	color: #ddd;
	font-family: 'Fredericka the Great', cursive;
	font-size: 2.2em;
	letter-spacing: 4px;
	line-height: 1.4em;
	margin: 0;
	padding: 0;
}


.pickup {
	width: 100%;
	margin: 50px 0 0;
}

.pickup ul {
	-js-display: flex;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
	margin: 0;
	padding: 0;
	list-style-type: none;
}

.pickup li {
	width: 32%;
	margin: 0 2% 50px 0;
	padding: 15px 7px 10px 8px;
	position: relative;
	background-color: #ddd;
}


.pickup figure {
	margin: 0;
	padding: 0;
	padding: 10px;
  	border: 1px solid #ddd;
  	background-size: cover;
	background-clip: content-box;
  	box-sizing: border-box;
  	position: relative;
  	margin: auto;
}

.pickup figure:after {
  content: "";
  display: block;
  position: absolute;
  border: 30px solid transparent;
  border-bottom: 30px solid #ddd;
  bottom: -30px;
  right: -33px;
  box-shadow: 0px 7px 6px -9px black;
  transform: rotate(135deg);
}

.pickup figure:before {
  content: "";
  display: block;
  position: absolute;
  border: 30px solid transparent;
  border-top: 30px solid #ddd;
  top: -30px;
  left: -33px;
  box-shadow: 0px -7px 6px -9px black;
  transform: rotate(135deg);
}

.pickup .description  {
	margin: 0;
	text-align: left;
	padding: 5px 10px 10px;
	color: #140607;
}

.pickup .description .title1 {
	font-size: 0.8em;
	line-height: 1.6em;
	margin: 0;
	padding: 0;
	font-weight: bold;
}

.pickup .description .title2 {
	font-size: 0.9em;
	line-height: 1.5em;
	margin: 0 0 5px;
	padding: 0;
	color: #a5722a;
}

.pickup .description .schedule {
	font-size: 0.8em;
	line-height: 1.6em;
	margin: 0;
	padding: 0;
}

.pickup li a {
    position: absolute;
    top: 0;
    left: 0;
    height:100%;
    width: 100%;
}

.pickup li a:hover {
	border: 5px solid #b89970;
}

.pickup li:nth-child(3n)  {
	margin-right: 0;
}



/* Slide 3 */ 
#slide3 {
	position: relative;
	margin: 0;
	padding: 100px 0 100px;
	background-color: #180000;
	border: 1px solid #000;
	border-right-style: none;
	border-left-style: none;
	border-bottom-style: none;
}


.z_index500 {
	z-index: 500 !important;
}

#slide3 h2 {
	color: #ddd;
	font-family: 'Fredericka the Great', cursive;
	font-size: 2.2em;
	letter-spacing: 4px;
	line-height: 1.4em;
	margin: 0;
	padding: 0;
}

.info_top {
	border-top: 1px solid #523926;
	margin: 40px 0 20px;
	z-index: 500;
}

.info_top dl {
	margin: 0;
	padding: 0;
	width: 100%;
	text-align: left;
	border-bottom: 1px solid #523926;
}

.info_top dt {
	font-size: 0.9em;
	line-height: 1.8em;
	margin: 10px 0 5px;
	padding: 0;
}

.info_top dd {
	font-size: 0.85em;
	line-height: 1.8em;
	margin: 0 0 5px;
	padding: 0;
}

.info_top .date {
	font-size: 0.8em;
	margin-bottom: 10px;
	margin-top: 0;
}


/* VIEW MOREボタン */
.info_btn {
	float: right;
}

.info_btn .btn-more {
    position: relative;
    display: block;
    width: 140px;
 	font-size: 0.8em;
	color: #fff;
    text-align: center;
 	letter-spacing: 1.5px;
    line-height: 1.5em;
    font-family: 'Roboto', sans-serif;
 	padding: 12px 0;
	border: 1px solid #ddd;
}

.btn-more a:link, a:visited {
   cursor: pointer;
    transition: all 0.3s ease 0s;
}

.btn-more a:hover {
	text-decoration: none !important;
}

.btn-more::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    width: 20px;
    height: 1px;
    background: #ddd;
}

.btn-more span {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 0;
    overflow: hidden;
    color: #ddd !important;
}

.btn-more:hover::after {
    width: 10%;
    opacity: 0;
    transition: all .4s;
	background-color: #c6c8ce;
}



/* Slide 4 */ 
#slide4 {
	position: relative;
	margin: 0;
	padding: 80px 0 80px;
}

#slide4 h2 {
	color: #ddd;
	font-family: 'Fredericka the Great', cursive;
	font-size: 2.2em;
	letter-spacing: 4px;
	line-height: 1.4em;
	margin: 0;
	padding: 0;
}

#slide4 p {
    font-size: 0.85em;
    line-height: 1.8em;
    margin: 40px 0 0;
    padding: 0;
}

/* 無限ループアニメーション */ 
/* スライドする要素 */
.content {
  width: 240px;
  height: 200px;
}

/* スライドレールの枠 */
.arg_wrap {
  overflow: hidden;
  display: flex;
  align-items: center;
  height: 280px;
	margin-top: 30px;
	background-color: #180000;
}

.slideshow {
  display: flex;
  -webkit-animation: loop-slide 30s infinite linear 1s both;
  animation: loop-slide 30s infinite linear 1s both;
	margin: 0;
	padding: 0;
	list-style-type: none;
}

.slideshow li {
	color: #fff;
	font-size: 0.8em;
	line-height: 1em;
	text-align: center;
}

.slideshow li a {
	color: #b1a7a5 !important;
}

.grascale img {
	background-color: black;
}

.grascale img {
-webkit-filter: grayscale(100%);
-moz-filter: grayscale(100%);
-ms-filter: grayscale(100%);
-o-filter: grayscale(100%);
filter: grayscale(100%);
opacity: 0.6;    /* カラーフィルタ効果の度合いを指定 */
    display: block;
}

@-webkit-keyframes loop-slide { 
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

@keyframes loop-slide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
} 

/* ホバー時に動きを止める（パターン2・3）*/
.slide-paused:hover .slideshow {
  -webkit-animation-play-state: paused;
  animation-play-state: paused;
}

/* ホバー時の装飾（パターン3） */
.content-hover {
  transition: all 0.2s;
  margin-right: 20px;
}

.content-hover:hover {
  transform: translateY(-20px);
  border-radius: 0 10%;
  box-shadow: 0 3px 10px 0 #333;
  cursor: pointer;
}

.grascale img:hover {
-webkit-filter: grayscale(0%);
-moz-filter: grayscale(0%);
-ms-filter: grayscale(0%);
-o-filter: grayscale(0%);
filter: grayscale(0%);
opacity: 1;    /* カラーフィルタ効果の度合いを指定 */
    display: block;
}




/* Slide 5 */ 
#slide5 {
	position: relative;
	margin: 0;
	padding: 100px 0 100px;
}

.conten {
	position: relative;
	z-index: 5;
}

#slide5 ul {
	-js-display: flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
	width: 100%;
	list-style-type: none;
	margin: 0;
	padding: 0;
}

#slide5 li {
	width: 24%;
}




/* footer */ 
footer {
	margin: 0;
	padding: 30px 0;
	background-color: #180000;
	text-align: center;
	border-top: 1px solid #3e231c;
}

ul.footer_menu {
	-js-display: flex;
    display: flex;
    justify-content: space-between;
	width: 100%;
	margin: 40px 0 50px;
	padding: 0;
	list-style-type: none;
}

.footer_menu li {
	margin: 0;
	padding: 0;
}

.footer_menu_li_01 {
	width: 25%;
}

.footer_menu_li_02 {
	width: 24%;
}

.footer_menu_li_03 {
	width: 20%;
}

.footer_menu_li_04 {
	width: 24%;
}

.footer_menu dl {
	padding: 0;
	margin: 0;
	width: 100%;
	text-align: left;
}

.footer_menu dt {
	padding: 0;
	margin: 0 0 10px;
	color: #b1a7a5;
	font-size: 0.85em;
	line-height: 1.8em;
	font-weight: bold;
}

.footer_line {
	margin-top: 10px !important;
	margin-bottom: 10px;
	width: 78%;
	border-top: 1px solid #3e231c;
}

.footer_menu dd {
	font-size: 0.75em;
	line-height: 1.8em;
	margin: 0 0 5px 5px;
	position: relative;
	padding-left: 15px;
}

.footer_menu dd::before {
    position: absolute;
    content: '';
    width: 4px;
    height: 4px;
    border-top: solid 1px #99918F;
    border-right: solid 1px #99918F;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 50%;
    left: 0;
    margin-top: -2.5px;
}

.no_arrow::before {
    display: none;
}

.footer_menu a {
	color: #99918F;
}

.footer_menu a:hover {
	color: #99918F;
	text-decoration: underline;
}


.sns_line {
	border-bottom: 1px solid #99918F;
	margin-top: 0;
	margin-bottom: 10px;
}

.sns_line ul {
	width: 100%;
	-js-display: flex;
    display: flex;
    justify-content: center;
	list-style-type: none;
	padding: 0;
	margin: 20px 0;
}

.sns_line li {
	width: 30px;
	margin-left: 8px;
	margin-right: 8px;
}

.s1 {
	color: #b1a7a5;
	font-size: 0.9em;
	line-height: 1.8em;
	display: flex;
	align-items: center;
}
.s1:before, .s1:after {
	content: "";
	flex-grow: 1;
	height: 1px;
	background: #99918F;
	display: block;
}
.s1:before {
	margin-right: 1em;
}
.s1:after {
	margin-left: 1em;
}

.fotter_btn {
	margin-top: 40px;
	margin-left: 0;
	margin-right: 0;
	padding: 0;
}

.fotter_btn img {
	margin-bottom: 12px;
}


.copyright {
	color: #f0f0f0;
	line-height: 1.8em;
	margin: 0;
	padding-left: 10px;
	padding-right: 10px;
	letter-spacing: 1px;
	border-top: 1px solid #3e231c;
	padding-top: 20px;
}

.copyright p {
	line-height: 1.8em;
	font-size: 0.75em;
	margin-bottom: 10px;
	color: #807977;
}

.copyright small {
	color: #807977;
	font-size: 0.7em;
	line-height: 1.8em;
	margin: 0;
	padding: 0;
}





/* 中ページ */
/* Slide 9 */ 
#slide9 {
	margin: 40px 0 100px;
	padding: 0;
	position: relative;
}


/* 2カラム設定 中ページ */
.flexbox {
    -js-display: flex;
    display: flex;
    justify-content: space-between;
}


/* side-R */
.sideR {
    order: 2;
	width: 27.274%;
	text-align: right;
	padding: 0;
	margin: 0;
}


/* 募集中 */
.next_event h2 {
	background-color: #c49d4d;
	color: #fff;
	font-size: 0.9em;
	line-height: 2em;
	font-weight: normal;
	font-style: normal;
	text-align: center;
	margin: 0 0 5px;
	padding: 5px;
	letter-spacing: 7px;
	position:  relative;
}
 
.next_event h2:before {
    content: '';                /* 空の要素を作る */
    height: 100%;               /* 高さ指定 */
    width: 2px;                 /* 幅指定 */
    display:  block;            /* ブロック要素にする */
    position:  absolute;        /* 位置調整 */
    left: 14px;                 /* 位置調整 */
    top: 0px;                  /* 位置調整 */
    margin:  auto;              /* 位置調整 */
    background-color:  #fff;    /* 背景色指定 */
    transform: rotate(3deg);    /* 回転 */
}

.next_event h2:after {
    content: '';                /* 空の要素を作る */
    height: 105%;               /* 高さ指定 */
    width: 2px;                 /* 幅指定 */
    display:  block;            /* ブロック要素にする */
    position:  absolute;        /* 位置調整 */
    left: 14px;                 /* 位置調整 */
    top: -1px;                  /* 位置調整 */
    margin:  auto;              /* 位置調整 */
    background-color:  #fff;    /* 背景色指定 */
    transform: rotate(-20deg);  /* 回転 */
}

.on_sale {
	width: 100%;
	margin: 0 0 30px;
	padding: 15px;
	text-align: center;
	position: relative;
	background-color: #ddd;
}

.on_sale a {
    position: absolute;
    top: 0;
    left: 0;
    height:100%;
    width: 100%;
}

.on_sale a:hover {
	border: 5px solid #b89970;
}


.on_sale figure {
	margin: 0;
	padding: 0;
}

.on_sale .description  {
	margin: 0;
	text-align: left;
	padding: 5px 5px 10px;
	color: #140607;
}

.on_sale .description .title1 {
	font-size: 0.8em;
	line-height: 1.6em;
	margin: 0;
	padding: 0;
	font-weight: bold;
}

.on_sale .description .title2 {
	font-size: 0.9em;
	line-height: 1.6em;
	margin: 0 0 5px;
	padding: 0;
	color: #a5722a !important;
}

.on_sale .description .schedule {
	font-size: 0.8em;
	line-height: 1.6em;
	margin: 0;
	padding: 0;
}




/* sideR バナー */
.sideR ul {
	width: 100%;
	margin: 0 0 30px;
	padding: 0;
	list-style-type: none;
}

.sideR li {
	margin: 0 0 20px;
	padding: 0;
	list-style-type: none;
}

.hr_R {
	border-top: 1px solid #5d352a;
	margin-bottom: 30px;
}


/* main 本文 */
.main {
    margin: 0;
	width: 72.726%;
    order: 1;
	text-align: left;
	overflow: hidden;
	padding-right: 70px;
}


.main h2 {
	margin: 0 0 30px;
	padding: 0;
	color: #f2f2f2;
}

.various_press_title {
	text-align: center;
}

.main h3 {
    line-height: 1.6em;
    text-align: center;
    margin: 0;
    padding: 0;
	font-weight: normal;
	font-style: normal;
	color: #fff;
	font-size: 1.05em;
}

.main p {
	font-size: 0.85em;
	line-height: 1.8em;
	margin-bottom: 30px;
	ext-align: justify;
 	text-justify: inter-ideograph;
}

.summery p {
	margin: 0;
	padding: 0;
	line-height: 1.8em;
	font-size: 0.9em;
	ext-align: justify;
 	text-justify: inter-ideograph;
}


/*ニュース一覧*/
h2.news_h2 {
    color: #ddd !important;
    font-family: 'Fredericka the Great', cursive !important;
    font-size: 2.2em !important;
    letter-spacing: 4px !important;
    line-height: 1.4em !important;
    margin: 0 !important;
    padding: 0 !important;
	text-align: center;
}


/*ミステリーナイトとは*/
.about_wrap {
	border-radius: 8px;		/* CSS3草案 */
	-webkit-border-radius: 8px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 8px;
	background-color: rgba(0,0,0,0.4);
	padding: 40px 40px 20px;
	margin: 0 0 50px;
	z-index: 1;
	position: relative;
}

h3.about_h3 {
	color: #ccc;
	font-size: 0.9em;
	line-height: 1.8em;
	letter-spacing: 5px;
	text-align: center;
	padding: 10px 20px;
	border: 5px double #666;
	max-width: 400px;
	margin: 0 auto 30px;
	z-index: 10;
	position: relative;
}

h3.about_h3 .h3_span {
	font-size: 1.4em;
}

.letter-sp2px {
	letter-spacing: 2px;
}

.about_wrap p {
	font-size: 0.85em;
	line-height: 2.5em;
	text-align: justify;
 	text-justify: inter-ideograph;
	margin: 0 0 40px;
	padding: 0;
}

.about_wrap figure {
	width: 100%;
	margin: 0 0 30px;
	padding: 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.about_wrap figure img {
	width: 48%;
	height: 100%;
	margin: 0 0 25px;
}


/* moreボタン */
.btn_wrap {
	display: flex;
	justify-content: center;
}

.btn-flow {
    position: relative;
    display: block;
    width: 220px;
 	font-size: 0.8em;
	color: #fff;
    text-align: center;
 	letter-spacing: 1.5px;
    line-height: 1.5em;
    font-family: 'Roboto', sans-serif;
 	padding: 15px 0;
	border: 1px solid #ddd;
	margin: 0 0 50px;
}

.btn-flow a:link, 
.btn-flow a:visited {
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s ease 0s;
}

.btn-flow::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    width: 20px;
    height: 1px;
    background: #fff;
}

.btn-flow span {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 0;
    overflow: hidden;
	color: #fff;
}

.btn-flow:hover::after {
    width: 10%;
    background: #fff;
    opacity: 0;
    transition: all .4s;
}



/*イベントラインナップ*/
.lineup ul {
	-js-display: flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
 	width: 100%;
 	list-style-type: none;
 	margin: 40px 0 0;
 	padding: 0;
}

.lineup li {
	width: 47%;
	margin: 0 0 50px;
	padding: 0;
	background-color: #eee;
}

.lineup figure {
	width: 100%;
	margin: 0;
	padding: 0;
}

.lineup .description {
	margin: 0;
	padding: 0;
	position: relative;
}

.lineup .description:after {
	content: "";
	flex-grow: 1;
	height: 1px;
	background: #222;
	display: block;
	width: 25px;
	position: absolute;
	right: 0;
	top: 9em;
}

.lineup .lineup_name {
	background-color: #eee;
	text-align: left;
	margin-top: -30px;
	width: 70%;
	padding: 10px 15px 15px;
	margin-left: 0;
}

.lineup .lineup_name img {
	max-width: 185px;
}

.name_width {
	max-width: 165px !important;
} 



.lineup .lineup_txt {
	margin: 0;
	padding: 0 20px 23px 40px;
	color: #222222;
	font-size: 0.85em;
	line-height: 1.8em;
	text-align: left;
}

.lineup a:hover {
	text-decoration: none !important;
}




/*各新着情報*/
.info_box {
	background: none;
	border: 1px solid #98774c;	/* 線の太さ・種類・色 */
	margin: 50px 5px 15px; /* 外側の余白 上下・左右 */
	padding: 30px; /* 内側の余白 */
	position: relative;
}

.info_box:before {
	background-color: #26120e;
	content: 'Information';
	padding: 2px 10px; /* タイトルの余白 上下・左右 */
	position: absolute;
	top: -10px;
	left: 30px;
	text-align: center;
	font-size: 1.1em;
	color: #98774c;
}

.info_box:after {
	background: none;
	border: 1px solid #98774c;	/* 線の太さ・種類・色 */
	content: '';
	position: absolute;
	top: 3px;
	left: 3px;
	width: 100%;
	height: 100%;
	z-index: -1;
}

.info_box h3 {
	margin: 0 0 20px;
}

.info_box p {
	margin: 0;
}



/*イベント一覧 募集中*/
.column1 {
	position: relative;
}
.main_on_sale {
	width: 100%;
	margin: 60px 0 50px;
	padding: 33px 7px 10px 8px;
	position: relative;
	background-color: #ddd;
	display: flex;
	justify-content: space-between;
}

.main_on_sale figure {
	margin: 0 auto auto;
	padding: 0;
	padding: 10px;
  	border: 1px solid #ddd;
  	background-size: cover;
	background-clip: content-box;
  	box-sizing: border-box;
  	position: relative;
	width: 35%;
	text-align: left;
}

.main_on_sale figure:after {
  content: "";
  display: block;
  position: absolute;
  border: 30px solid transparent;
  border-bottom: 30px solid #ddd;
  bottom: -30px;
  right: -33px;
  box-shadow: 0px 7px 6px -9px black;
  transform: rotate(135deg);
}

.main_on_sale figure:before {
  content: "";
  display: block;
  position: absolute;
  border: 30px solid transparent;
  border-top: 30px solid #ddd;
  top: -30px;
  left: -33px;
  box-shadow: 0px -7px 6px -9px black;
  transform: rotate(135deg);
}

.main_on_sale .description  {
	margin: 0;
	text-align: left;
	padding: 5px 5px 10px;
	color: #140607;
	width: 62%;
}

.main_on_sale .description .title1 {
	font-size: 0.8em;
	line-height: 1.6em;
	margin: 0;
	padding: 0;
	font-weight: bold;
}

.main_on_sale .description .title2 {
	font-size: 0.9em;
	line-height: 1.5em;
	margin: 0 0 5px;
	padding: 0;
	color: #a5722a;
}

.main_on_sale .description .schedule {
	font-size: 0.8em;
	line-height: 1.6em;
	margin: 0;
	padding: 0;
}

.main_on_sale .description p {
	margin: 15px 0 0;
}

.main_on_sale a {
    position: absolute;
    top: 0;
    left: 0;
    height:100%;
    width: 100%;
}

.main_on_sale a:hover {
	border: 5px solid #b89970;
}

.on_sale_logo {
	top: -5px;
	left: 10px;
	position: absolute;
}

.on_sale_logo h3 {
    font-size: 1em;
    height:35px;
    position: relative;
    padding: 7px 20px 10px;
	margin: 0;
	line-height: normal;
	background-color: #d14;
}



/*イベント一覧*/
.event_area {
	width: 100%;
	margin: 60px 0 0;
}

.event_area ul {
	-js-display: flex;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
	margin: 0;
	padding: 0;
	list-style-type: none;
}

.event_area li {
	width: 32%;
	margin: 0 2% 50px 0;
	padding: 15px 7px 10px 8px;
	position: relative;
	background-color: #ddd;
}


.event_area figure {
	margin: 0;
	padding: 0;
	padding: 10px;
  	border: 1px solid #ddd;
  	background-size: cover;
	background-clip: content-box;
  	box-sizing: border-box;
  	position: relative;
  	margin: auto;
}

.event_area figure:after {
  content: "";
  display: block;
  position: absolute;
  border: 30px solid transparent;
  border-bottom: 30px solid #ddd;
  bottom: -30px;
  right: -33px;
  box-shadow: 0px 7px 6px -9px black;
  transform: rotate(135deg);
}

.event_area figure:before {
  content: "";
  display: block;
  position: absolute;
  border: 30px solid transparent;
  border-top: 30px solid #ddd;
  top: -30px;
  left: -33px;
  box-shadow: 0px -7px 6px -9px black;
  transform: rotate(135deg);
}

.event_area .description  {
	margin: 0;
	text-align: left;
	padding: 5px 5px 10px;
	color: #140607;
}

.event_area .description .title1 {
	font-size: 0.8em;
	line-height: 1.6em;
	margin: 0;
	padding: 0;
	font-weight: bold;
}

.event_area .description .title2 {
	font-size: 0.9em;
	line-height: 1.5em;
	margin: 0 0 5px;
	padding: 0;
	color: #a5722a;
}

.event_area .description .schedule {
	font-size: 0.8em;
	line-height: 1.6em;
	margin: 0;
	padding: 0;
}

.event_area li a {
    position: absolute;
    top: 0;
    left: 0;
    height:100%;
    width: 100%;
}

.event_area li a:hover {
	border: 5px solid #b89970;
}

.event_area li:nth-child(3n)  {
	margin-right: 0;
}



/*表彰一覧*/
.awards_area {
	width: 100%;
	margin: 60px 0 0;
}


/*表彰一覧画像なし*/
.awards_wrap {
	position: relative;
  	width: 100%;
	margin: 0 0 30px;
	padding: 15px 20px;
	background-color: #180000;
}

.awards_wrap a {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
	border: 2px solid rgba(213,167,74,0.7);
	border-radius: 10px;        /* CSS3草案 */  
    -webkit-border-radius: 10px;    /* Safari,Google Chrome用 */  
    -moz-border-radius: 10px;
}

.awards_wrap a:hover {
	
	border: 2px solid rgba(213,167,74,1);
}

.awards_wrap img {
	width: 50px;
	margin-right: 25px;
}

.award_txt {
	-js-display: flex;
    display: flex;
    align-items: center;
    color: #d5a74a;
	font-size: 0.9em;
	line-height: 1.6em;
}

.award_txt p {
	color: #d5a74a;
	font-size: 1em;
	line-height: 1.6em;
	margin: 0;
}



/*ノベルズ・ゲーム*/
.novels_wrap {
	-js-display: flex;
    display: flex;
    justify-content: space-between;
	width: 100%;
	margin: 0;
	padding: 0;
}

.novels_wrap figure {
	width: 25%;
	margin: 0;
	padding: 0;
}

.novels_wrap .description {
	width: 70%;
	margin: 0;
	padding: 0;
}

.novels_wrap .description .title {
	color: #fff;
	font-weight: bold;
	font-size: 1em;
	line-height: 1.6em;
	margin-bottom: 10px;
	margin-top: 0;
}

.novels_wrap .description .sub_title {
	color: #fff;
	font-weight: bold;
	font-size: 0.85em;
	line-height: 1.8em;
}

.novels_wrap .description p {
	margin: 0 0 15px;
}


/* Button Styles */
.novels-btn {
    width: 150px;
	text-align: center;
	z-index: 100;
	position: relative;
	border-radius: 4px;        /* CSS3草案 */  
	-webkit-border-radius: 4px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 4px;
	background-color: #fff;
	margin: 20px auto 0;
}
 
.novels-btn a {
	display: block;
	padding: 12px 5px;
	color: #fff;
	text-decoration: none;
	font-weight: 300;
	font-size: 0.85em;
	letter-spacing: 1px;
	border-radius: 4px;        /* CSS3草案 */  
	-webkit-border-radius: 4px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 4px;
	background-color: #d5a74a;
}
 
.novels-btn a:hover {
	color: #fff;
	background-color: #ffc758;
	text-decoration: none;
}



/*トピックパス------*/
#topicpath { 
	line-height: 1.5em; 
	font-size: 0.7em;
	border: 1px solid #000;
	border-left-style: none;
	border-right-style: none;
	text-align: left;
	margin: 0;
	border-bottom-style: none;
	padding: 15px 20px 15px 3em;
	background-color: #26120e;
}

#topicpath a {
	color: #99918F !important;
}

#topicpath a:hover {
	color: #99918F;
	text-decoration: underline;
}



/* 画像なしh2 */
h2.ppt{
	position:relative;
	padding: 2px 48px 2px 60px;
	border-bottom: 1px solid #a68239;
	font-weight:lighter;
	margin-bottom: 60px;
	color: #bbb;
}
h2.ppt:first-letter{color: #d5a74a;}
h2.ppt:before, h2.ppt:after{
	content:"";
	display:block;
	position:absolute;
}
h2.ppt:before{
	width:32px;height:32px;
	border-radius:50%;
	border:1px solid #bbb;
	bottom:-16px;
	left:8px;
}
h2.ppt:after{
	height:64px;
	border-left:1px solid #bbb;
	bottom:-32px;
	left:24px;
}

h3.title_h3 {
	position: relative;
  line-height: 1.4;
  padding:0.25em 1em;
  display: inline-block;
  top:0;
	font-size: 1em;
	margin-right: 0;
	margin-left: 0;
	margin-bottom: 30px;
}

h3.title_h3:before, h3.title_h3:after { 
  position: absolute;
  top: 0;
  content:'';
  width: 8px;
  height: 100%;
  display: inline-block;
}

h3.title_h3:before {
  border-left: solid 1px #fff;
  border-top: solid 1px #fff;
  border-bottom: solid 1px #fff;
  left: 0;
}

h3.title_h3:after {
  content: '';
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  border-bottom: solid 1px #fff;
  right: 0;
}



/* about us等 */
.txt_wrap {
	border-radius: 8px;		/* CSS3草案 */
	-webkit-border-radius: 8px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 8px;
	background-color: rgba(0,0,0,0.4);
	padding: 40px 30px 20px;
	margin-bottom: 50px;
	margin-top: 0;
}

.txt_wrap ol {
	width: 100%;
	margin: 0;
	padding: 0;
}

.txt_wrap li {
	font-size: 0.9em;
	line-height: 1.8em;
	margin: 0 0 20px 20px;
	padding: 0;
}


/* YouTube */
.move{
	position:relative;
	width:100%;
	padding-top:56.25%;
	border: 1px solid #000;
}

.move iframe{
	position:absolute;
	top:0;
	right:0;
	width:100%;
	height:100%;
}



/* オリジナル企画 */
h4.plan_h4 {
  	position: relative;
  	padding: 0 .5em .5em 2em;
  	border-bottom: 1px solid #999;
	color: #dcdcdc;
	font-size: 0.95em;
	line-height: 1.6em;
	margin-bottom: 25px;
}
h4.plan_h4::before,
h4.plan_h4::after {
  position: absolute;
  content: '';
  border-radius: 100%
}
h4.plan_h4::before {
  top: 0.11em;
  left: 0em;
  z-index: 2;
  width: 18px;
  height: 18px;
  background: rgba(150, 150, 150, .5);
}
h4.plan_h4::after {
  top: .7em;
  left: .5em;
  width: 13px;
  height: 13px;
  background: rgba(210, 210, 210, .5);
}

dl.planPoint_dl {
	margin: 0;
	padding: 0;
	width: 100%;
	text-align: left;
}

.planPoint_dl dt {
	margin: 0;
	padding: 0;
	color: #dcdcdc;
	font-size: 0.9em;
	line-height: 1.8em;
	display: flex;
}

.planPoint_dl dt .far {
	margin-top: 5px;
}

.planPoint_dl dd {
	margin: 10px 0 30px 30px;
	padding: 0;
	font-size: 0.85em;
	line-height: 1.8em;
}

dl.plan_dl {
	margin: 0;
	padding: 0;
	width: 100%;
	text-align: left;
}

.plan_dl dt {
	margin: 0;
	padding: 0;
	color: #fff;
	font-size: 0.9em;
	line-height: 1.8em;
	display: flex;
}

.plan_dl dd {
	margin: 10px 0 30px 40px;
	padding: 0;
	font-size: 0.85em;
	line-height: 1.8em;
}

/* Button Styles */
.plan-btn {
    width: 200px;
	text-align: center;
	z-index: 100;
	position: relative;
	border-radius: 4px;        /* CSS3草案 */  
	-webkit-border-radius: 4px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 4px;
	background-color: #fff;
	margin: 20px auto 0;
}
 
.plan-btn a {
	display: block;
	padding: 12px 5px;
	color: #fff;
	text-decoration: none;
	font-weight: 300;
	font-size: 0.85em;
	letter-spacing: 1px;
	border-radius: 4px;        /* CSS3草案 */  
	-webkit-border-radius: 4px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 4px;
	background-color: #d5a74a;
}
 
.plan-btn a:hover {
	color: #fff;
	background-color: #ffc758;
	text-decoration: none;
}

h3.planning_h3 {
	margin-top: 80px;
	padding: 11px 20px;
	color: #fff;
	font-size: 0.9em;
	line-height: 1.8em;
	display: flex;
	margin-bottom: 20px;
	border: 1px solid #999;
}

h4.title_h4 {
	position: relative;
  	text-align: center;
	color: #fff;
	font-weight: normal;
	font-style: normal;
	font-size: 0.9em;
	line-height: normal;
	margin-top: 50px;
	margin-bottom: 40px;
}

h4.title_h4:before { 
	position: absolute;
	top: 50%;
	z-index: 1;
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: #555;
}

h4.title_h4 span{
	position: relative;
	z-index: 2;
	display: inline-block;
	padding: 0 25px;
	background-color: #160c0a;
	text-align: left;
}

.planning_flow {
	margin: 0;
	padding: 0;
	width: 100%;
	display: flex;
	justify-content: space-between;
}

.planning_flow .description {
	width: 65%;
	margin: 0;
	padding: 0;
}

.planning_flow .flow_date {
	color: #fff;
	font-size: 0.9em;
	line-height: 1.8em;
}

.planning_flow figure {
	width: 30%;
	margin: 0;
	padding: 0;
}

.planning_flow figure .plan_photo {
	margin: 0;
	padding: 0;
	text-align: left;
	margin-top: 10px;
	margin-bottom: 20px;
	font-size: 0.75em;
	line-height: 1.6em;
	color: #c0c0c0;
}

.planning_flow figure .plan_photo img {
	border: 1px solid #999;
	padding: 2px;
	width: 195px;
}



/* Flow　4つのパート */
ul.part4 {
	margin: 0 0 30px;
	padding: 0;
	list-style-type: none;
	width: 100%;
}

ul.part4 li {
	background-color: #fff;
	padding: 4px 10px 4px 4px;
	-js-display: flex;
    display: flex;
    align-items: center;
	font-size: 0.9em;
	line-height: 1.6em;
	margin: 0 0 12px;
	color: #666;
}

ul.part4 li .part_no {
	background-color: #000;
	color: #fff;
	width: 80px;
	text-align: center;
	margin: 0 15px 0 0;
	padding: 10px 0;
}

ul.part4 li .description {
	text-align: left;
}


/* Flow　写真 */
.flow_date {
	font-size: 1em;
	line-height: 1.8em;
	color: #fff;
	margin: 0 0 20px;
	padding: 0;
}

ul.flow_photo {
	width: 100%;
	margin: 0 0 20px;
	padding: 0;
	list-style-type: none;
}

ul.flow_photo li {
	width: 100%;
	margin: 0 0 15px;
	padding: 0;
	-js-display: flex;
    display: flex;
    align-items: center;
}

ul.flow_photo li figure {
	width: 30%;
	margin: 0 30px 0 0;
	padding: 0;
}


ul.flow_photo li .description {
	text-align: left;
	font-size: 1em;
	line-height: 1.8em;
	margin: 0;
	padding: 0;
	width: 67%;
	-js-display: flex;
    display: flex;
}

.flow_number {
	font-size: 2em !important;
	vertical-align: -4px;
	margin-right: 5px;
}


/* 吹き出し */
.balloon-top{
  position: relative;
  padding: 15px;
  border-radius: 7px;
	text-align: center;
	width: 100%;
	color: #fff;
	line-height: 1.6em;
	font-size: 1em;
	margin: 50px auto 2em;
	border: 1px dashed #fff;
}



/* サイトマップ */
.sitemap_title {
	font-size: 0.9em;
	color: #000;
	line-height: 1.8em;
	text-align: left;
	margin-bottom: 15px;
	font-weight: bold;
}

.sitemap_title a {
	color: #000 !important;
}

.sitemap_title a:hover {
	color: #20a0c7 !important;
}

.sitemap_ul {
	margin: 0 0 20px;
	padding: 0;
	list-style-type: circle;
}

.sitemap_ul li {
	margin: 0 0 0 20px;
	padding: 0;
	font-size: 0.85em;
	line-height: 1.8em;
	text-align: left;
}

.sitemap_ul a {
	color: #333 !important;
}

.sitemap_ul a:hover {
	color: #20a0c7 !important;
}



/* テーブル */
.table_wrap {
	border-radius: 8px;		/* CSS3草案 */
	-webkit-border-radius: 8px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 8px;
	background-color: rgba(0,0,0,0.4);
	padding: 40px 30px 40px;
	margin-bottom: 50px;
	margin-top: 0;
}


table.about_us { 
	border-collapse: collapse;
	text-align: left;
	font-size: 0.85em;
	line-height: 1.8em;
	width: 100%;
	margin-top: 0;
}

table.about_us th { 
	text-align: left; 
	letter-spacing: 0; 
	vertical-align: top;
	width: 100px;
	padding-top: 18px;
	padding-bottom: 18px;
	padding-left: 15px;
	font-weight: normal;
	font-style: normal;
}

table.about_us td { 
	vertical-align: top; 
	padding: 18px 10px 10px 50px;
	line-height: 2em;
}

.hr_top {
	border-top: 1px solid #4a2a21;
}

.hr_bottom {
	border-bottom: 1px solid #4a2a21;
}

.hr_top_bottom40 {
    border-top: 1px solid #4a2a21;
	margin-top: 40px;
	margin-bottom: 40px;
}


/* フォーム */
.form_wrap {
	border-radius: 8px;		/* CSS3草案 */
	-webkit-border-radius: 8px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 8px;
	background-color: rgba(0,0,0,0.4);
	padding: 50px 30px 40px;
	margin-bottom: 50px;
	margin-top: 0;
}


table.contact_us { 
	border-collapse: collapse;
	text-align: left;
	font-size: 0.75em;
	line-height: 1.8em;
	width: 100%;
	margin-top: 0;
}

table.contact_us th { 
	text-align: left; 
	letter-spacing: 0.5px; 
	vertical-align: top;
	width: 180px;
	padding-top: 18px;
	padding-bottom: 18px;
	padding-left: 15px;
	font-weight: normal;
	font-style: normal;
}

table.contact_us td { 
	vertical-align: top; 
	padding: 18px 10px 10px 50px;
	line-height: 2em;
}

.span-required {
	color: #fff;
	font-size: 0.85em;
	line-height: 2em;
	background-color: #db505e;
	padding: 3px 5px;
	border-radius: 4px;        /* CSS3草案 */  
	-webkit-border-radius: 4px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 4px;
	margin-right: 8px;
}


/* FORMテキスト */
.form{
    padding: 12px;
    background: #ccc;
	border-style: none;
    margin-bottom:10px;
    color:#727272 !important;
    font-size:13px;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    transition: all 0.4s;
}

.form_confirm{
    padding: 12px;
    background: #ccc;
	border-style: none;
    color:#727272 !important;
    font-size:13px;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    transition: all 0.4s;
	margin-top: 6px;
}

.width {
	width: 150px;
}

  .form:hover{
	background-color: #fff;
	border-style: none;
}

  .form:focus{
    color: white;
    outline: none;
    border: none;
  }

  .textarea{
    height: 200px;
    max-height: 200px;
    max-width: 100%;
  }
  
  
/* Send Button Styles */
.form-btn{
    width:250px;
    display: block;
    height: auto;
    padding:18px;
    color:#fff;
    background: #d5a74a;
    border:none;
    border-radius: 4px;        /* CSS3草案 */  
	-webkit-border-radius: 4px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 4px;
    outline: none;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    margin:auto;
    box-shadow: 0px 1px 4px rgba(0,0,0, 0.10);
    -moz-box-shadow: 0px 1px 4px rgba(0,0,0, 0.10);
    -webkit-box-shadow: 0px 1px 4px rgba(0,0,0, 0.10);
	letter-spacing: 3px;
	font-size: 1em;
}

.form-btn:hover{
    background: #ffc758;
    color: #fff;
    border:none;
}

.form-btn:active{
    opacity: 0.9;
}

center{
  margin-top:330px;
}

input {
    position: relative;
    z-index: 99;
}

/* Send Button 並列 */
.btn_row {
	width: 100%;
	display: flex;
	justify-content: center;
}



/* FORMセレクト */
.select-wrap{
	position:relative;
	overflow:hidden;
	display:inline-block;
	min-width:192px;
	min-width:12em;
	background-color:#ccc;
	background-image:-webkit-linear-gradient(top, #f0f0f0 0%, #ccc 100%);
	background-image:linear-gradient(top, #f0f0f0 0%, #ccc 100%);
	border: none;
	color:#666;
}

.select-wrap select{
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
	appearance:none;
	position:relative;
	z-index:2;
	display:block;
	width:200%;/* fallback non calc support */
	width:-webkit-calc(100% + 5em);
	margin:0;
	padding: 9px 35px 9px 11px;
	background:transparent;
	border:0;
	outline:none;
	line-height: 1.5;
	font-size: 1.1em;
}

.entypo-down-open-mini:before{
	font-family:'entypo',sans-serif;
	position:absolute;
	z-index:1;
	top:50%;
	right:12px;
	right:.75rem;
	margin-top:-8px;
	margin-top:-.5rem;
	font-size:16px;
	font-size: 1.1em;
	line-height:1;
	color:#333;
}

.select-wrap-2{
	position:relative;
	overflow:hidden;
	display:inline-block;
	min-width:192px;
	min-width:5em;
	background-color:#ffffff;
	background-image:-webkit-linear-gradient(top, #ffffff 0%, #dfe0d9 100%);
	background-image:linear-gradient(top, #ffffff 0%, #dfe0d9 100%);
	border: 1px solid rgba(0,0,0,0.15);
	color:#666;
	
}

.select-wrap-2 select{
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
	appearance:none;
	position:relative;
	z-index:2;
	display:block;
	width:200%;/* fallback non calc support */
	width:-webkit-calc(100% + 5em);
	margin:0;
	padding: 3px 35px 3px 11px;
	background:transparent;
	border:0;
	outline:none;
	line-height: 1.5;
	font-size: 1em;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
}

.entypo-down-open-mini:before{
	font-family:'entypo',sans-serif;
	position:absolute;
	z-index:1;
	top:50%;
	right:12px;
	right:.75rem;
	margin-top:-8px;
	margin-top:-.5rem;
	font-size:16px;
	font-size: 1.1em;
	line-height:1;
	color:#333;
}



/* FORMチェックボックス、ラジオボタン */
/*Checkboxes styles*/
input[type="checkbox"] { display: none; }

input[type="checkbox"] + label {
  display: block;
  position: relative;
  padding-left: 30px;
  margin-bottom: 5px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
	width: 200px;
}

input[type="checkbox"] + label:last-child { margin-bottom: 0; }

input[type="checkbox"] + label:before {
  content: '';
  display: block;
  width: 15px;
  height: 15px;
  border: 1px solid #999;
  position: absolute;
  left: 0;
  top: 0;
  -webkit-transition: all .12s, border-color .08s;
  transition: all .12s, border-color .08s;
	margin-top: 3px;
}

input[type="checkbox"]:checked + label:before {
  width: 10px;
  top: -5px;
  left: 5px;
  border-radius: 0;
  opacity: 1;
  border-top-color: transparent;
  border-left-color: transparent;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}


.mgLeft30 {
	margin-left: 30px;
}



/*プライバシーポリシー*/
.privacy {
	font-size: 0.85em;
	line-height: 1.8em;
	margin: 0 auto 30px;
	width: 400px;
}

/*Checkboxes styles*/
.privacy input[type="checkbox"] { display: none; }

.privacy input[type="checkbox"] + label {
  display: block;
  position: relative;
  padding-left: 10px;
  margin-bottom: 5px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
	width: 400px;
}

.privacy input[type="checkbox"] + label:last-child { margin-bottom: 0; }

.privacy input[type="checkbox"] + label:before {
  content: '';
  display: block;
  width: 15px;
  height: 15px;
  border: 1px solid #d5a74a;
  position: absolute;
  left: 0;
  top: 0;
  -webkit-transition: all .12s, border-color .08s;
  transition: all .12s, border-color .08s;
	margin-top: 3px;
}

.privacy input[type="checkbox"]:checked + label:before {
  width: 10px;
  top: -5px;
  left: 5px;
  border-radius: 0;
  opacity: 1;
  border-top-color: transparent;
  border-left-color: transparent;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}




/*ラジオボタン styles*/
.radio {
  margin: 0 0 5px;
}

.radio input[type="radio"] {
  position: absolute;
  opacity: 0;
}
.radio input[type="radio"] + .radio-label:before {
  content: '';
  background: #ccc;
  border-radius: 100%;
  border: 1px solid #b4b4b4;
  display: inline-block;
  width: 15px;
  height: 15px;
  position: relative;
  top: 2px;
  margin-right: 0.5em;
  vertical-align: top;
  cursor: pointer;
  text-align: center;
  -webkit-transition: all 250ms ease;
  transition: all 250ms ease;
}
.radio input[type="radio"]:checked + .radio-label:before {
  background-color: #db505e;
  box-shadow: inset 0 0 0 4px #f4f4f4;
}
.radio input[type="radio"]:focus + .radio-label:before {
  outline: none;
  border-color: #3197EE;
}
.radio input[type="radio"]:disabled + .radio-label:before {
  box-shadow: inset 0 0 0 4px #f4f4f4;
  border-color: #b4b4b4;
  background: #b4b4b4;
}
.radio input[type="radio"] + .radio-label:empty:before {
  margin-right: 0;
}

  


.span_white {
	color: #fff;
}

.span_red {
	color: #d7073a;
}

.span_purple {
	color: #c6c;
}

.span_blue {
	color: #91c6eb;
}






/*「PCでは非表示 = hidden_pc」、「スマートフォンでは非表示 = hidden_sp」*/
.hidden_pc {
	display: none;
}

.hidden_sp {
	display: block;
}

.hidden_br {
	display: none;
}




@media screen and (max-width: 1300px) {
.front_g {
	display: none;
}
}



@media screen and (max-width: 950px) {
.menu h1 {
	margin: 0;
	padding: 30px 0;
}

.header_menu {
	display: none;
}




/* 2カラム設定 */
.flexbox {
    -js-display: flex;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
}

.main {
    margin: 0 0 50px;
    flex: 1;
    order: 1;
	width: 100%;
	border-bottom: 1px solid #5d352a;
	padding: 0;
}

.sideR {
    flex: 1;
    order: 2;
	width: 100%;
	text-align: center;
	margin-top: 0;
	padding: 0;
}


/* 募集中 */
.on_sale {
	width: 100%;
	margin: 0 0 30px;
	padding: 15px;
	border: 1px solid #bbb;
	text-align: center;
	position: relative;
	-js-display: flex;
    display: flex;
    justify-content: center;
    align-items: center;
}

.on_sale figure {
	margin: 0;
	width: 40%;
	padding: 0 5% 0 10%;
}

.on_sale .description  {
	margin: 0 5% 0 0;
	text-align: left;
	padding: 0;
	width: 60%;
}


/* sideR バナー */
.sideR ul {
	width: 100%;
	margin: 0 0 30px;
	padding: 0;
	list-style-type: none;
	-js-display: flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.sideR li {
	margin: 0 2% 15px 0;
	padding: 0;
	list-style-type: none;
	width: 32%;
}

.sideR li:last-child {
	margin-right: 0;
}



.hidden_br {
	display: block;
}


}


@media screen and (max-width: 768px) {
/*footer*/
.footer_menu_li_01 {
    width: 26%;
}

.footer_menu_li_02 {
    width: 22%;
}

.dt_line {
    border-top: 1px solid #ccc;
    margin-top: 10px !important;
    margin-bottom: 10px;
    width: 88%;
}

.footer_menu_li_03 {
    width: 21%;
}
}




@media screen and (max-width: 600px) {
header {
	margin: 0;
    padding: 0;
	background: url(../images/header_sp.jpg) center;
}

.menu h1 {
    margin: 0;
    padding: 20px 0 10px;
}

.menu h1 img {
	width: 160px;
	
}


#slide2 h2,
#slide3 h2 {
    font-size: 1.8em;
	letter-spacing: 4px;
	line-height: 1.4em;
}

.pickup li {
    width: 90%;
    margin: 0 auto 50px;
    padding: 15px 7px 10px 8px;
    position: relative;
    background-color: #ddd;
}

.pickup li:nth-child(3n)  {
	margin-right: auto;
}




/* Slide 5 */ 
#slide5 {
	padding: 50px 0 50px;
}

#slide5 ul {
	-js-display: flex;
    display: flex;
    flex-direction: column;
}

#slide5 li {
	width: 86%;
	margin: 0 7% 20px;
}

.box_imageRight {
	display: none;
}






/*footer*/
footer {
    padding: 0 0 30px;
    border-top-style: none;
	margin-top: -45px;
}

ul.footer_menu {
    -js-display: flex;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    width: 100%;
    padding: 0;
    list-style-type: none;
}

.footer_menu_li_01 {
	display: none;
}

.footer_menu_li_02 {
    display: none;
}

.footer_menu_li_03 {
    display: none;
}

.footer_menu_li_04 {
    width: 100%;
	padding-top: 30px !important;
}

.copyright small {
    font-size: 0.7em;
}


/* 募集中 */
.on_sale figure {
	margin: 0;
	width: 40%;
	padding: 0 5% 0 0;
}

.on_sale .description  {
	margin: 0;
	text-align: left;
	padding: 0;
	width: 60%;
}


/* 中ページ */
#slide9 {
    margin: 0px 0 100px;
    padding: 0;
    position: relative;
}


/* ニュース一覧 */
h2.news_h2 {
    font-size: 1.8em !important;
    letter-spacing: 4px !important;
    line-height: 1.4em !important;
	margin-top: 30px !important;
}


/*イベント一覧 募集中*/
.main_on_sale {
	width: 100%;
	margin: 60px 0 50px;
	padding: 33px 7px 10px 8px;
	position: relative;
	background-color: #ddd;
	display: flex;
	flex-direction: column;
}

.main_on_sale figure {
	margin: 0 auto auto;
	padding: 0;
	padding: 10px;
  	border: 1px solid #ddd;
  	background-size: cover;
	background-clip: content-box;
  	box-sizing: border-box;
  	position: relative;
	width: 80%;
	text-align: left;
}

.main_on_sale figure:after {
  content: "";
  display: block;
  position: absolute;
  border: 30px solid transparent;
  border-bottom: 30px solid #ddd;
  bottom: -30px;
  right: -33px;
  box-shadow: 0px 7px 6px -9px black;
  transform: rotate(135deg);
}

.main_on_sale figure:before {
  content: "";
  display: block;
  position: absolute;
  border: 30px solid transparent;
  border-top: 30px solid #ddd;
  top: -30px;
  left: -33px;
  box-shadow: 0px -7px 6px -9px black;
  transform: rotate(135deg);
}

.main_on_sale .description  {
	margin: 0;
	text-align: left;
	padding: 10px;
	color: #140607;
	width: 100%;
}

.main_on_sale .description .title1 {
	font-size: 0.8em;
	line-height: 1.6em;
	margin: 0;
	padding: 0;
	font-weight: bold;
}

.main_on_sale .description .title2 {
	font-size: 0.9em;
	line-height: 1.5em;
	margin: 0 0 5px;
	padding: 0;
	color: #a5722a;
}

.main_on_sale .description .schedule {
	font-size: 0.8em;
	line-height: 1.6em;
	margin: 0;
	padding: 0;
}

.main_on_sale .description p {
	margin: 15px 0 0;
}

.main_on_sale a {
    position: absolute;
    top: 0;
    left: 0;
    height:100%;
    width: 100%;
}

.main_on_sale a:hover {
	border: 5px solid #b89970;
}

.on_sale_logo {
	top: -5px;
	left: 10px;
	position: absolute;
}

.on_sale_logo h3 {
    font-size: 1em;
    height:35px;
    position: relative;
    padding: 7px 20px 10px;
	margin: 0;
	line-height: normal;
	background-color: #d14;
}


/*イベント一覧*/
.event_area li {
    width: 49%;
    margin: 0 0 50px 0;
}

.event_area li:nth-child(odd)  {
	margin-right: 2%;
}

.event_area li:nth-child(even)  {
	margin-right: 0;
}

.awards_area li {
	width: 49%;
	position: relative;
}

.awards_area li:nth-child(odd)  {
	margin-right: 2%;
}

.awards_area li:nth-child(even)  {
	margin-right: 0;
}



h2.ppt {
    margin-top: 30px;
}


/*about*/
.about_wrap {
    padding: 40px 10px 20px;
}


.txt_wrap {
    padding: 40px 10px 20px;
    margin-bottom: 50px;
    margin-top: 0;
}


/*ノベルズ・ゲーム*/
.novels_wrap {
	-js-display: flex;
    display: flex;
    flex-direction: column;
	width: 100%;
	margin: 0;
	padding: 0;
}

.novels_wrap figure {
	width: 40%;
	margin: 0 auto 20px;
	padding: 0;
}

.novels_wrap .description {
	width: 100%;
	margin: 0;
	padding: 0;
}


/*オリジナル企画*/
.planning_flow {
	margin: 0;
	padding: 0;
	width: 100%;
	display: flex;
	flex-direction: column;
}

.planning_flow .description {
	width: 100%;
	margin: 0;
	padding: 0;
}

.planning_flow figure {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 100%;
}

.planning_flow .plan_photo {
	width: 48%;
	margin: 0;
	padding: 0;
}




/*流れ*/
ul.flow_photo li figure {
    width: 30%;
    margin: 0 15px 0 0;
    padding: 0;
}


/* テーブル */
.table_wrap {
	padding: 40px 10px 40px;
	margin-bottom: 50px;
	margin-top: 0;
}


table.about_us { 
	border-style: none;
	width: 100%;
}

.about_us tbody th,td {
    display: block;
	border-style: none;
	width: 100%;
}

.about_us tbody th {
	border-style: none;
	padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 5px;
	background-color: none;
	color: #fff;
	font-weight: bold;
}

table.about_us tbody td {
    padding: 0 5px 15px;
	border-style: none;
}


/* フォーム */
.form_area {
    border-radius: 8px;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    background-color: rgba(0,0,0,0.6);
    padding: 50px 10px 40px;
    margin-bottom: 50px;
    margin-top: 0;
}

table.contact_us {
	border-style: none;
	width: 100%;
}

.contact_us tbody th,td {
    display: block;
	border-style: none;
	width: 100%;
}

.contact_us tbody th {
	background-color: none;
	border-style: none;
	padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 0;
	color: #fff;
	font-weight: bold;
}

table.contact_us tbody td {
    padding: 15px 5px;
	border-style: none;
}


.form_wrap {
    padding: 50px 10px 40px;
    margin-bottom: 50px;
    margin-top: 0;
}

.form-btn{
    width:250px;
    display: block;
    height: auto;
    padding:18px;
    color:#fff;
    border:none;
    border-radius: 4px;        /* CSS3草案 */  
	-webkit-border-radius: 4px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 4px;
    outline: none;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    margin: auto 10px;
    box-shadow: 0px 1px 4px rgba(0,0,0, 0.10);
    -moz-box-shadow: 0px 1px 4px rgba(0,0,0, 0.10);
    -webkit-box-shadow: 0px 1px 4px rgba(0,0,0, 0.10);
	letter-spacing: 3px;
	font-size: 1em;
	background-color: #d5a74a;
}

/* Send Button 並列 */
.btn_row {
	width: 100%;
	display: flex;
	justify-content: space-between;
}




/*プライバシーポリシー*/
.privacy {
	font-size: 0.85em;
	line-height: 1.8em;
	width: auto;
	text-align: left;
	margin-top: 0;
	margin-left: 10px;
	margin-bottom: 30px;
}

.privacy input[type="checkbox"] + label {
  display: block;
  position: relative;
  padding-left: 20px;
  margin-bottom: 5px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
	width: 100%;
}

.form-btn {
	margin-bottom: 50px;
}






/* sideR バナー */
.sideR ul {
	width: 80%;
	margin: 0 auto 20px;
	padding: 0;
	list-style-type: none;
	-js-display: flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.sideR li {
	margin: 0 0 20px;
	padding: 0;
	list-style-type: none;
	width: 100%;
}

.sideR li:last-child {
	margin-right: 0;
}



.hidden_pc {
	display: block;
}
.hidden_sp {
	display: none;
}
}
