@charset "utf-8";

/* ==============================================================================================
	↓ 旧 ↓
============================================================================================= */
body {
	font-size: 15px;
	font-family:'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro',sans-serif;
	color:#333;
	line-height: 1.8;
	letter-spacing: 1px;
	margin: 0 auto;
    text-align: justify;
    counter-reset: section;
	overflow-x: hidden; 
}

/* ======================================
	reset
====================================== */
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}


/* ======================================
	リンク
====================================== */
a {
	-webkit-transition: all 200ms cubic-bezier(0.165, 0.840, 0.440, 1.000); 
	-moz-transition: all 200ms cubic-bezier(0.165, 0.840, 0.440, 1.000); 
	-ms-transition: all 200ms cubic-bezier(0.165, 0.840, 0.440, 1.000); 
	-o-transition: all 200ms cubic-bezier(0.165, 0.840, 0.440, 1.000); 
	transition: all 200ms cubic-bezier(0.165, 0.840, 0.440, 1.000); 
}
a {
	text-decoration: none;
	color: #005AAC;
}
a:link {
	text-decoration: none;
	color: #005AAC;
}
a:visited {
	text-decoration: none;
	color: #005AAC;
}
a:hover {
	text-decoration: none;
	color: #005AAC;
	opacity: 0.7;
}

@media screen and (min-width: 768px) {/*電話番号リンクをPCでは無効にする*/
a[href^="tel:"] {
		pointer-events: none;
		color: #333;
	}
}
/*ボタン*/
.btn_type01{
	position:relative;
	display:block;
	padding:10px 20px 10px 10px;
	background:url(../images/common/btn_type01_bg.png) repeat left top;
	text-align:center;
	line-height:1.4em;
	color:#FFF;
	
	border-radius:6px; 
	-webkit-border-radius:6px;
	-moz-border-radius:6px;
	
	box-shadow: 3px 3px 2px #CCC;
	-webkit-box-shadow: 3px 3px 2px #CCC;
	-moz-box-shadow: 3px 3px 2px #CCC;	
}
	.feature .btn_type01{background:url(../images/common/btn_type01_bg_feature.png) repeat left top;}
	.lecture .btn_type01{background:url(../images/common/btn_type01_bg_lecture.png) repeat left top;}
	.lecture.grade .btn_type01{background:url(../images/common/btn_type01_bg.png) repeat left top;}
	.support .btn_type01{background:url(../images/common/btn_type01_bg_support.png) repeat left top;}
	.enter .btn_type01{background:url(../images/common/btn_type01_bg_enter.png) repeat left top;}
	.faq .btn_type01{background:url(../images/common/btn_type01_bg_faq.png) repeat left top;}
	.algoclub .btn_type01{background:url(../images/common/btn_type01_bg_algoclub.png) repeat left top;}

.btn_type01:before{
	content:" ";
	display:block;
	width:9px;
	height:15px;
	background:url(../images/common/btn_type01_arrow.png) no-repeat left center;
	position:absolute;
	right:10px;
	top:50%;
	margin-top:-7.5px;
}
.btn_type01:link,.btn_type01:visited,.btn_type01:hover,.btn_type01:active{
	color:#FFF;
	text-decoration:none;
    font-weight: bold;
    padding: 15px;
    font-size: 1.2em;
    margin: 20px 0;
}


.btn_type02{
	position:relative;
	display:block;
	padding:10px 20px 10px 10px;
	background:url(../images/common/btn_type02_bg.png) repeat left top;
	text-align:center;
	line-height:1.4em;
	color:#FFF;
	
	border-radius:6px; 
	-webkit-border-radius:6px;
	-moz-border-radius:6px;
	
	box-shadow: 3px 3px 2px #CCC;
	-webkit-box-shadow: 3px 3px 2px #CCC;
	-moz-box-shadow: 3px 3px 2px #CCC;	
}
	/*.feature .btn_type02{background:url(../images/common/btn_type02_bg_feature.png) repeat left top;}*/
	/*.lecture .btn_type02{background:url(../images/common/btn_type02_bg_lecture.png) repeat left top;}*/
	.lecture.grade .btn_type02{background:url(../images/common/btn_type02_bg.png) repeat left top;}
	/*.support .btn_type02{background:url(../images/common/btn_type02_bg_support.png) repeat left top;}*/
	/*.enter .btn_type02{background:url(../images/common/btn_type02_bg_enter.png) repeat left top;}*/
	/*.faq .btn_type02{background:url(../images/common/btn_type02_bg_faq.png) repeat left top;}*/
	/*.algoclub .btn_type02{background:url(../images/common/btn_type02_bg_algoclub.png) repeat left top;}*/

.btn_type02:before{
	content:" ";
	display:block;
	width:9px;
	height:15px;
	background:url("../images/common/btn_type01_arrow.png") no-repeat left center;
	position:absolute;
	right:10px;
	top:50%;
	margin-top:-7.5px;
}
.btn_type02:link,.btn_type02:visited,.btn_type02:hover,.btn_type02:active{
	color:#FFF;
	text-decoration:none;
    font-weight: bold;
    padding: 15px;
    font-size: 1.2em;
    margin: 20px 0;
}

.btn_end, .btn_before{
	display:flex;
	justify-content: center;
	align-items: center;
	margin:5px 0;
	max-width: 260px;
	height: 55px;
	padding:10px 20px;
	font-size: 1.2em;
	text-align:center;
	line-height:1.4em;
	color:#FFF;	
	border-radius:3px;
	background: #C5C5C5;
}

.btn_end span, .btn_before span{font-size: 1.6em;}

.ev_btn_txt{
	margin: 5px 0 0;
	line-height: 1.0;
}

@media screen and (max-width: 576px) {
.btn_end, .btn_before{max-width:100%;}
}
/* ======================================
	p_navi
====================================== */
#p_navi {
	margin:160px auto 0;
    font-size: 12px;
	line-height: 1.5;
	padding:  5px;
	max-width:1200px;
    display: block;
    background: #fff;
}
#p_navi ul {
	display: block;
	margin: 0 auto;
}
#p_navi li {
	display: inline-block;
	padding-right: 10px;
	background: url(../images/common/arrow_r02.png) no-repeat right center;
	background-size: auto 8px;	
}
#p_navi li:last-child {
	background:none !important;
	padding-right:0 !important;
	margin-right:0 !important;
}
#p_navi li a{
    font-size: 12px!important;
}
#p_navi li a:link, #p_navi li a:visited{
    text-decoration: none !important;
    color: #005AAC !important;
}
#p_navi li a:hover{
    font-weight: bold;
}
@media screen and (max-width: 812px) {
	#p_navi { 
		margin-top: 0;
	padding: 5px;
	z-index: 1;
	box-shadow: 0 0 3px 0 #ccc;
    border-bottom: 1px solid #ccc;
	font-size: 0.6rem!important;
	text-align: left;
	overflow: auto;
    white-space: nowrap;
   }
 #p_navi li a{
    font-size: 0.6rem!important;
}  
}



/* ==============================================================================================
	↑ ここまで旧 ↑
============================================================================================= */
/* ==============================================================================================
	↓ ここから新 ↑
============================================================================================= */

/* ======================================
	ヘッダー
====================================== */

#logo{
	width: 18%;
    height: 80px;
	float: left;
}
header #logo img {
	max-width: 90%;
    margin-top: 5px;
}
#snav{
    max-width: 1200px;
    width: 100%;
    margin:0 auto;
}
#snav div{
	height:80px;
	float: left;
}
#headertaiken {
	width: 25%;
	line-height: 78px;	
}
#headertaiken a {
    background-color:#00ac13;
    border: 1px solid #00ac13;
    color: #fff;
}
#headerShiken,
#headerContact {
	width: 25%;
	line-height: 78px;	
}
#headerShiken a,
#headerContact a {
    background-color: #fff;
    color: #005bac;
}
@media screen and (max-width: 812px) {
    #headerShiken a,
    #headerContact a {
        border-left: 1px solid #d9d9d9;
    }
    #headerContact a {
        border-right: 1px solid #d9d9d9;
    }
}
@media screen and (min-width: 813px) {
    #headerShiken a,
    #headerContact a {
        border: 1px solid #d9d9d9;
    }
    #headerShiken a,
    #headerContact a {
        border-left: none;
    }
}
#headerShiryo {
	width: 25%;
	line-height: 78px;
}
#headerShiryo a {
    background-color: #fff;
    border: 1px solid #00ac13;
    color: #00ac13;
}
#headertaiken a:link, #headerShiken a:link, #headerShiryo a:link, #headerContact a:link,
#headertaiken a:visited, #headerShiken a:visited, #headerShiryo a:visited, #headerContact a:visited {
	font-size: 14px;
	line-height: 78px;
	text-align: center !important;
	font-weight:bold;
	display: block;
}
header a:hover {
	text-decoration:none !important;
	opacity:1.0 !important;
}
#headertaiken a:hover, #headertaiken a:active {
    background-color: #4cc559;
    border-color: #4cc559;
}
#headerShiken a:hover, #headerShiryo a:hover, #headerContact a:hover,
#headerShiken a:active, #headerShiryo a:active, #headerContact a:active {
	background-color: #fff;
    opacity: .8;
}
#snavLast0{
    width:40%;
    float: left;
}
#snavLast1, #snavLast2{
	width: 12.5%;
	background-color: #eee;
    float: left;
}
#snavLast1 span a, #snavLast2 span a{
    display: block !important;
}
#snavLast1 span a:hover, #snavLast2 span a:hover{
    font-weight:bold;
    color:#005bac !important;
}
#snavLast1 span, #snavLast2 span{
	display:block;
	height: 40px;
	line-height:40px;
	letter-spacing: 0;
	font-size: 12px;
	text-align: center !important;
	padding: 0 5%;
}
#snavLast3{
	width: 16.9%;
	background-color: #e60012;
}
#upLogo{
	width: 100%;
	background-color:#e60012;
}
#shingakukanDial{
	width: 25%;
	background-color:#005bac;
	color: #fff;
	text-align:center;
	font-size:12px !important;
	font-weight: bold;;
	height: 50px;
	line-height: 12px;
	padding: 7px 0;
	float: left;
}
#shingakukanDial img{
	padding: 0;
    border: 1px solid #fff;
    margin: 6px 0;
    width: 25px;
}
#shingakukanFreeDial{
	display:block;
	width: 75%;
	height: 50px;
	font-size: 14px;
	text-align: center !important;
	padding: 5px 0;
	border-top: 1px solid #005bac;
	border-right: 1px solid #005bac;
	border-bottom: 1px solid #005bac;
	background-color: #fff;
	float: right;
	letter-spacing: 0;
}
#shingakukanFreeDial .fwB{
    line-height: 0.8;
    display: block;
    padding: 5px 0 0 0;
		font-size: 1.15em;
}
.bdrR{
	border-right: 1px solid #ccc;
}
.bdrB{
	border-bottom: 1px solid #ccc;
}
.navSpDpy{
    width: 100%;
    display: ruby-text-container;
    display: contents;
}
.navpc_none, .navIrr_none{
	display: none !important;
}
@media screen and  (max-width:1160px){
header #logo{
    width:15%;
    height: 60px!important;
    padding: 0;
    margin:0;
    float: left;
}
header #logo img{
    max-height: 40px;
	margin-top: 10px;
    padding: 0;
    text-align: center;
    position: absolute;
}
#snavLast0{
    width: 24%;
}
#headertaiken, #headerShiken, #headerShiryo{
	width: 23%;
}
#headerContact {
    width: 31%;
}
#snavLast1, #snavLast2{
    width:17.5vw;
}
#snavLast1 span, #snavLast2 span{
    height:30px;
    line-height: 30px;
}
#snavLast3{
    width:24.7vw;
    /* float: right !important; */
}
#shingakukanDial, #shingakukanFreeDial{
    height: 60px;
    padding: 13px 0;
}
#upLogo{
    display: none;
}
.box-under-shadow {
    box-shadow: 0px 1px 3px 0 #ccc;
    border-bottom: 1px solid #aaa;
}
#snav div {
    height:60px;
}
#headertaiken a:link, #headerShiken a:link, #headerShiryo a:link, #headerContact a:link,
#headertaiken a:visited, #headerShiken a:visited, #headerShiryo a:visited, #headerContact a:visited{
    font-size: 12px;
    line-height: 38px;
    padding: 11px 0;
	font-weight:bold;
}
}
@media screen and (max-width:812px){
header #logo{
    width:25%;
    height: 60px!important;
    padding: 0;
    margin:0;
    float: left;
}
header #logo img{
    width:auto;
    padding: 0;
    margin: 1.3% auto 0 3%;
    text-align: center;
    position: absolute;
}
#snavLast0{
    width:56%;
    margin:0;
    float: right;
}
.box-under-shadow {
    box-shadow: 0px 1px 3px 0 #ccc;
    border-bottom: 1px solid #aaa;
}
#snav{
    position: fixed;
    z-index: 999;
    background-color: #fff;
    top: 0;
}
#snav div{
    height: 30px;
}
#snavLast1, #snavLast2, #snavLast3{
    display: none;
}
#headertaiken, #headerShiken, #headerShiryo, #headerContact{
	width: 50%;
}
#headertaiken a:link, #headerShiken a:link, #headerShiryo a:link, #headerContact a:link,
#headertaiken a:visited, #headerShiken a:visited, #headerShiryo a:visited, #headerContact a:visited{
    font-size: 12px;
    line-height: 1;
    padding: 8px 0;
}
#headerShiken a:link, #headerContact a:link,
#headerShiken a:visited, #headerContact a:visited{
    padding: 9px 0;
}
.navSpDpy{
    max-width: 480px;
    width: 100%;
    margin: 0 10px;
	display:block;
}
.navpc_none{
	display: block !important;
}
}
@media screen and (max-width:480px){
header #logo img{
    padding: 0;
    margin: 3.5% auto 0 2%;
    text-align: center;
    position: absolute;
}
#snav div{
    height: 30px;
}
#headertaiken, #headerShiken, #headerShiryo, #headerContact{
	width: 50%;
    height: 8vw;
}
#headertaiken a:link, #headerShiken a:link, #headerShiryo a:link, #headerContact a:link,
#headertaiken a:visited, #headerShiken a:visited, #headerShiryo a:visited, #headerContact a:visited{
    font-size: 12px;
    line-height: 0.834;
    padding: 9px 0;
}
#headerShiken a:link, #headerContact a:link,
#headerShiken a:visited, #headerContact a:visited{
    padding: 10px 0;
}
.navSpDpy{
    max-width: 480px;
    width: 100%;
    margin: 0 10px;
}
}
@media screen and (max-width:320px){
header #logo img{
    padding: 0;
    margin: 5% auto 0 2%;
    text-align: center;
    position: absolute;
}
}
@media screen and (min-width: 813px) and (max-width: 1160px) {
.navIrr_none{
	display: block !important;
}
#headertaiken a:link, #headerShiken a:link, #headerShiryo a:link, #headerContact a:link, #headertaiken a:visited, #headerShiken a:visited, #headerShiryo a:visited, #headerContact a:visited {
    width: 5.52vw;
    line-height: 1.5;
    height: 60px;
    display: table-cell;
    vertical-align: middle;
}
}

