
/* ==========================================================================
//サイト共通
========================================================================== */
/* 上マージン */
.mt_0{ margin-top: 0 !important; }
.mt_5{ margin-top: 5px !important; }
.mt_10{ margin-top: 10px !important; }
.mt_15{ margin-top: 15px !important; }
.mt_20{ margin-top: 20px !important; }
.mt_25{ margin-top: 25px !important; }
.mt_30{ margin-top: 30px !important; }
.mt_35{ margin-top: 35px !important; }
.mt_40{ margin-top: 40px !important; }
.mt_50{ margin-top: 50px !important; }
.mt_60{ margin-top: 60px !important; }
.mt_70{ margin-top: 70px !important; }
.mt_80{ margin-top: 80px !important; }
.mt_90{ margin-top: 90px !important; }
.mt_100{ margin-top: 100px !important; }
/* 下マージン */
.mb_0{ margin-bottom: 0 !important; }
.mb_5{ margin-bottom: 5px !important; }
.mb_10{ margin-bottom: 10px !important; }
.mb_15{ margin-bottom: 15px !important; }
.mb_20{ margin-bottom: 20px !important; }
.mb_25{ margin-bottom: 25px !important; }
.mb_30{ margin-bottom: 30px !important; }
.mb_35{ margin-bottom: 35px !important; }
.mb_40{ margin-bottom: 40px !important; }
.mb_50{ margin-bottom: 50px !important; }
.mb_60{ margin-bottom: 60px !important; }
.mb_70{ margin-bottom: 70px !important; }
.mb_80{ margin-bottom: 80px !important; }
.mb_90{ margin-bottom: 90px !important; }
.mb_100{ margin-bottom: 100px !important; }
/* 右マージン */
.mr_0{ margin-right: 0 !important; }
.mr_5{ margin-right: 5px !important; }
.mr_10{ margin-right: 10px !important; }
.mr_15{ margin-right: 15px !important; }
.mr_20{ margin-right: 20px !important; }
.mr_25{ margin-right: 25px !important; }
.mr_30{ margin-right: 30px !important; }
.mr_35{ margin-right: 35px !important; }
.mr_40{ margin-right: 40px !important; }
.mr_50{ margin-right: 50px !important; }
.mr_60{ margin-right: 60px !important; }
.mr_70{ margin-right: 70px !important; }
.mr_80{ margin-right: 80px !important; }
.mr_90{ margin-right: 90px !important; }
.mr_100{ margin-right: 100px !important; }
/* 左マージン */
.ml_0{ margin-left: 0 !important; }
.ml_5{ margin-left: 5px !important; }
.ml_10{ margin-left: 10px !important; }
.ml_15{ margin-left: 15px !important; }
.ml_20{ margin-left: 20px !important; }
.ml_25{ margin-left: 25px !important; }
.ml_30{ margin-left: 30px !important; }
.ml_35{ margin-left: 35px !important; }
.ml_40{ margin-left: 40px !important; }
.ml_50{ margin-left: 50px !important; }
.ml_60{ margin-left: 60px !important; }
.ml_70{ margin-left: 70px !important; }
.ml_80{ margin-left: 80px !important; }
.ml_90{ margin-left: 90px !important; }
.ml_100{ margin-left: 100px !important; }

/* テーブル */
.free-table01{
   width: 100%;
   border-left: solid 1px #CCC;
   border-top: solid 1px #CCC;
   margin-bottom: 1em;
}
.free-table01 th,
.free-table01 td{
   padding: .75em;
   text-align: center;
   border-right: solid 1px #CCC;
   border-bottom: solid 1px #CCC;
}
.free-table01 th{
   background-color: #f3f2f2;
}
.free-table01.clm3 td{
   width: 33.3333%;
}
.free-table01.clm4 td{
   width: 25%;
}

.small{
   font-size: .85em;
}
.center_txt{
   text-align: center;
}
h2.tit02 {
   margin-bottom: 50px;
}
.mb50{
   margin-bottom: 50px;
}

