@charset "utf-8";
.plan .icon-header{
	margin-bottom : 30px;
}
/* # =================================================================
#### page-content01
# ================================================================= */
.page-content01{
	
}
.page-content01 .flex{
	position : relative;
	display : flex;
	flex-wrap : wrap;
	justify-content : space-between;
	margin-bottom : 100px;
}
.page-content01 .flex:nth-of-type(2){
	margin-bottom : 0;
}
.page-content01 .flex .box{
	position : relative;
	display : block;
	width : 48%;
	height : auto;
}
.page-content01 .flex:nth-of-type(2) .text-box{
	order : 2;
}
.page-content01 .flex:nth-of-type(2) .image-box{
	order : 1;
}
.page-content01 h3{
	position : relative;
	display : block;
	width : 100%;
	height : auto;
	color : #F25700;
	font-size : 40px;
	font-weight : 600;
	margin-bottom : 20px;
}
.page-content01 h3 span{
	color : var(--font-color);
	font-size : 20px;
}
.page-content01 h4{
	position : relative;
	display : block;
	width : 100%;
	height : auto;
	font-size : 30px;
	font-weight : 500;
	border-bottom : 2px solid var(--font-color);
	padding-left : 50px;
	margin-bottom : 30px;
}
.page-content01 h4::before{
	content : "";
	position : absolute;
	display : block;
	width : 35px;
	height : 35px;
	border-radius : 50%;
	background-color : #F25700;
	top : 10px;
	left : 0;
}
.page-content01 h4::after{
	content : "";
	position : absolute;
	display : block;
	width : 100%;
	height : 2px;
	background-color : var(--font-color);
	top : 1.6em;
	left : 0;
}
.page-content01 p{
	position : relative;
	display : block;
	width : 100%;
	height : auto;
	text-align : justify;
	font-size : 16px;
}
.page-content01 p.sp{
	position : relative;
	display : none;
	text-align : center;
	font-size : 18px;
}
.page-content01 .flex:nth-of-type(1) .text-box p{
	font-size : 18px;
	font-weight : 500;
}
.page-content01 p.small{
	font-size : 14px;
	padding-left : 1em;
	margin-bottom : 0;
}
.page-content01 p.small::before{
	content : "※";
	position : absolute;
	display : block;
	left : 0;
}
/* # =================================================================
#### page-content02
# ================================================================= */
.page-content02{
	
}
.page-content02 .image{
	position : relative;
	display : block;
	width : 100%;
	height : auto;
}
.page-content02 .image img{
	position : relative;

	width : 100%;
	height : auto;
}
.page-content02 .image img.pc{
	display : block;
}
.page-content02 .image img.sp{
	display : none;
}

.page-content02 .info{
	position : relative;
	display : block;
	width : 100%;
	height : auto;
	margin-bottom : 30px;
	padding-left : 38px;
}
.page-content02 .info p{
	position : relative;
	display : block;
	width : 100%;
	height : auto;
	line-height : 2;
	font-size : 16px;
}


/* # =================================================================
#### page-content03
# ================================================================= */
.page-content03{
	
}
.page-content03 .info{
	position : relative;
	display : block;
	width : 100%;
	height : auto;
	margin-bottom : 30px;
	padding-left : 38px;
}
.page-content03 .info p{
	position : relative;
	display : block;
	width : 100%;
	height : auto;
	line-height : 2;
	font-size : 16px;
}
.bus-map{
	position : relative;
	display : block;
	width : 800px;
	height : auto;
	margin : 50px auto 0;
}
.bus-map iframe{
	width : 100%;
	aspect-ratio : 4 / 3;
	border : none;
}


/* # =================================================================
#### page-content04
# ================================================================= */
.page-content04{
	
}
.page-content04 .flex{
	position : relative;
	display : flex;
	flex-wrap : wrap;
	justify-content : space-between;
}
.page-content04 .info{
	position : relative;
	display : block;
	width : 100%;
	height : auto;
	margin-top : 30px;
}
.page-content04 .info p{
	position : relative;
	display : block;
	width : 100%;
	height : auto;
	font-size : 16px;
}
.page-content04 .info p:last-child{
	padding-left : 1em;
	margin-bottom : 0;
}
.page-content04 .info p:last-child::before{
	content : "※";
	position : absolute;
	display : block;
	left : 0;
}
/** 高校生キャンペーンから流用 **/
.discount-price{
	position : relative;
	display : block;
	width : 47%;
	height : auto;
	border-radius : 15px;
	background-color : #FDFBBD;
	padding : 30px 30px;
}
.wp-block-group__inner-container.is-layout-constrained.wp-block-group-is-layout-constrained {
	display : flex;
	flex-wrap : wrap;
	justify-content : flex-start;
}
.discount-price .mark{
	position : relative;
	display : block;
	width : 175px;
	height : 105px;
	border-radius : 50%;
	background-color : #F25700;
}
.discount-price .mark p{
	position : absolute;
	display : flex;
	flex-direction : column;
	gap : 0;
	align-items : center;
	justify-content : center;
	top : -15px;
	right : 0;
	bottom : 0;
	left : 0;
	margin : auto auto;
	text-align : center;
	height : auto;
	line-height : 1;
	color : #FFF;
	font-size : 50px;
	font-weight : bold;
}
.discount-price .mark p span{
	position : relative;
	display : block;
	width : 100%;
	height : auto;
	color : #FFF;
	font-size : 18px;
	font-weight : 500;
}
.discount-price p.bold{
	position : relative;
	display : flex;
	flex-wrap : wrap;
	align-items : center;
	width : calc(100% - 200px);
	height : auto;
	border-radius : 0;
	background-color : transparent;
	line-height : 1;
	color : #F25700;
	font-size : 60px;
	font-weight : bold;
	padding-left : 20px;
	white-space : nowrap;
}
.discount-price p.bold span{
	position : relative;
	display : block;
	width : 100%;
	height : auto;
	color : var(--font-color);
	font-size : 25px;
}
.discount-price p.bold span.small{
	text-align : right;
	font-size : 16px;
	font-weight : normal;
}