/* ======================================
	ctaheader
====================================== */
/* PC */
#ctaHeaderPC #logo {
	width: 16.9166667%;
}
@media screen and (max-width: 1160px) {
	#ctaHeaderPC #logo {
		width: 14.5%;
	}
}

#ctaHeaderPC #snav {
	padding: 10px 0;
}
@media screen and (max-width: 1160px) {
	#ctaHeaderPC #snav {
		padding: 10px;
	}
}
@media screen and (max-width: 812px) {
	#ctaHeaderPC #snav {
		display: none;
	}
}
#ctaHeaderPC #snav #snavLast {
    width: 41.9%;
    float: right;
}
#ctaHeaderPC #snav #snavLast #snavLast1 {
	width: 40%;
}
#ctaHeaderPC #snav #snavLast #snavLast2 {
	width: 17%;
}
#ctaHeaderPC #snav #snavLast #snavLast3 {
	width: 42.333333%;
}
#ctaHeaderPC #snav #snavLast #snavLast2 .snavLast2Box {
    display: flex !important;
    justify-content: space-between;
	padding: 0;
}
#ctaHeaderPC #snav #snavLast #snavLast2 .snavLast2BoxItem {
    width: 50%;
	padding: 0;
}
@media screen and (max-width: 1160px) {
	#ctaHeaderPC #snav #snavLast {
		width: 49.122807%;
	}
	#ctaHeaderPC #snav #snavLast #snavLast1{
		width: 41.314079%;
	}
	#ctaHeaderPC #snav #snavLast #snavLast2  {
		width: 17%;
	}
	#ctaHeaderPC #snav #snavLast #snavLast3 {
		width: 41.69%;
	}
	#ctaHeaderPC #snav #snavLast #snavLast1 span,
	#ctaHeaderPC #snav #snavLast #snavLast2 span {
		font-size: 11px;
	}
	#ctaHeaderPC #snav #snavLast #snavLast3 #shingakukanFreeDial span:nth-child(1) {
		font-size: 1.1em;
	}
	#ctaHeaderPC #snav #snavLast #snavLast3 #shingakukanFreeDial span:nth-child(2) {
		font-size: 10px !important;
	}
}
@media screen and (max-width: 812px) {
	#ctaHeaderPC #snav #snavLast {
		display: none;
	}
}


#ctaHeaderPC #snavLast0.ctaHeader {
	display: flex;
    align-items: center;
}
@media screen and (max-width: 812px) {
	#ctaHeaderPC #snavLast0.ctaHeader {
		display: none;
	}
}

#ctaHeaderPC #snavLast0.ctaHeader .ctaButton {
	width: 31.25%;
	height: 72px;
}
#ctaHeaderPC #snavLast0.ctaHeader .ctaButton + .ctaButton {
	margin-left: 10px;
}

#ctaHeaderPC #snavLast0.ctaHeader .ctaButtonLink {
	border-radius: 4px;
	box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
	display: block;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.313;
	height: 72px;
	text-align: center;
}
#ctaHeaderPC #snavLast0.ctaHeader .ctaButtonLink:hover {
	opacity: 0.7 !important;
}
#ctaHeaderPC #snavLast0.ctaHeader .ctaButtonLink.ctaButtonLink-contact {
	background-color: #15B95D;
	color: #FFFFFF;
}
#ctaHeaderPC #snavLast0.ctaHeader .ctaButtonLink.ctaButtonLink-catalog {
	background-color: #FFFFFF;
	color: #15B95D;
}
#ctaHeaderPC #snavLast0.ctaHeader .ctaButtonLink.ctaButtonLink-event {
	background-color: #FFFFFF;
	color: #1660A2;
}
#ctaHeaderPC #snavLast0.ctaHeader .ctaButtonLink span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 72px;
	position: relative;
}
#ctaHeaderPC #snavLast0.ctaHeader .ctaButtonLink.ctaButtonLink-contact span {
	padding-left: 40px;
}
#ctaHeaderPC #snavLast0.ctaHeader .ctaButtonLink.ctaButtonLink-catalog span {
	padding-left: 36px;
}
#ctaHeaderPC #snavLast0.ctaHeader .ctaButtonLink.ctaButtonLink-event span {
	padding-left: 40px;
}

#ctaHeaderPC #snavLast0.ctaHeader .ctaButtonLink span::before {
	content: "";
	position: absolute;
	background-repeat: no-repeat;
	top: 50%;
	transform: translateY(-50%);
}
#ctaHeaderPC #snavLast0.ctaHeader .ctaButtonLink-contact span::before {
	background-size: 31px auto;
	width: 31px;
	height: 30px;
	left: 0;
}
#ctaHeaderPC #snavLast0.ctaHeader .ctaButtonLink-catalog span::before {
	background-size: 26px auto;
	width: 26px;
	height: 30px;
	left: 0;
}
#ctaHeaderPC #snavLast0.ctaHeader .ctaButtonLink-event span::before {
	background-size: 30px auto;
	width: 30px;
	height: 30px;
	left: 0;
}
#ctaHeaderPC #snavLast0.ctaHeader .ctaButtonLink.ctaButtonLink-contact span::before {
	background-image: url("/images/common/icon_lesson.svg");
}
#ctaHeaderPC #snavLast0.ctaHeader .ctaButtonLink.ctaButtonLink-catalog span::before {
	background-image: url("/images/common/icon_document.svg");
}
#ctaHeaderPC #snavLast0.ctaHeader .ctaButtonLink.ctaButtonLink-event span::before {
	background-image: url("/images/common/icon_calendar.svg");
}

@media screen and (max-width: 1160px) {
	#ctaHeaderPC #snavLast0.ctaHeader {
		width: 35.087719%;
	}
	#ctaHeaderPC #snavLast0.ctaHeader .ctaButton,
	#ctaHeaderPC #snavLast0.ctaHeader .ctaButtonLink,
	#ctaHeaderPC #snavLast0.ctaHeader .ctaButtonLink span {
		height: 60px;
	}
	#ctaHeaderPC #snavLast0.ctaHeader .ctaButtonLink {
		font-size: 14px;
	}
	#ctaHeaderPC #snavLast0.ctaHeader .ctaButtonLink.ctaButtonLink-contact span,
	#ctaHeaderPC #snavLast0.ctaHeader .ctaButtonLink.ctaButtonLink-catalog span,
	#ctaHeaderPC #snavLast0.ctaHeader .ctaButtonLink.ctaButtonLink-event span {
		padding-left: 25px;
	}
	#ctaHeaderPC #snavLast0.ctaHeader .ctaButtonLink-contact span::before,
	#ctaHeaderPC #snavLast0.ctaHeader .ctaButtonLink-catalog span::before {
		background-size: 16px auto;
		width: 16px;
		height: 17px;
	}
	#ctaHeaderPC #snavLast0.ctaHeader .ctaButtonLink-event span::before {
		background-size: 15px auto;
		width: 15px;
		height: 15px;
	}
}
@media screen and (max-width: 1000px) {
	#ctaHeaderPC #snavLast0.ctaHeader .ctaButtonLink {
		font-size: 12px;
	}
}

/* ctaHeader Floating */
@media screen and (min-width: 813px) {
	#ctaHeaderPC #snavFixd {
		background-color: #FFFFFF;
		border-bottom: 1px solid #aaa;
		position: fixed;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		width: 100%;
		z-index: 999;
	}
	#ctaHeaderPC #gnav {
		margin: 100px auto 10px;
	}
}
@media screen and (max-width: 1160px) {
	#ctaHeaderPC #gnav {
		margin: 91px auto 10px;
	}
}
@media screen and (max-width: 812px) {
	#ctaHeaderPC #gnav {
		display: none;
	}
	#ctaHeaderSP .inner {
		background-color: #FFFFFF;
		position: fixed;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		width: 100%;
		z-index: 999;
	}
}


