@charset "utf-8";
/* CSS Document */

/*　共通設定--------------------------------　*/

*{
	box-sizing: border-box;
}

html {
	/* reset-min設定の打ち消し
	background-color:transparent; */

}
body {
	margin:0 ;
	padding: 0 ;
	/* background: url(../img/common_body2020.gif) center repeat-y;	 */
	font-size: 100%;

	font-family: 'Noto Sans JP', "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
}

/*　背景のボックスが必要な場合のみ設定  */
#back {
}

p {font-size:100%;
	line-height:1.8em;
	margin:0;
	}

strong {font-weight:bold}

img {
	border:0;
	vertical-align: bottom;
	max-width: 100%;
	margin: 0;
}

hr{
	margin:0 0 1em 0;
    border: 0;
    height: 1px;
    background: url(../img/hr.gif) repeat-x ;

/* hr 左右グラデ表示用設定
	background-image: -webkit-linear-gradient(left, #ccc, #333, #ccc);
	background-image:    -moz-linear-gradient(left, #ccc, #333, #ccc);
	background-image:     -ms-linear-gradient(left, #ccc, #333, #ccc);
	background-image:      -o-linear-gradient(left, #ccc, #333, #ccc); */}

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 ;
}

.sp-only{
	display: none;
}
.pc-only{
	display: block;
}

.mb-0{
	margin-bottom: 0 !important;
}
.mb-1em{
	margin-bottom: 1em !important;
}
.mb-2em{
	margin-bottom: 2em !important;
}
.mb-3em{
	margin-bottom: 3em !important;
}
.mb-4em{
	margin-bottom: 4em !important;
}
.mt-0{
	margin-top: 0 !important;
}
.pb-0{
	padding-bottom: 0 !important;
}
.pt-0{
	padding-top: 0 !important;
}

.tac{
	text-align: center !important;
}
.tal{
	text-align: left !important;
}


/*clearfix*/
.clearfix::after {
	content: "";
	display: block;
	clear: both;
 }


/*　ヘッダー--------------------------------　*/

#head {
	width:100%;
	margin:0 auto 0 auto;
	position: relative;
	z-index: 10;
}

#head::before{
	content:"";
	width: 100%;
	height: 30vh;
	max-height: 220px;
	display: inline-block;
	background: url(../img/top_header_top.png) no-repeat top center;
	background-size: contain;
	position:absolute;
	top: 0;
	left: 0;
	transition: 0.1s all ease;
}
.head_inner {
	height:70px;
	width:96%;
	max-width: 1200px;
	margin:0 auto 0 auto;
	display:-ms-flexbox;
	display:flex;
	padding: 0 0 10px;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
/* logo */
#head h1 {
	margin:0 1.5% 0 0;
	width: 37%;
    max-width: 426px;
	position: relative;
	transition: 0.1s all ease;
	max-height: 14%;
}
#head h1 a{
	display:block;
	margin:3px 0px 0 0px;
}
#head h1 a span{
	display:none;
}
#head h1 a img{
	margin-top: -5%;
	max-height: 14vw;
	width: auto;
}
#head.close::before {
	height: 0;
}
#head.close h1 {
	width: 15%;
	max-width: 150px;
}


/*　ビジュアル--------------------------------　*/


#visual {
	width: 100%;
	/* max-width: 940px; */
	clear:both;
	margin:-10px auto 0;
	padding: 0 0 0 0;
/*	background-color:#F5F1E9;*/
	position:relative;
	z-index:1; /* naviが下に重なるのを防ぐ */
	/* overflow: hidden; */
}

/* box-shadow,border設定を無効化 */
#visual .bx-viewport {
	box-shadow:none !important;
	border:none !important;
	background:none !important;
	left:0;
	}

/* 画像の位置調整（画像サイズにより変更する） */
/* #slider img {margin-left:18%} */

/* 左右ナビゲーターを表示する場合の設定
.bx-wrapper .bx-prev {
	left: -50px !important;
}
.bx-wrapper .bx-next {
	right: -50px !important;
}
 */

 #visual .bx-wrapper img {
    max-width: 100%;
	width: 100%;
    display: block;
}
#visual .bxslider li{
	width: auto;
}
#visual::after {
	content: "";
	width: 100%;
	height: 23vh;
	max-height: 170px;
	display: inline-block;
	background: url(../img/top_header_bottom.png) no-repeat bottom center;
	background-size: 100% auto;
	position: absolute;
	bottom: -1%;
	left: 0;
	z-index: 2;
	border-bottom: 1px solid #fff;
}
.visual-wrap{
	position: relative;
	overflow: hidden;
}
.visual-wrap .visual_chara{
	position: absolute;
    bottom: 15%;
    right: 3%;
    z-index: 3;
    text-align: right;
	/* width: 31%; */
	width: 33%;
}
.visual-wrap .visual_chara img{
	width: 80%;
	max-width: 425px;
}

/*　グローバルコンテンツのタイトル画像（ページビジュアル）--------------------------------　*/

