@charset "utf-8";
/* CSS Document */
html{scroll-behavior: smooth;}
body {
	font-family:"Zen Kaku Gothic New","游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック";
	font-size:15px;
	line-height: 1.5;
	font-weight: 700;
	color: #000000;
	text-align: justify;

}
*{vertical-align: top; box-sizing: border-box; word-break: break-all;}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

#wrapper {
	/*display: flex;*/
	width: 100%;
	background: #fff no-repeat center top;
	overflow: hidden;
	height: auto;
}


h1,h2,h3,h4,h5,.midashi{
	font-family: "toppan-bunkyu-midashi-go-std", sans-serif;
		font-weight: 900;
		font-style: normal;
}
p{
	font-size: 16px;
	line-height: 1.87;
}

.br_ipad {display: none;}
.br_sp{display: none;}

.img_sp{display: none;}

a:hover{opacity: 0.7;}

.click_none{
	cursor:default;
	background: #1f1e41!important;
	color: #4d4b7f!important;
	pointer-events: none;
}
.click_none:hover {opacity: 1;}

.click_none2{
	cursor: default;
	opacity: 0.5;
	pointer-events: none;
}
.click_none2:hover {opacity: 1;}

@media screen and (max-width: 1024px) {
	div#wrapper {width: 100%!important; display: block;}
	.br_ipad {display: block;}
}

@media screen and (max-width: 750px) {
	.br_sp {display: block;}
	.img_pc{display: none;}
	.img_sp{display: block;}
}

/********************************

#mv

********************************/

#mv img{width: 100%;}

/********************************

#message

********************************/

#message{
	text-align: center;
	background: url(../img/bg_sora.jpg)top center no-repeat;
	background-size: cover;
	color: #ffffff;
	padding: 120px 0 100px;
}
#message h2{
	font-size: 40px;
	margin-bottom: 35px;
}

@media screen and (max-width: 1000px) {
	#message h2{}
}

@media screen and (max-width: 750px) {
	#message{padding: 90px 0 70px;}
	#message h2 {
		font-size: 30px;
		margin-bottom: 25px;
	}
	#message p{
		width: 90%;
		margin: 0 auto;
		font-size: 15px;
	}
}

/********************************

#charm

********************************/

#charm{

	background: url(../img/pattern_01.jpg)top left/120px repeat-x,url(../img/pattern_01.jpg)bottom left/120px repeat-x,url(../img/blue_bg.jpg)top center repeat;
	padding: 120px 0;
}

#charm>div{
	width: 1200px;
	max-width: 90%;
	margin: 0 auto;
	text-align: center;
}

.charm_ttl{
	border-top: 2px solid #e8ca69;
	border-bottom: 2px solid #e8ca69;
	box-sizing: border-box;
	padding: 18px 10px 20px;
	margin-bottom: 72px;
	position: relative;
}

.charm_ttl::before,
.charm_ttl::after {
	content: "";
	background: url(../img/ttl_kazari01.png)top center no-repeat;
	background-size: contain;
	display: block;
	width: 68px;
	height: 25px;
	position: absolute;
	transform: translateY(-50%);
}

.charm_ttl::before {
	right: calc(50% + -34px);
	top: -1px;
}

.charm_ttl::after {
	left: calc(50% + -34px);
	bottom: -26px;
}

#charm h2{
	color: #e8ca69;
	font-size: 35px;
}

#charm ul {
	display: flex;
	gap: 20px;
}


/*タイトル01*/
#charm .charm_box1{
	position: relative;
	margin-bottom: 90px;
}
#charm .charm_box1::before{
	content: "";
	background: url(../img/charm_ttl02.png)top center no-repeat;
	background-size: contain;
	display: block;
	width: 403px;
	height: 77px;
	position: absolute;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
}

/*タイトル02*/
#charm .charm_box2 {position: relative;}
#charm .charm_box2::before {
	content: "";
	background: url(../img/charm_ttl03.png)top center no-repeat;
	background-size: contain;
	display: block;
	width: 336px;
	height: 77px;
	position: absolute;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
}

#charm ul li{width: 50%;}

#charm ul div {
	background: #ffffff;
	padding: 60px 60px 0;
	min-height: 400px;
	position: relative;
}
#charm ul span{
	display: block;
	margin-bottom: 24px;
}