br.sp{
   display: none;
}
@media screen and (max-width: 780px) {
   br.sp{
      display: block;
   }
}

/* ==========================================================================
//フリーレイアウト
========================================================================== */
.free-layout .section{
   margin-bottom: 6em;
}
.free-layout .tit02 {
   margin-bottom: 60px;
}
.free-layout .tit04 {
   margin-top: 40px;
   margin-bottom: 20px;
}
.free-layout .section p{
	margin-bottom: 1.35em;
	line-height: 1.65;
}
.free-layout ul{
	list-style: disc !important;
   margin: 1em 0 1em 1.5em;
}
.free-layout ol{
   list-style: decimal !important;
   margin: 1em 0 1em 1.5em;
}
.free-layout .freespace_wrap {
   margin-bottom: 50px;
}
.free-layout .dl01 > dl:before {
   width: 25%;
}
.free-layout .dl01 > dl > dt {
   width: 25%;
}
.free-layout table{
   width: 100%;
   border-left: solid 1px #CCC;
   border-top: solid 1px #CCC;
   margin-bottom: 1em;
}
.free-layout table th,
.free-layout table td{
   padding: .75em;
   text-align: center;
   border-right: solid 1px #CCC;
   border-bottom: solid 1px #CCC;
}

/* ==========================================================================
// ティザー
========================================================================== */
/* モーダル */
.teaser-news-list li {
	position: relative;
}
.teaser-news-list li.no-link,
.teaser-news-list li.no-link * {
	cursor: default;
}
.teaser-news-modal-trigger {
	position: absolute;
	z-index: 9999;
	inset: 0;

	display: block;
	width: 100%;
	height: 100%;

	margin: 0;
	padding: 0;

	border: 0;
	background: transparent;

	cursor: pointer;
}
.teaser-news-modal {
	position: fixed;
	z-index: 99999;
	inset: 0;

	display: flex;
	align-items: center;
	justify-content: center;
	padding: 40px;

	opacity: 0;
	visibility: hidden;
	pointer-events: none;

	transition:
		opacity .4s ease,
		visibility .4s ease;
}
.teaser-news-modal.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
.teaser-news-modal-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .65);

	opacity: 0;
	transition: opacity .4s ease;
}
.teaser-news-modal.is-open .teaser-news-modal-overlay {
	opacity: 1;
}
.teaser-news-modal-content {
	position: relative;
	z-index: 1;

	width: min(800px, 100%);
	max-height: calc(100vh - 80px);
	padding: 50px;
	overflow-y: auto;

	background: #fff;

	opacity: 0;
	transform: translateY(20px);

	transition:
		opacity .4s ease,
		transform .4s ease;
}

.teaser-news-modal.is-open .teaser-news-modal-content {
	opacity: 1;
	transform: translateY(0);
}
.teaser-news-modal-close {
	position: absolute;
	top: 15px;
	right: 20px;

	border: 0;
	background: none;

	font-size: 32px;
	line-height: 1;
	cursor: pointer;
}
.teaser-news-modal-date {
	margin-bottom: 10px;
	font-size: 14px;
}
.teaser-news-modal-title {
	margin: 0 0 30px;
	font-size: 24px;
}
.teaser-news-modal-body {
	line-height: 1.8;
}
body.is-news-modal-open {
	overflow: hidden;
}


/* バナー一覧 */
.teaser-banner {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	margin: 40px 0 0 0;
	padding: 0;
	list-style: none;
}
.teaser-banner li {
	margin: 0;
	padding: 0;
	min-width: 0;
}
.teaser-banner li a {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 1;
	overflow: hidden;
}
.teaser-banner li img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

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

   /* モーダル */
	.teaser-news-modal {
		padding: 20px;
	}
	.teaser-news-modal-content {
		max-height: calc(100vh - 40px);
		padding: 50px 25px 30px;

		/* SPでは移動量を少し小さく */
		transform: translateY(10px);
	}
	.teaser-news-modal.is-open .teaser-news-modal-content {
		transform: translateY(0);
	}
	.teaser-news-modal-title {
		font-size: 20px;
	}

   /* バナー */
	.teaser-banner {
		grid-template-columns: 1fr;
		gap: 20px;
	}
}

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