#title {
	width:100%;
	height:400px ;
	margin:0 auto 0 auto ;
	background:url(../img/common_pagetitle_bg.jpg) no-repeat center left;
	background-size: cover;
	position: relative;
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

#title h2 {
	margin:0 auto 0 auto;
	max-width: 1200px;
	font-size: 250%;
	padding-top: 1em;
	letter-spacing: 0.05em;
}

#title h2 span{
	display:none}

/* 各ページの画像設定 */
		/* body.business #title h2 { background:url(../img/business_title_2020.jpg) no-repeat center center ;}
		body.company #title h2 { background:url(../img/company_title_2020.jpg) no-repeat center center ;}
		body.contact #title h2 { background:url(../img/contact_title2020.jpg) no-repeat center center ;}
		body.reform1 #title h2 { background:url(../img/reform_title01.jpg) no-repeat center center ;}
		body.reform2 #title h2 { background:url(../img/reform_title02_2020.jpg) no-repeat center center ;}
		body.reform3 #title h2 { background:url(../img/reform_title03_2020.jpg) no-repeat center center ;}
		body.reform4 #title h2 { background:url(../img/reform_title04_2020.jpg) no-repeat center center ;}
		body.store1 #title h2 { background:url(../img/store_title01_2020.jpg) no-repeat center center ;}
		body.store2 #title h2 { background:url(../img/store_title02_2020.jpg) no-repeat center center ;}
		body.store3 #title h2 { background:url(../img/store_title03_2020.jpg) no-repeat center center ;}
		body.info #title h2 { background:url(../img/info_title.jpg) no-repeat center center ;}
 */





/*　ナビ表示--------------------------------　*/

#navi-box{
	width:66%;
	height:56px;
	position:relative;
	z-index:2 ;
	transition: 0.3s ease;
}

/* navi2がある時の高さ指定 */
body.reform1 #navi-box, body.reform2 #navi-box, body.reform3 #navi-box, body.reform4 #navi-box,
body.store1 #navi-box, body.store2 #navi-box, body.store3 #navi-box{
	height:73px;
}

#navi{
	width:100%;
	/* background:url(../img/common_navi2020.png) no-repeat center top; */
	height:56px;
	padding:0 ;
	margin-left: auto;
	clear:both;
	}
#navi ul{
	height:56px;
	width:100%;
	margin:0 auto;
	padding:25px 0 0;
	background: #fff;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}
#navi li{
	list-style:none;
	max-width: 20%;
	margin: 0 1.5%;
	text-align: center;
}

#navi li a{
	margin:0 0px 0 0px;
	display:inline-block;
	position: relative;
    transition: .3s;
	/* height:33px; */
	text-decoration:none;
	color: #333;
	font-size: 100%;
	padding: 5px 10px;
	white-space: nowrap;
	letter-spacing: 0.05em;
	font-weight: 500;
}

#navi li a::after {
	content: '';
    width: 0;
    height: 2px;
    position: absolute;
    bottom: 0;
    left: 50%;
	display: inline-block;
    background-color:#1C8FC8;
    transition: 0.3s;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}
#navi li a:hover::after {
	width: 100%;
}
#navi li a span {
	color: #1C8FC8;
	font-size: 12px;
	display: block;
	margin-bottom: 2px;
	font-weight: 300;
}



/*　スクロール時のナビ固定　jquery連動*/
.fixed {
	position: fixed;
	top: -1px;
	left: 0;
}
#head.fixed {
	position: fixed;
	top: -1px;
	left: 0;
	background-color: #fff;
}

#head.fixed::before {
	display: none;
}
#head.fixed h1 {
	display: none;
}
#head.fixed #navi-box {
    width: 100%;
    height: 56px;
    position: relative;
    z-index: 2;
}
#head.fixed #navi {
    width: 100%;
}
#head.fixed #navi ul{
	padding-top: 10px;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

			/* #navi.fixed {
				width: 100%;
				margin: 0 auto;
			}
			#navi.fixed ul {
				-webkit-box-pack: inherit;
				-ms-flex-pack: inherit;
				justify-content: inherit;
			}


			#navi.fixed:before {
				content: "";
				width: 120%;
				height: 56px;
				background-color: #fff;
				display: block;
				position: absolute;
				left: -20%;
				top: 0;
			}
			#navi.fixed #navi-tel  a:after {
				display: none;
			} */








/*　ナビ 各ページの選択状態　*/
/* li#navi-index a:hover:after, body.index li#navi-index a:after,
li#navi-reform a:hover:after, body.reform1 li#navi-reform a:after, body.reform2 li#navi-reform a:after, body.reform3 li#navi-reform a:after, body.reform4 li#navi-reform a:after,
li#navi-facility a:hover:after, body.facility li#navi-facility a:after,
li#navi-company a:hover:after, body.company li#navi-company
a:after,
li#navi-contact a:hover:after, body.contact li#navi-contact a:after{
	width: 100%;
} */

