@charset"utf-8";

a[target^="_blank"]::after {
	display: none;
}


/*[ kv ] ------------------------------------------*/

.kv {
	padding: 10vw 0 5vw;
	background: #FFDA00 url(../img/top/mv_bg.webp);
	background-size: 80%;
}
.kv div.inner {
	background: url(../img/top/mv.webp) right center no-repeat;
	background-size: 65vw;
	min-height: 45vw;
}
.kv h1 {
	background: url(../img/top/mv_txt.webp) left center no-repeat;
	background-size: 50vw;
	min-height: 35vw;
	overflow: hidden; white-space: nowrap;
	text-indent: 100%;
}


@media screen and (min-width: 900px) {
.kv {
	padding: 5% 0 0;
	background: #FFDA00 url(../img/top/mv_bg.webp) center;
	background-size: auto;
}
.kv div.inner {
	background: url(../img/top/mv.webp) right top no-repeat;
	background-size: 65%;
	min-height: 450px;
}
.kv h1 {
	background: url(../img/top/mv_txt.webp) left bottom no-repeat;
	background-size: 50%;
	min-height: 260px;
}
.kv nav {
	background: #FA4A12;
	position: relative;
}
.kv nav:before {
	display: block;
	content: "";
	width: 100%;
	height: 1rem;
	border-radius:50% 50% 0 0 / 100% 100% 0 0 ;
background:#FA4A12;
position: absolute;
top: -0.5rem; left: 0; right: 0; margin: auto;
}
.kv nav:after {
	display: block;
	content: "";
	width: 100%;
	height: 1rem;
	border-radius:0 0 50% 50% /0 0 100% 100%;
	background: #FA4A12;
	position: absolute; z-index: -1;
bottom: -0.5rem; left: 0; right: 0; margin: auto;
}
.kv nav ul {
	display: flex;
	justify-content: space-between;
	font-weight: 700;
	color: #fff;
	width: 90%; margin: 0 auto;
	font-size: 1.5rem;
}
.kv nav ul li {
	padding: 1rem;
	letter-spacing: 0.1rem;
	position: relative;
}
.kv nav ul li strong {
	font-size: 1.75rem;
}
.kv nav ul li a {
	display: block;
	color: #fff;
	transition: all .2s;
}
.kv nav ul li a:hover {
	transform: scale(1.2);
}
}

/*[ top_attention ] ------------------------------------------*/
.top_attention {
	text-align: center;
	margin: 7.5vw auto 5vw;
}
.top_attention .box {
	padding: 5vw 2.5vw;
	border: 1px solid #FA4A12;
	border-radius: 2.5vw;
}
.top_attention a {
	display: block;
	color: #FA4A12;
}
.top_attention a:hover {
	opacity: 0.8;
}
@media screen and (min-width: 900px) {
.top_attention {
	margin: 80px auto 50px auto;
}
.top_attention .box {
	padding: 30px 20px;
	border-radius: 20px;
}
}

/*[ top_mainbtn ] ------------------------------------------*/

