@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap');


/*
============================================================
　春期講座　PC設定
============================================================
*/

body{
	position:relative;
	background: linear-gradient(to right,#fce9f0,#fffbeb);
}

.body_bk{
	background-image: url("../images/body_bk.webp");
	background-size:50%;
}


i.eiken_r{
	font-style:normal;
	font-size:40%;
	vertical-align: top;
}

h3 i.eiken_r{line-height: 1.4em;}

/* ---------------------------------------------------------
■ 準備中
--------------------------------------------------------- */

.preparation_box{background-color:rgba(255,255,255,.3);}

.preparation_mv{
	display:flex;flex-wrap:wrap;justify-content:center;
	background-color:rgba(255,255,255,.3);
	width:100%;
	font-size:90px;
	padding:170px 0;
}

.preparation_mv > div{
	margin:auto 0;
	font-family:lineseed,sans-serif;
	color:#003685;
	font-weight:900;
	width:100%;
	line-height:1.2em;
}

.preparation_mv > div div:nth-child(1){font-size:.8em;line-height:1.2em;}
.preparation_mv > div div:nth-child(2){font-size:1.6em;padding-top:.2em;}

.preparation_text{
	font-family:lineseed,sans-serif;
	padding: 50px 30px;
    font-size: 30px;
    line-height: 1.4em;
    font-weight: 900;
}


/* ---------------------------------------------------------
■ MV
--------------------------------------------------------- */

.header_btn{margin-left:15px;}

.header_btn a {
    position: relative;
    display:flex;
	flex-wrap: wrap;
	justify-content: center;
	gap:5px;
    font-size:16px;
	font-family: lineseed, sans-serif;
    font-weight: 700;
    letter-spacing: -0.04em;
    color: #222;
	border:2px solid #FFF000;
    background-color: #FFF000;
    border-radius:.2em;
    text-align: left;
    filter: drop-shadow(2px 2px 5px rgba(0, 0, 0, .5));
	padding: 4px 12px;
	transition:.2s;
}

.header_btn a svg {width: 20px;transition:.2s;}
.header_btn a svg path{fill:#222;transition:.2s;}
.header_btn a span {display:block;margin: auto 0;}
.header_btn a span.header_btn-img{display:none;}


@media screen and (min-width:768px) {
	.header_btn a:hover{background-color:rgba(255,255,255,0);color:#FFF000;filter: drop-shadow(2px 2px 5px rgba(0,0,0,0));}
	.header_btn a:hover svg path{fill:#FFF000;}
}

/* ---------------------------------------------------------
■ MV
--------------------------------------------------------- */

.mv_box{position: relative;z-index:7;}
.mv_box h1{line-height:0;}


/* ---------------------------------------------------------
■ 選択ボタン
--------------------------------------------------------- */
.select_area{
	position:relative;
	background-color:#fff;
}

.select_area::before{
	position: absolute;
	z-index:0;
	content:"";
	width:120vw;
	height:20vw;
	left:50%;
	bottom:-5vw;
	background-color:#fff;
	transform:translateX(-50%);
	border-radius:50%;
}

.select_box{
	padding:60px 30px 20px;
}

.select_list ul{
	margin:auto;
	max-width:1000px;
	display:flex;
	flex-wrap:wrap;
	gap:20px;
	justify-content: center;
}

.select_list ul li{
	width:calc((100% - 60px)/ 3);
}

.select_list ul li a{
	position:relative;
	display:flex;
	flex-wrap:wrap;
	width:100%;
	height:100%;
	color:#fff;
	font-family: "Zen Maru Gothic", sans-serif;
	font-size:33px;
	font-weight:900;
	letter-spacing:.05em;
	padding:25px 0 20px;
	background-color:#ff6b82;
	border:#ff6b82 4px solid;
	border-radius:20px;
	filter: drop-shadow(0 0 2px rgba(25,50,89,.55));
	transition: .2s;
}

.select_list ul li a span{display:block;width:100%;line-height:1.2em;}
.select_list ul li a span.min{font-size:60%;}
.select_list ul li a span.min.yellow{color:#fff100;}
.select_list ul li a span i{font-size:80%;font-style:normal;}
.select_list ul li a span i.big{font-size:130%;}
.select_list ul li a span:nth-child(1){margin-top:auto;}
.select_list ul li a span:nth-child(2){}
.select_list ul li a span:last-child{margin-bottom:auto;}

.select_list ul li a svg{margin:10px auto 0;width:46px;}
.select_list ul li a polyline{fill:none;stroke:#fff100;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;transition: .2s;}


.select_list ul li:nth-child(n + 4) a{background-color:#ff9bb5;border-color:#ff9bb5;}

@media screen and (min-width:768px) {
	.select_list ul li a:hover{
		background-color:rgba(255,255,255,0);
		color:#ff6b82;
		filter: drop-shadow(0 0 2px rgba(25,50,89,0));
	}
	.select_list ul li:nth-child(n + 4) a:hover{
		color:#ff9bb5;
	}
	.select_list ul li a:hover span.min.yellow{color:#ffa400;}
	.select_list ul li a:hover polyline{stroke:#ffa400;}
}



/* ---------------------------------------------------------
■ コース
--------------------------------------------------------- */

.course{
}

.course_area{
	position:relative;
	overflow:hidden;
}

.course_frame{
	position: absolute;
	z-index: 3;
}
.course_frame.top{
	top:0;
	left:0;
	width:33%;
}
.course_frame.bottom{
	bottom:0;
	right:0;
	width:40%;
}

.course_box{
	position:relative;
	z-index: 5;
	margin: auto;
	max-width:1400px;
	padding:80px 30px 20px;
}

.course_wrap{
	max-width:1400px;
	margin:0 -120px 0 auto;
	padding:80px 0;
}

.course_wrap.rtl{margin:0 auto 0 -120px;}

.course_flex{
	display:flex;
	flex-wrap:wrap;
	background-color:#fff;
	border-radius:30px;
	padding:40px 60px 0 0;
	/*background-image: radial-gradient(rgba(175,222,237,.5) 2px, #ffffff 2px);*/
	background-size: 20px 20px;
	filter: drop-shadow(0 0 6px rgba(89,25,44,.55));
}
.rtl .course_flex{flex-direction:row-reverse;padding:40px 0 0 60px;}

.course_textbox{width:45%;}
.course_imgbox{width:55%}

.course_linkbox{width:100%;}


.course_h2box{
	position:relative;
	line-height:0;
	width:100%;
	margin-left:-20px;
	border-radius:0 20px 20px 0;
    background-color: #e3007f;
}
.course_textbox h2{
	position:relative;
	z-index: 2;
	padding:16px 40px 16px 20px;
}
.course_h2box span{
	position: absolute;
	display: block;
	z-index: -1;
	width:100%;
	height:100%;
	border-radius:0 20px 20px 0;
	top:5px;
	left:5px;
	background-color: #a30061;
}
.course_h2box::after{
	content:"";
	position: absolute;
	bottom:-20px;
	left: 0;
	width:20px;
    height:20px;
	clip-path: polygon(0% 0%, 100% 100%, 100% 0%);
    background-color: #a30061;
}

.rtl .course_h2box{margin-left:auto;margin-right:-20px;border-radius:20px 0 0 20px;}
.rtl .course_h2box span{border-radius:20px 0 0 20px;left:auto;right:5px;}
.rtl .course_h2box::after{left:auto;right:0;clip-path: polygon(0% 0%, 0% 100%, 100% 0%);}



.course_main{padding: 30px 30px 0 50px;}
.rtl .course_main{padding: 30px 50px 0 30px;}

.course_main h3{
	text-align: left;
	color:#1d2088;
    font-family: lineseed, sans-serif;
    font-size: 34px;
	line-height:1.2em;
    font-weight:900;
	padding-bottom: 20px;
}

.course_text p{
	font-family: lineseed, sans-serif;
	font-size:20px;
	text-align:justify;
}

.course_linkbox{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:10px 20px;
	padding:40px 20px;
}

.course_linkbox a{
	position:relative;
	width:max(fit-content,40%);
	padding:6px 6em;
	color:#fff;
	background-color:#1d2088;
	font-family:lineseed,sans-serif;
	font-size:30px;
	font-weight:600;
	border-radius:3em;
	filter: drop-shadow(0 0 3px rgba(0,0,0,.45));
}
.course_linkbox a::before,
.course_linkbox a::after{
	content:"";
	position:absolute;
	top:50%;
	height:39%;
	width:auto;
	aspect-ratio:2 / 1;
    background:rgba(255,255,255,0);
    border:#fff 3px solid;
	transform:translateY(-50%) rotate(-90deg);
	border-top-left-radius:50px;
    border-top-right-radius:50px;
	border-bottom:none;
	transition:.2s;
}

.course_linkbox a::before{left:-8px;}
.course_linkbox a::after{right:-8px;transform:translateY(-50%) rotate(-270deg);}


@media screen and (min-width:768px) {
	.course_linkbox a:hover{
		transform: translateY(3px);
		filter: drop-shadow(0 0 0 rgba(150,120,100,0));
	}
	.course_linkbox a:hover::before{left:0px;}
	.course_linkbox a:hover::after{right:0px;}
	.course_linkbox a:hover::before,.course_linkbox a:hover::after{height:36%;}	
}

.course_link_note{
	width:100%;
	font-family:lineseed,sans-serif;
	text-align:center;font-weight:900;font-size:23px;
}


/* ---------------------------------------------------------
■ サナスタ
--------------------------------------------------------- */
.sanasta_area{
	background-color:#fff100;
}
.sanasta_box{
	background: repeating-linear-gradient(-53deg, rgba(255,255,255,.3), rgba(255,255,255,.3) 7px, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0) 16px);
}

.sanasta_wrap{
	position:relative;
	margin: auto;
	max-width:1600px;
	padding:80px 30px;
}

.sanasta_box_deco{position:absolute;z-index:10;}
.sanasta_box_deco img{border-radius:50%;}
.sanasta_box_deco.top{
	top:10%;
	right:3%;
	width:15%;
}
.sanasta_box_deco.bottom{
	bottom:-5%;
	left:3%;
	width:20%;
}

.sanasta_mv{
	margin: auto;
	max-width:1300px;
	line-height:0;
}

.sanasta_h3_box{margin:-100px auto 0;}

.sanasta_h3_box h3{
	color:#1d2088;
	font-family: lineseed, sans-serif;
	line-height:1.2em;
    font-weight:900;
	font-size:45px;
}




/* ---------------------------------------------------------
■ バナーエリア
--------------------------------------------------------- */

.bunner_area{
	background-color:#fff;
	position:relative;
}

.bunner_box{
	padding:60px 20px 80px;
}

.bunner_h2{
	padding:40px 0 25px;
}

.bunner_h2 h2{
	position:relative;
	margin: auto;
	width:fit-content;
	color:#1d2088;
	font-family: lineseed, sans-serif;
	line-height:1.2em;
    font-weight:900;
	font-size:38px;
}
.bunner_h2 h2::before,.bunner_h2 h2::after{
	content:"";
	position:absolute;
	bottom:25px;
	display:block;
	aspect-ratio:3 / 4;
	width:45px;
	height:auto;
	background-image:url("../images/title_frame.webp");
	background-repeat: no-repeat;
	background-size: contain;
}
.bunner_h2 h2::before{left:-25px;transform: scale(-1,1);}
.bunner_h2 h2::after{right:-30px;}

.bunner_box a{
	display:block;
	margin: auto;
	max-width:960px;
	line-height: 0;
	filter: drop-shadow(2px 2px 4px rgba(89,25,44,0.55));
}
@media screen and (min-width:768px) {
	.bunner_box a:hover{
		opacity:.8;
		filter: drop-shadow(0 0 4px rgba(89,25,44,0));
	}
}


/* ---------------------------------------------------------
■ 固定下部ボタン
--------------------------------------------------------- */

.fixed_area {
	position: fixed;
	z-index: 50;
	bottom: -100px;
	left: 0;
	width: 100%;
	background-color:#1d2088;
	transition: all 0.3s ease-out;
}

.fixed_area.is-active{
	bottom: 0;
}

.fixed_box {
    padding:15px 30px;
}

.fixed_btn_list {
	margin: auto;
	width:100%;
	max-width:800px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap:15px;
}

.fixed_btn_list a {
    position: relative;
    display:flex;
	flex-wrap: wrap;
	justify-content: center;
	gap:5px;
    width:calc((100% - 15px)/ 2);
    font-size: 22px;
	font-family: lineseed, sans-serif;
    font-weight: 700;
    letter-spacing: -0.04em;
    color: #222;
	border:2px solid #e7ff00;
    background-color: #e7ff00;
    border-radius: 10em;
    text-align: left;
    filter: drop-shadow(2px 2px 5px rgba(0, 0, 0, .5));
	padding:6px;
	transition:.2s;
}
.fixed_btn_list a span{display:block;margin:auto 0;}
.fixed_btn_list a svg{width:32px;}
.fixed_btn_list a svg path{fill:#222;stroke-width:0px;transition:.2s;}
.fixed_btn_list a svg rect{fill:#222;stroke-width:0px;transition:.2s;}

.fixed_btn_list a.hope_data svg{width:26px;}

@media screen and (min-width:768px) {
	.fixed_btn_list a:hover{background-color:rgba(255,255,255,0);color:#e7ff00;filter: drop-shadow(2px 2px 5px rgba(0,0,0,0));}
	.fixed_btn_list a:hover svg path{fill:#e7ff00;}
	.fixed_btn_list a:hover svg rect{fill:#e7ff00;}
}