/* スマホナビ非表示*/
#navi-box-sp{
	display: none;
}





/*　サブナビ表示--------------------------------　*/
#navi2 {
	width:940px;
	margin:0 auto;
	height:28px;
	background:#EAEBD8;
	border-bottom:1px solid #000;
	}
#navi2 ul{
	width:940px;
	height:28px;
	margin:0 auto;
	background:none;
	padding: 0;
	}
#navi2 ul li {
	float:left;
	height:28px;
	list-style:none;
	}
#navi2 li a{
	margin:0 0px 0 0px;
	display:block;
	height:28px;
	line-height:2.3em;
	padding:0 14px;
	color:#333;
	font-size:85%;
	text-decoration:none;
	}
#navi2 li a:hover{
	color:#333;
	background:#D5D7B0;
	}

/*　サブナビ 各ページの選択状態　*/
body.navi2_01 #navi2 li#navi-01 a,
body.navi2_02 #navi2 li#navi-02 a,
body.navi2_03 #navi2 li#navi-03 a,
body.navi2_04 #navi2 li#navi-04 a,
body.navi2_05 #navi2 li#navi-05 a {
	color:#333;
	background:#D5D7B0;
	}





/*　コンテンツ背景--------------------------------　*/

#contents-back {}


/*　ローディングアニメ--------------------------------　*/
	/* .loader {
		position: fixed;
		width: 100%;
		height: 100vh;
		background-color: #fff;
		z-index: 555;
		top: 0;
		left: 0;
		display: flex;
		justify-content: center;
		align-items: center;
	} */


/*　パンくずリスト--------------------------------　*/

#bread {
	width:940px;
	padding:0;
	margin:20px auto 10px auto ;
	line-height:15px;
	font-size:70%;
	color:#999;
	clear:both;
	}





/*　コンテンツ外枠--------------------------------　*/

#contents{
	width:100%;
	margin:0 auto 0 auto}

#contents::after {
	content:".";
	height:0;
	clear:both;
	visibility:hidden;
	display:block;}








/*　コンテンツ　メインカラム--------------------------------　*/

/* #contents .inner{
	width: 96%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 30px 0;
} */
#contents .inner02{
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
	padding: 30px 0 70px;
}

#contents-main{
	float:left;
	height:auto;
	width:100%;
	padding: 0 0 0 0px;
	/* margin:35px 0px 30px 0px; */
	margin: 0;
	}


#contents-main .inner{
	width: 96%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 100px 0 100px;
}



/*　見出し　--------------------------------　*/

#contents-main h2 {
	border:0;
	padding:0 0 0 0px;
	margin:0 0 40px 0 ;
	text-align:center;
	font-size: 250%;
	color: #198CC5;
	font-weight: 500;
	letter-spacing: 0.05em;
	position: relative;
	z-index: 1;
}
.index #contents-main h2 {
	line-height: 1;
}

#contents-main h3{
	/* border-bottom:#666 dotted 1px;
	border-left:#00A55D solid 5px; */
	padding:3px 10px;
	margin:0px 0 20px;
	line-height:1.4em;
	font-size:187.5%;
	text-align: center;
	clear:both;
	}
#contents-main h3 a{
	color:#333;
	text-decoration:none;
	}
#contents-main h3 a:hover{
	text-decoration:underline;
	}


#contents-main h4{
	border-bottom:#666 dotted 1px;
	padding:10px 0px;
	margin:0 0 1em 0 ;
	line-height:1.4em;
	clear:both}

#contents-main h4 img{
	margin-left:8px;
	vertical-align: text-bottom;
}





/*　本文　--------------------------------　*/

/*　文字色　*/
#contents-main p,
#contents-main table,
#contents-main li { color:#333 }

#contents-main p {
	margin:0 0 1em 0 ;
	color:#333;
	line-height:1.8em;
	font-size:100%;}

#contents-main p img{
	margin:0 10px 20px 10px;
/*	background:#FFF;
	padding:2px;
	border: #CC9 solid 1px; */
	}

#contents-main p a:hover img{
/*	border: #2A5050 solid 1px;*/
}


/*
#contents-main iframe{
	margin:10px 0px;
	padding:2px;
	border: #CC9 solid 1px;}
	*/


/* リンク文字色 */
#contents-main a {
	color:#1A8DC6;
	text-decoration:none ;}

#contents-main a:hover {
	text-decoration:underline ;}

#contents-main a:hover img{
	opacity: 1;
	transition: 0.3s ease opacity;
}
#contents-main a:hover img{
	opacity: 0.7;
}
/* 文字サイズ */
#contents-main .fs-s{
	font-size: 87.5%;
}





/*　リスト　*/

#contents-main ul , #contents-main ol{
	line-height:1.8em;
	font-size:100%;
	margin:0 0 2em 2em;
	}
#contents-main ul li{
	list-style:disc outside;
	}
#contents-main ol li{
	list-style:decimal outside ;
	}