#charm h3{
	color: #2a2772;
	font-size: 24px;
	margin-bottom: 16px;
}
#charm p {text-align: justify;}

#charm em{
	font-size: 12px;
	font-weight: bold;
	color: #28266e;
	display: block;
	text-align: right;
	padding: 0 15px 12px;
	background: #ffffff;
}
#charm ul div i{
	font-style: inherit;
	font-size: 12px;
	display: block;
	text-align: right;
	position: absolute;
	right: 17px;
	bottom: 5px;
	color: #28266e;
}

	#charm em::after{
	content: "";
	background: url(../img/icon.png)top 2px right no-repeat #ffffff;
	background-size: 16px;
	display: inline-block;
	margin-left: 10px;
	width: 16px;
	height: 17px;
	vertical-align: bottom;

}

#charm li>img{width: 100%;}

.charm_inner1 span img{ width: 188px; }
.charm_inner2 span img{ width: 274px; }
.charm_inner3 span img{ width: 240px; }
.charm_inner4 span img{ width: 235px; }

@media screen and (max-width: 1000px) {

	#charm .charm_box1::before {
		content: "";
		width: 303px;
		height: 57px;
	}
	#charm .charm_box2::before {
		content: "";
		width: 253px;
		height: 57px;
	}

	.charm_ttl{margin-bottom: 54px;}

	#charm ul div{
		padding: 40px 20px 0;
		min-height: 340px;
	}
	#charm h3{
		font-size: 18px;
		margin-bottom: 8px;
	}

	#charm ul span{margin-bottom: 18px;}
	.charm_inner1 span img {width: 157px;}
	.charm_inner2 span img {width: 229px;}
	.charm_inner3 span img {width: 200px;}
	.charm_inner4 span img {width: 196px;}
}

@media screen and (max-width: 750px) {

	#charm .charm_box1{margin-bottom: 70px;}
	#charm .charm_box1::before{
		content: "";
		width: 260px;
	}
	#charm .charm_box2::before {
		content: "";
		width: 220px;
	}

	#charm{padding: 90px 0;}
	#charm h2{font-size: 25px;}

	#charm ul {display: block;}
	#charm ul li{width: 100%; margin-bottom: 20px;}
	#charm ul div {
		padding: 30px 18px 0;
		min-height: 300px;
	}

	#charm .charm_inner1 div,
	#charm .charm_inner3 div {padding: 40px 18px 0;}

	.charm_inner1 span img {width: 116px;}
	.charm_inner2 span img {width: 169px;}
	.charm_inner3 span img {width: 148px;}
	.charm_inner4 span img {width: 145px;}

}

/********************************

#model_course

********************************/

#model_course{margin: 110px auto 120px;}

#model_course h2{
	font-size: 35px;
	color: #2b2976;
	line-height: 1.3;
	text-align: center;
	margin-bottom: 73px;
}
#model_course h2 span{
	font-size: 20px;
	color: #ffffff;
	background: #2b2976;
	display: inline-block;
	line-height: 1.5;
	padding: 0px 8px;
}

#model_course img{width: 100%;}

#model_course .number{
	width: 83px;
	position: absolute;
	top: 16px;
	left: 50%;
	transform: translate(-50%, -50%);
}

#model_course ul{
	width: 1200px;
	max-width: 90%;
	display: flex;
	gap: 110px 20px;
	justify-content: center;
	flex-wrap: wrap;
	margin: 0 auto;
}

#model_course li{
	width: 32%;
	background: url(../img/pattern_02.jpg)top center repeat;
	padding: 70px 20px 20px;
	text-align: center;
	min-height: 480px;
	position: relative;
}

#model_course li::before{
	content: "";
	background: url(../img/icon_bg.png)top center/114px repeat;
	width: 114px;
	height: 40px;
	position: absolute;
	top: -19px;
	left: 50%;
	transform: translate(-50%, -50%);
}

#model_course h4{
	color: #2b2976;
	font-size: 22px;
	margin: 16px 0 5px;
	letter-spacing: 0.07em;
	font-feature-settings: "palt";
	text-align: left;
}

