/* ------------------------------------------
  plan_mv
------------------------------------------ */

.plan_mv {
	background-image: url(../img/plan/plan_mv_back.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
	z-index: 0;
}

.plan_mv_main {
	padding: 211px 0 99px;
	max-width: 1000px;
	margin: 0 auto;
}

.plan_mv_main_title_main {
	font-style: normal;
	font-weight: 700;
	font-size: 36px;
	line-height: 1;
	letter-spacing: 1px;
	color: #FFFFFF;
}

.plan_mv_main_title_desc {
	font-style: normal;
	font-weight: 700;
	font-size: 24px;
	line-height: 1;
	letter-spacing: 1px;
	color: #FFA947;
	margin-top: 10px;
}

.plan_mv_main_btn_box {
	display: flex;
	position: absolute;
	bottom: -50px;
	left: 50%;
	transform: translateX(-50%);
	max-width: 1000px;
	width: 100%;
}

.plan_mv_main_btn {
	display: block;
	width: calc(50% - 8px);
	height: 120px;
	margin-left: 16px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: #8992D3;
	box-shadow: 0px 3.0717px 3.0717px rgba(0, 0, 0, 0.25);
	border-radius: 10px;
	position: relative;
	z-index: 0;
}

.plan_mv_main_btn::before {
	background-image: url(../img/plan/plan_mv_main_btn_arrow.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: '';
	position: absolute;
	left: 50%;
	bottom: 20px;
	width: 18px;
	height: 12px;
	transform: translateX(-50%);
	transition: 0.3s;
}

.plan_mv_main_btn:hover::before {
	bottom: 15px;
}

.plan_mv_main_btn.single {
	background-color: #FFA947;
}

.plan_mv_main_btn:nth-child(2n + 1) {
	margin-left: 0;
}

.plan_mv_main_btn_main {
	font-style: normal;
	font-weight: 700;
	font-size: 16px;
	line-height: 1;
	text-align: center;
	letter-spacing: 1.0834px;
	color: #FFFFFF;
	padding-bottom: 50px;
	background-image: url(../img/plan/plan_mv_main_btn_main_icon.png);
	background-position: bottom 20px center;
	background-repeat: no-repeat;
	background-size: 49px 30px;
	position: relative;
	z-index: 0;
}

.plan_mv_main_btn.single .plan_mv_main_btn_main {
	background-image: url(../img/plan/plan_mv_main_btn_main_single_icon.png);
	background-size: 21px 30px;
}

.plan_mv_main_btn_main .plan_mv_main_btn_main_big {
	font-style: normal;
	font-weight: 900;
	font-size: 20px;
	line-height: 1;
	text-align: center;
	letter-spacing: 1.0834px;
	color: #FFFFFF;
}

@media (max-width: 767px) {
	.plan_mv_main {
		padding: 130px 20px 89px;
	}
	.plan_mv_main_title_main {
		font-size: 24px;
	}
	.plan_mv_main_title_desc {
		font-size: 16px;
		margin-top: 5px;
	}
	.plan_mv_main_btn_box {
		display: flex;
		position: absolute;
		bottom: -50px;
		left: 50%;
		transform: translateX(-50%);
		max-width: 1000px;
		width: 100%;
		padding: 0 20px;
	}
	.plan_mv_main_btn {
		width: calc(50% - 5px);
		height: 80px;
		margin-left: 10px;
	}
	.plan_mv_main_btn::before {
		bottom: 6px;
		width: 12px;
		height: 8px;
	}
	.plan_mv_main_btn_main {
		font-size: 14px;
		padding-bottom: 40px;
		background-position: bottom 10px center;
		background-repeat: no-repeat;
		background-size: 35px 24px;
	}
	.plan_mv_main_btn.single .plan_mv_main_btn_main {
		background-size: 15px 24px;
	}
	.plan_mv_main_btn_main .plan_mv_main_btn_main_big {
		font-size: 18px;
	}
}

/* ------------------------------------------
  top_under_lists
------------------------------------------ */

.top_under_lists {
	padding: 100px 0 40px;
}

.top_under_lists_item {
	padding: 0 12px;
	width: 300px;
}

.top_under_lists_item:nth-child(2n) {
	margin-top: 30px;
}

.top_under_lists_item img {
	border-radius: 50px;
}

/* ------------------------------------------
  plan_content
------------------------------------------ */

.plan_content {
	background: #F6F7FF;
	border-radius: 30px 30px 0px 0px;
	padding: 130px 0;
}

/* センター 1000px */

.plan_content_inner {
	max-width: 1000px;
	margin: 0 auto;
	text-align: center;
}

/* 見出し */

.plan_content_title {
	font-size: 24px;
	line-height: 1.3;
	font-weight: 700;
	color: #2b2b2b;
	margin: 0 0 20px 0;
}

.plan_content_title_em {
	color: #8992D3;
	/* 強調色（リンク風） */
}

/* リード文 */

.plan_content_lead {
	font-size: 16px;
	line-height: 1.7;
	color: #000;
	margin: 0 0 28px 0;
}

/* 3カラムカード */

.plan_content_grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 11px;
}

/* カード本体 */

.plan_content_card {
	position: relative;
	background: #fff;
	border-radius: 20px;
	padding: 28px 0;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
	text-align: center;
}

/* 番号バッジ */

.plan_content_badge {
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: #8992D3;
	/* バッジ色 */
	color: #fff;
	font-size: 24px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 6px 16px rgba(127, 140, 255, 0.35);
	margin: 0 auto;
}

/* カード見出し/本文 */

.plan_content_card_ttl {
	font-size: 24px;
	line-height: 1.3;
	font-weight: 700;
	color: #2b2b2b;
	margin: 25px 0 0 0;
}

.plan_content_card_txt {
	font-size: 14px;
	line-height: 1.7;
	color: #555;
	margin: 25px 0 0;
}

.plan_content_main {
	/* 薄いグレー寄りの背景色 */
	margin-top: 50px;
	text-align: center;
}

.plan_content_main_inner {
	max-width: 1000px;
	margin: 0 auto;
}

/* タイトル行 */

.plan_content_main_title {
	font-size: 25px;
	font-weight: 500;
	color: #333;
}

.plan_content_main_title strong {
	font-weight: 700;
	font-size: 30px;
}

.plan_content_main_title_box {
	position: relative;
	z-index: 0;
	display: table;
	margin: 0 auto;
	padding: 0 130px;
}

.plan_content_main_title_box::before {
	height: 2px;
	background: #555;
	max-width: 120px;
	width: 100%;
	position: absolute;
	top: 50%;
	left: 0;
	content: "";
}

.plan_content_main_title_box::after {
	height: 2px;
	background: #555;
	max-width: 120px;
	width: 100%;
	position: absolute;
	top: 50%;
	right: 0;
	content: "";
}

.plan_content_main_text {
	white-space: nowrap;
}

/* アイコン */

.plan_content_main_icon img {
	display: block;
	margin: 0 auto 0 auto;
	width: 65px;
	height: auto;
}

/* リード文 */

.plan_content_main_lead {
	font-size: 16px;
	line-height: 1.7;
	color: #000;
	margin: 50px 0 0 0;
	font-weight: bold;
}

@media screen and (max-width: 767px) {
	.plan_content {
		border-radius: 20px 20px 0px 0px;
		padding: 60px 20px;
	}
	.plan_content_grid {
		display: block;
	}
	.plan_content_card+.plan_content_card {
		margin-top: 20px;
	}
	.plan_content_main_title_box {
		padding: 0 60px;
	}
	.plan_content_main_title_box::before {
		max-width: 60px;
	}
	.plan_content_main_title_box::after {
		max-width: 60px;
	}
}

/* tab */

/* ラッパー */

.plan_tabs {
	background: #f3f4ff;
	padding: 30px 12px 40px;
}

.plan_tabs_inner {
	max-width: 1000px;
	margin: 0 auto;
}

/* タブ */

.plan_tabs_nav {
	display: flex;
	gap: 16px;
	margin: 0 0 0 0;
}

.plan_tabs_btn {
	appearance: none;
	border: 2px #aeb8ff solid;
	border-bottom: none;
	background: #cbd3ff;
	color: #2c2c2c;
	font-size: 16px;
	font-weight: 700;
	padding: 12px 18px;
	border-radius: 12px 12px 0 0;
	cursor: pointer;
	width: calc(50% - 8px);
}

.plan_tabs_btn.is-active {
	background: #8992D3;
	color: #fff;
	box-shadow: none;
}

/* パネル */

.plan_tabpanel {
	display: none;
	background: #ffffff;
	border: 2px solid #8992D3;
	border-radius: 0 0 12px 12px;
	padding: 18px 10px 40px;
}

.plan_tabpanel.is-active {
	display: block;
}

.plan_tabs_caption {
	text-align: center;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.7;
	color: #000;
	padding: 40px 0;
}

/* タイムライン：4列（左時刻／左内容／右時刻／右内容） */

.plan_timeline {
	display: grid;
	grid-template-columns: 70px 1fr 70px 1fr;
	column-gap: 16px;
	row-gap: 10px;
	padding: 8px;
	background: #eef1ff;
	border-radius: 10px;
}

/* 日付見出し（左・右） */

.plan_dayttl {
	grid-column: 1 / -1;
	background: #8992D3;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	padding: 10px 14px;
	border-radius: 8px;
	margin: 8px 0;
}

.plan_dayttl--left {
	justify-self: start;
	width: 120px;
}

.plan_dayttl--right {
	justify-self: end;
	width: 120px;
}

/* 時刻 */

.plan_time {
	font-size: 14px;
	color: #7a83b2;
	align-self: start;
	padding-top: 8px;
}

.plan_time--left {
	grid-column: 1;
	text-align: right;
	padding-right: 6px;
}

.plan_time--right {
	grid-column: 3;
	text-align: right;
	padding-right: 6px;
}

/* セル */

.plan_cell {
	background: #fff;
	border: 1px solid #dfe5ff;
	border-radius: 8px;
	padding: 12px 14px;
	position: relative;
}

.plan_cell--left {
	grid-column: 2;
}

.plan_cell--right {
	grid-column: 4;
}

/* セル内テキスト */

.plan_cell_hd {
	font-size: 16px;
	line-height: 24px;
	font-weight: 700;
	color: #4350a6;
	margin: 0 0 6px 0;
}

.plan_cell_p {
	font-size: 14px;
	line-height: 22px;
	color: #333;
	margin: 0;
}

.plan_cell_ul {
	margin: 0;
	padding-left: 18px;
}

.plan_cell_ul li {
	font-size: 14px;
	line-height: 22px;
	color: #333;
}

/* 補助（点線の仕切りを模す場合） */

.plan_cell::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -6px;
	border-bottom: 1px dashed #cfd6ff;
}