/* リスト内のテーブル設定 */
#contents-main ol li table,
#contents-main ul li table {
	width:auto;
	font-size:100%;
	margin:0;
	}
#contents-main ol li table td,
#contents-main ul li table td {
	vertical-align:top;
	}




/*　テーブル　*/

#contents-main table {
	width:100%;
	border-collapse:separate;
	border-spacing : 4px 4px;
	font-size:100%;
	margin:30px 0 30px 0;
	}
#contents-main table th {
	background: #d0ebf8;
	text-align:center;
	padding:6px 6px ;
	white-space:nowrap;
	vertical-align:middle;
	font-weight:400;
	}
#contents-main table td {
	background:none;
/*	border:1px solid #999;*/
	padding:6px 6px;
	}





/* ★タブの設定-------------------------------- */

#contents-main #tabArea {
/*	background:#FFF;*/
	height:auto;
	padding:0 0 50px;
	margin:0 0 0px 0;
	/* overflow-y:auto; */
	clear:both;
	position: relative;
	margin-top: 120px;
	}

/*　タブ切り替えの設定　--------------------------------　*/


#tabArea .tab {
	position: absolute;
    top: -96px;
    left: 0;
    margin: 0;
	width: 100%;
}
#tabArea .tab li {
	margin: 0;
    cursor: pointer;
    list-style: none;
    position: relative;
    z-index: 0;
    /* max-width: 330px; */
    margin-right: 1.25%;
    width: 32.5%;
    background:#f9eec7;
    padding: 10px;
    height: 96px;
	transform: translateY(20px);
}
#tabArea .tab li.active {
	transform: translateY(0);
}
#tabArea .tab li:last-child {
	margin-right: 0;
}
#tabArea .tab li.active {
	z-index: 5;
}
#tabArea .tab li .num {
	background: #f5dfa6;
    margin-bottom: 10px;
    font-size: 12px;
    text-align: center;
    font-weight: 600;
}
#tabArea .tab li .flex01 span{
	font-weight: 600;
    font-size: 120%;
	margin: 0 1%;
}

#tabArea .tab li.active {
    background: #c1e1ef;
	position: relative;
}
#tabArea .tab li.active .num {
	background:#a3c7da;;
}
#tabArea .tab li.active::after {
	top: 100%;
    left: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    border-top-color: #c1e1ef;
    border-width: 14px;
    margin-left: -14px;
}



#tabArea .area .ct {
	display: none;
	position: relative;
    background: #fff;
    padding: 36px 4.16% 0;
}

#tabArea .area .ct.show {
	display: block;

}
#tabArea .area .ct h3{
	font-weight: 800;
}
#tabArea .area .ct h3 span{
	background:linear-gradient(transparent 60%, #c1e1ef 60%);
}




/* フッター--------------------------------　*/

#footer {
	margin:100px auto 0;
	width:100%;
	clear:both;
	background-color: #D2EBF8;
	position: relative;
}
#footer::before{
	content: "";
    width: 100%;
    height: 121px;
    background: url(../img/common_footer_bg_top.png) no-repeat bottom left;
    background-size: 100% auto;
    position: absolute;
    bottom: 99.9%;
    left: 0;
	display: inline-block;
}
/* ページトップ */
#footer p.pagetop {
	display: none;
	position: fixed;
	bottom: 70px;
	right: 20px;
	z-index: 10;
	}
#footer p.pagetop a {
	display: block;
	width: 50px;
	height: 50px;
	background-color: #87d472;
	text-align: center;
	color: #fff;
	font-size: 15px;
	text-decoration: none;
	line-height: 50px;
	filter: alpha(opacity=85); /* 透過設定 */
	  -moz-opacity:0.85;
	opacity:0.85;
	border-radius: 50%;
	}
#footer p.pagetop a:hover {
	background-color: #50963c;
	}

#footer .footer-inner{
	width: 96%;
	margin: 0 auto;
	max-width: 1200px;
	padding-bottom: 30px;
}

/* 住所 */
#footer #address{
	padding-top:13px;
	text-align:center;
	color:#000;
	}

/* コピーライト */
#footer #copyright{
	text-align:center;
	color:#777777;
	font-size:12px;
	margin-top: 10px;
}


#footer .ft-info{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
}
#footer .ft-logo{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	width: 20%;
	margin-top: -20px;
	position: relative;
}
#footer .tw{
	margin-left: 30px;
}
#footer .ft-navi{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	width: 50%;
	min-width: 530px;
}
#footer .ft-navi li{
	margin: 0 2%;
}
#footer .ft-navi li a{
	text-decoration: none;
	color: #333;
}

/* ★追記の設定-------------------------------- */

	 .tuiki{
		font-size: 90%;
	 }


	.read_open_close{
		display: none;
	}

/* ★flex-box設定-------------------------------- */
.flex_jcc{
  	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{
	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;
}







/* ★トップページのみ--------------------------------　*/

body.index #contents-main {
	margin: 0;
}

body.index #contents-main p img {
	margin:0;
	}



