@charset "utf-8";
/*==========================
	add common css
============================*/

.w-80per {
  width: 80%;
}
.pb-250 {
	padding-bottom: 250px;
}
.ps-15per {
	padding-left: 15%;
}

@media (min-width: 640px) {
	.ps-sm-15per {
		padding-left: 15%;
	}
}

@media (min-width: 1000px) {
	.ps-md-15per {
		padding-left: 15%;
	}
}

@media (min-width: 640px) and (max-width: 1000px) {
  .w-md-80per {
    width: 80%;
  }
}

.rounded-5 {
  border-radius: 5px;
}

/*==========================
	#event overwrite
============================*/

article {
  width: 100%;
  margin: auto;
}

article a {
  color: #333;
  transition: 0.2s linear;
}

article a:hover {
  color: #333;
  opacity: 0.6;
}

.bread {
  /* padding-top: 90px; */
  background: none !important;
  /* border: #f00 thin solid; */
}

.bread__inner.inner {
  max-width: 1200px;
  /* padding-top: 25px; */
  padding-bottom: 0px;
  /* border: #f00 thin solid; */
}

@media print, screen and (max-width: 900px) {
  main {
  }

  .bread {
    display: none !important;
  }

  .bread {
    padding-top: 90px;
    background: none !important;
  }
}

/*==========================
	 common
============================*/

/* fonts */

.gray_aaa {
  color: #aaa;
}

.gray_999 {
  color: #999;
}

.orange {
  color: #dd7a0e;
}

/*

// <uniquifier>: Use a unique and descriptive class name
// <weight>: Use a value from 100 to 900

*/

.noto-sans-jp-900 {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
}

.btn {
  padding: 3px 10px 2px;
  color: #dd7a0e;
  display: inline-block;
  border: #dd7a0e thin solid;
}

.apply_btn a {
  color: #fff;
  background: #c8373c;
}

.bg-ede479 {
	background: #ede479;
}

/*==========================
	 contents
============================*/

#contents {
	padding-top: 61px;
	background: url("../img/bg_title_mob.png") no-repeat top center;
	background-attachment: fixed;
}

@media print, screen and (min-width: 901px) {
	#contents {
		padding-top: 100px;
		background: url("../img/bg_title.png") no-repeat top center;
		background-attachment: fixed;
	}
}

@media print, screen and (max-width: 1000px) {
  /* #contents {
    padding-top: 40px;
  } */
}

@media print, screen and (max-width: 900px) {
   #contents {
    padding-top: 61px;
  } 
}

/*==========================
	 title
============================*/

#title {
  /*background: url("../img/bg_title.png") top center no-repeat;
  background-size: 100%;*/
}

.title_box {
  	width: 100%;
  	/*min-height: 526px;*/
  	margin: auto;
  	/*background: url("../img/title_book.png") no-repeat right 50%;
	background-size: 32%;*/
}
.bg_setting {
	background: url("../img/bg_title.png") no-repeat left top;
	background-size: cover;
}

/* 初期のフェードインスタイル */
.fade-in {
  opacity: 0;
  transition: opacity 1s ease-in-out, transform 1s ease-in-out;
  transform: translateY(20px); /* 初期位置を下に設定 */
}

.fade-in.visible {
  opacity: 1;
  transform: translateY(0); /* 最終位置を元に戻す */
}

/* ページロード時のアニメーション */
.on-load {
  opacity: 0;
  transition: opacity 1s ease-in-out;
}

.on-load.visible {
  opacity: 1;
}

/*=================
	title background
===================*/

.title-outer-1 {
  /*background: url("../img/bg_title_mob.png") no-repeat top center;*/
}
/*.title-outer-2 {
  background: url(../img/1x/bg_title_pc_left.png) no-repeat top left;
}*/
.title-outer-2 {
  background: url("../img/title_illust_mob.png") no-repeat bottom center;
  background-size: 90%;
}
.title-outer-3 {
  background: url("../img/title_keys_mob.png") no-repeat bottom right;
  background-size: 100%;
}

