﻿@charset "utf-8";

header .solo {
	position: absolute;
	left: 0;
}
header .solo h1 {
	margin: 170px 0 0 40px;
	width: auto;
}
header .solo strong {
    display: block;
    width: auto;
    font-size: 1.4rem;
    font-weight: bold;
    margin: 0.5em 0 0 40px;
    padding: 0 1rem;
    color: #fff;
    font-feature-settings: "palt";
    text-shadow: #111 2px 0px, #111 -2px 0px, #111 0px -2px, #111 0px 2px, #111 2px 2px , #111 -2px 2px, #111 2px -2px, #111 -2px -2px, #111 1px 2px, #111 -1px 2px, #111 1px -2px, #111 -1px -2px, #111 2px 1px, #111 -2px 1px, #111 2px -1px, #111 -2px -1px;
    text-align: left;
}
@media only screen and (max-width:768px) {
	header .solo {
		position: unset;
	}
	header .solo h1 {
		margin: 1.25em auto 2.5em;
		text-align: center;
	}
	header .solo strong {
		text-align: center;
		margin: 0;
	}
}

#content #intro-navi {
	padding-top: 1.5rem;
	background: #fffff0;
}

#content #the-content {
	background: #fffff0;
}

#content article h2 {
	font-size: 40px;
	color: #002E65;
	margin: 15px auto;
	text-align: center;
}

#content article p {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.667;
	text-align: center;
	margin-bottom: 0;
}

/*----------------------------------------------------
	#search-box-outer
--------------------------------------------------- */
#search-box-outer {
padding: 36px 0;
margin: 0 auto;
text-align: center;
background: #0F1630;
}
#search-box-outer h2 {
color: #fff;
margin: 0 auto 1em;
}

#search-box-outer p {
color: #fff;
margin-bottom: 0;
line-height: 1.8em;
font-size: 18px;
}

#search-box-outer p.banner {
margin: 20px auto 0;
}
#search-box {
background: #B2B3B4;
max-width: 1090px;
margin: 0 auto 20px;
padding: 12px 0;
}
#search-box li {
    border: 1px solid #42658E;
    border-radius: 7px;
    background-size: cover;

}
#search-box li dt {
	margin-top: 0;
	height: 65px;
	line-height: 65px;
	font-size: 24px;
	border-bottom-right-radius: 7px;
	border-bottom-left-radius: 7px;
	color: #fff;
}

li#search-price {
	border-color: #0F1630;
	background-image: url(../img/top/search-button-price.jpg);
}
li#search-price dt {
	background: #0F1630;
}
li#search-popularity {
	border-color: #E71784;
	background-image: url(../img/top/search-button-popularity.jpg);
}
li#search-popularity dt {
	background: #E71784;
}
li#search-accommodation {
	border-color: #0266B4;
	background-image: url(../img/top/search-button-accommodation.jpg);
}
li#search-accommodation dt {
	background: #0266B4;
}
li#search-town {
	border-color: #00B900;
	background-image: url(../img/top/search-button-town.jpg);
}
li#search-town dt {
	background: #00B900;
}
.box-toggle {
	display: inline-block;
	width: 100%;
	height: 156px;
	text-align: center;
	line-height: 157px;
	margin-right: 8px;
	cursor: pointer;
	padding-top: 91px;
	font-size: 25px;
}
@media only screen and (max-width:768px) {
	.box-toggle {
		margin: 0;
	}
}

#ranking {
	background: #f8f8ff;
}

.ranking-box {
	display: none;
	width: 96%;
	max-width: 960px;
	margin: 0 auto;
	padding-bottom: 30px;
}

.box-show {
	display: block;
}

.ranking-box > strong {
	line-height: 2.3em;
	margin: 20px 0 10px;
	color: #fff;
	text-indent: 2em;
	font-size: 20px;
	font-weight: 600;
	display: block;
}