/* ======================================
	見出し
====================================== */
#newH1{
	width: 100%;
	height: auto;
  background: #f5faff url(../images/common/bg_news_t.png);
	color: #005bac;
  border: 1px solid #005bac;
	font-size: 1.6rem;
	text-align: center;
	padding: 18px 10px 14px 10px;
	line-height: 1.4em;
}
@media screen and (max-width:480px){#newH1{font-size: 1.2em;}}

/*　テキスト左右に線　*/
.title-border {
display: flex;
align-items: center;
}
.title-border:before,
.title-border:after {
border-top: 1px dotted #CCC;
content: "";
flex-grow: 1;
}
.title-border:before {
margin-right: 1rem;
}
.title-border:after {
margin-left: 1rem;
}

/* ======================================
	トップスライダー
====================================== */
#mainSlider {
	max-width: 1200px;
	height: 500px;
}
#mainSlider button{
    display: none;
}
/* ======================================
	コンテンツ内共通
====================================== */
#container{
	max-width: 1200px;
    width: 100%;
	margin: 0 auto;
}
.jumpTo{
    margin: 0 0 70px 0;
}
#zeroTab h2 {
	margin: 0 !important;
    background: #005bac;
    color: #fff;
    border-bottom: none;
}
.zeroTabPink h2 {
	margin: 0 !important;
    background: #d22020;
    color: #fff;
    border-bottom: none;
}
.Tab4catchImg h2 {
	margin: 0 !important;
    background: #005bac;
    color: #fff;
    border-bottom: none;
}
.Tab4catchImgPink h2 {
	margin: 0 !important;
    background: #d22020;
    color: #fff;
    border-bottom: none;
}

#secondTab h2 {
	margin: 0 !important;
    background: #fdf3f3 url(../images/common/bg_news_p.png);
    color: #f5386b;
    border: 1px solid #f5386b;
    border-bottom: none;
}
.flexImg img{
    width: 100%;
    max-width: 1200px;
}
.flexImg2 img{
    width: auto;
    max-width: 1200px;
}
@media screen and (max-width: 812px) {
#container{
	width: 95%;
}
#zeroTab h2, #firstTab h2, #secondTab h2, .zeroTabPink h2 {
    margin: 0;
}
.jumpTo{
    padding: 110px 0 0 0;
    margin: -110px 0 50px 0;
}
	
.jumpTo2{
    padding: 0;
    margin: 0;
}
	
.flexImg img, .flexImg2 img{
    width: 100%;
    max-width: auto;
}
}
/* ======================================
	インデックスタブ
====================================== */
.indexTab{
	width: 100%;
	height: auto;
	background-color: #005bac;
	color: #fff;
	font-size: 24px;
	text-align: center;
	padding: 10px 0;
}
.indexTabNext{
	width: 100%;
	height: auto;
	background-color: #d22020;
	color: #fff;
	font-size: 24px;
	text-align: center;
	padding: 10px 0;
}

.indexTabNext02{
	width: 100%;
	height: auto;
	background-color: #f59e25;
	color: #fff;
	font-size: 24px;
	text-align: center;
	padding: 10px 0;
}

.indexTabWeb{
	width: 100%;
	height: auto;
	background-color: #00b4c0;
	color: #fff;
	font-size: 24px;
	text-align: center;
	padding: 10px 0;
}
.indexTabNextT0{
	width: 100%;
	height: auto;
	background-color: #d22020;
	color: #fff;
	font-size: 24px;
	text-align: center;
	padding: 10px 0;
    margin: 5px 0 0 0;
}
.indexTabDsky{
	width: 100%;
	height: auto;
	background-color: #00b4c0;
	color: #fff;
	font-size: 24px;
	text-align: center;
	padding: 10px 0;
}
.forIndexNext{
    width: 100%;
    border: 1px solid #d62840;
    padding: 20px 30px;
    margin: 0;
}
.forIndexTab{
    width: 100%;
    border: 1px solid #005bac;
    padding: 20px 30px;
    margin: 0;
}
.taisho{
    width:19%;
    padding: 2px 10px;
    background-color: #11b4e5;
    color: #fff;
    text-align: center;
    margin: 0;
    float: left;
}
.examNon{
    width: 19%;
    padding: 2px 10px;
    background:#E5119B;
    color: #fff;
    text-align: center;
    margin: 0 0 0 2%;
    float: left;
}
.other{
    width: 18%;
    padding: 2px 10px;
    background-color: #66da15;
    color: #fff;
    text-align: center;
    margin: 0 0 10px 2%;
    float: left;
}
.other_long{
    width: 380px;
    padding: 2px 10px;
    background-color: #66da15;
    color: #fff;
    text-align: center;
    margin: 0 0 10px 2%;
    float: left;
}
.other_auto{
    width: auto;
    padding: 2px 10px;
    background-color: #66da15;
    color: #fff;
    text-align: center;
    margin: 0 0 5px 2%;
    float: left;
}
.other2{
    width: 19%;
    padding: 2px 10px;
    background-color: #ff6a00;
    color: #fff;
    text-align: center;
    margin: 0 0 10px 2%;
    float: left;
}
@media screen and (max-width:812px){
.indexTab, .indexTabNext, .indexTabWeb{
	width: 100%;
    padding: 20px 10px;
	line-height: 1.4;
    font-size: 1.4rem;
}
.taisho, .examNon, .other, .other2{
    width: 100%;
    margin: 2px 0 !important;
}
.other_long{
    width: 100%;
    margin: 5px 0 !important;
}
}
/* ======================================
	キャッチコピー
====================================== */
.catchCopy {
    color: #005bac;
    font-size: 2.7em;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.catchCopyPink {
    color: #e90169;
    font-size: 2.7em;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.catchCopyDsky {
    color: #00b4ba;
    font-size: 2.7em;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.catchCopySky {
    width: 100%;
    font-size: 2em;
    padding: 10px 0;
    font-family: serif;
    font-weight: bold;
    color: #00bbec;
}
.about_s {
    width: 100%;
    font-size: 1.7rem;
    padding: 10px 0;
    font-family: serif;
    font-weight: bold;
    color: #00bbec;
}
.about_p {
    width: 100%;
    font-size: 1.7rem;
    padding: 10px 0;
    font-family: serif;
    font-weight: bold;
    color: #f53890;
}

.about_l {
    width: 100%;
    font-size: 1.0rem;
    padding: 2px 0;
    color: #000000;
}
@media screen and (max-width:812px) {
.catchCopy {
    font-size: 1.8em;
    text-align: center;
    padding: 10px 0;
}
.catchCopySky, .catchCopyPink {
    font-size: 1.8em;
    padding: 0 0 15px 0;
}
.about_s, .about_p {
    font-size: 1.8em;
    padding: 0 0 15px 0;
    line-height: 1.5;
}
.longImg img{
    width: auto !important;
    max-width: 812px;
}
}
@media screen and (max-width : 486px ){
.longImg img{
    width: 100% !important;
}
}
/* ======================================
	ピックアップコンテンツ枠
====================================== */
#pickupContents{
	color: #666;
	}
#pickupContents .container{
	display: flex;
	text-align: center;
	width: 100%;
	margin-bottom: 20px;
}
#pickupContents .item{
	justify-content: space-between;
	width: 25%;
	margin-top: 10px;
}	
#pickupContents img{
	width:96%;
}
@media screen and (max-width: 767px) {
#pickupContents .container{
	flex-wrap:wrap;
}
#pickupContents .item{
	width: 50%;
	}
}

/* ======================================
	関連サイト枠
====================================== */
#kanrenSite{
	font-size: 0.8rem!important;
	letter-spacing: 0!important;
	line-height: 1.6em;
	text-align: left;
	display: flex;
}
#kanrenSite a{color: #333;}
#kanrenSite a:hover{color: #005AAC;}
#kanrenSite .container{
	display: block;
	height: 125px;
	width: 50%;
	background-color: #EEE;
	padding: 12px;
	margin-bottom: 10px;
}
#kanrenSite .mR{margin-right: 10px!important;}
#kanrenSite .itemTitle{
	font-size: 1rem;
	font-weight: bold;
	margin: 3px 0 -2px 0;
}
#kanrenSite .url{
	color: #666;
	font-size: 10px;
	margin-bottom: 3px;
}
#kanrenSite img{
	height: 100px;
	float: left;
	margin-right: 10px;
	border: 1px solid #CCC;
	}
#kanrenSite .SPsetsumei{ 
	display: none;
	}
@media screen and (max-width: 970px) {
#kanrenSite{
	display: block;
	}
#kanrenSite .itemTitle{
	font-size: 0.9rem;
	}
#kanrenSite .url{
	margin-bottom: 0px;
}	
#kanrenSite .PCsetsumei{ 
	display: none;
	}
#kanrenSite .SPsetsumei{ 
	display:inline!important;
	font-size: 0.8rem;
	}	
#kanrenSite .container{
	width: 100%!important;
	}
}
@media screen and (max-width: 320px) {
#kanrenSite .url{ display: none!important;}
#kanrenSite .SPsetsumei{ display: none!important;}
#kanrenSite .PCsetsumei{ display: none!important;}
}
/* ======================================
	SNS枠
====================================== */
.SNStitle{
	display: block;
	width: 100%;
	text-align: center;
	padding-top: 10px;
	border-top: 1px dotted #CCC;
}
#SNS{
	position: relative;
	display: flex;
	letter-spacing: 0!important;
    width: 100%;
	height: 80px;
    margin: 0 auto;	
	padding:0 0px 2px 0px;

	border-bottom: 1px dotted #CCC;
	justify-content:center;
}

#SNS .item{
	font-size: 0.7rem;
    display:block;
	width: 70px;
	margin-top: 10px;
	text-align: center;
	color: #555;
}

#SNS .item a{
    display: block;
}

#SNS .item img{
    padding: 0 5px; 
    width: 50px;
}

/* ======================================
	フッター
====================================== */
footer{
    margin:0 auto;
}
#last {
	letter-spacing: 0!important;
    display: table;
    margin: 10px auto;
}
.last, .lastAfter{
    padding-top: 10px;
    float: left;
}
.last:after {
	content: "｜";
}
.lastAfter:after {
	content: "";
}
#bumonLogo ul li a img{
    height: 18px;
	width: auto;
    margin: 10.5px;
    float:left;
}
#bumonLogo ul li.ft_ps a img{
    height: 21px;
    margin: 8px 10.5px;
}
#copyright {
    font-size: 90%;
    text-align: center;
	letter-spacing: 0!important;
    padding: 0 0 10px 0;
}
.ft_copyright {
    font-size: 0.7rem;
	text-align: center;
	letter-spacing: 0!important;
    padding: 0 0 33px 0;
}
.ft_link ul{
	display: flex;
}
.ft_copy_img{
	text-align: center;
}
@media screen and (max-width:767px) {
	.ft_link ul{
		display: flow-root;
	}
	#bumonLogo ul li.ft_ps a img{
		height: 21px;
		margin: 4px 10.5px 5px;
	}
}