/*@media screen and (min-width: 410px) and (max-width: 469px) {
	.title-outer-2 {
		background-size: 85%;
    	background-position-x: center;
		background-position-y: bottom -20%;
	}
	.title-outer-3 {
		background-size: 85%;
}*/
	
@media screen and (min-width: 410px) and (max-width: 639px) {
	.title-outer-2 {
		background-size: 60%;
    	background-position-x: center;
		background-position-y: bottom;
	}
	.title-outer-3 {
		background-size: 70%;
	}
}

@media screen and (min-width: 640px) {
  .title-outer-1 {
    /*background: url("../img/bg_title.png") no-repeat top center;
    background-size: cover;*/
  }
  .title-outer-2 {
    background: url("../img/title_illust_pc.png") no-repeat;
    background-size: contain;
	background-position-x:90%;
	background-position-y: 90%;
  }
  .title-outer-3 {
    background: url("../img/title_keys_left_pc.png") no-repeat top left;
    background-size: 100%;
  }
}


@media screen and (min-width: 768px) {
  	.title_box {
	  	width: 100%;
		background-position: center top;
		background: url("../img/title_pc.png") no-repeat;
		background-size: contain;
	}
}

@media screen and (min-width: 641px) and (max-width: 767px) {
	.title_box {
		/*background-position: 90% 15%;
		background-size: 27%;*/
	}
}

@media print, screen and (max-width: 767px) {
  #title {
    background: none;
  }

  .title_box {
    width: 100%;
    max-width: 100%;
    min-height: auto;
    background: none;
  }
	.bg_setting {
		background: url("../img/bg_title_mob.png") no-repeat center top;
		background-size: contain;
	}
}


/*==========================
	 outline
============================*/

#outline {
  background: #c9bc9c;
  padding-top: 60px;
  padding-bottom: 60px;
}

#outline .lv_02 {
  width: 98%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 60px;
  padding: 60px 15px 90px;
  background: #fff;
}

#outline h2 {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  padding: 20px 0 15px;
  color: #fff;
  background: #dd7a0e;
}

#outline h3 {
  padding: 20px 0 15px;
  color: #fff;
  background: #dd7a0e;
}

#outline h4 {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 10px;
  border-bottom: #dd7a0e thin solid;
}

.date_detail .icon {
  color: #fff;
  /* background-color: #dd7a0e; */
  background-color: #8e795e;
  display: inline-block;
  padding: 0 15px;
}

.list-circle li {
	list-style: circle;
}

@media print, screen and (max-width: 900px) {
  #outline {
    padding-top: 30px;
    padding-bottom: 60px;
  }

  #outline .lv_02 {
    width: 90%;
    padding: 30px 15px 60px;
  }

  #outline h2 {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    border-bottom: #dd7a0e thin solid;
  }
}

/*==========================
	 book
============================*/

.book_info .box {
  margin-left: 3%;
  margin-right: 3%;
}

@media print, screen and (max-width: 900px) {
  .book_info .box {
    margin-bottom: 60px;
  }
}

/*==========================
	 apply
============================*/

#apply {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  padding: 45px 0;
  border: #dd7a0e 2px solid;
}

@media print, screen and (max-width: 900px) {
  #apply {
    width: 95%;
    padding: 15px 15px;
  }
}

/*==========================
	 performer
============================*/

.performer .flexbox .txtbox {
  width: 75%;
  text-align: left;
}

.performer .flexbox figure {
  width: 20%;
}

@media print, screen and (max-width: 900px) {
  .performer .flexbox figure {
    width: 60% !important;
    max-width: 300px;
    margin-bottom: 30px;
  }

  .performer .flexbox .txtbox {
    width: 90% !important;
    margin-left: auto;
    margin-right: auto;
  }
}

/*==========================================
	// id #access
============================================*/

#access h3 {
  color: #333;
  border-bottom: #9d4753 2px solid;
}

#access .txtbox {
  text-align: left;
}

#access figure {
  text-align: left;
}

#access .mapbox iframe {
  width: 80%;
  margin: auto;
  height: 450px;
}
@media print, screen and (max-width: 900px) {
  #access .mapbox iframe {
    width: 100%;
    margin: auto;
    height: 300px;
  }
}
