@charset "UTF-8";

/*　共通設定--------------------------------　*/

html, body, header, section, article, nav, footer,
div, span, p, h1, h2, h3, h4, ul, ol, li, dl, dt, dd,
table, tr, th, td, tbody, thead, tfoot {
	margin: 0;
	padding: 0;}

img { border: 0; vertical-align:bottom }

body {
	width: 100%;
	background-color: #fff;
/*	font: 14px/1.231 'ヒラギノ角ゴ pro W3', "Hiragino KaKu Gothic Pro", Osaka, sans-serif; */
	font-size: 14px;
	line-height: 2em;
	-webkit-text-size-adjust: 100%;
	}
.sp-only{
	display: block;
}
.pc-only{
	display: none;
}

/*flex-box*/
.flex_jcc, .flex_jcsb{
	display: block;
}
.flex_jcc.remain{
	display:-ms-flexbox;
	display:flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.flex_jcsb.remain{
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}


/*　ヘッダー・スライドバー--------------------------------　*/
#head {
	display: none;
}
#navi-box-sp{
	display:block;
	width: 100%;
	z-index: 100;
	position: relative;
}
#navi-box-sp::before {
	content: "";
    width: 100%;
    height: 9vh;
    max-height: 170px;
	display: inline-block;
    background: url(../img/top_header_top.png) no-repeat top center;
    background-size: 100% 100%;
    position: absolute;
    bottom: -38px;
    left: 0;
    z-index: 1;
}
#navi-sp{
	position: relative;
	z-index: 2;
}
#navi-sp ul li a span {
    color: #1C8FC8;
    font-size: 10px;
    display: block;
    font-weight: 300;
	line-height: 1;
}


/* slimmenu.js内の .menu-collapseに上書き */
.menu-collapser {
	height:60px;
	text-align:left; /* ロゴの位置 */
	background-color:#fff;
	line-height: 60px;
	color: #fff;
	font-size: 130%;
    padding-left: 15px;
	position: relative;
}
ul.slimmenu{
	position: absolute;
    background: #fff;
	text-align: center;
}
ul.slimmenu li a {
    display: block;
    padding: 12px 0;
}

.collapse-button {
    height: 36px;
}
.collapse-button .icon-bar {
    height: 3px;
    width: 20px;
    margin: 4px 0;
}
.collapse-button {
    padding: 5px 10px;
    /* color: #333; */
}
/* menu内のロゴ画像設定 */
.menu-collapser img#spHeadLogo{
	margin: 0 20px 0 auto;
    width: auto;
    vertical-align: baseline;
	max-height: 73px;
}

#navi-box-sp.fixed {
    position: fixed;
    top: 0px;
}
#navi-box-sp.fixed::before {
	display: none;
}
#navi-box-sp.fixed .menu-collapser img#spHeadLogo{
	max-height: 56px;
}



table td {
	line-height:1.8em }

table td hr {
	margin:0 0 1em 0;
    border: 0;
    height: 1px;
    background: url(../img/hr.gif) repeat-x ;
}

body.index .theme-default .nivoSlider {
    margin-bottom: 0 !important;
}


/*　ヘッダー--------------------------------　*/
body.index #head h1 a {
	display: block;
}


/*　ナビ表示--------------------------------　*/

/*　背景　*/
.sb-slidebar {
	border-left:1px solid #999;/* 左側にborder */
	background:#fff !important; /* slideber.cssの設定を上書き */
	}

#navi-box {
	width:100%;
	height:60px;/* naviの高さ */
	position:fixed;
	top: 0;
	left:0;
	z-index:2 ;
	}

#navi {
	text-decoration: none;
	width: 100%;
	height:60px;
	margin: 0 0 0px 0;
	background:none;
	z-index:2 ;
	}

#navi h1 {
	display:none;}

#navi ul {
	display: block;
	width: 100%;
	height:auto;
	background:none;
	border-bottom: 1px solid #999;
	margin: 0 auto 10px;
	} /* ナビ下のborder */

#navi li {
	float:none;
	list-style: none;
	text-align: left;
	width: 100%;
	max-width: inherit;
}

#navi li a {
	text-decoration: none;
	padding: 5px;
	height:auto;
	width:100%;
	display: block;
	font-weight: normal;
	border-top: solid 1px #999;/* li上のborder */
	color: #333 !important;/* 文字色 */
	background:#fff;/* リンク背景 */
}

#navi li a span{
	display:none;
	}


/* スマホ用ナビを表示 */
#navi li.spnavi {
	display:inline;
}

