
/********** よくあるご質問 20250701 **********/

			/*a{
				color: #1a0dab;
				text-decoration: underline;
			}*/

			.p-header__item a{
				color: #888888;
				text-decoration: none;
			}

			@media (max-width: 480px) {
						body {
							padding: 0;
						}
					}
				 
				 .faq_course{
					 font-size: 1.5em;
					 font-weight: bold;
					 margin-top: 30px;
				 }
				 
				 .faq_contents{
					 position: relative;
					 max-width: 800px;
					 width: 90%;
					 margin-inline: auto;
					 margin-bottom: 50px;
				 }
				 
				 .faq__contents-title {
					padding-bottom: 13px;
					padding-left: 20px;
					border-left: 10px solid #414141;
					border-bottom: 1px solid #414141;
					margin-bottom: 20px;
					}
				 
				 .faq__contents-title h3 {
						font-size: 32px;
						font-weight: 300;
					 	margin-top: 50px;
					 margin-bottom: 0;
					 border-left: 0;
					}

		@media(max-width: 768px) {
						.faq__contents-title h3 {
							font-size:20px;
							line-height: 1.33;
							margin-top: 30px;
						}
					}
				 
				 .faq-box {
					border: 1px solid #bfac68;
					 margin: 20px 0;
				}
				 
				 .faq-box__question {
						min-height: 60px;
						color: #fff;
						position: relative;
						background: #bfac68;
						display: flex;
						align-items: stretch;
						line-height: 1.66;
						padding-right: 96px;
					}
				 
		@media(max-width: 768px) {
						.faq-box__question {
							padding-right:48px;
							line-height: 1.33
						}
					}

					.faq-box[open] .faq-box__question:after {
						transform: translateY(-50%) rotate(0deg)
					}

					.faq-box__question:before {
						position: absolute;
						top: 50%;
						right: 28px;
						width: 40px;
						height: 4px;
						content: "";
						background-size: cover;
						transform: translateY(-50%);
						background: #fff
					}

		@media(max-width: 768px) {
						.faq-box__question:before {
							width:20px;
							height: 2px;
							right: 14px
						}
					}

					.faq-box__question:after {
						position: absolute;
						top: 50%;
						right: 28px;
						width: 40px;
						height: 4px;
						content: "";
						background-size: cover;
						transform: translateY(-50%) rotate(-90deg);
						background: #fff;
						transition: transform .3s ease
					}

		@media(max-width: 768px) {
						.faq-box__question:after {
							width:20px;
							height: 2px;
							right: 14px
						}
					}
				 
				 .faq-box__question-icon {
						width: 70px;
						display: flex;
						justify-content: center;
						align-items: center;
						font-size: 38px;
						font-weight: 700;
						color: #fff;
						flex-shrink: 0;
						font-family: var(--font-family-latin)
					}

		@media(max-width: 768px) {
						.faq-box__question-icon {
							font-size:28px;
							width: 44px
						}
					}

					.faq-box__question-title {
						font-size: 24px;
						font-weight: 700;
						color: #fff;
						padding-left: 20px;
						border-left: 1px solid #fff;
						display: flex;
						align-items: center;
						padding-top: 5px;
						padding-bottom: 5px
					}

		@media(max-width: 768px) {
						.faq-box__question-title {
							font-size:18px;
							line-height: 1.33;
							padding: 10px 0px 10px 10px
						}
					}

					.faq-box__answer {
						padding: 20px 40px 40px 0;
						background: #fff;
						display: flex;
						overflow-x: hidden
					}

		@media(max-width: 768px) {
						.faq-box__answer {
							padding:11px 20px 30px 0;
							font-size: 16px;
							line-height: 1.625
						}
					}

					.faq-box__answer-icon {
						background: #6a9be5;
						width: 70px;
						height: 100%;
						display: flex;
						justify-content: center;
						align-items: center;
						font-size: 38px;
						font-weight: 700;
						border-right: 1px solid #fff;
						color: #fff;
						flex-shrink: 0;
						font-family: var(--font-family-latin)
					}

		@media(max-width: 768px) {
						.faq-box__answer-icon {
							width:44px;
							font-size: 28px;
							height: 60px
						}
					}

					.faq-box__answer-title {
						padding-left: 20px;
						line-height: 1.77
					}

					.faq-box__answer-title span {
						color: #908562
					}

		@media(max-width: 768px) {
						.faq-box__answer-title .pcDisNon {
							display:none
						}
					}

		@media(max-width: 768px) {
						.faq-box__answer-title {
							padding-top:10px
						}
					}


		  /* --- パシフィコルートマップ --- */
		  /* --- ポップアップの背景 --- */
		 /* 再生マーク（常に表示・YouTube風の赤） */
				.zoom-wrap {
				  position: relative;
				  display: inline-block;
				  width: 100%;
				}

				.zoom-wrap img {
				  display: block;
				  width: 100%;
				  height: auto;
				  border-radius: 10px;
				}

				.img-wrap .start-btn,
				.start-btn {
				  position: absolute;
				  top: 50%;
				  left: 50%;
				  transform: translate(-50%, -50%);
				  width: 60px;
				  height: 60px;
				  background-color: white; /* 白い円背景 */
				  border-radius: 50%;       /* 円形 */
				  box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
				  opacity: 1 !important;
				  pointer-events: none;
				  z-index: 10;
				}

				.img-wrap .start-btn::after {
				  content: "";
				  position: absolute;
				  top: 50%;
				  left: 50%;
				  transform: translate(-40%, -50%); /* 左にずらして中央に配置 */
				  width: 0;
				  height: 0;
				  border-left: 16px solid red;       /* 赤い三角 */
				  border-top: 10px solid transparent;
				  border-bottom: 10px solid transparent;
				}

				.zoom-wrap:hover .start-btn {
				  opacity: 1;
				}

				/* スマホ対応 */
				@media screen and (max-width: 767px) {
				  .img-wrap .start-btn,
				  .start-btn {
					width: 50px;
					height: 50px;
					background-color: white; /* 白背景に修正 */
					border-radius: 50%;
					box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
					opacity: 1 !important;
					pointer-events: none;
					z-index: 10;
				  }

				  .img-wrap .start-btn::after {
					content: "";
					position: absolute;
					top: 50%;
					left: 50%;
					transform: translate(-40%, -50%);
					width: 0;
					height: 0;
					border-left: 13px solid red;
					border-top: 8px solid transparent;
					border-bottom: 8px solid transparent;
				  }
				}

				/* --- パシフィコルートマップ --- */
				/* 再生マーク（常に表示・YouTube風の赤） */
					.zoom-wrap {
					  position: relative;
					  display: inline-block;
					  width: 100%;
					}

					.zoom-wrap img {
					  display: block;
					  width: 100%;
					  height: auto;
					  border-radius: 10px;
					}

					.img-wrap .start-btn,
					.start-btn {
					  position: absolute;
					  top: 50%;
					  left: 50%;
					  transform: translate(-50%, -50%);
					  width: 60px;
					  height: 60px;
					  background-color: white; /* 白い円背景 */
					  border-radius: 50%;       /* 円形 */
					  box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
					  opacity: 1 !important;
					  pointer-events: none;
					  z-index: 10;
					}

					.img-wrap .start-btn::after {
					  content: "";
					  position: absolute;
					  top: 50%;
					  left: 50%;
					  transform: translate(-40%, -50%); /* 左にずらして中央に配置 */
					  width: 0;
					  height: 0;
					  border-left: 16px solid red;       /* 赤い三角 */
					  border-top: 10px solid transparent;
					  border-bottom: 10px solid transparent;
					}

					.zoom-wrap:hover .start-btn {
					  opacity: 1;
					}

					/* スマホ対応 */
					@media screen and (max-width: 767px) {
					  .img-wrap .start-btn,
					  .start-btn {
						width: 50px;
						height: 50px;
						background-color: white; /* 白背景に修正 */
						border-radius: 50%;
						box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
						opacity: 1 !important;
						pointer-events: none;
						z-index: 10;
					  }

					  .img-wrap .start-btn::after {
						content: "";
						position: absolute;
						top: 50%;
						left: 50%;
						transform: translate(-40%, -50%);
						width: 0;
						height: 0;
						border-left: 13px solid red;
						border-top: 8px solid transparent;
						border-bottom: 8px solid transparent;
					  }
					}

					/* --- パシフィコルートマップ --- */
					/* --- ポップアップの背景 --- */
					.popup {
					  position: fixed;
					  inset: 0;
					  display: grid;
					  place-items: center;
					  background: rgba(0,0,0,.6);
					  z-index: 9999;
					  transition: opacity .3s;
					}
					.popup.hidden {     /* 非表示状態 */
					  opacity: 0;
					  pointer-events: none;
					}

					/* --- 画像コンテナ --- */
					.popup__inner {
					  margin: 0;
					  max-width: 70vw;
					  max-height: 80vh;
					  overflow: hidden; /* 変更: hidden → auto */
					  cursor: grab;
					}

					@media screen and (max-width: 767px) {
						.popup__inner {
						  margin: 0;
						  max-width: 90vw;
						  max-height: 80vh;
						  overflow: auto; /* 変更: hidden → auto */
						  cursor: grab;
						}
					}
					.popup__inner img {
					  width: auto;
					  height: auto;
					  max-width: none;
					  max-height: none;
					  user-select: none;
					  -webkit-user-drag: none;
					  transform-origin: center center;
					  transition: transform .2s;
					}

					/* --- 閉じるボタン --- */
					.popup__close{
					  position: absolute;
					  top: 20px;
					  right: 28px;
					  font-size: 42px;
					  color: #fff;
					  background: none;
					  border: none;
					  cursor: pointer;
					  line-height: 1;
					}