#model_course p{
	font-size: 15px;
	line-height: 1.6;
	text-align: left;
}
#model_course a{
	background: #2b2976;
	color: #ffffff;
	padding: 16px 30px;
	border-radius: 30px;
	text-decoration: none;
	display: inline-block;
	width: 220px;
	text-align: center;
	position: absolute;
	left: 50%;
	transform: translate(-50%, -50%);
	bottom: -54px;
}

@media screen and (max-width: 1200px) {
	#model_course li{width: 31%;}
}

@media screen and (max-width: 1000px) {
	#model_course li {width: 48%;}
}

@media screen and (max-width: 750px) {

	#model_course{margin: 60px auto 80px;}
	#model_course h2{font-size: 25px;}
	#model_course h2 span{font-size: 16px;}

	#model_course ul {display: block;}
	#model_course li{
		width: 100%;
		margin-bottom: 80px;
	}
	#model_course li:last-child{margin-bottom: 0;}

}


/********************************

#campaign

********************************/

#campaign{
	text-align: center;
	background: #eaf6fd;
	padding: 100px 0;
}

#campaign h2{
	font-size: 32px;
	line-height: 1.56;
	margin-bottom: 20px;
	color: #2b2976;
}

#campaign>div{
	width: 1200px;
	margin: 0 auto;
	max-width: 90%;
}

#campaign .cp_inner{
	background: #fffeea;
	border: 3px solid #2b2976;
	box-sizing: border-box;
	width: 1100px;
	max-width: 90%;
	margin: 0 auto;
	padding: 70px 50px 60px;
	position: relative;
}

#campaign .cp_inner::before{
	content: "";
	background: url(../img/cp_icon.png)top center/contain no-repeat;
	width: 26%;
	height: 247px;
	position: absolute;
	top: -44px;
	right: -54px;
}

.cp_inner h3{margin-bottom: 30px;}
.cp_inner h3 img{width: 70%;}
.cp_inner>img {width: 96%;}

.cp_inner .taisho {
	border-top: 1px solid #2b2976;
	border-bottom: 1px solid #2b2976;
	box-sizing: border-box;
	text-align: left;
	margin-bottom: 20px;
	background: #fff;
	color: #35318f;
	font-size: 18px;
	display: flex;
}
.cp_inner .taisho span{
	padding: 10px;
	display: inline-block;
	border-right: 1px solid #35318f;
	padding: 7px 10px 8px;
	text-align: center;
	width: 18%;
}
.cp_inner .taisho i{
	font-style: inherit;
	color: #e60012;
}
.cp_inner .taisho em{
	padding: 7px 10px 7px 30px;
	display: inline-block;
	font-weight: 700;
}

.cp_inner>p{
	color: #35318f;
	margin: 14px auto 40px;
}

.cp_inner ul{
	display: flex;
	gap: 40px;
}
.cp_inner ul li{width: 50%;}
.cp_inner ul li:first-child span{
	font-size: 24px;
	background: #e95513;
	padding: 2px 14px 4px;
	color: #ffffff;
	display: inline-block;
	margin-bottom: 10px;
}
.cp_inner ul li:first-child h4 {
	color: #e95513;
	font-size: 20px;
	margin-bottom: 15px;
}
.cp_inner ul li:first-child img{width: 100%;}