/* 最後のセルの仕切りなし */

.plan_timeline> :last-child::after {
	display: none;
}

/* ラッパー（背景トーンはスクショ準拠の淡い紫系） */

.plan_tabs_main_item {}

.plan_tabs_main_item_inner {
	/* 画像の比率に合わせた横幅（左右2カラム時にも馴染みます） */
	margin: 0 auto;
	position: relative;
}

/* 丸角の「1日目」見出し */

.plan_tabs_main_item_dayhead {
	background: #8992D3;
	color: #fff;
	font-size: 22px;
	font-weight: 700;
	text-align: center;
	padding: 14px 16px;
	border-radius: 12px;
	width: 100%;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04) inset;
}

/* 行リスト本体：左=内容、右=時間（固定幅） */

.plan_tabs_main_item_rows {
	margin-top: 14px;
	background: #ffffff;
	border-radius: 10px;
	padding: 0 0 0 0;
	/* セル側で内側余白を確保 */
}

/* 行 */

.plan_tabs_main_item_row {
	position: relative;
	padding: 0 10px 0 10px;
}

/* 各行の点線（左右で揃えるため行全体に） */

.plan_tabs_main_item_row::after {
	content: "";
	grid-column: 1 / -1;
	display: block;
	height: 0;
	border-bottom: 2px dashed #d7dbff;
	margin: 0 0 0 0;
}