/*ABOUT*/
#contents-main .bgWhite{
	background: #fff;
}

#contents-main .about {
	padding: 75px 0 0;
}
#contents-main .about .inner{
	background: url(../img/top_about_ken.png) no-repeat top right;
	background-size: 50% auto;
}
#contents-main .about h2::before{
	content: "";
    display: inline-block;
    width: 44.75%;
    height: 110px;
    background: url(../img/top_about_ttl.png) no-repeat bottom left;
    background-size: contain;
    position: absolute;
    bottom: 16px;
    left: 0;
}

#contents-main .about p{
	line-height: 2.4;
}

/*バナー*/

#contents-main .banner .inner {
    padding-top: 60px;
	position: relative;
	z-index: 2;
}

.bn_contents{
	text-align: center;
	position: relative;
	max-width: 1000px;
	margin: 0 auto;
}
.bn_contents .tolist_btn{
	position: absolute;
	bottom: 0;
	right: 0;
}

/*アスリート*/
#contents-main .athlete {
	background-color: #FFFFD9;
	position: relative;
	margin-top: 10%;
}
#contents-main .athlete::before{
	content: "";
	width: 100%;
	height: 18.5%;
	background: url(../img/top_athlete_bg_tp.png) no-repeat bottom left;
	background-size: 100% auto;
	position: absolute;
	display: inline-block;
	bottom: 99.9%;
	left:0;
	z-index: 1;
	/* border-bottom: 1px solid #FFFFD9; */
}
#contents-main .athlete::after{
	content: "";
	width: 100%;
	height: 30%;
	display: inline-block;
	background-color: #FFFFD9;
	position: absolute;
	top: 100%;
	left:0;
}
#contents-main .athlete h2{
	padding-left: 1.4em;
}
#contents-main .athlete h2::before{
	content: "";
    display: inline-block;
    width: 31.83%;
    height: 110px;
    background: url(../img/top_athlete_ttl.png) no-repeat bottom left;
    background-size: contain;
    position: absolute;
    bottom: 16px;
    left: 0;
}


/*ゆかりの人*/

#contents-main .person {
	background-color: #D2EBF8;
	position: relative;
	margin-top: 10%;
	margin-bottom: 10%;
}
#contents-main .person::before{
	content: "";
	width: 100%;
	height: 18.5%;
	display: inline-block;
	background: url(../img/top_person_bg_tp.png) no-repeat bottom left;
	background-size: 100% auto;
	position: absolute;
	bottom: 99.9%;
	left:0;
	z-index: 0;
	/* border-bottom: 1px solid #D2EBF8; */
}
#contents-main .person::after{
	content: "";
	width: 100%;
	height: 19%;
	display: inline-block;
	background: url(../img/top_person_bg_bt.png) no-repeat top left;
	background-size: 100% auto;
	position: absolute;
	top: 100%;
	left:0;
}
#contents-main .person .inner {
	padding-bottom: 100px;
	padding-top: 57px;
	position: relative;
}
#contents-main .person h2{
	padding-left: 1.4em;
}
#contents-main .person h2::before{
	content: "";
    display: inline-block;
    width: 29.75%;
    height: 110px;
    background: url(../img/top_person_ttl.png) no-repeat bottom left;
    background-size: contain;
    position: absolute;
    bottom: 16px;
    left: 0;
}