.cp_inner ul li:last-child img{
	width: 50%;
	height: 130px;
	object-fit: contain;
}
.cp_inner ul li:last-child>div{
	display: flex;
	margin-bottom: 20px;
	justify-content: space-between;
}
.cp_inner ul li:last-child div:last-child{margin-bottom: 0;}
.cp_inner ul li:last-child div div{
	text-align: left;
	margin-right: 20px;
}
.cp_inner ul li:last-child span{
	font-size: 18px;
	background: #35318f;
	padding: 2px 14px 4px;
	color: #ffffff;
	display: inline-block;
	margin-bottom: 10px;
}
.cp_inner ul li:last-child h4 {color: #2b2976;}

.cp_inner2,.cp_inner3{
	background: #ffffff;
	border: 3px solid #2b2976;
	box-sizing: border-box;
	width: 1100px;
	max-width: 90%;
	margin: 0 auto;
	padding: 0 50px 40px;
	margin-top: -3px;
}
.cp_inner2>span,
.cp_inner3>span{
	font-size: 20px;
	color: #ffffff;
	background: #2b2976;
	padding: 6px 50px 10px;
	display: inline-block;
	margin: 0 auto;
}
.cp_inner2 p,
.cp_inner3 p{
	text-align: left;
	margin-top: 30px;
}

.cp_inner2 ul{
	display: flex;
	flex-wrap: wrap;
	margin-top: 46px;
}
.cp_inner2 ul li{
	width: 25%;
	border-right: 3px solid #2b2976;
	padding: 0 20px 20px;
	position: relative;
}
.cp_inner2 ul li::before{
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 7px solid transparent;
	border-bottom: 7px solid transparent;
	border-left: 8px solid #2b2976;
	border-right: 0;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.cp_inner2 ul li:first-child::before {display: none;}

.cp_inner2 ul li:last-child{border-right: none;}
.cp_inner2 li img{width: 100%;}
.cp_inner2 ul span{
	font-size: 14px;
	background: #2b2976;
	color: #ffffff;
	border-radius: 17px;
	padding: 6px 10px 7px;
	width: 100px;
	display: block;
	margin: 0 auto 20px;
}

.cp_inner2 li div{margin-top: 6px;}
.cp_inner2 li div p{margin: 4px auto 12px;}

.cp_inner2 ul p{
	font-size: 10px;
	color: #2b2976;
}

.cp_inner2 a{
	text-decoration: none;
	/*border: 1px solid #2b2976;
	background: #eaf6fd;
	color: #2b2976;*/
	
	border: 1px solid #999999;
	background: #f7f7f7;
	color: #aaaaaa;
	font-size: 13px;
	border-radius: 17px;
	padding: 4px 5px 5px;
	width: 150px;
	display: inline-block;
	pointer-events: none;
}

.cp_inner>span{
	color: #35318f;
	display: block;
	background: #dec497;
	border-top: 1px solid #35318f;
	border-bottom: 1px solid #35318f;
	box-sizing: border-box;
	padding: 10px;
	margin: 30px auto 0;
}

.cp_inner3 a{color: #000000;}

@media screen and (max-width: 1200px) {
	.cp_inner2{padding: 0 10px 40px;}
}

@media screen and (max-width: 1000px) {

	#campaign .cp_inner{padding: 70px 50px 60px;}
	.cp_inner h3 img{width: 88%;}

	.cp_inner .taisho{font-size: 16px;}
	.cp_inner .taisho span{width: 22%;}
	.cp_inner .taisho em{padding: 7px 10px 7px 16px;}

	.cp_inner ul{display: block;}
	.cp_inner ul li{
		width: 100%;
		margin-bottom: 30px;
	}

	.cp_inner ul li:last-child{margin-bottom:0;}
	.cp_inner ul li:last-child img{width: auto;}

	.cp_inner2 {padding: 0 40px 40px;}
	.cp_inner2 ul li {width: 49%;}
	.cp_inner2 ul li:nth-child(even){border-right: none;}
	.cp_inner2 ul li:nth-child(n+3){padding-top: 20px;}/*3番目以降（＝先頭2つ以外）に効く*/
	.cp_inner2 ul li:nth-last-child(n+3){border-bottom: 3px solid #2b2976;}/*「最後の2つ以外」に効かせたいとき*/

	.cp_inner2 ul li:nth-child(3)::before{display: none;}

}

@media (min-width: 750px) {
	.cp_inner3 a[href^="tel:"] {
		pointer-events: none;
		cursor: default;
	}
}

@media screen and (max-width: 750px) {

	#campaign{padding: 60px 0;}
	#campaign h2{
		font-size: 25px;
		line-height: 1.46;
	}

	.cp_inner .taisho{display: block;}
	.cp_inner .taisho span{
		border-right: none;
		border-bottom: 1px solid #35318f;
		display: block;
		width: 100%;
	}

	#campaign .cp_inner{
		padding: 40px 20px 30px;
		max-width: 100%;
	}
	#campaign .cp_inner::before {
		width: 34%;
		height: 120px;
		top: -25px;
		right: -22px;
	}
	.cp_inner h3{margin-bottom: 26px;}
	.cp_inner h3 img {
		margin: 0 auto;
		width: 82%;
	}
	.cp_inner>img{
		width: 74%;
		margin: 0 auto;
	}
	.cp_inner>p{
		margin: 18px auto 20px;
		text-align: left;
		font-size: 13px;
	}

	.cp_inner ul li:first-child span{font-size: 20px;}
	.cp_inner ul li:first-child h4{font-size: 18px;}

	.cp_inner ul li:last-child div{display: block;}
	.cp_inner ul li:last-child div div{
		text-align: center;
		margin: 0 auto 10px;
	}
	.cp_inner ul li:last-child span{font-size: 16px;}

	.cp_inner2,.cp_inner3{
		padding: 0 26px 30px;
		max-width: 100%;
	}

	.cp_inner2>span,
	.cp_inner3>span {padding: 6px 20px 10px;}

	.cp_inner2 ul{
		display: block;
		margin-top: 0;
	}
	.cp_inner2 ul li{
		width: 100%;
		border-right: none;
		padding: 30px 20px 20px;
		border-bottom: 3px solid #2b2976;
	}
	.cp_inner2 li img{width: 80%;}

	.cp_inner2 ul li:last-child{border-bottom: none;}
	.cp_inner2 ul li::before{
		content: "";
		border-right: 7px solid transparent;
		border-left: 7px solid transparent;
		border-top: 8px solid #2b2976;
		border-bottom: 0;
		position: absolute;
		left: 50%;
		top: 0;
		transform: translateX(-50%);
	}
	.cp_inner2 ul li:nth-child(3)::before {display: block;}

	.cp_inner>span {text-align: justify;}

}

/********************************

bnr

********************************/

#bnr{
	background: #e8ca69;
	padding: 60px 0 50px;
}

