@charset "utf-8";

/*==========================================
 common
===========================================*/
.main ul {
	list-style: none;
}

.main p {
	line-height: 2.0;
}
.main ul li {
	line-height: 2.0;
}
.main ol li {
	line-height: 2.0;
}

.main dl dt,
.main dl dd {
	line-height: 2.0;
}


/* -------------------------------------------
title
-------------------------------------------*/
.main h1 {
	font-weight: 500;
	line-height: 1;
	background-color:#ffe900;
	color: #fff000;
	/*font-family: 'UDDigiKyokasho R', 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;*/
	letter-spacing: normal;
	border-radius: 4px;
	padding: 3.0% 20px;
}
.main h2 {
	font-weight: 700;
	color: #ffe900;
	background-color: #1b4c95;
	line-height: 1;
}
@media (max-width: 992px) {
	.main h2 {
		padding: 25px 32px;
		margin-bottom: 2.0rem;
	}
}
@media (min-width: 993px) {
	.main h2 {
		padding: 25px 30px;
		margin-bottom: 3.0rem;
	}
}

.main h3 {
	margin-top: 2.0rem;
	margin-bottom: 1.6rem;
}
.main h4 {
	margin-top: 1.8rem;
	margin-bottom: 1.0rem;
	font-weight: 700;
}


/* -------------------------------------------
 page_title
-------------------------------------------*/
.page_title {
	/*max-width: 1100px;
    margin-left: auto;
    margin-right: auto;*/
	background-repeat: no-repeat;
	background-image: url(../images/bg_submain.png);
	position: relative;
	height: 0;
	background-position: bottom center;
	display: flex;
	justify-content: center;
	align-items:end;
}
@media (max-width: 992px) {
	.page_title {
		padding-top: 26%;
		margin-bottom: 2.5rem;
		margin-top: 60px;
		background-size: cover;
	}
}
@media (min-width: 993px) {
	.page_title {
		/*margin-top: 100px;*/
		margin-bottom: 6.0rem;
		background-size: cover;
		height: 300px;
	}
}

/* page_title_inner */
.page_title_inner {
	text-align: center;	
}
@media (max-width: 992px) {
	.page_title_inner {
		position: absolute;
		top:20%;
	}
}
@media (min-width: 993px) {
	.page_title_inner {
		position: absolute;
		top:25%;
	}
}