/* hover時の設定 */
#navi li a:hover ,
body.index li a#navi-index ,
body.teacher li a#navi-teacher ,
body.lesson li a#navi-lesson ,
/* スマホ用ナビ */
body.contact li a#navi-contact {
	background:none;
	color:#fff !important;
	background-color:#bbb;
}

li a#navi-index {
	margin-left:0px;
}

/*　スクロール時のナビ固定　jquery連動*/
.fixed {
	position: fixed;
	top: 0px;}

.pc-only{
	display: none;
}

.sp-only{
	display: block;
}

/*　ビジュアル--------------------------------　*/

#visual {
	margin: 0 auto 0;
}

/*　ページビジュアル--------------------------------　*/
#title {
    width: 100%;
    height: 150px;
}
#title h2 {
	font-size: 170%;
}



/*　パンくずリスト--------------------------------　*/
#bread {
	width:96%;
	}

/*　コンテンツ外枠--------------------------------　*/


/*　コンテンツ　メインカラム--------------------------------　*/

#contents-main{
	width:100%;
	padding: 0 0;
	margin:0px auto 0px auto;
}
#contents-main .inner {
    padding: 40px 0;
	width: 90%;
}
#contents .inner02 {
    padding: 30px 0 30px;
}

#contents h2 {
	margin-bottom: 1em;
}


/*　コンテンツ　サブカラム--------------------------------　*/

#contents-sub ul li {
    margin-bottom: 25px;
}

#contents-main h2 {
	margin: 0 auto 1em;
	font-size: 170%;
	letter-spacing: 0;
}

#contents-main h3 {
	font-size:120% ;
	padding: 0 0;
	margin-bottom: 1em;
}


/* 行間設定 */
#contents-main p {
	line-height:1.9em;
}

#contents-main p img {
	max-width: 100%;
	height:auto;
	margin:0 0 1em 0;
	}

/* フッター--------------------------------　*/
#footer {
    margin: 50px auto 0;
}
#footer p.pagetop {
    bottom: 20px;
}
#footer .ft-info {
	display:block;
}
#footer .ft-navi {
	min-width: inherit;
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
	width: 100%;
}
#footer .ft-navi li {
    width: 40%;
}
#footer .footer-inner {
    width: 90%;
    padding-bottom: 10px;
}
#footer .ft-logo {
    width: 50%;
	max-width: 300px;
    margin-bottom: 1em;
}
#footer .ft-logo .img-logo{
	max-width: 90px;
}
#footer .tw img{
	width: 30px;
}
#footer #copyright {
    font-size: 10px;
}



/*footernavi*/
.footernavi{
	height: inherit;
}
.footernavi > div a{
	padding: 10px 5px;
	line-height: 1.5;
	font-size: 100%;
	white-space: nowrap;
}


/* ★トップページのみ--------------------------------　*/


body.index #contents-main {
	width:100%;
	padding: 0;
	margin-right: 0;
}
/*ABOUT*/

#contents-main .about {
    padding: 1em 0 0;
}
#contents-main .about .inner {
    padding-top: 60px;
}
#contents-main .about .mb-4em{
	margin-bottom: 0 !important;
}
/*スライド*/

#contents-main .athlete .inner,
#contents-main .person .inner,
#contents-main .spot .inner {
	width: 80%;
}
#contents-main .swiper-button-prev {
	right: calc(100% - 1rem);
}
#contents-main .swiper-button-next {
	left: calc(100% - 1rem);
}

/*バナー*/
#contents-main .banner .inner {
	padding: 0 0 20px;
}
#contents-main .banner .mb-4em{
	margin-bottom: 2em !important;
}

/*アスリート*/
#contents-main .athlete .inner{
	position: relative;
}
.athlete .tolist_btn {
	bottom: -60px;
    right: 0;
    z-index: 2;
    position: absolute;
}
#contents-main .athlete .swiper-area {
	padding-bottom: 2em;
}

/*ゆかりの人*/
#contents-main .person .inner {
    padding-bottom: 50px;
    padding-top: 30px;
}
.tolist_btn a {
    width: 80px;
    height: 80px;
    font-size: 90%;
    line-height: 1.4;
}
#contents-main .slide-title a {
    font-size: 14px;
}
#contents-main .slide-title a .st-name {
    font-size: 15px;
	line-height: 1.3;
}
.spot .tolist_btn {
    margin-top: 1em;
}

/*スポット*/
#contents-main .spot .slide-content {
	min-height: inherit;
}
#contents-main .slide-title a .st-ttl{
	max-height: 2.8em;
	height: auto;
}