/* ページトップへ
---------------------------------------------------------------------------*/
#page_top {
	width:50px;
	display: none;
	position: fixed;
	bottom: 25px;
	right:10px;
	z-index:200;
}
#page_top img {
    width: 100%; 
}
@media screen and (max-width:812px) {
#page_top {
		width:50px;
		bottom: 55px;
		right:10px;
}
#bumonLogo ul li a img{
    margin: 6px;
}
}
/* PC表示 右側リンク
---------------------------------------------------------------------------*/
#page_right {
    display: none;
	width:45px;
    top: 10%;
    right:13px;
	position: fixed;
	z-index:99998;
}
#page_right div {
    width: 100%;
    display: block;
    font-size: 16px;
}
#pr1{
    background-color: #00AC13;
    border: 1px solid #00AC13;
    padding: 15px 10px;
    text-align: center;
    line-height: 1.2;
}
#pr2,#pr4{
    background-color: #FFFFFF;
    border: 1px solid #D9D9D9;
    border-top: none;
    color: #005BAc;
    padding: 15px 10px;
    text-align: center;
    line-height: 1.2;
}
#pr3{
    background-color: #FFFFFF;
    border: 1px solid #00AC13;
    color: #00AC13;
    padding: 15px 10px;
    text-align: center;
    line-height: 1.2;
}
#page_right a{
    color: #fff;
}
a:hover #pr1, a:hover #pr2, a:hover #pr3, a:hover #pr4 {opacity: 0.7;}

@media screen and (max-width:812px) {
#page_right {
		display: none !important;
}
}
/* ======================================
	ジャンプ用リスト
====================================== */
.jump {
	margin: 0 auto 30px;
    font-size: 12px;
	width:100%;
    display: block;
    background: #fff;
}
.jump ul {
	text-align: center;
    display: block;
    margin: 0 auto;
    width: 90vw;
}
.jump li {
	display: inline-block;
	padding: 5px 30px;
}
.jump li a{
    font-size: 14px;
    width: 100%;
	position: relative;
    text-align: center;
	display: block;
}
.jump li a:before {
    width: auto;
	position: absolute;
    margin-left: -1em;
	content: "≫";
}
.jump li a:link, .jump li a:visited{
    text-decoration: none !important;
    color: #005AAC !important;
}
.jump li a:hover{
    font-weight: bold;
}
@media screen and (max-width: 767px) {
.jump { 
    padding: 0;
    z-index: 1;
    box-shadow: 0 0 3px 0 #ccc;
    border-bottom: 1px solid #ccc;
    margin: 5px 0;
}
.jump li {
	display: inline-block;
	padding: 5px 20px;
}
}
/* ======================================
	ページトップ用ジャンプ用リスト
====================================== */
.jump1st {
	margin: 0 auto;
    font-size: 12px;
	width:100%;
    display: block;
    background: #fff;
}
.jump1st ul {
	text-align: center;
    display: block;
    margin: 0 auto;
    width: 90vw;
}
.jump1st li {
	display: inline-block;
	padding: 5px 30px;
}
.jump1st li a{
    font-size: 14px;
    width: 100%;
	position: relative;
    text-align: center;
	display: block;
}
.jump1st li a:before {
    width: auto;
	position: absolute;
    margin-left: -1em;
	content: "≫";
}
.jump1st li a:link, .jump1st li a:visited{
    text-decoration: none !important;
    color: #005AAC !important;
}
.jump1st li a:hover{
    font-weight: bold;
}
@media screen and (max-width: 767px) {
.jump1st { 
    padding: 10px 5px;
    z-index: 1;
    box-shadow: 0 0 3px 0 #ccc;
    border-bottom: 1px solid #ccc;
    margin: 10px 0 0 0;
}
.jump1st ul {
    width: 100%;
    text-align: left;
}
.jump1st li {
    display: block;
	padding: 5px 5px 5px 30px;
}
.jump1st li a{
    text-align: left;
}
}
/* ======================================
	関連ページリンク
====================================== */
.box1 h4 {
    width: 60%;
    display: block;
    padding: 0 3em;
    margin: 0 auto 50px;
}
.box1 h4 a {
    width: 100%;
    background-color: #288cd6;
    color: #fff;
    text-align: center;
    background-image: url(../images/common/arrow_blue.png);
    background-position: 91.5% 50%;
    background-repeat: no-repeat;
    background-size: 20px;
    font-size: 1.5rem;
    padding: 40px 20px;
    vertical-align: baseline;
    display: block;
}
.boxButton h4 {
    width: 40%;
    margin: 0 auto;
}
.boxButton h4 a {
    width: 100%;
    background-color: #288cd6;
    color: #fff;
    text-align: center;
    background-image: url(../images/common/arrow_blue.png);
    background-position: 91.5% 50%;
    background-repeat: no-repeat;
    background-size: 20px;
    font-size: 1.2rem;
    padding: 15px 40px 15px 20px;
    vertical-align: baseline;
    border-radius: 20px;
    display: block;
}
@media screen and (max-width: 812px){
.box1 h4 {
    width: 100%;
    height: auto;
    padding: 10px;
    margin: 0 auto;
}
.box1 h4 a {
    display: block;
    font-size: 1.2rem;
    border-right: none;
    padding: 40px 10px;
    margin: 0;
}
.boxButton h4 {
    width: 100%;
}
}

.btnBox{
    display: flex;
    text-align: center;
    margin-top: 20px;
    padding: 20px 0;
    width:100%;
    justify-content: space-between;
    border-top: dotted 1px #BDBDBD;
    border-bottom: dotted 1px #BDBDBD;
}
.btnBox h4{
    width: 47%;
    background-position: 5% 50%;
    background-repeat: no-repeat;
    background-size: 30px;
    font-size: 1rem;
    font-weight: normal!important;
    vertical-align: baseline;
    border-radius: 3px;
    border: 1px solid #BDBDBD;
    display: block;
    background-color: #E5E9EC;
}
.btnBox h4 a { 
    display: block; 
    width: 100%;
    padding: 15px 10px 15px 20px;
    }
.btnBox h4.bill{background-image: url("../images/common/icon_bill.png")!important;}
.btnBox h4.note{background-image: url("../images/common/icon_note.png")!important;}
.btnBox h4.phone{background-image: url("../images/common/icon_phone.png")!important;}

@media screen and (max-width: 812px){
.btnBox h4{
    background-size: 20px;
    font-size: 0.8rem;
    }}
@media screen and (max-width: 320px){
.btnBox h4{
    background-size: 18px;
	font-size: 0.7rem;
    }}	
/* ======================================
	コンテンツ内 申込ボタン
====================================== */
.buttonTop{
    margin: 70px;
}
.buttonShiryo, .buttonEvent {
	width: 45%;
    font-size: 1.1rem;
    background-color: #4FC000;
    background-image: url(../images/common/arrow_green.gif);
    background-position: 90% 50%;
    background-repeat: no-repeat;
    background-size: 20px;
	border-radius: 40px;
    padding: 15px 40px 15px 20px;
    margin: 0 auto;
    float: left;
}
.buttonEvent {
	float: right;
}
.buttonShiryo a, .buttonEvent a{
	color: #fff;
	text-align: center;
	display: block;
}
.buttonNyugakuShiken, .button1row {
	width: 85%;
	max-width: 100%;
    font-size: 1.1rem;
    background-color: #4FC000;
    background-image: url(../images/common/arrow_green.gif);
    background-position: 95.5% 50%;
    background-repeat: no-repeat;
    background-size: 20px;
	border-radius: 40px;
    padding: 15px 40px 15px 20px;
    margin: 10px auto;
}
.buttonNyugakuShiken a, .button1row a{
	color: #fff;
	text-align: center;
	display: block;
}
.buttonShiryo:hover, .buttonEvent:hover, .buttonNyugakuShiken:hover, .button1row:hover {
    background-color: #84D800;
}
.buttonShiryo a:hover, .buttonEvent a:hover, .buttonNyugakuShiken a:hover, .button1row a:hover{
	text-decoration: none;
	opacity: 1.0;
}
.row2 {
	width: 85%;
	margin: 30px auto 20px;
}
@media screen and (max-width:812px){
.buttonTop{
    margin: 30px 0 0 0;
}
.buttonShiryo, .buttonEvent {
		width: 90%;
		display: block;
		float:none;
        margin: 0 auto 20px;
}
.buttonNyugakuShiken, .button1row {
		width: 90%;
		background-position: 90% 50%;
		display: block;
		float:none;
		margin: 0 auto 20px;
}
.row2 {
		width: 100%;
		margin: 0 auto;
}
}
.kamoku ul li{
    float: left;
}
.rika, .shakai, .sansu, .kokugo, .jyoshiki  {
    padding: 5px 10px;
    color: #fff;
    border-radius: 5px;
    text-align: center;
    margin-right: 5px;
}
.rika {
    background: #00d408;
}
.shakai {
    background: #ff9800;
}
.sansu {
    background: #00bcd4;
}
.kokugo {
    background: #f44336;
}
.jyoshiki {
    background: #3f51b5;
}

/* ============================================================================
アイコン自動表示
============================================================================ */
a.pdf[href$=".pdf"] {
  padding-right: 20px;
  background: url("/images/common/icon_pdf.png") no-repeat right center;
  background-size: 18px 18px;
}
/* ============================================================================
講座紹介等ページ共有 パンくず下　帯の注意書き
============================================================================ */
.attention{
	width: 100%;
	text-align: center;
	background-color: #FCEA74;
	margin: 5px 0;
	padding: 5px 0;
	display: block;
	color: #F50F13;
}
@media screen and (max-width: 812px){
.attention{
	margin-top: 90px;
	font-size: 0.9rem;
}}
/* 掲載しない場合= */
.attentionNo{
	margin-top:20px;
}
@media screen and (max-width: 812px){
.attentionNo{
	margin-top: 40px!important;
}}
/* ============================================================================
汎用table
============================================================================ */
.hanyoTable {}

.hanyoTable table{
    width: 100%;
    margin: 10px 0;
}
.hanyoTable table tr{
    border-top: 1px solid #D9D9D9;
    border-right: 1px solid #D9D9D9;
    border-left: 1px solid #D9D9D9;
}
.hanyoTable table tr:nth-last-child(1){
    border: 1px solid #D9D9D9;
}
.hanyoTable table tr th{
    padding: 10px;
    background: #E9EDF2;
    border: 1px solid #D9D9D9;
    vertical-align: middle;
    text-align: center;
}
.hanyoTable table tr td{
    padding: 10px 15px;
    vertical-align: middle;
    border-right: 1px solid #D9D9D9;
}
@media screen and (max-width: 812px) {
.hanyoTable {
    padding: 20px 0;
}
.hanyoTable table tr th{
    width: 100%;
    display: block;
    border: none;
}
.hanyoTable table tr td{
    width: 100%;
    display: block;
    border: none;
    padding: 10px;
}
.hanyoTable table tr td div{
    display: block;
}
}
/* ======================================
	印刷定義
====================================== */
@media print{
	#page_right{display: none!important;}
	#kanrenSite{display: none!important;}
	.inlink_area{display: none!important;}
}
/* ======================================
	ページ下部 お問い合わせ
====================================== */
#BottomForms {
margin: 40px 0;padding: 20px 50px; display: flex;justify-content: space-between;letter-spacing: 0!important;background: #FFF;border-radius: 3px;box-shadow: 0 0 10px rgba(0,0,0,.1);line-height: 1.6em;}