/* 語学学校一覧 */
.ranking-school {
	display: grid;
	display: -ms-grid;
    border: 1px solid #666;
    padding: 6px;
    margin: 0 auto 30px;
    background: #fff;
	grid-template-rows: auto;
	-ms-grid-template-rows: auto;
	-ms-grid-rows: auto;
	grid-template-columns: 450px 350px 1fr;
	-ms-grid-columns: 450px 350px auto;
	grid-auto-flow: dense; 
}
#ranking-box-price > strong {
	background: #0F1630;
}
#ranking-box-price > strong > br {
	display: none;
}

.ranking-box-content {
	margin-bottom: 40px;
}

#ranking-box-price .banner {
	margin: 5px 0 0;
	padding: 0;
	background: none;
	text-align: center;
}

#ranking-box-price .ranking-school {
    border-color: #0F1630;
}
#ranking-box-price h3 a {
    color: #0F1630;
}
#ranking-box-popularity > strong {
	background: #E71784;
}
#ranking-box-popularity .ranking-school {
    border-color: #E71784;
}
#ranking-box-popularity h3 a {
    color: #E71784;
}
#ranking-box-accommodation > strong {
	background: #0266B4;
}
#ranking-box-accommodation .ranking-school {
    border-color: #0266B4;
}
#ranking-box-accommodation h3 a {
    color: #0266B4;
}
#ranking-box-town > strong {
	background: #00B900;
}
#ranking-box-town .ranking-school {
    border-color: #00B900;
}
#ranking-box-town h3 a {
    color: #00B900;
}

/* 語学学校一覧　画像 */
.ranking-school > a{
	grid-row: span 10;
	-ms-grid-row-span: 10;
	grid-column: 1;
	-ms-grid-column: 1;
	display: block;
}
.ranking-school > a > img {
	max-width: 450px;
	max-height: 200px;
}

/* 語学学校一覧　タイトル */
.ranking-school > h3 {
	grid-row: 1;
	-ms-grid-row: 1;
	grid-column: 2;
	-ms-grid-column: 2;
	margin: 4px 0 0 12px;
	font-size: 24px;
	line-height: 1.1em;
}
/* 語学学校一覧　学校名 */
.ranking-school address {
	margin: 0 0 0 12px;
	grid-row: 2;
	-ms-grid-row: 2;
	grid-column: 2;
	-ms-grid-column: 2;
	line-height: 1.4em;
}
/* 語学学校一覧　説明文 */
.ranking-school > p {
	margin: 8px 0 0 12px;
	line-height: 1.2em;
	grid-row: 3;
	-ms-grid-row: 3;
	grid-column: 2;
	-ms-grid-column: 2;
	font-size: 15px;
}
/* 語学学校一覧　設備アイコン */
.ranking-school div.icon {
	margin: 8px 0 0 12px;
	line-height: 1.4em;
	grid-row: 4;
	-ms-grid-row: 4;
	grid-column: 2;
	-ms-grid-column: 2;
}
.ranking-school dl dt {
	display: inline-block;
	font-weight: bold;
}
.ranking-school dl dt:before {
	content: "【";
}
.ranking-school dl dt:after {
	content: "】";
}
.ranking-school dl dd {
	display: inline-block;
	vertical-align: middle;
}
/* 語学学校一覧　評価 */
.ranking-school dl:nth-of-type(1) {
	grid-row: 1;
	-ms-grid-row: 1;
	grid-column: 3;
	-ms-grid-column: 3;
	margin: 4px 0 0;
}
/* 語学学校一覧　評価★ */
.ranking-school dl:nth-of-type(1) dd > star {
	display: inline-block;
	width: 1em;
	height: 1em;
	background: #fff url(/wp-content/themes/wpex-elegant-202104/img/top/star.png) no-repeat 0 0;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
.ranking-school dl:nth-of-type(1) dd > halfstar {
	display: inline-block;
	width: 1em;
	height: 1em;
	background: #fff url(/wp-content/themes/wpex-elegant-202104/img/top/star-half.png) no-repeat 0 0;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

/* 語学学校一覧　費用 */
.ranking-school dl:nth-of-type(2) {
	margin: 4px 0 0;
	-ms-grid-row: 2;
	grid-row: span 2;
	-ms-grid-row-span: 2;
	grid-column: 3;
	-ms-grid-column: 3;
}
.ranking-school dl:nth-of-type(2) dd {
	line-height: 1.4em;
	color: green;
	font-weight: bold;
	margin: 0 6px;
}
.ranking-school dl:nth-of-type(3) {
	margin: 4px 0 0;
	-ms-grid-row: 4;
	grid-row: span 4;
	-ms-grid-row-span: 4;
	grid-column: 3;
	-ms-grid-column: 3;
}
/* 語学学校一覧　ボタン */
.ranking-school div.button {
	grid-row: 10;
	-ms-grid-row: 10;
	grid-column: 3;
	-ms-grid-column: 3;
	display: block;
	text-align: center;
}
.ranking-school div.button > a {
	color: #fff;
	background: #0F1630;
	padding: 10px 18px;
	display: inline-block;
	margin: 18px auto 8px;
	font-weight: bold;
	line-height: 1em;
}

@media only screen and (max-width:768px) {
	.ranking-box > strong {
		line-height: 1.3em;
		text-indent: 0;
		font-size: 20px;
		padding: 0.5em 1.2em;
		text-align: center;
	}
	#ranking-box-price > strong > br {
		display: inline;
	}
	.ranking-school {
		display: block;
	}

	.ranking-school > a > img {
		max-width: 100%;
		max-height: 100%;
	}
	/* 語学学校一覧　タイトル */
	.ranking-school > h4 {
		margin: 6px 0 0 6px;
	}
	/* 語学学校一覧　学校名 */
	.ranking-school address {
		margin: 6px 0 0 6px;
	}
	/* 語学学校一覧　説明文 */
	.ranking-school > p {
		margin: 6px 0 0 6px;
		font-size: 13px;
	}
	/* 語学学校一覧　設備アイコン */
	.ranking-school div.icon {
		margin: 6px 0 0 6px;
	}
}

#choose-school li,
#choose-info li {
	border: 1px solid #42658E;
	border-radius: 7px;
	background-size: contain;
}