/* # =================================================================
#### responsive
# ================================================================= */
/* # =================================================================
#### 1600px
# ================================================================= */
@media screen and (max-width: 1600px){
.discount-price{
	padding : 25px 15px;
}
.discount-price .mark{
	width : 130px;
	height : 82px;
}
.discount-price p.bold{
	width: calc(100% - 140px);
	padding-left : 0;
}
.discount-price .mark p{
	font-size : 30px;
}
.discount-price .mark p span{
	font-size : 16px;
}








}/*** 1600px ***/
/* # =================================================================
#### 1240px
# ================================================================= */
@media screen and (max-width: 1240px){

}/*** 1240px ***/
/* # =================================================================
#### 1024px
# ================================================================= */
@media screen and (max-width: 1024px){
.page-content01 .flex:nth-child(1) h3{
	font-size : 30px;
}
}/*** 1024px ***/
/* # =================================================================
#### 896px
# ================================================================= */
@media screen and (max-width: 896px){
/* # =================================================================
#### page-content01
# ================================================================= */
/***** .page-content01 .flex:nth-child(1) *****/
.page-content01 .flex:nth-child(1){
	display : grid;
	grid-template-columns : 330px 1fr;
}
.page-content01 .flex:nth-child(1) .box:nth-child(1),
.page-content01 .flex:nth-child(1) .box:nth-child(2){
	width : 100%;
}
.page-content01 .flex:nth-child(1) h3{
	font-size : 26px;
	position : absolute;
	display : flex;
	align-items : center;
	top : 0;
	right : auto;
	bottom : 0;
	left : 0;
	margin : auto auto;
}
.page-content01 .flex:nth-of-type(1) .text-box p{
	display : none;
}
.page-content01 p.sp{
	display : block;
	grid-column : 1 / 3;
	margin-top : 30px;
}
/***** .page-content01 .flex:nth-child(2) *****/
.page-content01 .flex:nth-child(2) .box{
	width : 100%;
}
.page-content01 .flex:nth-child(2) .box.image-box{
	margin-bottom : 30px;
}
.page-content01 .flex:nth-child(2) h3{
	font-size : 30px;
}
.page-content01 h4{
	font-size : 26px;
	border-bottom : none;
	margin-bottom : 15px;
	padding-left : 1em;
}
.page-content01 h4 br{
	display : none;
}
.page-content01 h4::before{
	width : 20px;
	height : 20px;
	top : 12px;
}
.page-content01 h4::after{
	content : none;
}

/* # =================================================================
#### page-content02 03
# ================================================================= */
.page-content02 .info,
.page-content03 .info{
	padding-left : 0;
}
.bus-map{
	width : 90%;
}

/* # =================================================================
#### page-content04
# ================================================================= */
.discount-price{
	width : 450px;
	margin : 0 auto;
}
.discount-price:nth-child(1){
	margin-bottom : 30px;
}



}/*** 896px ***/
/* # =================================================================
#### 600px
# ================================================================= */
@media screen and (max-width: 600px){
/* # =================================================================
#### page-content01
# ================================================================= */
/***** .page-content01 .flex:nth-child(1) *****/
.page-content01 .flex:nth-child(1){
	display : grid;
	grid-template-columns : 295px 1fr;
}
.page-content01 .flex:nth-child(1) h3{
	font-size : 24px;
}
.page-content01 p.sp{
	font-size : 16px;
}
/***** .page-content01 .flex:nth-child(2) *****/
.page-content01 .flex:nth-child(2) h3{
	font-size : 24px;
}
.page-content01 h3 span{
	font-size : 14px;
}
.page-content01 h4{
	font-size : 20px;
}
.page-content01 h4::before {
	width : 14px;
	height : 14px;
	top : 11px;
}
/* # =================================================================
#### page-content02 03
# ================================================================= */
.page-content02 .image img.pc{
	display : none;
}
.page-content02 .image img.sp{
	display : block;
}


}/*** 600px ***/
/* # =================================================================
#### 480px
# ================================================================= */
@media screen and (max-width: 480px){
/* # =================================================================
#### page-content01
# ================================================================= */
.page-content01 .flex:nth-child(1){
	display : grid;
	grid-template-columns : 225px 1fr;
}
.page-content01 .flex:nth-child(1) h3 {
	font-size : 18px;
}
.page-content01 p.sp{
	font-size : 14px;
}
.page-content02 .icon-header h3{
	font-size : 18px;
}
/* # =================================================================
#### page-content04
# ================================================================= */
.discount-price{
	width : 100%;
}
.discount-price .mark{
	width : 100px;
	height : 65px;
}
.discount-price .mark p span{
	font-size : 12px;
}
.discount-price p.bold {
	width : calc(100% - 110px);
}
.discount-price p.bold{
	font-size : 40px;
}
.discount-price p.bold span{
	font-sie : 18px;
}
.discount-price p.bold span.small{
	font-size : 14px;
}









}/*** 480px ***/
/* # =================================================================
#### 320px
# ================================================================= */
@media screen and (max-width: 320px){

}/*** 320px ***/