#BottomForms .Formstitle{font-size: 2em;text-align: center;font-weight: bold;margin-top: 10px; margin-bottom: 15px;border-radius: 3px 3px 0 0}
#BottomForms .LeftBox{width: 50%;padding-right: 20px;border-right: #CCC dotted 1px;}
#BottomForms .LeftBox .pmh{display: block;max-width: 140px;	border:1px solid #eee;height: auto;float: left;margin-right: 20px;box-shadow: 0 0 5px rgba(0,0,0,.1);}
#BottomForms .RightBox{width: 48%;}
#BottomForms .RightBox img{margin-right: 5px;padding-bottom: 3px;}
#BottomForms .Tel{font-size:2.5em;font-weight: bold;margin: 10px 0 0 0;line-height: .8em;}
#BottomForms .Formsbtn {
    display: flex;
    flex-direction: column;
    margin: 20px 0 10px 0;
    align-items: center;
    justify-content: center;
    background-color: #00ac13;
    height: 60px;
    position: relative;
    border-radius: 3px;
    font-size: 1.2rem;
    line-height: 1.1em!important;
    color: #FFF!important;
    background-image: url(/images/common/arrow_white2.png);
    background-position: 95% 50%;
    background-repeat: no-repeat;
    background-size: 20px;
    border-bottom: #018810 8px solid;
    border-left: #018810 2px solid;
    border-right: #018810 2px solid;
}
#BottomForms .Formsbtn:hover {
	opacity:1!important;
	border:none!important;
}
#BottomForms .item{min-height: 100px;}

@media screen and (max-width: 1220px) {
#BottomForms .item{min-height: 120px;}
}

@media screen and (max-width: 960px) {
#BottomForms{padding:20px; }
#BottomForms .Formstitle{
	 font-size: 2em;
    text-align: center;
    font-weight: bold;
    margin-bottom: 15px;
    padding: 15px 0 10px 0;
    border-radius: 3px 3px 0 0;
    background-color: #E7ECF0;
}
#BottomForms .LeftBox, #BottomForms .RightBox{width: 49%;}
#BottomForms .LeftBox .pmh{display: block;max-width: 100px;	}
#BottomForms .LeftBox .pmh{max-width: 120px;}
#BottomForms .item{min-height:auto;}
#BottomForms .Tel{font-size:1.8em;margin-top: 20px;}
#BottomForms .item{min-height: 135px;}
}
@media screen and (max-width: 767px) {
#BottomForms{display: block;}
#BottomForms .LeftBox, #BottomForms .RightBox{width: 100%;border: none;padding: 0;}
#BottomForms .RightBox{border-top: #CCC dotted 1px;margin-top: 20px;padding-top: 20px;}
#BottomForms .title{font-size: 1.6em;background: #E9EEF2;padding: 5px 0;}
#BottomForms .item{min-height: auto;}
}
@media screen and (max-width: 430px) {
#BottomForms .Formsbtn{font-size: 1em!important;}
}
@media screen and (max-width: 320px) {
#BottomForms .title{font-size: 1.6em;}
#BottomForms .Tel{font-size:1.6em;}
}

/*追加css*/

#ContentsForm{
	display: flex;
	justify-content: center;
	margin: 40px 0;
	padding: 20px 50px;
	letter-spacing: 0!important;
	background: #FFF;
	border-radius: 3px;
	box-shadow: 0 0 10px rgba(0,0,0,.1);
	line-height: 1.6em;
}

#ContentsFormLeft{
	flex: 1;
	margin-right: 10px;
	padding-right: 20px;
    border-right: #CCC dotted 1px;
	text-align: center;
}

#ContentsFormRight{
	flex: 1;
	margin-left: 10px;
	text-align: center;
}

#ContentsForm .Formstitle{
	font-size: 2em;
	text-align: center;
	font-weight: bold;
	margin: 10px 0 15px;
}

.Formsbtn{
	font-size: 1.0rem;
	padding: 15px 0;
	background-color: #FFFFFF;
	border-radius: 8px;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
	text-align: center;
}

#ContentsFormLeft .Formsbtn{
	border: 1px solid #15B95D
}

#ContentsFormRight .Formsbtn{
	border: 1px solid #005BAC;
}

#ContentsFormLeftInner .Formsbtn span{
	color: #15B95D;
	font-weight: 900;
}

#ContentsFormRightInner .Formsbtn span{
	color: #1660A2;
	font-weight: 900;
}

#ContentsForm #ContentsFormLeftInner .Formsbtn span:before {
	display: inline-block;
	content: "";
	width: 16px;
	height: 18px;
	margin-right: 20px;
	background-size: 16px auto;
	background: url("/images/common/icon_document_gr.svg") no-repeat;
	vertical-align: middle;
}

#ContentsForm #ContentsFormRightInner .Formsbtn span:before {
	display: inline-block;
	content: "";
	width: 18px;
	height: 16px;
	margin-right: 20px;
	background-size: 18px auto;
	background: url("/images/common/icon_mail.svg") no-repeat;
	vertical-align: middle;
}

#ContentsForm #ContentsFormLeftInner .Formsbtn span:after{
	display: inline-block;
	content: "";
	width: 13px;
	height: 13px;
	margin-left: 20px;
	background-size: 13px auto;
	background: url("/images/common/arrow_gr2.svg") no-repeat;
	vertical-align: middle;
}

#ContentsForm #ContentsFormRightInner .Formsbtn span:after {
	display: inline-block;
	content: "";
	width: 13px;
	height: 13px;
	margin-left: 20px;
	background-size: 13px auto;
	background: url("/images/common/arrow_bl.svg") no-repeat;
	vertical-align: middle;
}

#ContentsForm .Tel {
    font-size: 2.5em;
    font-weight: bold;
	margin:0.8em 0 0.4em;
	text-align: center;
	line-height: 1.0;
}

#ContentsForm .Tel img{
	vertical-align: middle;
}

@media screen and (max-width: 767px) {

	#ContentsForm{
		display: block;
		padding: 20px 10px;
	}

	#ContentsFormLeft{
		margin-right: 0px;
		padding-right: 0px;
		border-right: none;
	}

	#ContentsFormRight{
		margin:30px 0 0 0;
	}

	#ContentsFormLeft img{
		width: 100%;
	}

	#ContentsForm .Formstitle{
		font-size: 1.6em;
	}

	.Formsbtn{
		padding: 10px 0;
		box-shadow: none;
	}
	
	#ContentsFormLeft .Formsbtn{
		border: 1px solid #15B95D
	}
	
	#ContentsFormRight .Formsbtn{
		border: 1px solid #005BAC;
	}

	#ContentsFormLeftInner .Formsbtn span,
	#ContentsFormRightInner .Formsbtn span{
		font-size: 1.05rem;
	}

	#ContentsForm .Tel {
		font-size: 2.4em;
	}
	
}

@media screen and (max-width: 320px) {

	#ContentsForm .Tel {
		font-size: 1.6rem;
	}

}


/* ======================================
	ctaBottomForms
====================================== */
#BottomForms.ctaBottomForms .LeftBox .Formsbtn,
#BottomForms.ctaBottomForms .RightBox .Formsbtn {
	background-color: #FFFFFF;
	border: none;
	border-radius: 8px;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
	font-size: 16px !important;
	font-weight: bold;
}
#BottomForms.ctaBottomForms .LeftBox .Formsbtn {
	color: #15B95D !important;
	height: 61px;
}
#BottomForms.ctaBottomForms .RightBox .Formsbtn {
	color: #1660A2 !important;
	height: 46px;
}

#BottomForms.ctaBottomForms .LeftBox .Formsbtn span,
#BottomForms.ctaBottomForms .RightBox .Formsbtn span {
	position: relative;
}

#BottomForms.ctaBottomForms .LeftBox .Formsbtn span::before,
#BottomForms.ctaBottomForms .LeftBox .Formsbtn span::after,
#BottomForms.ctaBottomForms .RightBox .Formsbtn span::before,
#BottomForms.ctaBottomForms .RightBox .Formsbtn span::after {
	content: "";
	position: absolute;
	background-repeat: no-repeat;
	top: 50%;
	transform: translateY(-50%);
}
#BottomForms.ctaBottomForms .LeftBox .Formsbtn span::before {
	background-image: url("/images/common/icon_document.svg");
	background-size: 16px auto;
	width: 16px;
	height: 18px;
	left: -20px;
}
#BottomForms.ctaBottomForms .LeftBox .Formsbtn span::after {
	background-image: url("/images/common/arrow_gr2.svg");
	background-size: 13px auto;
	width: 13px;
	height: 13px;
	right: -15px;
}
#BottomForms.ctaBottomForms .RightBox .Formsbtn span::before {
	background-image: url("/images/common/icon_mail.svg");
	background-size: 18px auto;
	width: 18px;
	height: 16px;
	left: -28px;
}
#BottomForms.ctaBottomForms .RightBox .Formsbtn span::after {
	background-image: url("/images/common/arrow_bl.svg");
	background-size: 13px auto;
	width: 13px;
	height: 13px;
	right: -23px;
}

@media screen and (min-width:813px){
	#BottomForms.ctaBottomForms .LeftBox .Formsbtn,
	#BottomForms.ctaBottomForms .RightBox .Formsbtn {
		border-radius: 8px;
		box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
		font-size: 16px !important;
		height: 56px;
	}
	#BottomForms.ctaBottomForms .LeftBox .Formsbtn:hover,
	#BottomForms.ctaBottomForms .RightBox .Formsbtn:hover {
		opacity: .7 !important;
		border: none;
	}
	#BottomForms.ctaBottomForms .LeftBox .Formsbtn span::before,
	#BottomForms.ctaBottomForms .RightBox .Formsbtn span::before {
		left: -34px;
	}
	#BottomForms.ctaBottomForms .LeftBox .Formsbtn span::after,
	#BottomForms.ctaBottomForms .RightBox .Formsbtn span::after {
		right: -33px;
	}
}

/* ======================================
	LIST
====================================== */
.ListSimple {
	padding-left: 15px;
}

.ListSimple li{
	line-height: 1.5;
	padding: 0.2em 0;
	text-indent: -15px;
}
/* ======================================
	イベント・模試ページ等緊急情報
====================================== */
.Info_attention{
	margin: 0!important;
	padding: 10px 0!important;
	background-color: #F4E686;
	text-align: center!important;
	font-size: .9rem!important;
	line-height: 1.6em!important;
	letter-spacing: 0!important;
}
.Info_attention a{
	width: 100%;
}