#choose-school li a,
#choose-info li a {
	display: block;
	width: 100%;
	height: 100%;
}

#choose-school li dl,
#choose-info li dl {
	padding: 170px 0 0 0;
}

#choose-school li dt,
#choose-info li dt {
	line-height: 64px;
	background: rgba(113, 159, 190,0.8);
	font-size: 26px;
	text-indent: 39px;
	color: #fff;
	position: relative;
}

#choose-school li dt:after,
#choose-info li dt:after {
	position: absolute;
	right: 23px;
	top: 1em;
	display: inline-block;
	content: "";
	width: 0.5em;
	height: 0.5em;
	margin: auto;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	transform: rotate(45deg);
}

#choose-school li dd,
#choose-info li dd {
	margin-top: 15px;
	height: 154px;
	padding: 8px 12px 10px 12px;
	background: #fff;
	line-height: 1.5em;
	font-size: 22px;
	border-bottom-right-radius: 7px;
	border-bottom-left-radius: 7px;
	color: #666;
	overflow-y: scroll;
	-ms-overflow-style: none;    /* IE, Edge 対応 */
	scrollbar-width: none;       /* Firefox 対応 */
}
#choose-info li dd {
	font-size: 18px;
}
@media only screen and (max-width:768px) {
	#choose-school li dd,
	#choose-info li dd {
		font-size: 16px;
	}
}
#choose-school li dd::-webkit-scrollbar,
#choose-info li dd::-webkit-scrollbar {  /* Chrome, Safari 対応 */
	display:none;
}



#sprachschule2 li.trio {
	border: 1px solid #42658E;
	border-radius: 7px;
	background-size: contain;
}
#sprachschule2 li.quad {
	border: 1px solid #42658E;
	border-radius: 7px;
	background-size: contain;
}

#sprachschule2 li a {
	display: block;
	width: 100%;
	height: 100%;
}

#sprachschule2 li.trio dl {
	padding: 111px 0 0 0;
}

#sprachschule2 li.quad dl {
	padding: 90px 0 0 0;
}

