@charset "utf-8";

/* --------------------ハンバーガーメニュー---------------------------------*/
nav.gnavSp {
	position: fixed;
	z-index: 999;
	top: 70px;
	right: 0;
	background:#3F1374;
	color: #000;
	transform: translateX(100%);
	transition: all 0.6s;
	width:  100%;
	height:100%;
	padding: 1em 4% 80px;
	overflow-y: scroll;
}

nav.gnavSp ul {
	margin: 0 auto;
	padding: 0;
	width: 100%;
	display:block;
}

nav.gnavSp ul li {
	font-size: 16px;
	list-style-type: none;
	padding: 0;
	width: 100%;
	border-bottom: 1px solid #fff;
}

nav.gnavSp ul li a {
	display: block;
	color: #FFF;
	padding: 1em 0;
}
/* このクラスを、jQueryで付与・削除する */
nav.gnavSp.active {
	transform: translateY(0%);
}

/*--------ハンバーガーメニュー内--------*/
.menuSp{
	cursor: pointer;
}
.navToggle {
	display: block;
	position: fixed;
	right: 13px;
	top: 20px;
	width: 42px;
	height: 39px;
	cursor: pointer;
	z-index: 99999;
	text-align: center;
}

.navToggle span {
	display: block;
	position: absolute;
	width: 30px;
	border-bottom: solid 3px #FFF;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
}
.navToggle span.BB{
	border-bottom: solid 3px #333;
}
.navToggle span:nth-child(1) {
	top: 9px;
}
.navToggle span:nth-child(2) {
	top: 18px;
}
.navToggle span:nth-child(3) {
	top: 27px;
}
.navToggle span:nth-child(4) {
	border: none;
	color: #FFF;
	font-size: 9px;
	font-weight: bold;
	top: 34px;
}

/***customスタイル***/
.navToggle{
	position:relative;
	width:30px;
	height:30px;
	top:auto;
	left:50%;
	transform: translateX(-50%) ;
	display:block;
	margin-bottom: 8px;
}

.gnavSp .mainMenuSp:after{
	content: "";
    display: block;
    clear: both;
}
.gnavSp .mainMenuSp li{
	float:left;
	border:none;
	display:block;
	margin-bottom:1em;
}
.gnavSp .mainMenuSp li a{
	padding:1em;
	text-align:center;
	display: flex;
    align-items: center;
    justify-content: center;
}
.gnavSp .mainMenuSp li:nth-child(1),
.gnavSp .mainMenuSp li:nth-child(2) {
	width:47.5%;
}
.gnavSp .mainMenuSp li:nth-child(2) {
	margin-left:5%;
}
.gnavSp .mainMenuSp li:nth-child(3),
.gnavSp .mainMenuSp li:nth-child(4),
.gnavSp .mainMenuSp li:nth-child(5){
	width:30%;
	margin-left:5%;
}
.gnavSp .mainMenuSp li:nth-child(3) a,
.gnavSp .mainMenuSp li:nth-child(4) a,
.gnavSp .mainMenuSp li:nth-child(5) a{
	padding:2em 0.5em;
}
.gnavSp .mainMenuSp li:nth-child(3){
	margin-left:0;
}
.gnavSp .mainMenuSp li:nth-child(1) a{
	background:#FFF151;
	color:#4E2D75;
}
.gnavSp .mainMenuSp li:nth-child(2) a{
	background:#A73433;
}
.gnavSp .mainMenuSp li:nth-child(3) a{
	background:#DE9364;
}
.gnavSp .mainMenuSp li:nth-child(4) a{
	background:#8E6F9F;
}
.gnavSp .mainMenuSp li:nth-child(5) a{
	background:#80AF90;
}