.plan_tabs_main_item_row:last-child::after {
	display: none;
}

/* 時刻 */

.plan_tabs_main_item_time {
	color: #7c86c8;
	font-size: 22px;
	font-weight: 700;
	text-align: right;
	padding: 18px 0 18px 0;
	display: none;
}

/* セル */

.plan_tabs_main_item_cell {
	background: #f6f7ff;
	border: 1px solid #e2e6ff;
	border-radius: 10px;
	padding: 18px 16px;
	margin: 8px 0;
	position: relative;
}

.plan_tabs_main_item_cell--blank {
	background: transparent;
	border: 0;
	padding: 24px 0;
	margin: 16px 0 8px;
	display: none;
}

.plan_tabs_main_item_cell--spacer {
	background: transparent;
	border: 0;
	padding: 26px 0;
	margin: 8px 0;
}

/* 見出し・本文（px指定） */

.plan_tabs_main_item_cell_ttl {
	font-size: 20px;
	line-height: 30px;
	color: #6d78cf;
	/* 見出しの薄紫ブルー */
	font-weight: 800;
	margin: 0 0 8px 0;
}

.plan_tabs_main_item_cell_txt {
	font-size: 16px;
	line-height: 28px;
	color: #222;
	margin: 0;
}

/* 箇条書き */