/* ==========================================================================
// フッタ
========================================================================== */


/* ==========================================================================
//トップページ
========================================================================== */


/* ==========================================================================
//教室案内（一覧）
========================================================================== */


/* ==========================================================================
//教室案内（詳細）
========================================================================== */


/* ==========================================================================
//教室申し込み
========================================================================== */


/* ==========================================================================
//アクセス
========================================================================== */


/* ==========================================================================
//お知らせ
========================================================================== */


/* ==========================================================================
//お問い合わせ
========================================================================== */


/* ==========================================================================
//個人情報保護方針
========================================================================== */


/* ==========================================================================
404ページ
========================================================================== */
.error404 header,
.error404 footer{
   display: none;
}

body.error404 {
	margin: 0;
	background: #f8fafb;
}

.nicoccha-404 {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 100vh;
	margin: 0;
	padding: 60px 20px;
	background: #f8fafb;
	box-sizing: border-box;
}

.nicoccha-404__inner {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
	text-align: center;
}

/* ロゴ */
.nicoccha-404__logo {
	margin: 0 auto 45px;
}

.nicoccha-404__logo a {
	display: inline-block;
}

.nicoccha-404__logo img {
	display: block;
	width: 100%;
	max-width: 620px;
	height: auto;
	margin: 0 auto;
}

/* 404 */
.nicoccha-404__number {
	margin-bottom: 10px;
	color: #1c3034;
	font-size: 90px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.06em;
}

/* 見出し */
.nicoccha-404__title {
	margin: 0 0 25px;
	color: #1c3034;
	font-size: 28px;
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

/* 説明文 */
.nicoccha-404__text {
	margin-bottom: 40px;
	color: #555;
	font-size: 16px;
	line-height: 2;
}

.nicoccha-404__text p {
	margin: 0;
}

/* ボタン */
.nicoccha-404__button a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 260px;
	min-height: 58px;
	padding: 10px 35px;
	border: 2px solid #1c3034;
	border-radius: 50px;
	background: #1c3034;
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.5;
	text-decoration: none;
	letter-spacing: 0.05em;
	box-sizing: border-box;
	transition:
		background-color 0.25s ease,
		color 0.25s ease;
}

.nicoccha-404__button a:hover {
	background: #fff;
	color: #1c3034;
}

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

	.nicoccha-404 {
		min-height: calc(100vh - 140px);
		padding: 60px 25px 80px;
	}

	.nicoccha-404__logo {
		margin-bottom: 40px;
	}

	.nicoccha-404__logo img {
		max-width: 480px;
	}

	.nicoccha-404__number {
		font-size: 72px;
	}

	.nicoccha-404__title {
		font-size: 23px;
	}

}

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

	.nicoccha-404 {
		padding: 50px 20px 70px;
	}

	.nicoccha-404__logo {
		margin-bottom: 35px;
	}

	.nicoccha-404__logo img {
		max-width: 330px;
	}

	.nicoccha-404__number {
		font-size: 58px;
	}

	.nicoccha-404__title {
		margin-bottom: 20px;
		font-size: 20px;
		line-height: 1.6;
	}

	.nicoccha-404__text {
		margin-bottom: 32px;
		font-size: 14px;
		line-height: 1.9;
	}

	.nicoccha-404__button a {
		width: 100%;
		max-width: 290px;
		min-width: 0;
		min-height: 54px;
		font-size: 15px;
	}

}