.gnavSp .borderMenu1 li{
	text-align:center;
}
.gnavSp .borderMenu2{
	margin-bottom:1em;
}
.gnavSp .borderMenu2:after{
	content: "";
    display: block;
    clear: both;
}
.gnavSp .borderMenu2 li{
	text-align:center;
	float:left;
	width:47.5%;
	margin-left:5%;
	font-size:14px;
}
.gnavSp .borderMenu2 li:nth-child(2n+1){
	margin-left:0;
}
.gnavSp .inquirySetSp{
	background:#FFF;
	text-align:center;
	padding:10px;
	margin-bottom:10px;
}
.gnavSp .inquirySetSp .tel{
	color:#A73433;
	font-size:28px;
	font-weight:bold;
	margin-bottom:0;
	line-height: 1.5;
}
.gnavSp .inquirySetSp .tel a{
	color: inherit;
}
.gnavSp .inquirySetSp .tel span{
	font-size:18px;
}
.gnavSp .inquirySetSp .time{
	font-size:14px;
	text-align: center;
    display: inline-block;
}
.gnavSp .inquirySetSp .time:after{
	content: "";
    display: block;
    clear: both;
}
.gnavSp .inquirySetSp .time span{
	display:inline-block;
	background:#F0F0F0;
	padding:0.5em 1em;
	float:left;
}
.gnavSp .inquirySetSp .time dl{
	float:left;
	margin-left:1em;
}
.gnavSp .inquirySetSp .time dl:after{
	content: "";
    display: block;
    clear: both;
}
.gnavSp .inquirySetSp .time dl dt{
	float:left;
	text-align:right;
	width:5em;
}
.gnavSp .inquirySetSp .time dl dd{
	margin-left:6em;
}
.gnavSp .imgOnlyStyle{
	margin-bottom:0;
}
/*-----------------タップした後の「X」------------------*/

header .menuSp.active .inner:after{
	content:"閉じる";
}
/* 最初のspanをマイナス45度に */
.menuSp.active .navToggle span:nth-child(1) {
	border-bottom: solid 3px #FFF;
	top: 20px;
	left: 0;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

/* 2番目と3番目のspanを45度に */
.menuSp.active .navToggle span:nth-child(2),
.menuSp.active .navToggle span:nth-child(3) {
	border-bottom: solid 3px #FFF;
	top: 20px;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
}
/*----------------------------ハンバーガーメニューここまで-----------------------------*/

.showSp{
	display:none;
}
.showSp1200{
	display:none;
}
.showSp960{
	display:none;
}
/* PC class Setting
=========================================================================================== */
header .headerBtnSetSp{
	display:none;
}
#indexContentsHead #mainVisualSetSp{
	display:none;
}
@media screen and (max-width: 1300px) {
header #headerLogoSet{
	width:20%;
}
}
@media screen and (max-width: 1200px) {
.hideSp1200{
	display:none;
}
.showSp1200{
	display:block;
}
/* Header Setting
=========================================================================================== */
header #headerSet{
	padding:0 4%;
}
header .headerLinkLstSet ul{
	margin-left:0;
}
header .headerLinkLstSet ul li{
	font-size:12px;
}
header .headerBtnListSet ul li a{
	font-size:18px;
}
header .inquirySet .tel{
	font-size:20px;
}
header .inquirySet .time{
	font-size:12px;
}
.gnav ul{
	font-size:16px;
	width:100%;
	padding-left:4%;
	padding-right:4%;
}

/* ALLcontents Setting
=========================================================================================== */
/*#wrapper{
	margin-top:86px;
}*/
#path{
	width:100%;
	padding-left:4%;
	padding-right:4%;
}
article section{
	width:100%;
	padding-left:4%;
	padding-right:4%;
}
article section.subSection{
	width:100%;
	padding-left:4%;
	padding-right:4%;
}
.h2Style1{
	font-size: 4.2vw;
}
.h2Style2{
	font-size: 3.8vw;
}
.h2Style3{
	font-size: 3.6vw;
}
.catchStyle2{
	font-size: 3.4vw;
}
.columnSet .column2{
	width:48%;
	margin-left:4%;
}
/* 下層ページOnly Setting
=========================================================================================== */
/***メインビジュアル***/
#subContentsHead #mainVisual{
	width:100%;
	padding-left:4%;
	padding-right:4%;
}
/***料金表***/
.campaign{
	width:100%;
}
.priceList{
	font-size:2.4vw;
}

