@charset "utf-8";
/*==================================================
	タブレットのみ適応
==================================================*/
@media only screen and (max-width: 768px) and (min-width: 641px){
	.dsp_smt { display: none; }
	/*
	#page_title {
		height: 50vh;
		min-height: 450px;
	}
	*/
	#page_title.subpage {
		height: auto;
		min-height: 100%;
	}
	#footer .contact .txt span {
		display: inline-block;
		margin-left: 10px;
	}
}
/*==================================================
	タブレット・スマホに適応
==================================================*/
@media only screen and (max-width: 768px) {
	.dsp_hp { display: none; }

	/* ヘッダ */
	#header {
		overflow: hidden;
		height: 50px;
		padding: 0;
		background: #fff;
	}
	#header h1.title {
		height: 50px;
		padding-left: 10px;
	}
	#header h1.title img {
		width: auto;
		max-height: 40px;
		padding-top: 5px;
	}
	#sticky {
		z-index: 9997;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		background: #fff;
		box-shadow: 0 0 5px rgba(0,0,0,0.2);
	}
	/* お問い合わせ */
	#header .contact {
		position: relative;
	}
	#header .contact .tel,
	#header .contact .btn {
		position: absolute;
		top: 0;
		right: 44px;
		display: block;
		width: 24px;
		height: 50px;
		padding: 0 11px;
		/* 縦方向中央揃え */
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
		align-items: center; /* 縦方向中央揃え */
		-webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
		justify-content: center; /* 横方向中央揃え */
	}
	#header .contact .btn {
		right: 44px;
	}
	/* コンテナ */
	#container h3.sub {
		margin-bottom: 30px;
		font-size: 20px;
	}
	#container h3.sub span {
		font-size: 30px;
	}
	.main {
		padding-left: 15px;
		padding-right: 15px;
	}
	/* フッター */
	#footer .contact .tel {
		margin-bottom: 15px;
	}
	#footer .box .box_top {
		margin-bottom: 20px;
	}
	#copyright {
		height: 30px;
		line-height: 30px;
	}
	/* パンくずリスト */
	#page_navi {
		margin-bottom: 20px;
		padding-top: 15px;
		font-size: 11px;
	}
	/* 枠のマージン・パディング */
	.mb { margin-bottom: 40px; }
	.pt { padding-top: 40px; }
	.pb { padding-bottom: 40px; }
	/* アンカーリンク用上部スペース */
	.pad_anchor {
		margin-top: -50px;
		padding-top: 50px;
	}
	.ttl .in {
		padding: 0 0 10px;
	}
	/*--------------------------------------------------
		トップページ
	--------------------------------------------------*/
	/* 共通ボタン */
	p.util_btn a {
		width: 100%;
		max-width: 250px;
		display: inline-block;
		color: #FFF;
		font-size: 18px;
	}
	p.util_btn.greeting_btn a {
		display: block;
	}
	p.util_btn a.cta {
		max-width: 350px;
		font-size: 16px;
		justify-content: flex-start;
	}
	p.util_btn a.cta span:first-of-type {
		font-size: 20px;
		padding-left: 8px;
		margin-right: 8px;
	}
	/* ページタイトル */
	#page_title .page_title_txts {
		top: 45%;
		padding: 30px 0;
	}
	#page_title .page_title_txts h2 {
		text-shadow: 3px 3px 0px #FFF;
		margin-bottom: 20px;
	}
	#page_title .page_title_txts h2 span {
		font-size: 40px;
	}
	#page_title .page_title_txts h2 span::before {
		height: 16px;
	}
	#page_title .page_title_txts h3 {
		font-size: 22px;
		margin-bottom: 20px;
	}
	#page_title .page_title_txts p:first-of-type {
		font-size: 28px;
		margin-bottom: 15px;
	}
	#page_title .page_title_txts p:nth-of-type(2) {
		font-size: 16px;
		margin-bottom: 15px;
	}
	#page_title .page_title_txts p:nth-of-type(2) span::before {
		height: 13px;
	}
	#page_title .page_title_txts p:nth-of-type(3) {
		font-size: 15px;
		margin-top: 20px;
	}
	.page_title_tri {
		display: none;
	}
	#page_title .page_title_btn {
		width: 100%;
		text-align: center;
		position: relative;
	}
	#page_title .page_title_btn a {
		top: 0;
		left: 0;
		width: 100%;
		transform: rotate(0);
		font-size: 16px;
		padding: 5px 0;
		border-top: 2px solid #E5E5E5;
		border-bottom: 2px solid #E5E5E5;
		background: -moz-linear-gradient(0% 50% 0deg,rgba(27, 161, 230, 1) 0%,rgba(130, 199, 230, 1) 100%);
		background: -webkit-linear-gradient(0deg, rgba(27, 161, 230, 1) 0%, rgba(130, 199, 230, 1) 100%);
		background: -webkit-gradient(linear,0% 50% ,100% 50% ,color-stop(0,rgba(27, 161, 230, 1) ),color-stop(1,rgba(130, 199, 230, 1) ));
		background: -o-linear-gradient(0deg, rgba(27, 161, 230, 1) 0%, rgba(130, 199, 230, 1) 100%);
		background: -ms-linear-gradient(0deg, rgba(27, 161, 230, 1) 0%, rgba(130, 199, 230, 1) 100%);
		-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#1BA1E6', endColorstr='#82C7E6' ,GradientType=0)";
		background: linear-gradient(90deg, rgba(27, 161, 230, 1) 0%, rgba(130, 199, 230, 1) 100%);
		filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#1BA1E6',endColorstr='#82C7E6' , GradientType=1);
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
	}
	#page_title .page_title_btn a span {
		display: inline-block;
	}
	#page_title .page_title_btn a span:first-of-type {
		font-size: 20px;
	}
	#page_title .page_title_btn a img {
		width: 12px;
		height: 17px;
		vertical-align: baseline;
		margin-left: 10px;
	}
	/* メッセージ */
	#top_msg .msg_list {
		display: block;
	}
	#top_msg .msg_list li + li {
		margin: 0;
	}
	/* CTAエリア */
	#top_cta .box {
		font-size: 17px;
	}
	#top_cta .contact_btn {
		width: auto;
		display: block;
	}
	#top_cta .contact_btn p.util_btn {
		margin-top: 20px;
	}
	#top_cta .contact_btn p.util_btn a {
		line-height: normal;
	}
	#top_cta .contact_btn p.util_btn a {
		height: auto;
		width: auto;
	}
	#top_cta .box.greeting h3 span {
		font-size: 145%;
	}
	#top_cta .box.greeting .util_btn span {
		font-size: 20px;
	}
	#top_cta .contact_btn p.util_btn a {
		width: auto;
		max-width: 100%;
	}
	#top_cta .contact_btn p.util_btn a span.fs {
		font-size: 13px;
	}
	#top_greeting h3.sub {
		margin-bottom: -10px;
		top: -28px;
	}
	#top_greeting .box {
		padding: 15px 0;
	}
	/* 選ばれる理由 */
	#top_reason .box_wrap .box .box_txt {
		padding: 15px 15px 20px;
	}
	#top_reason .box_wrap .box .box_txt h5 {
		font-size: 16px;
		padding-right: 25px;
	}
	#top_reason .box_wrap .box .box_txt h5 span {
		width: 20px;
		height: 20px;
	}
	#top_reason .box_wrap .box .box_txt .desc {
		margin-top: 15px;
	}
	#top_reason .box_wrap .box .util_btn a,
	#top_reason .box_wrap .box .util_btn.wide a {
		max-width: 318px;
		font-size: 16px;
	}
	/* メニューコンテンツ */
	#top_menu .menu_list {
		justify-content: space-between;
	}
	#top_menu .menu_list li {
		margin: 0 auto 30px;
	}
	#top_menu .sns_list {
		margin-top: 0;
	}
	/* お知らせ */
	#top_info {
		margin-top: 10px;
	}
	/*--------------------------------------------------
		教育理念/代表・塾長挨拶
	--------------------------------------------------*/
	#philosophy .blue.cen.serif {
		font-size: 20px;
	}
	#philosophy h3.sub02 {
		font-size: 16px;
	}
	#philosophy .philosophy .box {
		padding: 15px;
	}
	#philosophy .philosophy .box .txt {
		font-size: 20px;
	}
	#philosophy .philosophy .box .waku {
		padding: 20px;
	}
	#philosophy .philosophy .box .waku li{
		font-size: 16px;
	}
	#philosophy .philosophy .box .waku li:before{
		top: 12px;
	}
	#philosophy .mission dl{
		width: 32%;
	}
	#philosophy .mission dl dd {
		text-align: left;
		font-size: 15px;
	}
	#philosophy .mission dl dd br {
		display: none;
	}
	#philosophy .leader .sec h3 {
		margin-bottom: -10px;
		top: -28px;
	}
	#philosophy .leader .sec .box {
		padding: 15px;
	}
	#philosophy .leader .sec .box .img {
		text-align: center;
		margin-bottom: 20px;
		width: 100%;
	}
	#philosophy .leader .sec .box .info h4 {
		font-size: 25px;
	}
	#philosophy .leader .sec .box .info .msg {
		max-width: 450px;
		margin: 0 auto 30px;
		font-size: 25px;
	}
	#philosophy .leader .sec .box .btn01 {
		text-align: center;
	}
	#philosophy .leader .sec .box .btn01 a {
		line-height: 40px;
		font-size: 20px;
		width: 300px
	}
	#philosophy .leader .sec .list dl dt {
		font-size: 16px;
	}
	#philosophy .leader .sec .list dl dt span {
		font-size: 25px;
	}
	/*--------------------------------------------------
		精鋭医学部生講師・専属学習コンサルタント
	--------------------------------------------------*/
	#professional .about .blue {
		margin-bottom: 30px;
		font-size: 20px;
	}
	#professional .about .txt01 {
		font-size: 20px;
		line-height: 1.8;
	}
	#professional .about .chk li {
		width: 49%;
		padding: 30px 10px;
		box-sizing: border-box;
		font-size: 15px;
	}
	#professional .teachers .sec {
		margin-bottom: 50px;
	}
	#professional .teachers .sec .box {
		padding: 15px;
	}
	#professional .teachers .sec .box .img {
		width: 100%;
		text-align: center;
		margin-bottom: 20px;
	}
	#professional .teachers .sec .box h4 {
		font-size: 25px;
	}
	#professional .teachers .sec .box .info .msg {
		max-width: 450px;
		margin: 0 auto 30px;
		font-size: 21px;
		padding: 30px 10px;
	}
	#professional .teachers .sec .box .info dl dt{
		font-size: 18px;
		padding: 5px 15px;
	}
	#professional .teachers .sec .info > dl > dt {
		font-size: 16px;
	}
	#professional .teachers .sec .info > dl > dt span {
		font-size: 25px;
	}
	#professional .teachers .sec .info > dl > dd table tr th, #professional .teachers .sec .info > dl > dd table tr td {
		padding: 15px;
	}
	#professional .teachers .sec .info > dl > dd table tr th {
		font-size: 15px;
	}
	#professional .teachers .sec .info > dl > dd table tr td dl dd .box_flex {
		display: block;
	}
	#professional .consultants .about .btn01 a {
		line-height: 40px;
		font-size: 18px;
		width: 420px
	}
	#professional .consultants .sec {
		margin-bottom: 50px;
	}
	#professional .consultants .sec .box {
		padding: 15px;
		margin-bottom: 30px;
	}
	#professional .consultants .sec .box .img {
		width: 100%;
		text-align: center;
		margin-bottom: 20px;
	}
	#professional .consultants .sec .box .info h4 {
		font-size: 25px;
	}
	#professional .consultants .sec .box .info .msg {
		max-width: 460px;
		margin: 0 auto 30px;
		font-size: 21px;
		padding: 30px 10px;
	}
	#professional .consultants .sec .info > dl:last-of-type {
		margin-bottom: 0;
	}
	#professional .consultants .sec .info > dl > dt {
		font-size: 18px;
		padding: 5px 15px;
	}
	#professional .consultants .sec .info > dl > dt span {
		font-size: 25px;
	}
	#professional .consultants .sec .info > dl > dd table tr th, #professional .consultants .sec .info > dl > dd table tr td {
		padding: 15px;
	}
	#professional .consultants .sec .info > dl > dd table tr th {
		font-size: 15px;
	}
	/*--------------------------------------------------
		代表紹介・ご挨拶
	--------------------------------------------------*/
	#ceo .cf .img_rit {
		width: 35%;
	}
	#ceo .cf .fl {
		width: 100%;
	}
	/*--------------------------------------------------
		スタッフ紹介
	--------------------------------------------------*/
	#staff h4 {
		font-size: 18px;
	}
	#staff .info .names .type {
		font-size: 18px;
	}
	#staff .sec {
		display: block;
		padding: 15px;
	}
	#staff .sec .imgs {
		margin-top: 20px;
		text-align: center;
	}
	#staff .sec .imgs img, #staff .sec .imgs span {
		width: 40%;
		margin: 0 3%;
		display: inline-block;
	}
	/*--------------------------------------------------
		講座・料金紹介
	--------------------------------------------------*/
	#system .consultant .ttl, #system .curriculum .ttl {
		margin-bottom: 40px;
	}
	#system .consultant .ttl .in, #system .curriculum .ttl .in {
		padding-bottom: 0 !important;
	}
	#system .consultant h4 {
		font-size: 20px;
	}
	#system .consultant .box {
		padding: 15px;
		display: block;
		margin-bottom: 30px;
	}
	#system .consultant .box .img {
		margin: 0 auto 20px;
	}
	#system .consultant .box .info {
		width: 100%;
		padding: 0;
	}
	#system .consultant .box .info .ttl {
		font-size: 20px;
	}
	#system .consultant .box .info ul li {
		font-size: 100%;
	}
	#system .consultant .btn01 a {
		font-size: 18px;
		width: 380px;
	}
	#system .curriculum h4 {
		font-size: 20px;
		margin-bottom: 30px;
	}
	#system .curriculum .box {
		width: 100%;
		padding: 15px;
		margin-bottom: 50px;
	}
	#system .curriculum .box .link {
		margin-left: 2vw;
		margin-bottom: 15px;
	}
	#system .curriculum .box .link a {
		font-size: 16px;
	}
	#system .curriculum .box .txt {
		font-size: 18px;
	}
	#system .curriculum .box .txt .fm {
		font-size: 23px;
	}
	#system .curriculum .box .txt .fs {
		font-size: 15px;
	}
	#system .curriculum dl dt {
		font-size: 22px;
	}
	#system .curriculum dl dd {
		padding: 20px 20px 60px;
	}
	#system .curriculum dl dd ul {
		margin-bottom: 40px;
	}
	#system .curriculum dl dd ul li {
		font-size: 18px;
		background-position: top 6px left;
	}
	#system .curriculum dl dd .txt {
		font-size: 25px;
	}
	#system .curriculum dl dd .btn01 a {
		font-size: 18px;
		width: 450px;
	}
	#system .curriculum .msg {
		font-size: 25px;
	}
	#system .curriculum .msg .blue {
		font-size: 35px;
	}
	#system .box_area .box {
		width: 48%;
		margin-bottom: 40px;
		margin-top: 0;
	}
	#system .box_area .box .box_txt {
		padding: 15px 15px 30px;
	}
	#system .box_area .box .box_txt h4 {
		font-size: 20px;
	}
	#system .box_area .box .box_txt h4 span {
		bottom: -25px;
	}
	#system .box_area .support {
		width: 70%;
		padding: 15px;
	}
	#system .box_area .support ul {
		margin-bottom: 20px;
	}
	#system .box_area .support .btn01 a {
		font-size: 18px;
		width: 250px;
		max-width: 100%;
	}
	#system .price table tr th {
		width: 200px;
	}
	#system .price table tr th, #system .price table tr td {
		padding: 15px;
	}
	#system .price .box {
		padding: 30px;
		margin-bottom: 40px;
	}
	#system .price .yosan {
		margin-bottom: 40px;
	}
	#system .price .btns {
		width: 100%;
		display: block;
	}
	#system .price .btn01 {
		text-align: center;
		margin-bottom: 15px !important;
	}
	/*--------------------------------------------------
		合格実績&生徒・保護者様の声
	--------------------------------------------------*/
	#results:before {
		background-size: 30% auto, 30% auto, auto;
	}
	#results .util_btn a {
		justify-content: center;
	}
	#results .sec {
		margin-top: 30px;
	}
	#results .sec .results_list {
		flex-wrap: wrap;
	}
	#results .sec .results_list dl {
		width: 32%;
		margin-bottom: 15px;
	}
	#results .sec h4.serif {
		font-size: 18px;;
	}
	#results .sec p {
	font-size: 115%;
}
	#results .voice .list .box:after {
		content: inherit;
	}
	#results .voice .list .box .ico {
		width: 10%
	}
	#results .voice .list .box .info {
		width: 88%;
	}
	#results .voice .list .box .info .fukidashi {
		display: block;
	}
	#results .voice .list .box .info .fukidashi .name {
		text-align: right;
		margin-top: 5px;
	}
	/*--------------------------------------------------
		お問合せ&よくあるご質問
	--------------------------------------------------*/
	#contact .box_faq dt {
		font-size: 17px;
	}
	#contact .box_faq dd {
		margin: 0 15px;
	}
	#contact .info_session .box {
		padding: 15px;
	}
	#contact .info_session .box .txt {
		width: auto;
	}
	#contact .info_session .box .photo {
		width: 100%;
		margin-left: 0;
		margin-top: 15px;
	}
	#contact .info_session .box .photo img {
		width: 100%;
		height: 250px;
	}
	#contact .box_access .box_school {
		display: block;
		padding: 15px;
	}
	#contact .box_access .box_school .school_info div {
		width: 100%;
	}
	#contact .box_access .box_school h4 {
		font-size: 120%;
		margin: 5px 0 17px;
	}
	#contact .box_access .box_school h4::before {
		height: 28px;
	}
	#contact .box_access .box_school p {
		margin-bottom: 0.5em;
	}
	#contact .box_access .box_school .school_info iframe {
		width: 100%;
		margin-top: 10px;
	}
	#contact .box_access .box_school .school_info img {
		width: 100%;
	}
	#contact .box_access .box_school .school_photo {
		margin-top: 20px;
	}
	#contact .box_access .box_school .school_photo div {
		width: auto;
	}
	/*--------------------------------------------------
		お問い合せフォーム
	--------------------------------------------------*/
	#mailform .tbl {
		border-bottom: 1px solid #BBB;
	}
	#mailform .tbl th,
	#mailform .tbl td {
		display: block;
		width: auto;
		border-bottom: none;
	}
	#mailform .tbl input[type="text"],
	#mailform .tbl textarea {
		font-size: 120%;
	}
	#mailform .btn input {
		width: 120px;
	}

/*------------------------------------------------*/
}