/*スライド*/
  [class*=swiper]:focus {
	outline: none;
  }

  #contents-main .slide-media,
  #contents-main .thumb-media {
	position: relative;
	overflow: hidden;
  }
  #contents-main .slide-media img,
  #contents-main .thumb-media img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	object-position: top;
  }
  #contents-main .slide-media .aspect img,
  #contents-main .thumb-media .aspect img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	   object-fit: contain;
	object-position: center;
  }

  #contents-main .swiper-button-prev,
  #contents-main .swiper-button-next {
	display: grid;
	place-content: center;
	width: 3rem;
	height: 3rem;
	cursor: pointer;
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
  }
  #contents-main .swiper-button-prev::before,
  #contents-main .swiper-button-next::before {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	content: "";
	border-radius: 50%;
	-webkit-box-shadow: 2px 2px 4px rgba(175, 205, 216 ,0.6);
	box-shadow: 2px 2px 4px rgba(175, 205, 216 ,0.6);
    background: #79bfdf;
  }
  #contents-main .swiper-button-prev::after,
  #contents-main .swiper-button-next::after {
	width: 0.8rem;
	height: 0.8rem;
	content: "";
	border: solid #fff;
	border-width: 3px 3px 0 0;
  }
  #contents-main .swiper-button-prev::after {
	margin-left: 0.4rem;
	-webkit-transform: rotate(-135deg);
			transform: rotate(-135deg);
  }
  #contents-main .swiper-button-next::after {
	margin-right: 0.4rem;
	-webkit-transform: rotate(45deg);
			transform: rotate(45deg);
  }
  #contents-main .swiper-button-disabled {
	pointer-events: none;
	opacity: 0;
  }

  #contents-main .swiper-area {
	position: relative;
  }
  #contents-main .swiper-button-prev,
  #contents-main .swiper-button-next {
	position: absolute;
	z-index: 1;
	top: 0;
	bottom: 0;
	margin: auto;
  }
  #contents-main .swiper-button-prev {
	right: calc(100% + 1rem);
  }
  #contents-main .swiper-button-next {
	left: calc(100% + 1rem);
  }
  #contents-main .slide-media {
	padding-top: 100%;
	border-radius: 20px;
	background: #f2f2f2;
  }
  #contents-main .slide-media img {
	height: 100%;
  }
  #contents-main .slide-content {
	padding: 20px 8px 0;
  }
  #contents-main .slide-title {
	line-height: 1;
	/* display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical; */
	padding: 0;
	text-align: left;
	margin-bottom: 0;
  }
  #contents-main .slide-title a{
	font-size: 17px;
	color: #1A8DC6;
	text-align: left;
  }
  #contents-main .slide-title a .st-ttl{
	height: 2.8em;
	line-height: 1.4;
	display: block;
	display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
  #contents-main .slide-title a .st-name{
	display: block;
	font-size: 18px;
	margin: 10px 0;
	font-weight: bold;
  }
  #contents-main .slide-title a .st-name .fs-s{
	margin-left: 0.3em;
  }
  #contents-main .slide-content .offcial-site{
	text-align: right;
	font-size: 14px;
  }
  #contents-main .slide-content .offcial-site::before{
	content: "";
    width: 1em;
    height: 1em;
    background: url(../img/common_yukari_page-icon.png) no-repeat center bottom;
    background-size: contain;
    margin-right: 0.3em;
    display: inline-block;
	vertical-align: middle;
	margin-bottom: 3px;
  }

.tolist_btn{
	text-align: right;
	position: relative;
	z-index: 3;
}
.tolist_btn a{
	width: 120px;
    height: 120px;
    display: inline-block;
    background-color: #FEFE30;
    border-radius: 50%;
	text-align: center;
	position: relative;
	white-space: nowrap;
	font-weight: bold;
	transition: 0.3s ease;
}
.tolist_btn a span{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
}
#contents-main .tolist_btn a:hover{
	color: #FEFE30;
	background-color: #198CC5;
}
.person .tolist_btn{
	position: absolute;
    bottom: -60px;
    right: 0;
    z-index: 2;
}
.url-box {
	margin-top: 1em;
}
.url-box a{
	margin-right: 1%;
}
.url-box a img{
	width: 24px;
}

/*スポット紹介　SPOT*/
#contents-main .spot .slide-media {
    padding-top: 100%;
    border-radius: 20px 20px 0 0;
}
#contents-main .spot .slide-content {
	background: #A0DE89;
    border-radius: 0 0 20px 20px;
	padding: 10px 20px 20px;
	min-height: 145px;
}
#contents-main .spot .slide-title {
    height: auto;
}
/* #contents-main .spot .slide-title a .st-ttl {
    height: auto;
} */
#contents-main .spot .slide-title a{
	color: #fff;
}
#contents-main .slide-content .spot-address{
	display: block;
	font-size:14px;
	color: #fff;
}
#contents-main .slide-content .spot-address::before{
	content: "";
    width: 1em;
    height: 1em;
    background: url(../img/common_spot_icon.png) no-repeat center bottom;
    background-size: contain;
    margin-right: 0.3em;
    display: inline-block;
    vertical-align: bottom;
}

#contents-main .spot h2::before{
	content: "";
    display: inline-block;
    width: 20.58%;
    height: 110px;
    background: url(../img/top_spot_ttl.png) no-repeat bottom left;
    background-size: contain;
    position: absolute;
    bottom: 16px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform:translateX(-50%);
}

.spot .tolist_btn{
	margin-top: 2em;
}

/*新着情報*/
#contents-main .news {
	background: url(../img/top_news_bg.png) no-repeat center center;
	background-size: 100% 100%;
    padding: 50px 0;
	margin-top: -50px
}
#contents-main .news_bgor{
	background: url(../img/top_news_bg_new.png) no-repeat center center;
	background-size: 100% 100%;
}
#contents-main .news h2{
	padding-right: 0.5em;
	text-align: right;
}
#contents-main .news h2::before{
	content: "";
    display: inline-block;
    width: 100%;
    height: 110px;
    background: url(../img/top_news_ttl.png) no-repeat bottom left;
    background-size: contain;
    position: absolute;
    bottom: 16px;
	left:0;
}
#contents-main .news-contents{
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
#contents-main .news-contents .ct-l{
	width:23.75%;
	margin-right: 4.166%;
}
#contents-main .news-contents .ct-r{
	width:54%;
	margin-right: 4.166%;
}
#contents-main .news-contents .topics{
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	padding: 1em 0;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	border-top: 2px dashed #fff;
}
#contents-main .news-contents .topics .date{
	margin-bottom: 0;
}
#contents-main .news-contents .topics:last-of-type{
	border-bottom: 2px dashed #fff;
}
#contents-main .news-contents .title{
	margin-bottom: 0;
	margin-left: 3em;
}