/* newsページ Setting
=========================================================================================== */
#blogPage{
	width:100%;
}
#mainGrid{
	width:70%;
}
#sideGrid{
	width:28%;
	padding-right:4%;
	margin-left:2%;
}
/* index Setting
=========================================================================================== */
.contents01 h2{
	font-size:4.2vw;
}
.contents01 .profileSet .columnImg{
	width:36%;
}
.contents01 .profileSet .columnText{
	width:60%;
	margin-left:4%;
}
.contents01 .profileSet .columnText h2{
	text-align:left;
	font-size:24px;
}
.contents01 .profileSet .columnText h2 strong{
	font-size:32px;
}
.contents02 .koushinSet .columnBlog{
	width:64%;
}
.contents02 .koushinSet .columnTwitter{
	width:32%;
	margin-left:4%;
}
.contents03 .tokuchoSet .column2 h2{
	font-size:4.2vw;
}
.contents03 .tokuchoSet .column2 .textStyle1{
	font-size:1.8vw;
}
.contents04 h2{
	font-size:5.6vw;
}
.contents04 .catchStyle3{
	font-size:4.2vw;
}
.contents05 h2{
	font-size:5.6vw;
}
/* footer Setting
=========================================================================================== */
footer #footerInner{
	width:100%;
	padding-left:4%;
	padding-right:4%;
}
footer #footerLogo{
	width:38%;
}
footer #footerLogo img{
	width:100%;
}
footer .footerBtnListSet ul{
	margin-left:0;
}
footer .footerBtnListSet ul li a{
	font-size:16px;
}
footer .footerInquirySet .tel{
	font-size:26px;
}
footer .footerInquirySet .tel span{
	font-size:20px;
}
footer .footerNav{
	width:100%;
	padding-left:4%;
	padding-right:4%;
}
}
	
@media screen and (max-width: 960px) {
.hideSp960{
	display:none;
}
.showSp960{
	display: block;
}
/* Header Setting
=========================================================================================== */
header{
	height:70px;
	position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
}
header #headerSet{
	padding-right:0;
}
header #headerSetInner{
	margin-bottom:0;
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
	justify-content:space-between;
}
header #headerLogoSet{
	width:200px;
}
header .headerLinkLstSet,
header .headerBtnListSet,
header .inquirySet{
	display:none;
}
header .headerBtnSetSp{
	display: flex;
    align-items: center;
    justify-content: center;
}
header .headerEntrySp{
	font-size: 20px;
    line-height: 1.2;
	background:#FFF151;
	width:70px;
	height:70px;
	display: flex;
    align-items: center;
    justify-content: center;
	font-weight:bold;
}
header .menuSp{
	background:#3F1374;
	width:70px;
	height:70px;
	display: flex;
    align-items: center;
    justify-content: center;
	position:relative;
	text-align:center;
	color:#FFF;
}
header .menuSp .inner:after{
	content:"メニュー";
	display:block;
	margin-bottom:0;
	font-size:10px;
}
#wrapper{
	margin-top:70px;
}
/* 下層ページOnly Setting
=========================================================================================== */
/***料金表***/
.priceList h2{
	float:none;
	margin: 0 auto;
	margin-bottom:0.5em;
}
.priceList {
	font-size:20px;
}
.priceList dl{
	float:none;
	width:100%;
	margin-left:0;
}
.priceList dl dt{
	display:block;
	width:100%;
	text-align:center;
	font-size:140%;
}
.priceList dl dd{
	display:block;
	width:100%;
	text-align:center;
}
.priceList dl span.shu2{
	font-size:14px;
}
.priceList dl:last-child{
	margin-bottom:3em;
}
/* newsページ Setting
=========================================================================================== */
#mainGrid{
	width:100%;
}
#sideGrid{
	display:none;
}
/* footer Setting
=========================================================================================== */
footer #footerInner{
	text-align:center;
	justify-content: center;
}
footer #footerLogo{
	width:70%;
}
footer .footerBtnListSet,
footer .footerInquirySet,
footer .footerNav{
	display:none;
}
}
	
