@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

#contents {
	font-family: "Noto Sans JP", sans-serif;
	max-width: 1200px !important;
}

/*----------*/

a.hover:hover {
	filter: alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
	transition-duration: 0.3s;
}

.pc {
	display: none;
}

.sp {
	display: block;
}

.pcBr {
	display: none;
}

.spBr {
	display: inline;
}

#contents:before {
	margin-bottom: 0px;
}

img {
	max-width: inherit;
	width: 100%;
	height: auto;
}

@media all and (min-width: 749px) {

	.pc {
		display: block;
	}

	.sp {
		display: none;
	}

	.pcBr {
		display: inline;
	}

	.spBr {
		display: none;
	}

	#contents:before {
		margin-bottom: 20px;
	}

}

@media all and (max-width: 749px) {

	.page-wrap.wrap01 {
		padding-left: 0px;
		padding-right: 0px;
	}

}

/*------------------------------*/

.h1Wrap01 {
	padding: 0 15px;
}

@media all and (min-width: 1200px) {
	.h1Wrap01 {
		padding: 0;
	}
}

.contH101 {
	margin: auto;
}

.colWhite01 {
	color: #ffffff;
}

.mainBlock01 {
	background-image: url("/plan/tokushu/ex/toyotomi2026/images/bg_01.webp");
	background-repeat: repeat;
	background-position: center top;
	background-size: 130px auto;
}

.mainBlock01In {
	padding: 24px 20px 32px;
}

.text14_15_n {
	font-size: 14px;
	line-height: 1.5em;
}

.contTit01 {
	margin-bottom: 14px;
}

/*------------------*/

.contBlock01 {
	background-image: url("/plan/tokushu/ex/toyotomi2026/images/bg_02.webp");
	background-repeat: repeat;
	background-position: center top;
	background-size: 64px auto;
	padding: 32px 15px;
}

.contH201 {
	margin: auto auto 15px;
	position: relative;
}

.contH201 span {
	font-family: "Zen Old Mincho", serif;
	font-weight: bold;
	font-size: 2.7rem;
	font-feature-settings: "palt";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 12px;
	color: #17184b;
}

/* heading_2lines*/
.heading_2lines {
	padding-top: 32px;
}

/* fontcolorwhite */
.fcw {
	color: #fff !important;
}

.contTextBox01 {
	text-align: center;
	font-size: 18px;
	line-height: 1.35em;
	font-weight: bold;
	margin-bottom: 10px;
}

@media all and (min-width: 749px) {
	.contTextBox01 {
		font-size: 24px;
	}
}

.contImgFlex01 {
	display: flex;
	gap: 2px;
	margin-top: 10px;
}

.contFlex01 {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 16px;
}

.planBox01 {
	display: flex;
	flex-direction: column;
	width: 100%;
	background-color: #ffffff;
	border-radius: 8px;
	box-sizing: border-box;
	padding: 16px;
	box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.05);
	-webkit-box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.05);
	-moz-box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.05);
	-o-box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.05);
	-ms-box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.05);
}

.planCate {
	display: inline-flex;
	align-items: center;
	box-sizing: border-box;
	padding: 2px 12px 3px;
	height: 24px;
	border-radius: 32px;
	color: #ffffff;
	font-size: 12px;
	line-height: 1.0em;
	font-weight: bold;
	flex-shrink: 0;
}

.planCate.aichi {
	background-color: #A25615;
}

.planCate.shiga {
	background-color: #515084;
}

.planCate.nara {
	background-color: #2F5D50;
}

.planCate.gifu {
	background-color: #74325C;
}

.planCate.jyoin {
	background-color: #007BBB;
}

.planCate.syokuji {
	background-color: #EB6238;
}

.planCate.nyujyou {
	background-color: #42AF7D;
}

.planCate.syuin {
	background-color: #E54848;
}

.planCate.syaji {
	background-color: #AD5CA7;
}

.planTit01 {
	background-color: #8D8014;
	border-radius: 8px;
	box-sizing: border-box;
	padding: 2px 8px 3px;
	height: 30px;
	color: #ffffff;
	font-size: 20px;
	line-height: 1.0em;
	font-weight: bold;
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: center;
	text-align: center;
}

@media all and (max-width: 1040px) and (min-width: 749px) {

	.planTit01 {
		font-size: 1.1em;
	}
}

.planTit01_note {
	font-size: 10px;
	font-feature-settings: "palt";
}

.planFlex01 {
	display: flex;
	align-items: center;
	margin-bottom: 8px;
	gap: 8px;
}

.contBlock01 .planFlex01 {
	display: flex;
	flex-direction: column;
	/* align-items: center; */
	align-items: flex-start;
	margin-bottom: 8px;
	gap: 8px;
}

.planFlex02 {
	position: relative;
	display: flex;
	gap: 8px;
	margin-bottom: 16px;
	padding-bottom: 16px;
}

.planFlex02::after {
	content: "";
	position: absolute;
	left: -14px;
	right: -14px;
	bottom: 0;
	height: 2px;
	background-color: #8D8014;
}