.plan_tabs_main_item_list {
	margin: 0;
	padding-left: 18px;
}

.plan_tabs_main_item_list li {
	font-size: 16px;
	line-height: 28px;
	color: #222;
}

/* 角丸の雰囲気・余白を微調整（よりスクショに近づけ） */

.plan_tabs_main_item_row+.plan_tabs_main_item_row .plan_tabs_main_item_cell {
	margin-top: 12px;
}

.plan_tabs_main_item_centertime_item {
	font-style: normal;
	font-weight: 700;
	font-size: 24px;
	line-height: 1;
	/* purple */
	color: #8992D3;
}

.plan_tabs_main_item_box {
	display: flex;
	justify-content: center;
}

.plan_tabs_main_item_inner {
	width: 445px;
}

.plan_tabs_main_item_centertime {
	width: 70px;
	text-align: center;
}

@media screen and (max-width: 767px) {
	.plan_tabs_btn {
		font-size: 14px;
	}
	.plan_tabs_caption {
		font-size: 16px;
		padding: 20px 0;
	}
}

/* ------------------------------------------
  plan_tabs_main_sp
------------------------------------------ */

.plan_tabs_main_sp {
	display: none;
}

.plan_tabs_main_sp_item {
	padding: 20px 0 26px;
}

.plan_tabs_main_sp_item_inner {
	max-width: 610px;
	margin: 0 auto;
}

/* 見出しバー */

.plan_tabs_main_sp_item_day {
	background: #8992D3;
	color: #fff;
	font-size: 22px;
	font-weight: 700;
	text-align: center;
	padding: 14px 16px;
	border-radius: 12px;
	margin-bottom: 10px;
}

/* タイムライン */

.plan_tabs_main_sp_item_row {
	display: grid;
	grid-template-columns: 52px 1fr;
	column-gap: 12px;
	align-items: start;
	position: relative;
	padding: 0 8px;
}

.plan_tabs_main_sp_item_row::after {
	content: "";
	grid-column: 1 / -1;
	display: block;
	height: 0;
	border-bottom: 2px dashed #d6dbff;
}

