@charset "utf-8";

/* HOME
-------------------------------------------------------------------*/
/*.mv{
	padding:0 0 40px 0;
}*/

.merit{
	padding:40px 20px;
	background:#FBEDEC;
}

.application{
	position:relative;
}

.application .tit{
	line-height:0;
}

.application .btn{
	position:absolute;
	bottom:14%;
	left:0;
	right:0;
	max-width:90%;
	margin:0 auto;
}

.application .btn a,
.f-btn a{
	position: relative;
	display:block;
}

.application .btn a:after,
.f-btn a:after{
	content:"";
	border-radius:15px;
	background:#922E1B;
	width:100%;
	height:30px;
	position:absolute;
	left:0;
	right:0;
	bottom:4px;
}

.f-btn a:after{
	bottom:-5px;
}

.application .btn a .on,
.f-btn a .on{
	position: relative;
	z-index:3;
	transition: all 0.3s;
}

.application .btn a:hover .on,
.f-btn a:hover .on{
	top:2px;
}

.pop .m-txt{
	text-align:center;
	margin:10px 0 0 0;
}

.pop .m-txt span{
	font-size:13px;
	cursor: pointer;
	user-select: none;
	display: inline-block;
	text-decoration:underline;
	color:#945D38;
	font-weight:700;
}

.pop .pop-content {
	display: flex;
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0, 0, 0, 0.6);
	z-index: 9999;
	justify-content: center;
	align-items: center;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

.pop .pop-content.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.pop-body {
	position: relative;
	background-color: #fff;
	padding: 30px 25px 25px;
	width: 90%;
	max-width: 600px;
	max-height: 80vh;
	overflow-y: auto;
	border-radius: 8px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
	box-sizing: border-box;
	transform: scale(0.95);
	transition: transform 0.3s ease;
	text-align:left;
}

.pop .pop-content.is-open .pop-body {
	transform: scale(1);
}

.pop-close {
	position: absolute;
	top: 10px;
	right: 15px;
	background: none;
	border: none;
	font-size: 24px;
	cursor: pointer;
	color: #666;
	line-height: 1;
	padding: 5px;
}

.pop-close:hover {
	color: #000;
}

.pop-body{
	font-size:14px;
}

.pop-body .m-tit{
	font-size:16px;
	padding:0 0 10px 0;
}

.pop-body ul li{
	padding:0 0 0 15px;
	position:relative;
	margin:0 0 5px 0;
}

.pop-body ul li:after{
	content:"・";
	position:absolute;
	left:0;
	top:0;
}

.mokuji{
	border-radius: 4px;
	background: #fff;
	border: 1px solid #f5c7b0;
	padding:40px 20px;
	margin:40px 0;
}

.mokuji .tit{
	font-size:20px;
	color:#FFA440;
	text-align:center;
	padding:0 0 5px 0;
}

.mokuji ul li{
	padding:5px 0 0 0;
}

.mokuji ul li a{
	position:relative;
	display:inline-block;
	font-size:16px;
	padding:0 0 0 27px;
	background: url(../img/top/mokuji-arrow.png) no-repeat left 3px / 19px;
}

.mokuji ul li a span{
	text-decoration:underline;
	display:inline-block;
}

.merit .box{
	text-align:center;
}

.merit .box ul li{
	padding:25px 0 0 0;
}

.voice{
	padding:40px 20px;
	background:#FAE6DC;
	text-align:center;
}

.voice .box h2{
	line-height:0;
	margin:0 0 -10px 0;
}

.voice .box ul li{
	padding:25px 0 0 0;
}

.teacher{
	background:#FBEDEC;
}

.teacher .box h2{
	padding:40px 20px 200px 20px;
	background:#FAE6DC;
}

.teacher .box .box-in{
	padding:50px 0 40px 0;
	border-radius: 120px 120px 72px 72px;
	background: #fdf5e7;
	position:relative;
	margin-top:-140px;
}

.teacher .slide-ico{
	margin-top:-90px;
	padding:30px 20px 0 20px;
}

.teacher .slide-ico li{
	cursor:pointer;
	position:relative;
	line-height:0;
}

.teacher .slide-ico li:after{
	content:"";
	background:#000;
	border-radius:50%;
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	opacity:0.25;
	transition: all 0.3s;
}

.teacher .slide-ico li.swiper-slide-thumb-active:after{
	opacity: 0;
}

.teacher .slide-ico li:nth-child(2),
.teacher .slide-ico li:nth-child(3){
	margin-top:-30px;
}