.planFlex02 .box01 {
	width: 46%;
	flex-shrink: 0;
}

.planFlex02 .box02 {
	width: 52%;
	font-size: 1.3rem;
	line-height: 1.3;
}

.planFlex02 .box02 span {
	color: #8D8014;
	display: block;
	margin-top: 4px;
}

@media all and (min-width: 749px) {
	.planFlex02 .box01 {
		width: 45%;
	}

	.planFlex02 .box02 {
		width: 63%;
	}
}

@media all and (max-width: 1040px) and (min-width: 749px) {

	.planFlex02 {
		flex-direction: column;
	}

	.planFlex02 .box01 {
		width: 100%;
		font-size: 1.4rem;
	}

	.planFlex02 .box02 {
		width: 100%;
		font-size: 1.4rem;
	}

}

.txt_sticker {
	margin-top: 8px;
	font-size: 1.4rem;
	line-height: 1.3;
}

.planBtn01 {
	margin-top: 8px;
}

.planPriceFlex01 {
	display: flex;
	justify-content: center;
	gap: 16px;
	margin: 8px auto;
	font-size: 12px;
	line-height: 1.5em;
}

.planPriceFlex01 .s01 {
	font-size: 20px;
	font-weight: bold;
}

.planPrice_note {
	font-size: 10px;
	font-feature-settings: "palt";
}

/*---------------------*/

.contBlock02 {
	background-image: url("/plan/tokushu/ex/toyotomi2026/images/bg_03.webp");
	background-repeat: repeat;
	background-position: center top;
	background-size: 64px auto;
	padding: 48px 15px 64px;
}

.planTextBox01 {
	margin: 8px auto 13px;
}

.planText01 {
	margin: 12px auto 16px;
}

/*---------------------*/

.areaBlock01 {
	margin: 60px auto auto;
	padding: 0px 15px;
}

.contH301 {
	max-width: 320px;
	margin: auto auto 26px;
}

.areaBtnWrap01 li {
	margin: 16px auto;
}

.areaBtnWrap02 {
	padding-top: 16px;
	border-top: 1px solid #CCCCCC;
}

/*----------------------*/

.contH202 {
	margin: auto auto 16px;
}

.infoBlock01 {
	background-image: url("/plan/tokushu/ex/toyotomi2026/images/bg_04.webp");
	background-repeat: repeat;
	background-position: center top;
	background-size: 64px auto;
	padding: 30px 16px 35px;
}

.contLine01 {
	height: 1px;
	border-top: 1px dotted #17184B;
	margin: 32px auto;
}