.plan_tabs_main_sp_item_row:last-child::after {
	display: none;
}

/* 時刻 */

.plan_tabs_main_sp_item_time {
	color: #7d86c9;
	font-size: 24px;
	font-weight: 700;
	text-align: left;
	padding: 18px 0;
}

/* カード */

.plan_tabs_main_sp_item_card {
	background: #F6F7FF;
	border: 1px solid #e3e6ff;
	border-radius: 10px;
	padding: 18px 18px;
	margin: 10px 0;
}

/* タイトル */

.plan_tabs_main_sp_item_ttl {
	font-size: 20px;
	line-height: 30px;
	color: #6b73cf;
	font-weight: 800;
	margin: 0 0 8px 0;
}

/* 本文 */

.plan_tabs_main_sp_item_txt {
	font-size: 16px;
	line-height: 28px;
	color: #222;
	margin: 0;
}

/* 箇条書き */

.plan_tabs_main_sp_item_list {
	margin: 0;
	padding-left: 18px;
}

.plan_tabs_main_sp_item_list li {
	font-size: 16px;
	line-height: 28px;
	color: #222;
}

/* タイトル内の補足（例：金閣寺や二条城など） */

.plan_tabs_main_sp_item_ttl_note {
	font-size: 14px;
	line-height: 20px;
	color: #7d86c9;
	font-weight: 700;
	margin-left: 6px;
}

/* 空白カード（枠や背景を消す） */

.plan_tabs_main_sp_item_card--blank {
	background: transparent;
	border: 0;
	padding: 0;
	margin: 10px 0;
}

/* 大きな空白（18:30〜19:00の広い余白を再現） */

.plan_tabs_main_sp_item_card--h260 {
	min-height: 260px;
	/* 必要に応じて 240〜300px 程度で微調整 */
}

/* 見出しだけのカードを中央寄せにする */

.plan_tabs_main_sp_item_card--center .plan_tabs_main_sp_item_ttl {
	text-align: center;
}

@media screen and (max-width: 767px) {
	.plan_tabs_main_item {
		display: none;
	}
	.plan_tabs_main_sp {
		display: block;
	}
}

/* ------------------------------------------
  plan_tabs_main_bottom
------------------------------------------ */

/* ===== ラッパー / 幅 ===== */

.plan_tabs_main_bottom {
	margin-top: 30px;
}

.plan_tabs_main_bottom_inner {
	max-width: 1000px;
	margin: 0 auto;
}

/* ===== 大見出し（幅いっぱいの角丸バー） ===== */

.plan_tabs_main_bottom_bighead {
	background: #8992D3;
	color: #fff;
	font-size: 24px;
	font-weight: 700;
	text-align: center;
	line-height: 60px;
	border-radius: 10px;
	margin: 0 0 30px 0;
}

/* ===== 行（2カラム） ===== */

.plan_tabs_main_bottom_row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 26px;
	align-items: start;
}

/* 余白調整 */

.plan_tabs_main_bottom_row--top {
	margin-bottom: 26px;
}

.plan_tabs_main_bottom_row--bottom {
	margin-top: 18px;
}

/* ===== 左画像 ===== */

.plan_tabs_main_bottom_img {
	width: 100%;
	display: block;
	border-radius: 18px;
}

/* ===== チェックリスト（左□にチェック） ===== */

.plan_tabs_main_bottom_checks_box {
	display: table;
	margin: 30px auto 0;
}

.plan_tabs_main_bottom_checks {
	list-style: none;
	margin: 0;
	padding: 6px 0 0 0;
}

.plan_tabs_main_bottom_checks li {
	position: relative;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.7;
	color: #222;
	margin: 12px 0 0;
	padding-left: 40px;
}

.plan_tabs_main_bottom_checks li:first-child {
	margin: 0 0 0;
}