/*新着情報*/
#contents-main .news-contents {
    display: block;
}
#contents-main .news-contents .ct-l {
    width: 100%;
    margin-right: 0;
}
#contents-main .news h2 {
	text-align: left;
}
#contents-main .news h2::before {
    content: "";
    display: inline-block;
    width: 23.75%;
}
#contents-main .news-contents .ct-r {
    width: 100%;
    margin-right: 0;
    margin-bottom: 2em;
}
#contents-main .news {
    background: url(../img/top_news_bg_sp.png) no-repeat center center;
    background-size: 100% 100%;
    padding: 30px 0;
    margin-top: -20px;
}
#contents-main .news_bgor{
    background: url(../img/top_news_bg_sp_new.png) no-repeat center center;
    background-size: 100% 100%;
}
#contents-main .news .inner{
	position: relative;
}
.news .tolist_btn {
	text-align: inherit;
	position: absolute;
	bottom: -50px;
	right: 0;
}
body.index #contents-main .date {
    font-size: 90%;
}
#contents-main .news-contents .title {
    margin-left: 1em;
}
#contents-main .news-contents .topics{
    padding: 4px 0;
	display: block;
	line-height: 1.5;
}
#contents-main .news-contents .topics p {
	line-height: 1.5;
	margin-left: 0;
}
#contents-main .sp-mb3em{
	margin-bottom: 3em;
}
#contents-main .sp-mmt{
	margin-top: -4em;
}


/*カレンダー*/
#contents-main .event .inner {
    width: 96%;
}
.calender iframe {
    height: 300px;
}

/*チャレンジ企画*/
#contents-main .challenge h2{
	padding-left: 0;
}
#contents-main .challenge h2::before{
    width: 47.583%;
}
#contents-main .challenge h2 .fs-s{
	font-size: 80%;
}

/* ★追記の設定-------------------------------- */

.tuiki{
	display:none;
	line-height:1.6;
}

#contents-main .read_open_close{
	cursor:pointer;
	display: block;
	color: #777;
	margin-bottom: 0;
}


/* ★一覧-------------------------------- */

#contents-main .list-item .st-name {
    font-size: 16px;
    margin: 0 0 8px;
}
#contents-main .list-item .st-ttl {
    font-size: 14px;
	margin-bottom: 0px;
}
#contents-main .list-item .slide-detail{
	font-size: 90%;
}
#contents-main .list-item .slide-media {
    border-radius: 10px;
}
#contents-main .list-item .slide-media img {
    height: 100%;
    -webkit-transform: inherit;
    transform: inherit;
}
.url-box {
    margin-top: 3px;
}


/* ★活動内容--------------------------------　*/

#contents-main .page-title {
    font-size: 130%;
}


/* ブログ　一覧ページ　-----*/

#contents-main .info-box .topics {
    padding: 8px 0;
}
#contents-main .info-box .title{
	line-height: 1.5;
}
#contents-main .info-box .title span {
    display: block;
    margin-right: 0;
}
#contents-main .post .pager a{
	position: relative;
	display: inline-block;
	z-index: 2;
}


/* 記事ブロック */
#contents-main .info-box.detail .title {
    font-size: 130%;
}
/* サムネイル画像 */


/* ★お問い合わせ-------------------------------- */
body.contact #contents-main {
    padding-bottom: 0;
}
body.contact #contents .inner02,
body.company #contents .inner02{
    width: 96%;
}
/* お問い合わせ　テーブル設定 */
body #contents-main table#inquiry_form  th {
	width: auto;
    display: block;
    margin: 0px 10px 10px;
    padding: 2px 6px;
	}

/* nest table用 */
body #contents-main table#inquiry_form table{
	width:30%;
}

/* テキストボックスなどの長さ */

body #contents-main table#inquiry_form  tr.require{
	display: block;
}
body #contents-main table#inquiry_form td {
	display: block;
	padding: 0 10px 1em;
	font-size: 16px;
}
body #contents-main table#inquiry_form td input,
body #contents-main table#inquiry_form td textarea{
	font-size: 16px;
	padding: 5px;
}

body #contents-main table#inquiry_form  td input.name{
	width:100%;
	display: block;
}
body #contents-main table#inquiry_form  td input.mail{
	width:100%;
	display: block;
}
body #contents-main table#inquiry_form  td input.tel{
	width:100%;
	display: block;
}
body #contents-main table#inquiry_form  td text {
	width:100%;
	display: block;}



/* -----*/




/* ★スマホ-------------------------------- */

@media screen and (max-width:480px) {


}