/*カレンダー*/
#contents-main .event h2::before{
	content: "";
    display: inline-block;
    width: 24.6%;
    height: 110px;
    background: url(../img/top_event_ttl.png) no-repeat bottom left;
    background-size: contain;
    position: absolute;
    bottom: 16px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform:translateX(-50%);
}

.calender{
	text-align: center;
	background: url(../img/common_event_kazari_top.jpg) no-repeat top center,url(../img/common_event_kazari_bottom.jpg) no-repeat bottom center;
	background-size: 100% auto, 100% auto;
	padding: 8% 10% 5%;
	margin-bottom: 20px;
}
.calender iframe{
	max-width: 800px;
}
/*チャレンジ企画*/
#contents-main .challenge h2{
	padding-left: 1.4em;
}
#contents-main .challenge h2::before{
	content: "";
    display: inline-block;
    width: 84.97%;
    height: 110px;
    background: url(../img/top_challenge_ttl.png) no-repeat bottom left;
    background-size: contain;
    position: absolute;
    bottom: 16px;
    left: 0;
}

/* ★一覧ページ--------------------------------　*/
#contents-main .list-box .inner{
	max-width: 1000px;
}

.list-item {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	margin-bottom: 2em;
}

.list-item .list-img{
	width: 30%;
}
#contents-main .list-item .slide-content {
    padding: 0 0 10px;
	width: 65%;
	margin-left: 5%;
}
#contents-main .list-item .st-name {
    display: block;
    font-size: 20px;
    margin: 0 0 10px;
    font-weight: bold;
}
#contents-main .list-item .st-ttl {
    line-height: 1.4;
    display: block;
	font-size: 18px;
	margin-bottom: 1em;
}
/*spot*/
#contents-main .list-item .slide-content .spot-address {
    color: #333;
	margin-bottom: 10px;
}
.place #contents-main  .slide-media {
    padding-top: 100%;
    border-radius: 20px;
}


/* ★運営会社--------------------------------　*/
#contents-main .company-info table {
	max-width: 800px;
	margin: 0 auto 4em;
}

/* ★活動内容--------------------------------　*/
#contents-main .page-title{
	font-size: 200%;
}
#contents-main .activity_ct .inner{
	max-width: 1000px;
}
#contents-main .activity_ct h3{
	border-bottom: 2px dashed #8acdec;
	padding-bottom: 10px;
    margin: 2em 0 1em;
	color: #015B8B;
	text-align: left;
}

#contents-main .jisage{
	display: inline-block;
	padding-left: 1em;
}



/* ★新着情報ページのみ--------------------------------　*/#contents-main .info-box .inner{
	max-width: 1000px;
}
#contents-main .info-box .topics {
	border-top: 2px dashed #8acdec;
	padding: 1em;
}
#contents-main .info-box .topics:last-of-type {
	border-bottom: 2px dashed #8acdec;
}
#contents-main .info-box .title{
	margin-bottom: 0;
}
#contents-main .info-box .title span{
	display: inline-block;
	margin-right: 3em;
}

body.info #contents-main .entry {
	margin: 0 0 50px 0 ;
	padding: 1em;
}
/*h1-h4デフォルトに戻す*/
body.info #contents-main .entry h1{
	text-align: inherit;
    font-size: inherit;
    font-family: inherit;
    color: inherit;
    font-weight: inherit;
    line-height: inherit;
	padding: 0;
	display: block;
	font-size: 2em;
	-webkit-margin-before: 0.67em;
	-webkit-margin-after: 0.67em;
	-webkit-margin-start: 0px;
	-webkit-margin-end: 0px;
	font-weight: bold;
}
body.info #contents-main .entry h2{
	text-align: inherit;
    font-size: inherit;
    font-family: inherit;
    color: inherit;
    font-weight: inherit;
    line-height: inherit;
	padding: 0;
	display: block;
	font-size: 1.5em;
	-webkit-margin-before: 0.83em;
	-webkit-margin-after: 0.83em;
	-webkit-margin-start: 0px;
	-webkit-margin-end: 0px;
	font-weight: bold;
}
body.info #contents-main .entry h3{
	text-align: inherit;
    font-size: inherit;
    font-family: inherit;
    color: inherit;
    font-weight: inherit;
    line-height: inherit;
	border: inherit;
	padding: 0;
	display: block;
	font-size: 1.17em;
	-webkit-margin-before: 1em;
	-webkit-margin-after: 1em;
	-webkit-margin-start: 0px;
	-webkit-margin-end: 0px;
	font-weight: bold;
}
body.info #contents-main .entry h4{
	display: block;
	padding: 0;
	border: inherit;
	-webkit-margin-before: 1.33em;
	-webkit-margin-after: 1.33em;
	-webkit-margin-start: 0px;
	-webkit-margin-end: 0px;
	font-weight: bold;
}