#bnr h5{
	font-size: 22px;
	color: #2b2976;
	display: block;
	text-align: center;
	margin-bottom: 36px;
}
#bnr h5::before{
	content:"";
	width: 32px;
	height: 3px;
	background: #2b2976;
	display: inline-block;
	vertical-align: 6px;
	margin-right: 20px;
}
#bnr h5::after {
	content: "";
	width: 32px;
	height: 3px;
	background: #2b2976;
	display: inline-block;
	vertical-align: 6px;
	margin-left: 20px;
}

#bnr div{
	width: 1100px;
	max-width: 90%;
	margin: 0 auto 30px;
	display: flex;
	gap: 10px;
	justify-content: center;
}

#bnr div a{
	background: #2b2976;
	color: #fff;
	text-decoration: none;
	width: 260px;
	text-align: center;
	padding: 16px 30px;
	border-radius: 30px;
}

#bnr ul{
	display: flex;
	gap: 10px;
	width: 1100px;
	max-width: 90%;
	margin: 0 auto;
}
#bnr li{width: 20%;}
#bnr a {display: block;}
#bnr img{width: 100%;}

@media screen and (max-width: 1000px) {
	#bnr ul{
		flex-wrap: wrap;
		justify-content: center;
	}
	#bnr li{width: 25%;}
}

@media screen and (max-width: 750px) {
	#bnr h5 {
		width: 100%;
		margin: 0 auto 30px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}
	#bnr li{width: 48%;}
	#bnr div a{width: 48%;}
}

/********************************

footer

********************************/

footer{
	background: #35318f;
	text-align: center;
	padding: 100px 0 24px;
	font-size: 13px;
	width: 100%;
	color: #ffffff;
}
footer .midashi{
	font-size: 40px;
	margin-bottom: 30px;
}
footer a{
	display: inline-block;
	margin-bottom: 8px;
}
footer span{display: block;}

@media screen and (max-width: 1000px) {
	footer {padding: 70px 0 20px;}
	footer .midashi {font-size: 30px;}
}

@media screen and (max-width: 750px) {
	footer{padding: 40px 0 20px;}
	footer .midashi{
		line-height: 1.6;
		font-size: 26px;
		margin-bottom: 16px;
	}
}


/********************************

shuryo_txt

********************************/

.shuryo_txt{
	margin-bottom: 50px;
}

.shuryo_txt h5{
	font-size: 36px;
	color: #e60012;
	margin-bottom: 20px;
}
.shuryo_txt p{
	font-size: 22px;
	color: #000000;	
}

@media screen and (max-width: 750px) {
	.shuryo_txt{margin: 10px auto 40px;}
	.shuryo_txt h5{
		font-size: 25px;
		line-height: 1.46;
	}
	.shuryo_txt p{
		font-size: 15px;
		line-height: 1.6;
	}
}