.plan_tabs_main_bottom_checks li::before {
	background-image: url(../img/plan/plan_tabs_main_bottom_checks.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: '';
	position: absolute;
	left: 0;
	top: 3px;
	width: 23px;
	height: 23px;
}

/* ===== 中段の見出し 2つ ===== */

.plan_tabs_main_bottom_midheads {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 26px;
	margin: 16px 0 12px;
}

.plan_tabs_main_bottom_midhead {
	margin: 0;
	background: #8992D3;
	color: #fff;
	font-size: 28px;
	line-height: 1.2;
	font-weight: 800;
	text-align: center;
	padding: 20px 16px;
	border-radius: 18px;
}

/* ===== 下段（左=価格 / 右=シンプルリスト） ===== */

.plan_tabs_main_bottom_price {
	font-size: 24px;
	line-height: 1.3;
	margin: 15px 0 0 0;
	font-weight: 700;
}

.plan_tabs_main_bottom_tax {
	font-size: 16px;
}

.plan_tabs_main_bottom_list {
	margin: 40px auto 0;
	display: table;
}

.plan_tabs_main_bottom_list li {
	font-size: 16px;
	line-height: 1.7;
	font-weight: 700;
}

/* ===== レスポンシブ ===== */

@media (max-width: 980px) {
	.plan_tabs_main_bottom_row, .plan_tabs_main_bottom_midheads {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767px) {
	.plan_tabs_main_bottom_bighead {
		font-size: 20px;
		margin: 0 0 20px 0;
	}
	.plan_tabs_main_bottom_midhead {
		font-size: 20px;
	}
	.plan_tabs {
		background: #f3f4ff;
		padding: 30px 12px 0;
	}
	.plan_tabs_main_bottom_checks li {
		font-size: 14px;
		color: #222;
		margin: 10px 0 0;
		padding-left: 25px;
	}
	.plan_tabs_main_bottom_checks li::before {
		width: 17px;
		height: 17px;
	}
	.plan_tabs_main_bottom_price {
		font-size: 18px;
		line-height: 1.3;
		margin: 15px 0 0 0;
		font-weight: 700;
	}
	.plan_tabs_main_bottom_list {
		margin: 20px auto 0;
	}
	.plan_tabs_main_bottom_tax {
		font-size: 14px;
	}
	.plan_tabs_main_bottom_list li {
		font-size: 14px;
	}
}

/* ------------------------------------------
  .plan_content.single
------------------------------------------ */

.plan_content.single {
	background: #FFFAF5;
}

.plan_content.single .plan_content_title_em {
	color: #FFA947;
}

.plan_content.single .plan_content_badge {
	background: #FFA947;
}

.top_contact_panph {
	max-width: 1000px;
	margin: 50px auto 0;
	display: flex;
	flex-wrap: wrap;
}

.top_contact_panph_item {
	width: calc(33.333333% - 14px);
	margin-left: 21px;
}

.top_contact_panph_item:nth-child(3n + 1) {
	margin-left: 0;
}

.top_contact_panph_item:nth-child(n + 4) {
	margin-top: 50px;
}

@media (max-width: 767px) {
	.top_contact_panph {
		margin: 40px auto 0;
		display: flex;
		flex-wrap: wrap;
	}
	.top_contact_panph_item {
		width: calc(50% - 5px);
		margin-left: 10px;
	}
	.top_contact_panph_item:nth-child(3n + 1) {
		margin-left: 10px;
	}
	.top_contact_panph_item:nth-child(2n + 1) {
		margin-left: 0;
	}
	.top_contact_panph_item:nth-child(n + 4) {
		margin-top: 20px;
	}
	.top_contact_panph_item:nth-child(n + 3) {
		margin-top: 20px;
	}
}

.plan_content_main_banner {
	display: block;
	max-width: 700px;
	width: 100%;
	height: 100px;
	;
	margin: 40px auto 0;
	background-color: rgba(130, 125, 178, 1);
}