/* 日付など */
body.info #contents-main p.links{
	color:#333;
	line-height:1.8em;
	font-size:80%;
	text-align:right;
	margin:0 0px 5px 0;
	padding:0 0px;
	}

/*記事毎*/
#contents-main .info-box.detail .topics {
	border-top: none;
    border-bottom: 2px dashed #8acdec;
    padding: 0;
	margin-bottom: 1.5em;
}

#contents-main .info-box.detail .title{
	margin-bottom: 0;
	font-size: 160%;
    margin-bottom: 8px;
}

#contents-main .info-box.detail .title span{
	font-size: 80%;
    text-align: right;
    display: inline-block;
    float: right;
    margin-right: 0;
	-webkit-transform: translateY(4px);
	-moz-transform: translateY(4px);
	-ms-transform: translateY(4px);
	-o-transform: translateY(4px);
	transform: translateY(4px);
}
#contents-main .post p,
#contents-main .post a{
	word-break: break-word;
}


.info #title {
	background:url(../img/common_pagetitle_info_bg.jpg) no-repeat center left;
	background-size: cover;
}




/* ブログトップ・カテゴリ　ページング */
#contents-main .post .pager {
	text-align:center ;
	font-size:80%;
	line-height:2em;
	margin-top:40px;
	}
#contents-main .post .pager span.pager_item a {
	margin:0 2px;
	padding:6px 8px;
	background:#aee3a2;
	border:1px solid #87d472;
	color:#000;
	margin-bottom: 6px;
	}

/* ★お問い合わせ--------------------------------　*/

#contents-main table.soy_inquiry_message {
	border:0;
	background:none;
	margin: 0;
}
#contents-main table.soy_inquiry_message td , #contents-main table.soy_inquiry_message th{
	border:0;
	background:none;
}

span.error_message {
	color:#900}

#contents-main .contact_form .inner{
	max-width: 800px;
}

body.contact #contents-main .pp{
	margin-top: 4em;
	font-size: 90%;
}


/* お問い合わせ table*/

body #contents-main table#inquiry_form  {
	width:100%;
	border-collapse:separate;
	border-spacing : 4px 4px;
	}
body #contents-main table#inquiry_form  th {
	width: 20%;
	}
body #contents-main table#inquiry_form  td {
	border:none;
	}

body #contents-main table#inquiry_form  td input,
body #contents-main table#inquiry_form  td textarea {
	padding: 8px;
}

/* テキストボックスなどの長さ */
body #contents-main table#inquiry_form  td input.name{
	width:350px}
body #contents-main table#inquiry_form  td input.mail{
	width:350px}
body #contents-main table#inquiry_form  td input.text{
	width:100%}
body #contents-main table#inquiry_form  td textarea {
	width:100%;}


body.contact #contents-main table td input[name="confirm"]{
    padding: 10px;
}

/* 完了画面のテーブルを非表示にする */
.view{
display:block
}
.hide{
display:none
}

/* @media screen and (min-width:1025px) {
	.spot .swiper-wrapper{
		flex-wrap: wrap;
	}
	.spot .swiper-slide {
		width: 30%;
		margin-bottom: 60px;
		margin-right: 5%;
	}
	.spot .swiper-slide:nth-child(3n) {
		margin-right:0;
	}
	#contents-main .spot .swiper-button-prev, #contents-main .spot .swiper-button-next {
		display: none;
	}
	.spot .tolist_btn {
		margin-top: 0;
	}
} */

@media screen and (min-width:801px) and ( max-width:1270px) {

	#contents-main .athlete .inner,
	#contents-main .person .inner,
	#contents-main .spot .inner {
		width: 85%;
	}
	#contents-main .swiper-button-prev {
		right: calc(100% - 1rem);
	}
	#contents-main .swiper-button-next {
		left: calc(100% - 1rem);
	}
}
@media screen and (min-width:801px) and ( max-width:1200px) {

	#head h1 {
		width: 30%;
	}
	/*navi*/

	#navi ul {
		padding-top: 2%;
	}
	#contents-main .slide-title a {
		font-size: 16px;
	}
	#contents-main .slide-title a .st-name {
		font-size: 16px;
	}
	#contents-main .challenge h2{
		width: 56%;
	}
	#contents-main .challenge h2 .fs-s{
		display: block;
		margin-top: 10px;
	}
	#contents-main .challenge h2::before {
		position: absolute;
		bottom: 56px;
	}

}

@media screen and (min-width:801px) and ( max-width:1024px) {
	#navi li {
		margin: 0 1%;
		font-size: 90%;
	}
	#navi li a{
		font-size: 100%;
		white-space: nowrap;
		padding: 4px 4px;
	}
	#title {
		height: 300px;
	}
	#contents-main h2 {
		font-size: 220%;
	}
	#contents-main .banner .inner {
		padding-top: 0;
	}
	#contents-main .list-item .slide-content p{
		font-size: 90%;
	}
}