/* ==========================================================================
   ワードプレス
   ========================================================================== */
   .user_edit a{
      color: #2aa7ec;
  }
  .user_edit p{
   margin-bottom: 1.35em;
   line-height: 1.85;
}
  .user_edit::after,
  .user_edit p::after{
      content: " ";
      display: block;
      clear: both;
  }
  .user_edit ul {
      margin-left: 1.25em;
      margin-bottom: 1.25em;
      list-style: inherit;
  }
  .user_edit ol {
      list-style: decimal;
      margin-left: 1.25em;
      margin-bottom: 1.25em;
  }
  .user_edit table {
     border-top: solid 1px #DDD;
     border-right: solid 1px #DDD;
     margin: 1.5em 0;
  }
  .user_edit table td {
     border-bottom: solid 1px #DDD;
     border-left: solid 1px #DDD;
     padding: .65em !important;
  }
/* ==========================================================================
//サイト共通
========================================================================== */
/* 上マージン */
.mt_0{ margin-top: 0 !important; }
.mt_5{ margin-top: 5px !important; }
.mt_10{ margin-top: 10px !important; }
.mt_15{ margin-top: 15px !important; }
.mt_20{ margin-top: 20px !important; }
.mt_25{ margin-top: 25px !important; }
.mt_30{ margin-top: 30px !important; }
.mt_35{ margin-top: 35px !important; }
.mt_40{ margin-top: 40px !important; }
.mt_50{ margin-top: 50px !important; }
.mt_60{ margin-top: 60px !important; }
.mt_70{ margin-top: 70px !important; }
.mt_80{ margin-top: 80px !important; }
.mt_90{ margin-top: 90px !important; }
.mt_100{ margin-top: 100px !important; }
/* 下マージン */
.mb_0{ margin-bottom: 0 !important; }
.mb_5{ margin-bottom: 5px !important; }
.mb_10{ margin-bottom: 10px !important; }
.mb_15{ margin-bottom: 15px !important; }
.mb_20{ margin-bottom: 20px !important; }
.mb_25{ margin-bottom: 25px !important; }
.mb_30{ margin-bottom: 30px !important; }
.mb_35{ margin-bottom: 35px !important; }
.mb_40{ margin-bottom: 40px !important; }
.mb_50{ margin-bottom: 50px !important; }
.mb_60{ margin-bottom: 60px !important; }
.mb_70{ margin-bottom: 70px !important; }
.mb_80{ margin-bottom: 80px !important; }
.mb_90{ margin-bottom: 90px !important; }
.mb_100{ margin-bottom: 100px !important; }
/* 右マージン */
.mr_0{ margin-right: 0 !important; }
.mr_5{ margin-right: 5px !important; }
.mr_10{ margin-right: 10px !important; }
.mr_15{ margin-right: 15px !important; }
.mr_20{ margin-right: 20px !important; }
.mr_25{ margin-right: 25px !important; }
.mr_30{ margin-right: 30px !important; }
.mr_35{ margin-right: 35px !important; }
.mr_40{ margin-right: 40px !important; }
.mr_50{ margin-right: 50px !important; }
.mr_60{ margin-right: 60px !important; }
.mr_70{ margin-right: 70px !important; }
.mr_80{ margin-right: 80px !important; }
.mr_90{ margin-right: 90px !important; }
.mr_100{ margin-right: 100px !important; }
/* 左マージン */
.ml_0{ margin-left: 0 !important; }
.ml_5{ margin-left: 5px !important; }
.ml_10{ margin-left: 10px !important; }
.ml_15{ margin-left: 15px !important; }
.ml_20{ margin-left: 20px !important; }
.ml_25{ margin-left: 25px !important; }
.ml_30{ margin-left: 30px !important; }
.ml_35{ margin-left: 35px !important; }
.ml_40{ margin-left: 40px !important; }
.ml_50{ margin-left: 50px !important; }
.ml_60{ margin-left: 60px !important; }
.ml_70{ margin-left: 70px !important; }
.ml_80{ margin-left: 80px !important; }
.ml_90{ margin-left: 90px !important; }
.ml_100{ margin-left: 100px !important; }