@media screen and (max-width: 767px) {
.hideSp{
	display:none;
}
.showSp{
	display:block;
}
/* Header Setting
=========================================================================================== */

/* ALLcontents Setting
=========================================================================================== */
article section{
	padding:40px 4%;
}
.h2Style1{
	font-size: 32px;
}
.h2Style2{
	font-size: 28px;
}
.h2Style3{
	font-size: 26px;
}
.catchStyle1{
	font-size:18px;
}
.catchStyle2{
	font-size: 22px;
}
.btnStyle1 a{
	width:100%;
}
.tableStyle1 th,
.tableStyle1 td{
	display:block;
	width:100%;
}
.tableStyle1 th{
	padding:1em;
	padding-bottom:0;
}
.tableStyle1 td{
	padding:1em;
	margin-top:0;
}
.columnSet .column2{
	float:none;
	width:100%;
	margin-left:0;
	margin-bottom:4em;
}
.columnSet .column2:nth-child(2n+1){
	margin-left:0;
}

/* 下層ページ Setting
=========================================================================================== */
#subContentsHead #mainVisual h1{
	font-size:28px;
	padding:1em 0;
}
#subContentsHead .singleTtl{
	font-size:28px;
}
.courseList{
	display:block;
}
.courseList > dt{
	width:100%;
	height:auto;
	display:block;
	padding:1.5em 0.5em;
	margin-bottom:1em;
}
.courseList > dt h3{
	font-size:30px;
}
.courseList > dd{
	width:100%;
	margin-left:0;
}
.columnSet.photoSet .column2{
	width:48%;
	float:left;
	margin-left:4%;
	margin-bottom:1em;
}
.columnSet.photoSet .column2:nth-child(2n+1){
	margin-left:0;
}
/***TopNoteの特徴***/
.olListStyle1 li{
	text-align:center;
}
.olListStyle1 li span{
	float:none;
	margin-right:0;
	line-height: 112px;
	width: 130px;
    height: 130px;
	margin-bottom:0.5em;
}
.olListStyle1 li div{
	float:none;
	width:100%;
	text-align:left;
}
.olListStyle1 li h3{
	font-size:24px;
	text-align:center;
}
/***料金表***/
.campaign p{
	font-size:18px;
}
.campaign p span{
	display:block;
}
.waribikiBanner{
	width:100%;
}
.waribikiBanner h2{
	font-size:28px;
}
/* 無料体験フォーム Setting
=========================================================================================== */
.campaign{
	margin-bottom:2em;		
}
.tableStyle1 td.tel input{
	padding: 0.5em;
}
/*.formBtn1 #submit_button{
	width:100%;
	margin-bottom:2em;
}*/
.formBtn1{
	display:block;
}
.formBtn1 li{
	float:none;
	margin-bottom:1em;
}
.formBtn1 input{
	min-width:auto;
	width:100%;
}
/* blogページ Setting
=========================================================================================== */
.blogList li{
	margin-bottom:2em;
}
.blogList li .img{
	width:100%;
	float:none;
	margin-bottom:1em;
}
.blogList li .text{
	width:100%;
	float:none;
}
/*ページネーション（一覧ページ）*/	
.pager .pagination li{
	font-size:12px;
	width:30px;
	height:30px;
	margin:0 0.5%;
}
.pager .pagination li.back,
.pager .pagination li.next{
	width:60px;
}
.pager .pagination li.back a:before{
	top:10px;
}
/*ページネーション（singleページ）*/	
.page-nav .pageColumnSet .column2 .img{
	height:100px;
}
.page-nav .pageColumnSet .column2 a .inner ul li{
	font-size: 10px;
}
/* index Setting
=========================================================================================== */
#indexContentsHead{
	background-image: url(../images/index/mainvisual_frame_sp.png);
}
#indexContentsHead #mainVisualSet{
	display:none;
}
#indexContentsHead #mainVisualSetSp{
	display:block;
}
.slick-dots li button{
	width:50px;	
}
.contents01 h2{
	font-size:22px;
}
.contents01 .profileSet .columnText{
	float:none;
	width:100%;
	margin-left:0;
}
.contents01 .profileSet .columnText h2{
	text-align:center;
}
.contents01 .profileSet .columnText img{
	max-width:100%;
}
.contents02 .koushinSet .columnBlog{
	width:100%;
}
.contents02 .koushinSet .columnBlog h2{
	text-align:center;
	font-size:34px;
}
.contents02 .koushinSet .columnTwitter{
	display:none;
}
.contents03 .tokuchoSet{
	display:block;
}
.contents03 .tokuchoSet .column2{
	margin-left:0;
	width:100%;
}
.contents03 .tokuchoSet .column2 h2{
	font-size:42px;
}
.contents03 .tokuchoSet .column2 .textStyle1{
	margin-bottom:2em;
	font-size:15px;
}
.contents04 h2{
	font-size:42px;
}
.contents04 .catchStyle3{
	font-size:28px;
	margin-bottom:1em;
}
.contents04 .accessSet .column2 h3{
	font-size:20px;
}
.contents04 .accessSet .column2 .column2 p{
	font-size:14px;
}
.contents04 .accessSet .column2 .column2 .btnStyle1 a{
	font-size:14px;
}
.contents05 h2{
	font-size:38px;
}
.contents05 .greeting strong.fontBig2,
.contents05 .greeting strong.fontBig3{
	font-size:24px;
}

/* footer Setting
=========================================================================================== */
#pageTopBtn a{
	width:60px;
	height:60px;
}
footer section{
	margin-top: 40px;
}
}
@media screen and (max-width: 579px) {
}