.infoFlex01 {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.infoFlex01 li {
	width: 100%;
}

.infoTextBox01 {
	font-size: 12px;
	line-height: 1.5em;
	padding: 0px 16px;
	margin: 30px auto;
}



@media all and (min-width: 749px) {

	.page-wrap.wrap01 {
		padding-left: 0px;
		padding-right: 0px;
		max-width: 1200px;
	}

	.mainBlock01In {
		max-width: 960px;
		margin: auto;
		padding: 32px 0px 26px;
	}

	.contTit01 {
		margin-bottom: 16px;
		max-width: 480px;
		margin-left: auto;
		margin-right: auto;
	}

	.contBlock01 {
		background-image: url("/plan/tokushu/ex/toyotomi2026/images/bg_02.webp");
		background-repeat: repeat;
		background-position: center top;
		background-size: 64px auto;
		padding: 48px 25px;
	}

	.contH201 {
		max-width: 400px;
		margin: auto auto 30px;
	}

	.planText01 {
		text-align: center;
		margin: 18px auto 24px;
	}

	.contImgFlex01 {
		gap: 4px;
		max-width: 960px;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 24px;
	}

	.contFlex01 {
		margin-top: 24px;
		gap: 16px 1.4%;
	}

	.planBox01 {
		width: 32.4%;
	}

	.contTextBox02 {
		text-align: center;
		max-width: 960px;
		margin-left: auto;
		margin-right: auto;
	}

	.planTextBox01 {
		/* height: 50px; */
		margin: 8px auto 13px;
	}

	.planPriceFlex01 {
		display: flex;
		justify-content: center;
		gap: 14px;
		margin: auto auto 8px;
		font-size: 12px;
		line-height: 1.5em;
		letter-spacing: -0.05em;
	}

	.planPriceFlex01 .s01 {
		font-size: 20px;
		font-weight: bold;
	}

	.areaBlock01 {
		padding: 0px 0px;
		width: 640px;
	}

	.areaBtnWrap01 {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		gap: 15px;
	}

	.areaBtnWrap01 li {
		margin: 0px auto;
		width: 310px;
	}

	.areaBtnWrap01 li.li01 {
		margin-top: 15px;
	}

	.areaBtnWrap02 {
		margin-top: 30px;
		padding-top: 30px;
		border-top: 1px solid #CCCCCC;
		text-align: center;
	}

	.areaBtnWrap02 a {
		display: block;
		width: 310px;
		margin: auto;
	}

	/*-----------------*/

	.infoBlock01 {
		padding: 96px 20px;
	}

	.infoBlockIn {
		width: 720px;
		margin: auto;
	}

	.contLine01 {
		height: 1px;
		border-top: 1px dotted #17184B;
		margin: 64px auto;
	}

	.contH202 {
		margin: auto auto 16px;
		max-width: 400px;
	}

	.infoFlex01 {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 30px 4.4%;
	}

	.infoFlex01 li {
		max-width: 477px;
	}

	.contMt30 {
		margin-top: 30px;
	}

	.infoTextBox01 {
		padding: 0px;
		margin: 64px auto;
		text-align: center;
	}

	.infoTextBox01In {
		display: inline-block;
		text-align: left;
	}


}


@media all and (max-width: 1040px) and (min-width: 749px) {

	.planPriceFlex01 {
		display: flex;
		justify-content: center;
		gap: 2.4vw;
		margin: auto auto 8px;
		font-size: 1.12vw;
		line-height: 1.5em;
		letter-spacing: -0.05em;
	}

	.planPriceFlex01 .s01 {
		font-size: 1.88vw;
		font-weight: bold;
	}

	.text14_15_n {
		font-size: 1.3vw;
		line-height: 1.5em;
	}

	.planTextBox01 {
		height: 4.8vw;
	}


}



/*---*/


.intro_txt {
	font-size: 14px;
	line-height: 1.5em;
}

@media all and (min-width: 749px) {

	.intro_txt {
		font-size: 15px;
		text-align: center;
	}
}

@media all and (max-width: 1040px) and (min-width: 749px) {
	.intro_txt {
		font-size: .9em;
	}

	.planTit01_note {
		font-size: .5em;
	}

}

.sticker_img {
	max-width: 720px;
	margin: 0 auto;
	display: block;
}

/*------------------------------------------------------------------
--------------------------------------------------------------------
おすすめ
--------------------------------------------------------------------
------------------------------------------------------------------*/
.recommend__wrap {
	padding: 32px 0;
	max-width: 800px;
	margin: 0 auto;
}

.recommend__block {
	background-color: #B2A372;
	border-radius: 4px;
	padding: 8px;
}

.recommend__block--inner {
	background-color: #fff;
	border-radius: 4px;
	padding: 16px 0 64px;
	text-align: center;
	background-image: url(/plan/tokushu/ex/toyotomi2026/images/ill-left.webp), url(/plan/tokushu/ex/toyotomi2026/images/ill-right.webp);
	background-repeat: no-repeat, no-repeat;
	background-position: bottom left, bottom right;
	background-size: 118px, 213px;
}

.recommend__head {
	margin-bottom: 16px;
	position: relative;
	padding-top: 32px;
}

.recommend__head::before {
	content: "";
	width: 136px;
	height: 28px;
	background-image: url(/plan/tokushu/ex/toyotomi2026/images/obj-head02.webp);
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

.recommend__head {
	font-size: 1.2rem;
	font-weight: bold;
}

.recommend__head span {
	font-family: "Zen Old Mincho", serif;
	font-weight: 900;
	font-size: 2rem;
	line-height: 1.4;
}

.link-btn.btnB {
	background-color: #000758;
	border: 2px solid #000758;
	border-radius: 8px;
	max-width: 230px;
	padding: 10px;
	color: #fff;
	font-weight: bold;
	text-align: center;
	display: block;
	margin: 0 auto;
	position: relative;
	transition: all .5s;
}

@media screen and (min-width: 749px) {
	.link-btn.btnB:hover {
		background-color: #fff;
		color: #000758;
	}
}

.link-btn::after {
	content: '';
	display: block;
	width: 5px;
	height: 5px;
	border-top: 2px solid #ffffff;
	border-right: 2px solid #ffffff;
	transform: translateY(-50%) rotate(45deg);
	position: absolute;
	right: 16px;
	top: 50%;
}

@media screen and (min-width: 749px) {

	.recommend__wrap {
		padding: 64px 0 32px;
	}

	.recommend__block {
		border-radius: 8px;
		padding: 12px;
	}

	.recommend__block--inner {
		border-radius: 8px;
		padding: 24px 0 64px;
		background-size: 165px, 280px;
	}

	.recommend__head {
		margin-bottom: 16px;
		padding-top: 50px;
	}

	.recommend__head::before {
		width: 200px;
		height: 42px;
	}

	.recommend__head h2 {
		font-size: 1.8rem;
	}

	.recommend__head h2 span {
		font-size: 3rem;
	}

}

@media screen and (min-width: 749px) {

	.contBlock02 .planBox01 {
		width: 32.4%;
		display: flex;
		flex-direction: column;
	}

	.contBlock02 .planTextBox01 {
		margin: 8px auto;
	}

	.contBlock02 .planPriceFlex01 {
		margin: auto auto 8px;
	}

	.contBlock02 .planTextBox01 {
		margin: 8px auto;
		width: 100%;
	}

	.contBlock02 .planBtn01 {
		margin-top: 8px;
	}

}