.attBox{
	margin: 5px 0!important;
	padding: 10px 0!important;
	background-color: #F87375;
	text-align: center!important;
	font-size: .9rem!important;
	line-height: 1.6em!important;
	letter-spacing: 0!important;
	color: #FFF;
}
#emergency{
	max-width: 1200px;
	font-size: 1em;
	text-align:center;
	padding: 10px 10px 7px 10px;
	line-height:1.5em!important;
	background-color: #FFEFEF;
	border: 2px solid #e3e3e3;
	letter-spacing: 0!important;
}
#emergency hr{margin: 5px 0;}
@media screen and (max-width: 360px){#emergency{font-size: .85em;}}
.emergencyTitle{
	color:#414141;
	margin-bottom: 5px;
	font-weight: bold;
	font-size: 1em;
}
#emergency a{text-decoration:underline;}

#emergency2{
	max-width: 1200px;
	font-size: 1em;
	padding: 10px;
	line-height:1.5em!important;
	letter-spacing: 0!important;
	background-color: #F7F7F7;
}
@media screen and (max-width: 360px){#emergency2{font-size: .85em;}}
#emergency2 a{text-decoration:underline;}

/* ======================================
	#cta
====================================== */
.cta {
	background-color: #EDF7FF;
    margin-top: 50px;
    margin-bottom: 30px;
}
@media screen and (min-width:813px){
	.cta {
		margin-top: 80px;
		margin-bottom: 50px;
		max-width: 1200px;
	}
}
@media screen and (min-width: 813px) and (max-width: 1200px){
	.cta {
		margin-left: 10px;
		margin-right: 10px;
	}
}

@media screen and (min-width:813px){
	.cta .ctaInner {
		margin: 0 auto;
		padding: 40px 0;
		max-width: 960px;
	}
}
@media screen and (min-width: 813px) and (max-width: 1200px){
	.cta .ctaInner {
		padding-left: 10px;
		padding-right: 10px;
	}
}
@media screen and (max-width:812px){
	.cta .ctaInner {
		padding: 30px 20px;
	}
}

.cta .ctaTitle {
	color: #000000;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.3;
	margin-bottom: 0.05em;
    text-align: center;
}
.cta .ctaLead {
	font-size: 14px;
	line-height: 1.857;
	margin-bottom: 0.75em;
	text-align: center;
}
@media screen and (min-width:813px){
	.cta .ctaTitle {
		font-size: 24px;
		line-height: 1.083;
		margin-bottom: 0.125em;
	}
	.cta .ctaLead {
		font-size: 14px;
	}
}

@media screen and (min-width:813px){
	.ctaButtonGroup {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
	}
}

@media screen and (max-width:812px){
	.cta .ctaButton + .ctaButton,
	.ctaButtonTop {
		margin-top: 4vw;
	}
}
@media screen and (min-width:813px){
	.cta .ctaButton {
		width: 47.4%;
	}
	.ctaButtonTop {
		margin: 2vw auto 0;
	}
}

.cta .ctaButtonLink {
	border-radius: 8px;
	box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
	display: block;
	font-size: 16px;
	font-weight: bold;
	height: 56px;
	letter-spacing: 0;
	position: relative;
	text-align: center;
	width: 100%;
}
.cta .ctaButtonLink span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 54px;
	position: relative;
}

.cta .ctaButtonLink.ctaButtonLink-contact {
	background: linear-gradient(90deg, #FF653A 0%, #FFAE40 100%);
	color: #FFFFFF;
}

.cta .ctaButtonLink.ctaButtonLink-catalog {
	background: linear-gradient(90deg, #F857A6 0%, #FF5858 100%);
	color: #FFFFFF;
}

.cta .ctaButtonLink span::before,
.cta .ctaButtonLink span::after {
	content: "";
	position: absolute;
	background-repeat: no-repeat;
	top: 50%;
	transform: translateY(-50%);
}
.cta .ctaButtonLink-contact span::before {
	background-size: 21px auto;
	width: 21px;
	height: 20px;
	left: -30px;
}
.cta .ctaButtonLink-catalog span::before {
	background-size: 16px auto;
	width: 16px;
	height: 18px;
	left: -34px;
}

.cta .ctaButtonLink span::after {
	background-size: 13px auto;
	width: 13px;
	height: 13px;
	right: -17px;
}
.cta .ctaButtonLink.ctaButtonLink-contact span::before {
	background-image: url("/images/common/icon_lesson.svg");
}
.cta .ctaButtonLink.ctaButtonLink-catalog span::before {
	background-image: url("/images/common/icon_document.svg");
}

.cta .ctaButtonLink.ctaButtonLink-contact span::after,
.cta .ctaButtonLink.ctaButtonLink-catalog span::after{
	background-image: url("/images/common/arrow_wh2.svg");
}

.cta .ctaButtonLead {
    color: #313131;
    display: block;
    font-size: 14px;
    line-height: 1.5;
    text-align: center;
}

.ctaButton span.ctaButtonLink-youkou{
	font-size: 16px;
	font-weight: 600;
}

.ctaButton span.ctaButtonLink-youkou a{
	text-decoration: underline;
}

@media screen and (min-width:813px){
	.cta .ctaButtonLink {
		border-radius: 8px;
		box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
		font-size: 16px;
		line-height: 1.5;
		height: 56px;
	}
	.cta .ctaButtonLink span {
		height: 54px;
	}
	.cta .ctaButtonLead {
		font-size: 14px;
	}
}

/* ======================================
	ctaFloating onlysp
====================================== */
@media screen and (max-width:812px){
	.cta.ctaFloating {
		opacity: 0;
		visibility: hidden;
		transform: translateY(30px);
		transition: opacity 1s, visibility 1s, transform 1s;
		background-color: rgba(141, 141, 141, 0.6);
		margin: 0;
		position: fixed;
		width: 100%;
		bottom: 0;
		left: 0;
		z-index: 997;
	}
	.cta.ctaFloating.is-fadein {
		opacity: 1;
		visibility: visible;
		transform: translateX(0);
	}
	
	.cta.ctaFloating .ctaFloating__inner {
		padding: 6px 10px;
	}
	
	.cta.ctaFloating .ctaButtonGroup {
		display: flex;
		gap: 1em;
		justify-content: space-between;
		align-items: center;
	}
	
	.cta.ctaFloating .ctaButton + .ctaButton {
		margin-top: 0;
	}
	.cta.ctaFloating .ctaButton:nth-child(1) {
		width: 50%;
	}
	.cta.ctaFloating .ctaButton:nth-child(2) {
		width: 50%;
	}
	
	.cta.ctaFloating .ctaButtonLink {
		line-height: 1.143;
		height: 54px;
	}
	.cta.ctaFloating .ctaButtonLink-catalog span::before {
		left: -19px;
	}
	.cta.ctaFloating .ctaButtonLink-catalog span::after {
		right: -15px;
	}
}
@media screen and (min-width:813px){
	.cta.ctaFloating {
		display: none !important;
	}
}

/* ------------------------------
	ctaFloating #page_top
------------------------------ */
@media screen and (max-width: 812px) {
	#page_top {
		bottom: 75px;
	}
}

/* ------------------------------
	ctaFloating footer
------------------------------ */
@media screen and (max-width: 812px) {
	footer {
		margin-bottom: 65px;
	}
}

/* ======================================
	text design
====================================== */
.blinking{
	height: 200px;
	color: #fff;;
	display: inline-block;
	height: 20px;
	background-color: #ff0000;
	text-align: center;
	padding:0px 10px;
	animation-name: flashing;
	animation-duration: 2.4s;
	animation-timing-function: linear;
	animation-fill-mode: forwards;
	animation-iteration-count: infinite;
}
@keyframes flashing {
	0% {
	  background-color: #ffadad;
	}
  
	50% {
	  background-color: #ff0000;
	}
	
	100% {
	  background-color: #ffadad;
	}
  }

  #topPage{
	overflow-x: hidden;
  }


/* ======================================
	header 2024
====================================== */

.swiper-container img{
	margin-top: 100px;
}

#pc_block{
	display: block;
}

.sp_block{
	display: none;
}

main{
	padding-top: 60px;
}

header{
	background-color: #FFFFFF;
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    z-index: 999;
	box-shadow: 0px 0px 4px 0px #00000040;
}

#common_hd{
	width: 100%;
	max-width: 1200px;
	display: grid;
	grid-template-columns: 0.5fr 1fr;
	margin: auto;
	align-items: center;
}

.pc_nav{
	display: block;
}

#common_hd_l{
	margin-right: auto;
}

#common_hd_r{
	display: grid;
	gap: 1.2em;
	grid-template-columns: 0.6fr 0.6fr 1fr 1fr;
	align-items: center;
	margin-left: auto;
}

#common_hd_ham{
	display: none;
}

#hd_event,
#hd_school{
	font-family: Hiragino Kaku Gothic ProN;
	font-weight: 600;
	color: #005AAC;
	text-decoration: underline;
}

#hd_event:before,
#hd_school:before{
	display: inline-block;
	content: "";
	width: 20px;
	height: 20px;
	margin-right: 10px;
	vertical-align: sub;
}

#hd_event:before{
	background:url(../images/common/header/icon_calendar.svg) no-repeat;
}

#hd_school:before{
	background:url(../images/common/header/icon_school.svg) no-repeat;
}

#hd_ex,
#hd_doc{
	font-weight: 600;
	color: #fff;
	padding: 10px 25px;
	text-align: center;
	border-radius:10px;
	box-shadow: 0px 4px 4px 0px #00000040;
}

#hd_ex{
	background: linear-gradient(90deg, #FF653A 0%, #FFAE40 100%);
}

#hd_doc{
	background: linear-gradient(90deg, #F857A6 0%, #FF5858 100%);
}

#hd_ex::before,
#hd_doc:before{
	display: inline-block;
	content: "";
	width: 20px;
	height: 20px;
	margin-right: 10px;
}

#hd_ex::before{
	background:url(../images/common/header/ex_icon.svg) no-repeat;
	vertical-align: middle;
}

#hd_doc::before{
	background:url(../images/common/header/doc_icon.svg) no-repeat;
	vertical-align: middle;
}


@media screen and (max-width:768px){

.mv{
	margin-top: 100px;
}

.swiper-container img{
	margin-top: 0px;
}

#pc_block{
	display: none;
}

.sp_block{
	display: block;
}

#common_hd{
	display: block;
	height: 60px;
	box-shadow: 0px 0px 2px 0 #ccc;
}

#common_hd_l{
	margin-right: 0;
	width: 50%;
}

#common_hd_l img{
	width: 73%;
	margin: 2% auto 0 4%;
}

#common_hd_r{
	display: flex;
    position: fixed;
	gap: 0;
    top: 14px;
    right: 62px;
}

#common_hd_ham{
	display: block;
	position: fixed;
	top: 12px;
    right: 10px;
	z-index: 1000;
}

.hamburger_t{
	font-size: 0.8rem;
	font-weight: 600;
	color: #1660A2;
    letter-spacing: 0.05px;
    line-height: 1.2;
    padding: 25px 0 0;
    position: relative;
    bottom: 0;
    text-align: center;
}

#hd_event,
#hd_school{
	font-size: 0.8em;
}

#hd_school{
	font-size: 0.8em;
	margin-left: 12px;
}

#hd_event:before,
#hd_school:before{
	display: block;
	margin: 0 auto;
}

#hd_ex,
#hd_doc,
.pc_nav{
	display: none;
}

}

@media screen and (max-width:300px){

	#common_hd{
		font-size: 10px;
	}

	.hamburger_t{
		font-size: 10px;
		padding-top: 22px;
	}

	#common_hd_l img{
		margin: 5% auto 0 7%;
	}

}

#common_hd_l img{
	width: 88%;
	margin: 2% auto 0 0%;
}

@media screen and (min-width: 770px) and (max-width: 1065px) {

	.swiper-container img{
		margin-top: 95px;
	}

}

@media screen and (min-width: 769px) and (max-width: 1160px) {

	#common_hd{
		padding: 0 10px;
	}

	#hd_event, #hd_school,#hd_ex, #hd_doc{
		font-size: 1.5vw;
	}

	#hd_ex, #hd_doc{
		padding: 10px;
	}

	.menu > li a{
		font-size: 14px !important;
	}

	ul.menu__second-level {
		margin: 0 calc(10% - 10vw) !important;
	}

}

@media screen and (min-width: 600px) and (max-width: 768px) {

	#common_hd_l img {
		width: 30%;
		margin: 2% auto 0 4%;
	}

}

@media screen and (min-width: 500px) and (max-width: 599px) {

	#common_hd_l img {
		width: 50%;
		margin: 2% auto 0 4%;
	}

}


/* ======================================
	pull down Menu 2024
====================================== */