/********** 最新情報 20250703 **********/

				.c-article__button {
				  margin-top: 12px;
				  text-align: right;
				}

				.c-article__button span {
				  display: inline-block;
				  font-size: 0.9em;
				  color: #3a57c4;
				  font-weight: bold;
				  background-color: #f0f3fb;
				  padding: 6px 12px;
				  border-radius: 4px;
				  transition: background-color 0.3s;
				}

				.c-article__button span:hover {
				  background-color: #dde5f9;
				  cursor: pointer;
				}

				.p-section a{
					text-decoration: none;
					color: #000000;
				}

/********** 紹介 20250711 **********/

			@media (max-width: 1000px) {
						.invitation-pc {
							display: none;
						}
				
						.invitation-sp {
							display: block;
						}
					}

			@media (min-width: 1000px) {
						.invitation-pc {
							display: block;
						}
				
						.invitation-sp {
							display: none;
						}
					}


			.p-page-invitationflow{
				max-width: 1500px;
				margin-inline: auto;
				padding: 64px 16px;
			}


			/* 文章コピー */
			.copy-block {
			  background: #fdeaea;
			  border-radius: 12px;
			  padding: 20px;
			  max-width: 600px;
			  margin: 30px auto 30px 0;
			  text-align: left;
			}

			.copy-label {
			  font-weight: bold;
			  font-size: 1rem;
			  margin-bottom: 12px;
			  color: #333;
			}

			.copy-text {
			  background: #eaf0f6;
			  padding: 16px;
			  border-radius: 8px;
			  font-size: 0.95rem;
			  line-height: 1.8;
			  font-family: sans-serif;
			  margin-bottom: 15px;
			  white-space: normal;
			  text-align: left;
			}

			.copy-btn {
			  background-color: #e0e0e0;
			  color: #333;
			  border: none;
			  padding: 8px 16px;
			  border-radius: 8px;
			  cursor: pointer;
			  font-size: 0.9rem;
			  transition: background-color 0.3s;
			}

			.copy-btn:hover {
			  background-color: #ccc;
			}