.top_mainbtn {
	margin: 10vw auto 5vw;
	position: relative;
}
.top_mainbtn .main-btn {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.top_mainbtn .main-btn li {
	flex-basis: 32.5%;
	margin-bottom: 5vw;
}
.top_mainbtn .main-btn li a {
	display: block;
}

.top_mainbtn .main-btn li:nth-child(4),
.top_mainbtn .main-btn li:nth-child(5) {
	flex-basis: 48.5%;
	margin-bottom: 5vw;
}
.top_mainbtn .sub-btn {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.top_mainbtn .sub-btn li {
	flex-basis: 48.5%;
	margin-bottom: 5vw;
}




@media screen and (min-width: 900px) {
.top_mainbtn {
	margin: 75px auto 25px;
}
.top_mainbtn .main-btn li {
	margin-bottom: 5%;
}
.top_mainbtn .main-btn li:nth-child(4),
.top_mainbtn .main-btn li:nth-child(5) {
	margin-bottom: 5%;
}
.top_mainbtn .sub-btn li {
	flex-basis: 48.5%;
	margin-bottom: 5%;
}
.top_mainbtn li {
	transition: all .2s;
}
.top_mainbtn li:hover {
	transform: scale(1.1);
}

}





/*[ top_news ] ------------------------------------------*/

.top_news {
	padding: 12.5vw 0 10vw;
	background: rgba(250,74,18,0.1) url(../img/top/news_bg.webp);
	background-size: 80%;
	position: relative;
}
.top_news:before {
	display: block;
	content: "";
	width: 100%;
	height: 2.5vw;
	border-radius:0 0 50% 50% /0 0 100% 100%;
background:#fff;
position: absolute;
top: 0;
	left: 0; right: 0; margin: auto;
}

.top_news h2 {
	margin: 5vw auto;
	color: #fff;
	padding: 0.25rem 0 1rem;
	background: url(../img/top/news_ttl_bg.webp) center center no-repeat;
	background-size: contain;
	font-size: 1.5rem
}
.top_news ul {
	display: flex;
	flex-wrap: wrap;
}
.top_news ul li {
	flex-basis: 100%;
	background: #fff;
	border-radius: 50% 40% 50% 30%/40% 20% 40% 70%;
	margin-bottom: 5vw;
	padding: 10vw;
	position: relative;
}
.top_news ul li:before {
	position: absolute;
	content: "";
	left: 5vw; top: 5vw;
	width: 3.5rem; height: 3.5rem;
	padding: 0.5rem;
	border-radius: 50% 50%;
	background: #333;
	color: #fff; font-weight: bold;
	white-space: pre; text-align: center;
	line-height: 1.2;
	z-index: 1;
}
.top_news ul li.kadozemi:before {
	content: "門\Aゼミ";
	background: #FA4A12
}
.top_news ul li.gionya:before {
	content: "祇園\A家";
	background: #427930
}
.top_news ul li .date {
	display: block;
	text-align: right;
	margin-bottom: 2.5vw;
	font-size: 0.9rem;
}
.top_news ul li figcaption {
	margin: 2.5vw auto;
}
.top_news ul a,
.top_news ul span {
	color: #333;
}

@media screen and (min-width: 900px) {
.top_news {
	padding: 75px 0 50px;
	background: rgba(250,74,18,0.1) url(../img/top/news_bg.webp) center;
	background-size: auto;
}
.top_news:before {
	width: 100%;
	height: 2rem;
	border-radius:0 0 50% 50% /0 0 100% 100%;
}

.top_news h2 {
	margin: 5% auto;
	padding: 0.5rem 0 1.5rem;
	font-size: 2rem
}
.top_news ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}
.top_news ul li {
	flex-basis: 32%;
	border-radius: 50% 40% 50% 30%/40% 20% 40% 60%;
	margin-bottom: 5%;
	padding: 2rem 2.5rem;
	margin-right: 2%;
	transition: all .2s;
}
.top_news ul li:nth-child(3n) {
	margin-right: 0;
}

.top_news ul li:before {
	left: 5%; top: 10%;
	width: 4rem; height: 4rem;
	padding: 0.75rem;
}
.top_news ul li .date {
	margin-bottom: 1rem;
}
.top_news ul li figcaption {
	margin: 0.5rem auto 2rem;
}
.top_news ul li:hover {
	transform: scale(1.1);
}
}





/*[ top_reason ] ------------------------------------------*/

.top_reason {
	padding: 12.5vw 0 10vw;
	background: rgba(0,98,171,0.1) url(../img/top/reason_bg.webp) left top no-repeat;
	background-size: 80%;
	position: relative;
}
.top_reason:before {
	display: block;
	content: "";
	width: 100%;
	height: 2.5vw;
	border-radius: 0 0 50% 50% / 0 0 100% 100%;
background:#fff;
position: absolute;
top: 0; z-index: 0;
	left: 0; right: 0; margin: auto;
}
.top_reason:after {
	display: block;
	content: "";
	width: 100%;
	height: 2.5vw;
	border-radius:0 0 50% 50% /0 0 100% 100%;
	background: rgba(250,74,18,0.1) url(../img/top/news_bg.webp) bottom;
	background-size: 80%;
	position: absolute;
	top: 0;
	left: 0; right: 0; margin: auto;
}

.top_reason h2 {
	margin: 5vw auto 10vw;
	font-size: 1.5rem;
	border-bottom: 1px solid #333;
}
.top_reason h2 span {
	color: #FA4A12;
}
.top_reason h2 strong {
	font-size: 2rem;
	position: relative;
}
.top_reason h2 strong:after {
	display: inline-block; 
	width: 1.5rem; height: 100%;
	content: "";
	position: absolute;
	right: -0.25rem; top: -1.25rem;
	background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 35.24 21"><g id="light" data-name="light"><g id="light-2" data-name="light-2"><path d="M4.9,4.66h2a0,0,0,0,1,0,0V18.34a1,1,0,0,1-1,1h0a1,1,0,0,1-1-1V4.66a0,0,0,0,1,0,0Z" transform="translate(-6.76 7.69) rotate(-45)" style="fill:#ffd900"/><path d="M13.9,0h2a0,0,0,0,1,0,0V15a1,1,0,0,1-1,1h0a1,1,0,0,1-1-1V0A0,0,0,0,1,13.9,0Z" style="fill:#ffd900"/><path d="M22.9,4.66h2a0,0,0,0,1,0,0V18.34a1,1,0,0,1-1,1h0a1,1,0,0,1-1-1V4.66A0,0,0,0,1,22.9,4.66Z" transform="translate(15.49 -13.38) rotate(45)" style="fill:#ffd900"/><path d="M26.9,12.66h2a0,0,0,0,1,0,0V26.34a1,1,0,0,1-1,1h0a1,1,0,0,1-1-1V12.66A0,0,0,0,1,26.9,12.66Z" transform="translate(47.9 -7.9) rotate(90)" style="fill:#ffd900"/></g></g></svg>') center center no-repeat;
	background-size: contain;
}
.top_reason ol {
	counter-reset:item;
}
.top_reason li {
	margin-bottom: 5vw;
	background: #fff;
	border-radius: 1rem 1rem 0 0;
	position: relative;
}
.top_reason li dt {
	color: #fff;
	font-size: 1.5rem;
	background: #005DAB;
	padding: 0.5rem;
	border-radius: 1rem 1rem 0 0;
	padding-left: 4.5rem;
}
.top_reason li:before {
	display: inline-block;
	text-align: center;
	counter-increment: item;
	content: counter(item);
	position: absolute;
	width: 5rem; height: 5rem;
	background: #005DAB;
	border-radius: 50% 50%;
	color: #fff; font-size: 3rem; font-weight: bold;
	left: -2.5vw; top: -0.5rem;
}
.top_reason li dd {
	padding: 2rem 1rem;
}
.top_reason li p {
	margin-bottom: 1rem;
}
.top_reason li img ~ p {
	margin-top: 1rem;
}
.top_reason li dd strong {
	color: #FA4A12;
}
.top_reason li dd span {
	color: #005DAB; font-weight: bold;
	font-size: 1.1rem;
	background:linear-gradient(transparent 70%, #ffda00 70%);
}




@media screen and (min-width: 900px) {
.top_reason {
	padding: 75px 0 50px;
	background: rgba(0,98,171,0.1) url(../img/top/reason_bg.webp) left top no-repeat;
	background-size: auto;
}
.top_reason:before {
	width: 100%;
	height: 2rem;
}
.top_reason:after {
	width: 100%;
	height: 2rem;
	background: rgba(250,74,18,0.1) url(../img/top/news_bg.webp) bottom;
	background-size: auto;
}

.top_reason h2 {
	width: 70%;
	margin: 5% auto 10%;
	font-size: 2rem;
}
.top_reason h2 strong {
	font-size: 4rem;
}
.top_reason h2 strong:after {
	width: 3rem; height: 100%;
	right: -0.75rem; top: -2.25rem;
}
.top_reason ol {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.top_reason li {
	margin-bottom: 5%;
	flex-basis: 47.5%;
}
.top_reason li dt {
	font-size: 2rem;
	padding-left: 5.5rem;
}
.top_reason li:before {
	width: 7rem; height: 7rem;
	font-size: 4.5rem; font-weight: bold;
	left: -2rem; top: -1rem; line-height: 1.4;
}
.top_reason li dd {
	padding: 3rem 2rem 1.5rem;
	font-size: 1.1rem;
}
.top_reason li p {
	margin-bottom: 1.5rem;
}
.top_reason li img {
	width: 100%;
}
.top_reason li img ~ p {
	margin-top: 1.5rem;
}
.top_reason li dd span {
	font-size: 1.5rem;
}
}




/*[ top_fees ] ------------------------------------------*/

.top_fees {
	padding: 12.5vw 0 10vw;
	background: #fff url(../img/top/fees_bg.webp) left top;
	background-size: 80%;
	position: relative;
}

.top_fees:before {
	display: block;
	content: "";
	width: 100%;
	height: 2.5vw;
	border-radius:0 0 50% 50% /0 0 100% 100%;
background:#fff;
position: absolute;
top: 0; z-index: 0;
	left: 0; right: 0; margin: auto;
}
.top_fees:after {
	display: block;
	content: "";
	width: 100%;
	height: 2.5vw;
	border-radius:0 0 50% 50% /0 0 100% 100%;
	background: #fff url(../img/top/reason_bg.webp) bottom;
	background-size: 80%;
	position: absolute;
	top: 0;
	left: 0; right: 0; margin: auto;
}

.top_fees h2 {
	margin: 5vw auto;
	font-size: 1.5rem;
}
.top_fees h2 span {
	font-size: 2rem;
	background: #ffda00;
	margin: 0 0.2rem;
	padding: 0 0.2rem;
	position: relative;
}
.top_fees h2 span::before {
position: absolute;
content: "";
width: 0.5rem;
height: 0.5rem;
border-radius: 50%;
background-color: #333;
top: -0.75rem;
left: 50%;
transform: translate(-50%, 0);
}
.top_fees p.notes {
	margin-bottom: 10vw;
	font-size: 0.9rem;
}
.top_fees .fees {
	display: flex;
	flex-wrap: wrap;
}
.top_fees .fees li {
	flex-basis: 100%;
	margin-bottom: 2rem;
	border: 1px solid #333;
	background: #fff;
}
.top_fees .fees dt {
	font-size: 1.25rem; font-weight: bold;
	background: #ffda00;
	padding: 0.5rem 0;
	border-bottom: 1px solid #333;
}
.top_fees .fees dt strong {
	position: relative;
}
.top_fees .fees li dt strong:before,
.top_fees .fees li dt strong:after {
	display: inline; 
	width: 2rem; height: 100%;
	content: "";
	position: absolute;
	 top: 0; bottom: 0; margin: auto;
}
.top_fees .fees li.elementary dt strong:before {
	left: -3rem;
	background:  url(../common/img/icon_elementary_g.svg) center center no-repeat;
	background-size: contain;
}
.top_fees .fees li.elementary dt strong:after {
	right: -3rem;
	background:  url(../common/img/icon_elementary_b.svg) center center no-repeat;
	background-size: contain;
}
.top_fees .fees li.middleschool dt strong:before {
	left: -3rem;
	background:  url(../common/img/icon_middleschool_g.svg) center center no-repeat;
	background-size: contain;
}
.top_fees .fees li.middleschool dt strong:after {
	right: -3rem;
	background:  url(../common/img/icon_middleschool_b.svg) center center no-repeat;
	background-size: contain;
}
.top_fees .fees li.highschool dt strong:before {
	left: -3rem;
	background:  url(../common/img/icon_highschool_g.svg) center center no-repeat;
	background-size: contain;
}
.top_fees .fees li.highschool dt strong:after {
	right: -3rem;
	background:  url(../common/img/icon_highschool_b.svg) center center no-repeat;
	background-size: contain;
}
.top_fees .fees dd {
	padding: 1rem;
	font-size: 1.5rem;
	line-height: 1.4;
}
.top_fees .fees dd:not(:last-child) {
	border-bottom: 1px solid #333;
}
.top_fees .fees .price {
	font-size: 1.25rem;
}
.top_fees .fees dd strong {
	font-size: 2rem;
}

.top_fees .fees .price strong {
	color: #FA4A12;
	font-size: 2.5rem;
}


@media screen and (min-width: 900px) {
.top_fees {
	padding: 75px 0 50px;
	background: #fff url(../img/top/fees_bg.webp) left top;
	background-size: auto;
}

.top_fees:before {
	width: 100%;
	height: 2rem;
}
.top_fees:after {
	width: 100%;
	height: 2rem;
	background: #fff url(../img/top/reason_bg.webp) bottom;
	background-size: auto;
}

.top_fees h2 {
	margin: 5% auto 2.5%;
	font-size: 2rem;
}
.top_fees h2 span {
	font-size: 3rem;
}

.top_fees p.notes {
	margin-bottom: 5%;
}
.top_fees .fees {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.top_fees .fees li {
	flex-basis: 32%; //3 column
//	flex-basis: 49%; //2 column
}
.top_fees .fees dt {
	font-size: 1.5rem;
	padding: 0.75rem 0;
}
.top_fees .fees dt span {
	font-size: 1rem;
}
.top_fees .fees dd {
	padding: 1rem;
	font-size: 1.5rem;
}
.top_fees .fees dd span {
	font-size: 1rem;
}
.top_fees .fees .price {
	font-size: 1.5rem;
}
.top_fees .fees dd strong {
	font-size: 2.5rem;
}
.top_fees .fees .price strong {
	font-size: 3rem;
}

}





/*[ top_map ] ------------------------------------------*/

.map-area:after {
	background: #fff url(../img/top/fees_bg.webp) bottom;
	background-size: 80%;
}


@media screen and (min-width: 900px) {
.map-area:after {
	width: 100%;
	height: 2rem;
	background: #fff url(../img/top/fees_bg.webp) bottom;
	background-size: auto;
}
}




/*[ top_movie ] ------------------------------------------*/
.top_movie {
	margin: 10vw auto 5vw;
	position: relative;
}

@media screen and (min-width: 900px) {
.top_movie {
	margin: 75px auto 25px;
}
}