@media screen and (min-width:769px){

.menu {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
    position: relative;
    width: 100%;
	height: 50px;
    max-width: 1200px;
    margin: 15px auto 0;
}

.menu > li a {
    display: block;
	font-size: 16px;
    color: #005AAC;
	padding: 5px 0;
	text-align: center;
	line-height: 1.0;
}

.menu > li a.left_line {
	border-left: 1px solid #D7D7D7;
}

.menu > li a.last_line {
	border-left: 1px solid #D7D7D7;
	border-right: 1px solid #D7D7D7;
}

.menu > li a:hover {
	z-index: 100;
}

ul.menu__second-level {
	margin: 0 calc(5% - 6vw);
    visibility: hidden;
    opacity: 0;
	color: #005AAC;
	font-size: 0.9rem;
	padding: 20px;
	background-color: #fff;
	border: 1px solid #E7E7E7;
	box-shadow: 0px 4px 4px 0px #00000040;
	border-radius: 2px;
    z-index: 1;
}

ul.menu__second-level li{
	margin-bottom: 10px;
}

ul.menu__second-level li:before{
	content: '';
    display: inline-block;
	width: 8px;
    height: 8px;
	margin-right: 10px;
    border-right: 1px solid #B4B4B4;
    border-bottom: 1px solid #B4B4B4;
    -webkit-transform: rotate(315deg);
    -ms-transform: rotate(315deg);
    transform: rotate(315deg);
}

ul.menu__second-level li:last-child{
	margin-bottom: 0px;
}

.menu__second-level-l{
	margin-left: 30px;
}

.menu > li:hover {
	text-decoration-color:#005AAC;
	height: 100px;
}

.menu_in{
	height: 0;
	font-weight: 600;
}

.menu__second-level-one{
	font-size: 16px;
	color: #000000 !important;
}

.menu__second-level-one:before{
	display: none !important;
}

.menu > li.menu_in:hover {
	text-decoration: underline;
	text-decoration-color: #005AAC;
}

li.menu_under{
	height: 0;
	font-weight: 600;
	z-index: 1;
}

li.menu_under:hover{
	z-index: 100;
}

.init:after {
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 0 0 0 15px;
    border-right: 2px solid #B4B4B4;
    border-bottom: 2px solid #B4B4B4;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
	vertical-align: top;
}

li.menu__mega ul.menu__second-level {
    position: absolute;
    top: 40px;
    left: 0;
    box-sizing: border-box;
    width: 30%;
    padding: 20px 2%;
    background: #072A24;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
	z-index: 100;
}

li.menu_under:hover ul.menu__second-level {
    top: 50px;
    visibility: visible;
    opacity: 1;
}

li.menu_under ul.menu__second-level > li {
    width: 100%;
}

li.menu_under ul.menu__second-level > li a {
	display: inline-block;
	color: #005AAC;
	text-align: left;
}

li.menu_under ul.menu__second-level > li a:hover {
	text-decoration: underline !important;
	color: #005AAC;
}

#NewInner{
	padding-top:0 !important
}

}

/* SP */
@media screen and (max-width: 768px) {

	#container .mT_sp100{
		margin-top: 100px !important; 
	}

	#ctaHeaderSP #logo {
		width: 28.8%;
	}

	#ctaHeaderSP #nav_toggle {
		top: 14px;
		right: 10px;
	}
	
	#ctaHeaderSP #nav_toggle div {
		position: relative;
		height: 37px;
	}
	
	#ctaHeaderSP #nav_toggle .txt {
		color: #1660A2;
		font-size: 10px;
		font-weight: bold;
		letter-spacing: 0.05px;
		line-height: 1.2;
		padding: 25px 0 0;
		position: relative;
		bottom: 0;
		text-align: center;
	}
	
	#ctaHeaderSP #nav_toggle span {
		display: block;
		height: 2px;
		background: #1660a2;
		position:absolute;
		width: 20px;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transition: 0.5s ease-in-out;
		-moz-transition: 0.5s ease-in-out;
		transition: 0.5s ease-in-out;
	}
	#ctaHeaderSP #nav_toggle span:nth-child(1) {
		top:4px;
	}
	#ctaHeaderSP #nav_toggle span:nth-child(2) {
		top: 9px;
	}
	#ctaHeaderSP #nav_toggle span:nth-child(3) {
		top:14px;
	}
	
	#ctaHeaderSP.open #nav_toggle span {
		left: 28%;
	}
	#ctaHeaderSP.open #nav_toggle span:nth-child(1),
	#ctaHeaderSP.open #nav_toggle span:nth-child(3) {
		top: 9px;
	}
	#ctaHeaderSP.open #nav_toggle span:nth-child(1) {
		-webkit-transform: rotate(135deg);
		-moz-transform: rotate(135deg);
		transform: rotate(135deg);
	}
	#ctaHeaderSP.open #nav_toggle span:nth-child(2) {
		width: 0;
		left: 50%;
	}
	#ctaHeaderSP.open #nav_toggle span:nth-child(3) {
		-webkit-transform: rotate(-135deg);
		-moz-transform: rotate(-135deg);
		transform: rotate(-135deg);
	}
	
	#ctaHeaderSP #snavLastSp.ctaHeader {
		display: flex;
		position: fixed;
		top: 14px;
		right: 62px;
		z-index: 1000;
	}
	
	#ctaHeaderSP #snavLastSp.ctaHeader .ctaIconButton {
		width: 40px;
		height: 37px;
	}
	#ctaHeaderSP #snavLastSp.ctaHeader .ctaIconButton + .ctaIconButton {
		margin-left: 12px;
	}
	
	#ctaHeaderSP #snavLastSp.ctaHeader .ctaIconButtonLink {
		display: block;
		font-size: 10px;
		font-weight: bold;
		line-height: 1.2;
		letter-spacing: -0.05px;
		padding-top: 25px;
	}
	
	#ctaHeaderSP #snavLastSp.ctaHeader .ctaIconButtonLink span {
		position: relative;
	}
	#ctaHeaderSP #snavLastSp.ctaHeader .ctaIconButtonLink span::before {
		content:"";
		position: absolute;
		background-repeat: no-repeat;
		background-size: 20px auto;
		width: 20px;
		top: -22px;
		left: 50%;
		transform: translateX(-50%);
	}
	#ctaHeaderSP #snavLastSp.ctaHeader .ctaIconButtonLink-event span::before {
		background-image: url("/images/common/icon_calendar.svg");
		height: 21px;
	}
	#ctaHeaderSP #snavLastSp.ctaHeader .ctaIconButtonLink-access span::before {
		background-image: url("/images/common/icon_school.svg");
		height: 20px;
	}
}
@media screen and (max-width: 480px) {
	#ctaHeaderSP #logo img {
		margin: 3% auto 0 4%;
	}
}	
	
/*スマホ・タブレット用の設定*/
@media screen and (max-width:768px){
nav{
	display: none;
	position: fixed;
	top:61px;
	width: 100%;
	background: #ffffff;
	left: 0;
	z-index: 10000;
	}
    nav .navLogin{
        background: #006598;
    }
	#main_img{
		width: 100%;
	}
	.change_btn{
		width: 90%;
		margin: 32px auto;
	}
    #nav_toggle{
		width: 40px;
        height:40px;
    	top: 10px;
    	right: 6%;
        position: fixed;
        z-index: 1000;
}

/*開閉ボタン*/
#nav_toggle{
	display: block;
	width: 40px;
	height: 40px;
	position: absolute;
	top: 2%;
	right: 6%;
	z-index: 100;
}

#nav_toggle div {
	position: relative;
}
#nav_toggle span{
	display: block;
	height: 3px;
	background: #1660a2;
	position:absolute;
	width: 100%;
	left: 0;
	-webkit-transition: 0.5s ease-in-out;
	-moz-transition: 0.5s ease-in-out;
	transition: 0.5s ease-in-out;	
}
#nav_toggle p.txt{
	font-size: 12px;
	padding: 25px 0 0 2px;
	color: #1660a2;
	letter-spacing: 1px;
}

#nav_toggle span:nth-child(1){
	top:0px;
}
#nav_toggle span:nth-child(2){
	top:12px;
}
#nav_toggle span:nth-child(3){
	top:24px;
}
nav a:link, nav a:visited{
	color: #005AAC;
}

/*開閉ボタンopen時*/
.open #nav_toggle span:nth-child(1) {
		top: 12px;
	   -webkit-transform: rotate(135deg);
		-moz-transform: rotate(135deg);
		transform: rotate(135deg);
	}
	.open #nav_toggle span:nth-child(2) {
		width: 0;
		left: 50%;
	}
	.open #nav_toggle span:nth-child(3) {
		top: 12px;
		-webkit-transform: rotate(-135deg);
		-moz-transform: rotate(-135deg);
		transform: rotate(-135deg);
	}
	.open .inner{
	width: 90%;
	height: 100vh;
	}
}
@media screen and (max-width:480px){
#nav_toggle{
		width: 40px;
        height:40px;
    	right: 4%;
}
}
@media screen and (max-width:320px){
#nav_toggle{
		width: 10%;
		height: 8%;
    	right: 4.5%;
}
}


/* ======================================
	Hamburger Menu 2024
====================================== */

@media screen and (max-width:768px){

	.nav {
		position: fixed;
		right: -320px;
		top: 0;
		width: 300px;
		height: 100vh;
		padding-top: 60px;
		background-color: #fff;
		transition: all .6s;
		z-index: 200;
		overflow-y: auto;
	  }
	  .hamburger {
		width: 40px;
		height: 40px;
		cursor: pointer;
		z-index: 300;
		position: relative;
		height: 37px;
	  }
	  .nav_list {
		margin: 0;
		padding: 0;
		list-style: none;
	  }
	  .nav_item {
		text-align: center;
		padding: 0 14px;
	  }
	  .nav_item a {
		display: block;
		padding: 8px 0;
		border-bottom: 1px solid #eee;
		text-decoration: none;
		color: #333;
	  }
	  .nav_item a:hover {
		background-color: #eee;
	  }
	  .hamburger_border {
		position: absolute;
		left: 11px;
		width: 18px;
		height: 2px;
		background-color: #005AAC;
		transition: all .6s;
	  }
	  .hamburger_border_top {
		top: 4px;
	  }
	  .hamburger_border_center {
		top: 9px;
	  }
	  .hamburger_border_bottom {
		top: 14px;
	  }
	  .w_bg {
		position: fixed;
		left: 0;
		top: 7.5%;
		width: 100vw;
		height: 100vh;
		margin-top: 60px;
		padding: 20px 0;
		z-index: 100;
		background-color: #fff;
		opacity: 0;
		visibility: hidden;
		transition: all .6s;
		cursor: pointer;
	  }

	  .nav-open .nav {
		right: 0;
	  }
	  .nav-open .w_bg {
		opacity: 100;
		visibility: visible;
	  }
	  .nav-open .hamburger_border_top {
		transform: rotate(45deg);
		top: 10px;
	  }
	  .nav-open .hamburger_border_center {
		width: 0;
		left: 50%;
	  }
	  .nav-open .hamburger_border_bottom {
		transform: rotate(-45deg);
		top: 10px;
	  }

	  .menu_in{
		padding: 5px 0;
		line-height: 2.2;
		border-bottom:1px solid #E4E4E4;
	}

	.menu_in a{
		font-size: 16px;
		margin: 0 0 0 20px;
	}

	.init:before {
		content: '';
		display: inline-block;
		width: 10px;
		height: 10px;
		margin-right: 10px;
		border-right: 2px solid #B4B4B4;
		border-bottom: 2px solid #B4B4B4;
		-webkit-transform: rotate(315deg);
		-ms-transform: rotate(315deg);
		transform: rotate(315deg);
	}

	.sp_hum_tl{
		font-size: 16px;
		font-weight: 600;
	}

	.menu_in a.sp_hum_minitl{
		font-size: 14px;
		margin-left: 50px;
	}

	.menu__second-level a{
		font-size: 14px;
		margin-left: 50px;
	}

	.menu__second-level-last a.sp_hum_tl{
		margin-left: 50px;
	}

	.menu_in a.sp_hum_category{
		font-size: 16px;
		font-weight: 600;
		color: #4D4D4D;
	}

	.menu_in_tl{
		font-size: 16px;
		font-weight: 600;
		margin: 0 0 0 20px;
	}

	.menu_in_tl_other{
		font-size: 14px;
		font-weight: 600;
		margin: 0 0 0 50px;
	}

	.menu__second-ml{
		margin-left: 20px;
	}

	.menu_in_weight{
		font-weight: 600;
	}

}