/********** いつでも割 20250711 **********/

.referral_ticket_flow a{
	color: #1a0dab;
	text-decoration: underline;
} 


/********** WG グッズ 20250716 **********/

@media (min-width: 800px) {
	.br_sp {
       display: none
    }
}

.p-page-new {
    max-width: 800px;
    margin-inline: auto;
    padding: 64px 16px;
}

.p-page-new a {
    color: #1a0dab;
	text-decoration: underline;
	font-size: 0.8em;
}

.mb30{
	margin-bottom: 30px;
}

.p-under-page-news{
	width: 100%;
	max-width: 700px;
	margin: 40px auto 0;
}


/********** 見逃し配信 202507 **********/

         .schedule-container {
            max-width: 700px;
            margin: 50px auto;
            font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
        }

		.schedule-container-table {
            max-width: 700px;
            margin: 10px auto;
			padding: 20px;
			background: #f7f8f8;
            font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
        }

		.schedule-container-table li {
            font-size: 0.9em;
        }

        h3 {
            color: #333;
            /*border-left: 5px solid #417DFE;*/
            padding-left: 10px;
            margin-bottom: 20px;
            font-size: 1.2em;
            font-weight: bold;
        }


		.schedule-list {
				list-style: none;
				padding: 0;
			}

			.schedule-item {
				margin-bottom: 15px;
			}

			/* ボタン風デザイン */
			.schedule-content {
				padding: 10px;
				margin-bottom: 10px;
				background-color: #f8f9fa;
				border-radius: 10px;
				box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
				border: 1px solid #9dd63b;
				transition: all 0.3s ease;
			}

			/* リンクのみに適用されるスタイル */
			.schedule-link {
				display: block;
				text-decoration: none;
				color: #333;
				font-weight: bold;
				padding: 10px;
				border-radius: 10px;
				/*text-align: center;*/
				background-color: #ffffff;
				border: 1px solid #9dd63b;
				transition: all 0.3s ease;
			}

			.schedule-link-on {
				display: block;
				text-decoration: none;
				color: #333;
				font-weight: bold;
				padding: 10px;
				border-radius: 10px;
				/*text-align: center;*/
				background-color: rgba(103, 145, 32, 0.2);
				border: 1px solid #9dd63b;
				transition: all 0.3s ease;
			}

			.schedule-link:hover {
				background-color: #9dd63b;
				color: #ffffff;
				box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
				cursor: pointer;
			}


			/* ホバー時にspanも色を変更 */
			.schedule-item a:hover span {
				color: #fff; /* ホバー時にテキスト色を白に変更 */
			}


			/* 番号のスタイル */
			.schedule-item span {
				font-weight: bold;
				color: #9dd63b;
				margin-right: 10px;
			}

			/* 矢印のスタイル（オプション） */
			.arrow {
				position: absolute;
				right: 15px;
				color: #9dd63b;
				font-size: 0.8em;
			}

			/* NEWバッジのデザイン */
			.new-badge {
				display: inline-block;
				background-color: #ff6347; /* 明るい赤色 */
				color: #fff;
				font-size: 12px;
				font-weight: bold;
				padding: 2px 8px;
				border-radius: 12px;
				margin-left: 10px;
				vertical-align: middle;
			}