.teacher .slider{
	padding:0 20px;
}

.teacher .swiper-button-prev::after,
.teacher .swiper-button-next::after {
	display: none;
}


.teacher .swiper-button-prev {
	background-image: url("../img/top/slide-arrow.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	width: 30px;
	height: 30px;
	left:5px;
	transform: rotate(180deg);
}


.teacher .swiper-button-next {
	background-image: url("../img/top/slide-arrow.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	width: 30px;
	height: 30px;
	right:5px;
}

.lesson{
	background: #FBEDEC;
	padding:0 20px 40px 20px;
	text-align:center;
}

.lesson .box .kome{
	font-size:12px;
	padding:10px 0 0 0;
	font-weight:700;
}

.lesson .box .more-btn {
	margin: 5px auto 0;
	position: relative;
	cursor: pointer;
	max-width: 310px;
	display: inline-block;
}

.lesson .box .more-btn img.on {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.lesson .box .more-btn.is-open img.on {
	opacity: 1;
}

@media (hover: hover) {
	.lesson .box .more-btn:not(.is-open):hover img.on {
		opacity: 1;
	}
}

.lesson .box .more-content {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.4s ease;
	position: relative;
}
.lesson .box .more-content .txt{
	position:relative;
	z-index:2;
}

.lesson .box .care{
	padding:20px 10px 10px 10px;
	position:relative;
	z-index:2;
}

.lesson .box .box-in{
	padding:5px 20px 20px 20px;
	position:relative;
	z-index:2;
}

.lesson .box .box-in .time{
	padding:20px 0 0 0;
}

.lesson .box .more-content .bg{
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	top:20px;
	background:#FAEFD1;
	border-radius:30px;
}

.on-line{
	background:#FDF5E7;
	padding:40px 20px;
}

.on-line .box h2{
	background:#fff;
	border-radius:80px;
	color: #f85777;
	font-weight:700;
	font-size:18px;
	padding:10px;
	margin:0 0 20px 0;
	text-align:center;
}

.on-line .box .txt{
	padding:0 0 10px 0;
}

.on-line .box .kome{
	padding:0 0 15px 0;
}

.on-line .box .kome > li{
	padding-left:1em;
	text-indent:-1em;
	font-size:13px;
	margin:0 0 8px 0;
}

.flow .txt{
	padding:10px;
}

.faq h2{
	line-height:0;
}

.faq .box{
	padding:0 20px 40px 20px;
	color:#864921;
}

.faq .box .box-in{
	padding:20px 0 0 0;
}

.faq .box .box-in h3{
	font-size: 18px;
	background: url(../img/top/faq-ico.png) no-repeat left center / 41px auto;
	padding: 3px 0 3px 45px;
	font-weight: 700;
	margin:0 0 10px 0;
}

.faq .box .box-in dl{
	font-size: 15px;
	padding: 16px;
	background: #FBEDEC;
	border-radius: 10px;
}

.faq .box .box-in dl:nth-of-type(n+2) {
    margin-top: 8px;
}

.faq .box .box-in dl dt{
	font-weight: 700;
    background: url(../img/top/faq-q.png) no-repeat left top 3px / 26px auto;
    padding: 3px 24px 3px 34px;
    position: relative;
    cursor: pointer;
}

.faq .box .box-in dl dd{
    border-top: 2px dotted #fff;
    margin-top: 16px;
    padding-top: 8px;
    display: none;
}

.faq .box .box-in dl dd span{
	font-size:13px;
}

.faq .box .box-in dl dd a{
	text-decoration:underline;
	color: #864921;
}

.accordion-title:before {
	position: absolute;
	content: "";
	top:15px;
	right:0;
	height: 2px;
	width: 12px;
	background: #864921;
	transform: rotate(90deg);
	transition: all .3s ease-in-out;
	z-index:9;
}
.accordion-title:after {
	position: absolute;
	content: "";
	top:15px;
	right:0;
	height: 2px;
	width: 12px;
	background: #864921;
	transition: all .3s ease-in-out;
}

.accordion-title.open:before {
	transform: rotate(180deg);
}

.present{
	background: url(../img/top/present-bg.webp);
	text-align:center;
}

.present .box{
	padding:0 20px 40px 20px;
}

.present .box .txt{
	color:#864921;
	font-weight:700;
	padding:10px 0 0 0;
}

.present .box ul li{
	padding:30px 0 0 0;
	line-height:0;
}