@media screen and (max-width:375px){

	.w_bg {
		top: 10%;
	}

}

/* copyright */

.ft_copy_other{
	text-align: center;
}

.ft_copy_other img{
	width: 8%;
	margin-bottom: 20px;
}

@media screen and (max-width:768px){

	.ft_copy_other img{
		width: 25%;
	}

}

/* CTA */

.cta_yellow_bg{
	width: 100vw;
    margin: 80px calc(50% - 50vw) 50px;
    padding: 50px 0;
	background-color: #FBF9E9;
	text-align: center;
}

.sc_cta_tl{
	font-size: 30px;
	font-weight: 700;
	margin-bottom: 15px;
}

.sc_cta_txt{
	font-size: 16px;
    font-weight: 600;
}

.sc_cta_btn_box{
	display: grid;
	gap: 2rem;
	grid-template-columns:1fr 1fr;
	margin-top: 30px;
}

.sc_cta_btn_fukidashi_doc{
	position: relative;
	display: inline-block;
	width: 100%;
	margin-bottom: 0;
	padding: 10px 30px;
	color: #FE5864;
	font-size: 16px;
	font-weight: 400;
	background: #FFF;
	border: solid 2px #FE5864;
	box-sizing: border-box;
	border-radius: 60px;
	text-align: center;
	line-height: 1.6;
}

.sc_cta_btn_fukidashi_doc:before {
	content: "";
    position: absolute;
    bottom: -24px;
    left: 50%;
    margin-left: -9px;
    border: 6px solid transparent;
    border-top: 6px solid #FFF;
    z-index: 2;
    top:100%;
}

.sc_cta_btn_fukidashi_doc:after {
    content: "";
    position: absolute;
    bottom: -30px;
    left: 50%;
    margin-left: -11px;
    border: 8px solid transparent;
    border-top: 8px solid #FE5864;
    z-index: 1;
    top:100%;
}

.sc_cta_btn_fukidashi_ex{
	position: relative;
	display: inline-block;
	width: 100%;
	margin-bottom: 0;
	padding: 10px 30px;
	color: #FF8650;
	font-size: 16px;
	font-weight: 400;
	background: #FFF;
	border: solid 2px #FF8650;
	box-sizing: border-box;
	border-radius: 60px;
	text-align: center;
	line-height: 1.6;
}

.sc_cta_btn_fukidashi_ex:before {
	content: "";
    position: absolute;
    bottom: -24px;
    left: 50%;
    margin-left: -9px;
    border: 6px solid transparent;
    border-top: 6px solid #FFF;
    z-index: 2;
    top:100%;
}

.sc_cta_btn_fukidashi_ex:after {
    content: "";
    position: absolute;
    bottom: -30px;
    left: 50%;
    margin-left: -11px;
    border: 8px solid transparent;
    border-top: 8px solid #FF8650;
    z-index: 1;
    top:100%;
}

.sc_cta_btn_doc{
	display: flex;
    justify-content: center;
    align-items: center;
    gap: 14%;
	height: 62px;
	padding: 16px 22px;
	border-radius: 8px;
	color: #fff;
	font-size: 20px;
	background: linear-gradient(90deg, #F857A6 0%, #FF5858 100%);
	text-align: center;
	box-shadow: 0px 4px 4px 0px #00000040;
}

.sc_cta_btn_ex{
	display: flex;
    justify-content: center;
    align-items: center;
    gap: 14%;
	height: 62px;
	padding: 16px 22px;
	border-radius: 8px;
	color: #fff;
	font-size: 20px;
	background: linear-gradient(90deg, #FF653A 0%, #FFAE40 100%);
	text-align: center;
	box-shadow: 0px 4px 4px 0px #00000040;
}

.sc_cta_btn_doc:after,
.sc_cta_btn_ex:after{
	content: "";
	width: 10px;
	height: 10px;
	border-right: 3px solid #ffffff;
	border-bottom: 3px solid #ffffff;
	transform: rotate(315deg);
}

.sc_cta_mini_txt{
	margin-top: 20px;
}

.sp_br{
	display: none;
}

.access_event_mg{
	margin-top: 80px;
}

.con_width {
    width: 1000px;
    margin: 0 auto;
}

h2.sc_con_tl{
	color: #005AAC;
	font-size: 42px;
    margin-top: 50px;
	padding: 0;
	line-height: 1.4;
    text-align: center;
}

.sc_con_tl span{
	display: block;
	font-size: 24px;
}

.sc_line_dotted{
    margin: 0 0 40px;
    border-bottom: 1px dotted #005AAC;
}

@media screen and (max-width:767px) {

	
    h2.sc_con_tl{
        font-size: 24px;
    }

    .sc_con_tl span{
        font-size: 20px;
    }

    .con_width {
        width: 100%;
    }

    .sc_con_img{
        margin-bottom: 10px;
    }
    
    .sc_con_img img{
        width: 100%;
    }

	.sp_br{
		display: block;
	}

	.cta_yellow_bg{
		margin-top: 0;
		padding: 30px 10px;
	}

	.sc_cta_tl{
		font-size: 24px !important;
		margin-bottom: 10px;
		line-height: 1.3;
	}

	.sc_cta_btn_box{
		display: block;
		padding: 0 10px;
	}

	.sc_cta_btn_box_right{
		margin-bottom: 20px;
	}

	.sc_cta_btn_box_left{
		margin-bottom: 0px;
	}

	.sc_cta_btn_fukidashi_doc,
	.sc_cta_btn_fukidashi_ex{
		font-size: 14px;
		font-weight: normal;
		padding: 5px 30px;
	}

	.sc_cta_mini_txt{
		font-size: 12px;
		margin-top: 20px;
	}

	.sc_cta_btn_fukidashi_doc:before,
	.sc_cta_btn_fukidashi_ex:before {
		top: 100%;
	}

	.access_event_mg{
		margin-top: 40px;
	}

	.sc_cta_btn_doc,
	.sc_cta_btn_ex{
		font-size: 16px;
		height: 50px;
	}

}

/* CTA終了 */

/* footer */

.access_ft_bg{
	margin-bottom: 80px;
    padding: 80px 0 20px;
	background-color: #FBF9E9;
	text-align: center;
}

.access_ft_in{
	width: 960px;
	margin: 0 auto;
}

.ft_tl{
	color: #005AAC;
	font-family: Hiragino Kaku Gothic StdN;
	font-size: 42px;
	font-weight: 600;
	text-align: center;
}

.access_ft_bg #ContentsForm{
	margin-bottom: 30px;
	padding: 20px 0px 0;
	background: none;
	box-shadow: none;
}

.access_ft_in #ContentsFormLeftInner p img{
	margin-bottom: 15px;
}

#ContentsFormLeftInner .access_ft_txt,
#ContentsFormRightInner .access_ft_txt{
	font-size: 0.9rem;
	margin-bottom: 15px;
}

.access_ft_bg #ContentsFormRight p.Tel{
	font-size: 30px;
    margin: 0;
	padding-bottom: 35px;
    text-align: center;
}

.access_ft_bg #ContentsFormRight p.Tel:before{
	display: inline-block;
	content: "";
	width: 20px;
	height: 30px;
	background: url(/images/access/tel_icon.svg) no-repeat;
	background-size: contain;
	vertical-align: bottom;
}

.access_ft_bg #ContentsFormRight p.Tel a[href^="tel:"]{
	font-weight: bold;
	color: #005AAC;
}

.access_ft_bg #ContentsFormRight p.Tel .reception{
	font-size: 14px;
	font-weight: normal;
}

.access_ft_bg #ContentsFormLeft #ContentsFormLeftInner .Formsbtn{
	border: none;
	background: linear-gradient(90deg, #F857A6 0%, #FF5858 100%);
}

.access_ft_bg #ContentsFormLeft #ContentsFormLeftInner .Formsbtn span {
	font-size: 20px;
	font-weight: 700;
    color: #fff;
}

.access_ft_bg #ContentsFormLeft #ContentsFormLeftInner .Formsbtn span:before {
    background: url(/images/access/icon_bt_01.svg) no-repeat;
	vertical-align: unset;
}

.access_ft_bg #ContentsForm #ContentsFormLeftInner .Formsbtn span:after {
    display: inline-block;
    content: "";
    width: 13px;
    height: 13px;
    margin-left: 20px;
    background-size: 13px auto;
    background: url(/images/access/arrow_01.svg) no-repeat;
    vertical-align: middle;
}

#connection .sectionInner {
	padding-top: 0;
	padding-bottom: 20px;
}

@media screen and (max-width:767px){

	.access_ft_bg{
		margin-bottom: 60px;
		padding: 40px 10px 20px;
	}

	.access_ft_in{
		width: 100%;
	}

	.ft_tl{
		font-size: 24px;
		line-height: 1.5;
	}

	.access_ft_bg #ContentsForm{
		padding: 0px;
	}
	
	.access_ft_bg #ContentsFormRight p.Tel{
		font-size: 24px;
		margin: 0;
		padding-bottom: 15px;
		text-align: center;
	}

	#connection .sectionInner {
		padding: 0 8vw 5.333333vw;
	}

	.con_pd10{
		padding: 0 10px !important;
	}

}

/* おススメコンテンツ */

.sc_pick_box {
    display: grid;
    gap: 1em;
    grid-template-columns: 1fr 1fr;
    margin-bottom: 20px;
}

.sc_one_box {
    display: block;
    margin-bottom: 60px;
	text-align: center;
}

.top_pick_box {
    display: grid;
    gap: 3em;
    grid-template-columns: 1fr 1fr;
    margin-top:60px;
}

.sc_con_img img,
.top_pick_box img{
	width: 100%;
}

#container .sc_one_box img{
	width: 50%;
}

.limited_time_txt{
	margin: 10px 0 20px;
	font-size: 12px;
	text-align: center;
	color:#707070;
}

.limited_time_img{
	margin-bottom: 25px;
}

.limited_time_img img{
	width:50%;
}

.limited_time_img_65 img{
	width:65%;
}

@media screen and (max-width: 767px) {

    .sc_pick_box{
        gap: 0em;
        grid-template-columns: 1fr;
        margin-bottom: 0;
    }

	.top_pick_box {
        gap: 0em;
        grid-template-columns: 1fr;
		margin-top:45px;
		padding: 0 10px;
    }

    .sc_pick_box img{
        vertical-align: bottom;
    }

	.limited_time_img img,
	.sc_one_box img,
	#container .sc_one_box img,
	.limited_time_img_65 img{
		width: 100%;
	}
	
	.limited_time_img{
		margin-top: 20px;
	}

    
}