.content-flexbox {
					display: flex; /* 古いブラウザ向けの指定を削除 */
					gap: 34px; /* column-gap を gap に変更（flexbox対応） */
					border-top: solid 1px #417DFE;
					margin-top: 40px; /* 少し余白を調整 */
					padding-top: 20px; /* パディングを減らして調整 */
				}

				.content-flexbox-top {
					display: flex; /* 古いブラウザ向けの指定を削除 */
					gap: 34px; /* column-gap を gap に変更（flexbox対応） */
					/*border-top: solid 1px #9dd63b;*/
					/*margin-top: 39px;*/
					padding-top: 39px;
				}


				.content-txt .text-subject {
					font-size: 0.9em;
					line-height: 1.2;
					color: #fff;
					width: -webkit-fit-content;
					width: -moz-fit-content;
					width: fit-content;
					background-color: #417DFE;
					padding: 6px 18px;
					margin-bottom: 20px;
				}

				.content-txt .text-ttl {
					font-size: 1.1em;
					line-height: 1.5;
					margin-bottom: 24px;
					margin-top: -8px;
				}

				.content-txt a {
					display: block;
					text-align: center;
					font-size: 1.1em;
					font-weight: 700;
					line-height: 1.6;
					width: 180px;
					color: #f2897c;
					border: solid 1px #f2897c;
					border-radius: 2px;
					padding: 8px 24px;
					margin: 0 auto;
				}


/********** HOME 20250801 **********/

/* リスト全体をflexボックスで制御 */
.p-special-information-page-list__list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

/* 共通設定 */
.p-special-information-page-list__item {
  display: flex;
  flex-direction: column;
  background-color: #fff;
  padding-bottom: 10px;
  box-sizing: border-box;
  border-radius: 8px;
}

/* タイトル・日時 */
.p-special-information-page-list__item-heading {
  padding: 10px;
  flex-grow: 1;
}

/* ボタン：デフォルトは上寄せ（PC） */
.p-special-information-page__primary-button {
  padding: 0 10px;
  margin-top: 0;
}

/* スマホ時（幅480px以下）のみ下寄せ */
@media (max-width: 480px) {
  .p-special-information-page-list__item {
    /*min-height: 460px;*/
  }

  .p-special-information-page__primary-button {
    margin-top: 20px;
  }
}

/* PC時（幅481px以上）は固定サイズで上寄せ */
@media (min-width: 481px) {
  .p-special-information-page-list__item {
    width: 312px;
    min-height: 300px;
  }

  .p-special-information-page__primary-button {
    margin-top: auto;
  }
}