/* page_title_en */
.page_title_en {
	color: #fff;
	font-weight: 700;
	line-height: 1;
	font-family: "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
@media (max-width: 992px) {
	.page_title_en {
		font-size: 2.0rem;
		letter-spacing: 0.1rem;
		margin-bottom: 0.25rem;
		-webkit-text-stroke: 1.5px #1b4c95;
		text-stroke: 1.5px #1b4c95;
	}
}
@media (min-width: 993px) {
	.page_title_en {
		font-size: 5.625rem;
		letter-spacing: 0.5rem;
		margin-bottom: 1rem;
		-webkit-text-stroke: 3px #1b4c95;
		text-stroke: 3px #1b4c95;
	}
}

/* h1 */
.page_title h1 {
	color: #fff;
	background-color: #1b4c95;
	display: inline-block;

}
@media (max-width: 992px) {
	.page_title h1 {
		font-size: 0.56rem;
		padding: 6px 25px;
	}
}
@media (min-width: 993px) {
	.page_title h1 {
		font-size: 1.125rem;
		padding: 12px 50px;
	}
}



/* -------------------------------------------
 scroll
-------------------------------------------*/
/*
.scroll_btn a {
  padding-top: 60px;
}
.scroll_btn a span {
  position: absolute;
  bottom: 30px;
  left: 50%;
  width: 24px;
  height: 24px;
  margin-left: -12px;
  border-left: 4px solid #fff000;
  border-bottom: 4px solid #fff000;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-animation: sdb 2s infinite;
  animation: sdb 2s infinite;
  box-sizing: border-box;
}
@-webkit-keyframes sdb {
  0% {
    -webkit-transform: rotate(-45deg) translate(0, 0);
  }
  20% {
    -webkit-transform: rotate(-45deg) translate(-10px, 10px);
  }
  40% {
    -webkit-transform: rotate(-45deg) translate(0, 0);
  }
}
@keyframes sdb {
  0% {
    transform: rotate(-45deg) translate(0, 0);
  }
  20% {
    transform: rotate(-45deg) translate(-10px, 10px);
  }
  40% {
    transform: rotate(-45deg) translate(0, 0);
  }
}
*/


/* wrapp
-------------------------------------------*/
@media (min-width: 993px){
  .mid_wrapp {
    width: 80%;
		margin-left: auto;
		margin-right: auto;
  }
}

@media (min-width: 993px){
  body.top .main section.top_end .mid_wrapp {
    width: 100%;
  }
}



/* title
-------------------------------------------*/
.main h1 {
	text-align: center;
}


/* read_wrapp --------------- */
.read_wrapp {
	margin-bottom: 5.0rem;
}
.read_wrapp h2{
	padding-left: 0;
  margin-bottom: 2rem;
  font-weight: 500;
  color: #333;
  border-left: none;
}



/* file icon --------------- */
/* pdf */
/*
.main a[href$=".pdf"]:after {
  content:" ";
  display: inline-block;
	width: 20px;
  height: 20px;
  background: url("../images/ic_pdf.svg") no-repeat;
	margin-left: 0.25em;
}
*/

/* docx */
/*
.main a[href$=".docx"]:after {
  content:" ";
  display: inline-block;
	width: 20px;
  height: 20px;
  background: url("../images/ic_docx.svg") no-repeat;
	margin-left: 0.25em;
}
*/

/* xlsx */
/*
.main a[href$=".xlsx"]:after {
  content:" ";
  display: inline-block;
	width: 20px;
  height: 20px;
  background: url("../images/ic_xlsx.svg") no-repeat;
	margin-left: 0.25em;
}
*/

/* ppt */
/*
.main a[href$=".ppt"]:after {
  content:" ";
  display: inline-block;
	width: 20px;
  height: 20px;
  background: url("../images/ic_ppt.svg") no-repeat;
	margin-left: 0.25em;
}
*/

/* style --------------- */
.text_bold {
	font-weight: 500;
}
.text_underline {
	text-decoration: underline;
}

/* color --------------- */
.clRed {
  color: #F30;
}

/* align --------------- */
.text_center {
	text-align: center;
}
.text_right {
	text-align: right;
}

/* font-family--------------- */
.font-Bebas {
	font-family: 'Bebas Neue', cursive;
}

/* font-size --------------- */
.text_sm {
	font-size: 80%;
}
.text_lg {
	font-size: 125%;
}

.text_wt500 {
    font-weight: 500;
}

/* width --------------- */
.w-100 {
	width: 100%;
}
@media (min-width: 1921px) {
	.w-auto {
		width: auto;
	}
	.w-50 {
		width: 50%;
	}
	.w-30 {
		width: 100%;
	}
}


/* margin --------------- */
/* margin-top */
.mg-t_0 {
	margin-top: 0px!important;
}
.mg-t_10 {
	margin-top: 10px!important;
}
.mg-t_20 {
	margin-top: 20px!important;
}
.mg-t_30 {
	margin-top: 30px!important;
}
.mg-t_40 {
	margin-top: 40px!important;
}
.mg-t_50 {
	margin-top: 50px!important;
}
.mg-t_60 {
	margin-top: 60px!important;
}
.mg-t_70 {
	margin-top: 70px!important;
}
.mg-t_80 {
	margin-top: 80px!important;
}
.mg-t_90 {
	margin-top: 90px!important;
}
.mg-t_100 {
	margin-top: 100px!important;
}
.mg-t_120 {
	margin-top: 120px!important;
}

/* margin-bottom */
.mg-b_0 {
	margin-bottom: 0px!important;
}
.mg-b_10 {
	margin-bottom: 10px!important;
}
.mg-b_20 {
	margin-bottom: 20px!important;
}
.mg-b_30 {
	margin-bottom: 30px!important;
}
.mg-b_40 {
	margin-bottom: 40px!important;
}
.mg-b_50 {
	margin-bottom: 50px!important;
}
.mg-b_60 {
	margin-bottom: 60px!important;
}
.mg-b_70 {
	margin-bottom: 70px!important;
}
.mg-b_80 {
	margin-bottom: 80px!important;
}
.mg-b_90 {
	margin-bottom: 90px!important;
}
.mg-b_100 {
	margin-bottom: 100px!important;
}
.mg-b_120 {
	margin-bottom: 120px!important;
}

/* address
-------------------------------------------*/
.address_wrapp {
  line-height: 1.75;
}


/* img
-------------------------------------------*/
img {
  max-width: 100%;
}


/* list
-------------------------------------------*/
/* mark */
ul.mark_list {
  list-style-type: disc;
  padding-left: 1.75rem;
}
ul.mark_list li {
	margin-bottom: 0.5rem;
}

/* indent */
ul.indent_list {
  margin-left:1em;
	text-indent:-1em;
}

/* ol */
ol.num_list {
  padding-left: 1.75rem;
}
ol.num_list li {
	margin-bottom: 0.5rem;
}

/* ol.nam-q_list */
ol.nam-q_list {
	padding-left: 2.75rem;
}
ol.nam-q_list > li {
  list-style-type: none;
  counter-increment: cnt;
  position: relative;
}
ol.nam-q_list > li:before {
  content: "（" counter(cnt) "）";
  text-align: right;
  position: absolute;
  top: 0;
  left: -3.5rem;
}


/* table
-------------------------------------------*/
table th{
  font-weight: 400;
}

/* table_common */
.table_common  {
  width: 100%;
	margin-bottom: 4.0rem;
	border-collapse:collapse;
}
.table_common th,
.table_common td {
	padding:10px;
}
.table_common th {
	text-align: left;
	color: #000;
	/*width: 30%;*/
}
.table_common tr:nth-child(odd) th,
.table_common tr:nth-child(odd) td {
	background: #fffbbd;
}
.table_common tr:nth-child(1) th {
	color: #000!important;
	background: #eee;
}
.table_common tr th:nth-child(1) {
	color: red!important;
	font-size: 20px;
}


/* table_stage */
.table_stage  {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
	margin-bottom: 4.0rem;
	border-collapse:collapse;
}
.table_stage th,
.table_stage td {
	padding:10px;
	border: 1px #ccc solid;
}
.table_stage th {
	font-weight: 700;
	background-color: #eee;
}
.table_stage tr:nth-child(1) th {
	background-color: #eee;
}
@media (min-width: 993px) {
	.table_stage  {
		width: 700px;
	}
}



/* figure
-------------------------------------------*/
/* figure_wrapp */
.figure_wrapp {
	display: flex;
	margin-bottom: 3.0rem;
}
.figure_wrapp figure {
	margin-right: 10px;
}
.figure_wrapp figcaption {
	text-align: right;
}

/* figure-col2_wrapp */
.figure-col2_wrapp {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 3.0rem;
}
.figure-col2_wrapp img {
	width: 49%;
	margin-bottom: 3.0rem;
}

/* figure-col3_wrapp */
.figure-col3_wrapp {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 3.0rem;
}
.figure-col3_wrapp img {
	width: 33%;
}



/* col
-------------------------------------------*/
.contents_wrapp_col2 > div {
	margin-bottom: 2.0rem;
}
@media (min-width: 993px) {
	.contents_wrapp_col2 {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.contents_wrapp_col2 > div {
		width: 48%;
	}
}


/*==========================================
 about.html
===========================================*/
/* theme */
.theme_text {
	font-weight: 700;
	text-align: center;
	color: #1b4c95;
	margin-top: 3.0rem;
	margin-bottom: 3.0rem;
}
@media (max-width: 992px) {
	.theme_text {
		font-size: 1.625rem;
	}
}
@media (min-width: 993px) {
	.theme_text {
		font-size: 2.9rem;
	}
	.theme_text br{
		display: none;
	}
}

/* comment */
.about_comment p{
	margin-bottom: 2.0rem;
}
.contents_photo img{
	margin-bottom: 10px;
}



/*==========================================
 live.html
===========================================*/
/* guest_news */
.guest_news {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.guest_news h3 {
    margin-top: 0.0rem;
	margin-bottom: 0.75rem;
}
.guest_news h3 span{
	display: block;
	font-size: 66%;
	margin-top: 0.05rem;
}

/* guest_news */
.guest_img {
	width: 100%;
}
@media (max-width: 992px) {
	.guest_text {
		margin-bottom: 16px;
	}
	.guest_news h3 {
		font-size: 125%;
	}
}
@media (min-width: 993px) {
	.guest_text {
		width: 48%;
	}
	.guest_img {
		width: 48%;
	}
}



/*==========================================
 schedule.html
===========================================*/
.building_map{
    text-align: center;
}
.table_schedule tr th:nth-of-type(1){
	text-align: center;
}
@media (max-width: 992px) {
	.table_schedule tr th:nth-of-type(1){
		width: auto;
	}
	.table_schedule tr th:nth-of-type(2){
		width: auto;
	}
	.table_schedule tr th:nth-of-type(3){
		width: auto;
	}
	.table_schedule td {
		width: auto;
	}
}

@media (min-width: 993px) {
	.table_schedule tr th:nth-of-type(1){
		width: 2%;
	}
	.table_schedule tr th:nth-of-type(2){
		width: 25%;
	}
	.table_schedule tr th:nth-of-type(3){
		width: 20%;
	}
	.table_schedule td {
	  width: 50%;
	}
	.building_map img{
			width: 80%;
	}
}


/*==========================================
 shop.html
===========================================*/
.table_shop tr th:nth-of-type(1){
	text-align: center;
}
@media (max-width: 992px) {
	.table_shop tr th:nth-of-type(1){
		width: auto;
	}
	.table_schedule tr th:nth-of-type(2){
		width: auto;
	}
	.table_schedule td {
		width: auto;
	}
}

@media (min-width: 993px) {
	.table_shop tr th:nth-of-type(1){
		width: 3%;
	}
	.table_shop tr th:nth-of-type(2){
		width: 11%;
	}
}

/*==========================================
 event.html
===========================================*/
.event_rooftop{
	border: 3px solid #1b4c95;
	padding: 0px 20px 30px;
	border-radius: 18px;
	display: flex;
  	justify-content: space-between; /* 左右に分ける */
  	align-items: flex-start;
  	gap: 20px; /* 文章と画像の間 */
}

.event_rooftop h3{
	color: #1b4c95;
}
.event_text {
  flex: 1; /* 文章を残り幅いっぱいに */
}

.event_img {
	margin: 30px 30px 0 0 ;
  flex: 0 0 460px; /* 画像の幅を固定（調整可） */
}

.event_img img {
  width: 100%;
  height: auto;
  display: block;
}

/* スマホなど小さい画面 */
@media (max-width: 768px) {
  .event_rooftop {
    flex-direction: column; /* 縦並び */
  }

  .event_img {
    flex: none;
    width: 100%; /* 画面幅にフィット */
    margin-top: 10px;
  }
}

.btn-arrow {
  position: relative;            /* 矢印をabsoluteで配置するための基準 */
  display: inline-block;
  min-width: 62%;              /* 横幅（調整可） */
  padding: 12px 24px;
  background-color: #1b4c95;     /* ボタン背景 */
  color: #ffffff !important;                /* テキスト色 */
  text-decoration: none !important;
  font-size: 16px;
  border-radius: 6px;
  transition: background 0.3s;
  text-align: center;            /* テキストを中央寄せ */
}

.btn-arrow::after {
  content: "＞";                 /* 装飾的な矢印 */
  color: #ffe900;                /* 矢印の色 */
  font-weight: bold;
  font-size: 1.2em;
  position: absolute;            /* ボタンの右端に固定 */
  right: 16px;                   /* 右端からの余白 */
  top: 50%;
  transform: translateY(-50%);   /* 垂直方向に中央配置 */
}

.btn-arrow:hover {
  background-color: #163a73;     /* ホバー時に少し濃く */
}