/* テーブル */
.free-table01{
   width: 100%;
   border-left: solid 1px #CCC;
   border-top: solid 1px #CCC;
   margin-bottom: 1em;
}
.free-table01 th,
.free-table01 td{
   padding: .75em;
   text-align: center;
   border-right: solid 1px #CCC;
   border-bottom: solid 1px #CCC;
}
.free-table01 th{
   background-color: #f3f2f2;
}
.free-table01.clm3 td{
   width: 33.3333%;
}
.free-table01.clm4 td{
   width: 25%;
}

.small{
   font-size: .85em;
}
.center_txt{
   text-align: center;
}
h2.tit02 {
   margin-bottom: 50px;
}
.mb50{
   margin-bottom: 50px;
}

br.sp{
   display: none;
}
@media screen and (max-width: 780px) {
   br.sp{
      display: block;
   }
}

/* ==========================================================================
//フリーレイアウト
========================================================================== */
.free-layout .section{
   margin-bottom: 6em;
}
.free-layout .tit02 {
   margin-bottom: 60px;
}
.free-layout .tit04 {
   margin-top: 40px;
   margin-bottom: 20px;
}
.free-layout .section p{
	margin-bottom: 1.35em;
	line-height: 1.65;
}
.free-layout ul{
	list-style: disc !important;
   margin: 1em 0 1em 1.5em;
}
.free-layout ol{
   list-style: decimal !important;
   margin: 1em 0 1em 1.5em;
}
.free-layout .freespace_wrap {
   margin-bottom: 50px;
}
.free-layout .dl01 > dl:before {
   width: 25%;
}
.free-layout .dl01 > dl > dt {
   width: 25%;
}
.free-layout table{
   width: 100%;
   border-left: solid 1px #CCC;
   border-top: solid 1px #CCC;
   margin-bottom: 1em;
}
.free-layout table th,
.free-layout table td{
   padding: .75em;
   text-align: center;
   border-right: solid 1px #CCC;
   border-bottom: solid 1px #CCC;
}

/* ==========================================================================
// ティザー
========================================================================== */
/* バナー一覧 */
.teaser-banner {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	margin: 40px 0 0 0;
	padding: 0;
	list-style: none;
}
.teaser-banner li {
	margin: 0;
	padding: 0;
	min-width: 0;
}
.teaser-banner li a {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 1;
	overflow: hidden;
}
.teaser-banner li img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media screen and (max-width: 767px) {
	.teaser-banner {
		grid-template-columns: 1fr;
		gap: 20px;
	}
}

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


/* ==========================================================================
// フッタ
========================================================================== */


/* ==========================================================================
//トップページ
========================================================================== */


/* ==========================================================================
//教室案内（一覧）
========================================================================== */


/* ==========================================================================
//教室案内（詳細）
========================================================================== */


/* ==========================================================================
//教室申し込み
========================================================================== */


/* ==========================================================================
//アクセス
========================================================================== */


/* ==========================================================================
//お知らせ
========================================================================== */


/* ==========================================================================
//お問い合わせ
========================================================================== */


/* ==========================================================================
//個人情報保護方針
========================================================================== */


/* ==========================================================================
404ページ
========================================================================== */
.error404 .section{
   text-align: center;
}
.error404 h2 {
    color: #333;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 1em;
    padding-bottom: 1em;
}


/* ==========================================================================
   ワードプレス
   ========================================================================== */
   .user_edit a{
      color: #2aa7ec;
  }
  .user_edit p{
   margin-bottom: 1.35em;
   line-height: 1.85;
}
  .user_edit::after,
  .user_edit p::after{
      content: " ";
      display: block;
      clear: both;
  }
  .user_edit ul {
      margin-left: 1.25em;
      margin-bottom: 1.25em;
      list-style: inherit;
  }
  .user_edit ol {
      list-style: decimal;
      margin-left: 1.25em;
      margin-bottom: 1.25em;
  }
  .user_edit table {
     border-top: solid 1px #DDD;
     border-right: solid 1px #DDD;
     margin: 1.5em 0;
  }
  .user_edit table td {
     border-bottom: solid 1px #DDD;
     border-left: solid 1px #DDD;
     padding: .65em !important;
  }