#sprachschule2 li.trio dt {
	line-height: 45px;
	background: rgba(113, 159, 190,0.8);
	font-size: 19px;
	text-indent: 24px;
	color: #fff;
	position: relative;
/* 	margin-left: 10px; */
}
#sprachschule2 li.trio dt:after {
	position: absolute;
	right: 12px;
	top: 1em;
	display: inline-block;
	content: "";
	width: 0.5em;
	height: 0.5em;
	margin: auto;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	transform: rotate(45deg);
}

#sprachschule2 li.quad dt {
	line-height: 33px;
	background: rgba(113, 159, 190,0.8);
	font-size: 14px;
	text-indent: 20px;
	color: #fff;
	position: relative;
/* 	margin-left: 8px; */
}
#sprachschule2 li.quad dt:after {
	position: absolute;
	right: 12px;
	top: 1em;
	display: inline-block;
	content: "";
	width: 0.5em;
	height: 0.5em;
	margin: auto;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	transform: rotate(45deg);
}

#sprachschule2 li.trio dd {
	margin-top: 10px;
	height: 100px;
	padding: 15px 12px 10px 5px;
	background: #fff;
	line-height: 22px;
	font-size: 16px;
	border-bottom-right-radius: 7px;
	border-bottom-left-radius: 7px;
	color: #666;
}
#sprachschule2 li.quad dd {
	margin-top: 5px;
	height: 72px;
	padding: 16px 12px 10px 12px;
	background: #fff;
	line-height: 15px;
	font-size: 11px;
	border-bottom-right-radius: 7px;
	border-bottom-left-radius: 7px;
	color: #666;
}
#sprachschule3 h2.larger {
	letter-spacing: 0;
}

#besonderes-planen-img {
	margin: 30px auto 50px;
	max-width: 1270px;
}

.slick-slide {
    width: 20%;
    height: auto;
    padding: 10px;
}
.slick-slide img {
    display: block;
}

.slick-prev {
	left: -59px !important;
	width: 60px !important;
	height: 60px !important;
	background: #fff url(/wp-content/themes/wpex-elegant-202101-2/img/common/btn_bnr_prev.png) no-repeat 0 0 !important;
	background-size: cover !important;
	z-index: 100;
}
.slick-prev::before {
	content: none !important;
}
.slick-next {
	right: -59px !important;
	width: 60px !important;
	height: 60px !important;
	background: #fff url(/wp-content/themes/wpex-elegant-202101-2/img/common/btn_bnr_next.png) no-repeat 0 0 !important;
	background-size: cover !important;
	z-index: 100;
}
.slick-next::before {
	content: none !important;
}
.slick-prev:hover, .slick-prev:focus,
.slick-next:hover, .slick-next:focus {
	opacity: 0.6;
}

/* 幅広見出し */
#sprachschule4 {
	background: #EEF8FD;
}

.front-index {
	width: 1200px;
	margin: 30px auto;
	border: 4px solid #42658E;
	border-radius: 7px;
	background-size: contain;
}
.front-index-inner {
	width: 1186px;
	margin: 5px auto;
}
.front-index-pic {
	width: 40%;
	display: block;
	float: left;
}
.front-index-pic img {
	width: 533px;
	display: block;
}

.front-index-text {
	width: 56%;
	float: right;
}

.front-index-text h2 {
	font-size: 25px;
	margin: 14px 0 24px;
}
.front-index-text p {
	margin-bottom: 0.5em;
}

.front-index-inner:after {
	content: "";
	display: block;
	clear: both;
}

@media only screen and (max-width:768px) {
	.front-index {
		width: 97%;
		margin: 10px auto;
	}
	.front-index-inner {
		width: 100%;
		margin: 0 auto;
	}

	.front-index-pic,
	.front-index-text {
		float: none;
	}

	.front-index-pic,
	.front-index-pic img {
		width: 100%;
	}

	.front-index-text {
		width: 98%;
		margin: 0 auto 5px;
	}
	.front-index-text .button {
		text-align: right;
	}

}