@charset "utf-8";

/*
Site Name: 
Description: parts style
*/

/* header
----------------------------------------- */
#header .header-flex {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 0;
}

#header #logo-area{
	display: flex;
	align-items: center;
}
#header #logo-area .area{
	color: #17458F;
	font-weight: bold;
	margin: 0 10px 0 0;
	padding-right: 10px;
	border-right: #CCC solid 1px;
}
#header #logo-area .logo{
	width: 75px;
	height: 29px;
	margin: 0 5px 0 0;
	line-height: 0;
}
#header #year{
	font-size: 80%;
	font-weight: normal;
	margin: 0;
}
#header #year span{
	color: #17458F;
	font-weight: bold;
	margin-right: 10px;	
}
#header ul.menu-list,
#header ul.contact-list{
	display: flex;
	margin: 0;
	padding: 0;
    font-size:90%;
}
#header ul.menu-list li,
#header ul.contact-list li{
	padding: 0;
	margin: 0;
	display: table;
}
#header ul.menu-list li.info{
	margin: 0px 7px 0px 0;
}
#header ul.menu-list li.info a{
	font-weight: bold;
	color: #17458F;
/*	height: 40px;*/
	padding: 5px 10px;
	text-decoration: none;
	position: relative;
    vertical-align: middle;
	display: table-cell;
    border:  1px solid #5475B2;
}
#header ul.menu-list li.info a:hover{
    color: #FFFFFF;
    border:  1px solid #17458F;
    background-color: #17458F;
}


#header ul.menu-list li.contact a{
	font-weight: bold;
	color: #FFF;
/*	height: 40px;*/
	padding: 5px 10px;
	background-color: #F7A81B;
	text-decoration: none;
	vertical-align: middle;
	display: table-cell;
}
#header ul.menu-list li.contact a:hover{
	background-color: #F9C25E;
}
.fixed #header ul.menu-list li.info{
	margin-top: 8px;
}
.fixed #header ul.menu-list li.contact{
	margin-top: 8px;
}
/*.fixed #header ul.menu-list li.contact a{
	height: 30px;
}*/
#header ul.contact-list{
	display: none;
}
#header ul.contact-list li{
	padding-bottom: 12px;
	position: relative;
}
#header ul.contact-list li:first-child{
	margin-right: 5px;
}
#header ul.contact-list li.tel::after{
	content: "電　話";
	color: #17458F;
	font-size: 8px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1;
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
    top:30px;
}
#header ul.contact-list li.contact::after{
	content: "メール";
	color: #17458F;
	font-size: 8px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0;
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
    top:30px;
}
#header ul.contact-list li a{
	width: 30px;
	height: 30px;
	background-color: #F7A81B;
	border-radius: 30px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	display: block;
	position: relative;
}
#header ul.contact-list li.tel a::after{
	content: "";
	width: 16px;
	height: 16px;
	background-image: url(../img/tel_icon.png);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;	
	display: block;
	position: absolute;
	top: 6px;
	left: 7px;
}
#header ul.contact-list li.contact a::after{
	content: "";
	width: 17px;
	height: 12px;
	background-image: url(../img/contact_icon.png);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;	
	display: block;
	position: absolute;
	top: 9px;
	left: 7px;
}
@media all and (max-width: 810px){
	#header #logo-area .logo{
		width: 62px;
		height: 22px;
	}
	#header #logo-area .area{
		font-size: 80%;
	}
	#header #year{
		font-size: 60%;
		margin: 13px 0;
	}
	#header ul.menu-list li.info,
	#header ul.menu-list li.contact{
		font-size:90%;
	}
	#header ul.menu-list li.info a,
	#header ul.menu-list li.contact a{
		padding:0 7px; 
	}
}
@media all and (max-width: 680px){
	#header #logo-area p.area{
		padding-right: 5px;
	}
	#header #year{
		display: none;
		margin: -4px 0 0;
	}
	#header ul.menu-list{
		display: none;
	}
	#header ul.contact-list{
		display: flex;
		align-items: center;
		position: absolute;
		top: 2px;
		right: 5px;
	}
}


/* nav
----------------------------------------- */
nav#gloval-nav{
	width: 100%;
	
	background-color: #17458F;
	text-align: center;
	overflow: hidden;
	
}

nav#gloval-nav .inner{
	margin: 0 auto;
	padding: 0;
}
nav#gloval-nav.fixed{

	position: fixed;
	top: 0;
	z-index: 1000;
}
nav#gloval-nav ul{
	margin: 0 auto;
	padding: 0;
	border-right: #5679BC solid 1px;
	overflow: hidden;
}
nav#gloval-nav ul li{
	float: left;
	width: 14.285%;
	display: table;
}
nav#gloval-nav ul li a{
	color: #FFF;
	font-weight: bold;
	height: 40px;
	border-left: #5679BC solid 1px;
	text-decoration: none;
	vertical-align: middle;
	display: table-cell;
	position: relative;
}
nav#gloval-nav ul li.current-menu-item a,
nav#gloval-nav ul li a:hover{
	color: #F7A81B;
}
nav#gloval-nav ul li.current-menu-item a::after,
nav#gloval-nav ul li a:hover::after{
	content: "";
	width: 100%;
	height: 3px;
	background-color: #F7A81B;
	position: absolute;
	left: 0;
	bottom: 0;
}
nav#spmenu{
	width: 100%;
	max-width: 190px;
	height: calc(100% - 50px);
	background: rgba(23,59,143,0.9);
	position: fixed;
	top: 50px;
	right: 0;
	z-index: 1000;
	transform: translate(190px);
	transition: all .4s;
}
.nav-open nav#spmenu{
	transform: translate(0);
}
nav#spmenu ul{
	width: 150px;
	margin: 30px auto;
	padding: 0;
	border-top: #FFF solid 1px;
}
nav#spmenu ul li{
	margin: 0;
	padding: 0;
	border-bottom: #FFF solid 1px;
	list-style-type: none;
}
nav#spmenu ul li a{
	color: #FFF;
	padding: 10px;
	text-decoration: none;
	display: block;
}


@media all and (max-width: 810px){
	nav#gloval-nav ul li a{
		font-size: 80%;
	}
}




@media all and (max-width: 640px){
/*nav#gloval-nav{
	display: none;
}
nav#spmenu{
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0 20px;
	background-color: #EEE;
	-webkit-transition: top 500ms cubic-bezier(0.600, 0.000, 0.300, 1.000);
	-moz-transition: top 500ms cubic-bezier(0.600, 0.000, 0.300, 1.000);
	-o-transition: top 500ms cubic-bezier(0.600, 0.000, 0.300, 1.000);
	transition: top 500ms cubic-bezier(0.600, 0.000, 0.300, 1.000);
	overflow: hidden;
	display: block;
	position: fixed;
	top: -100%;
	z-index: 1000;
}
.nav-open nav#spmenu{
	top: 0;
}
nav#spmenu ul{
	margin: 60px 0px 0px;
	padding: 0px;
}
nav#spmenu ul li{
	float: none;
	width: 100%;
	margin: 0px 0px 5px;
	padding: 0px;
	background-image: none;
	display: block;
}
nav#spmenu ul li a{
	color: #009DB7;
	padding: 5px;
	border: #009DB7 solid 1px;
	display: block;
}*/
}


/* footer
----------------------------------------- */
#footer #address-section{
	float: left;
	width: calc(100% - 240px);
	margin-bottom: 40px;
}
#footer #contact-section{
	float: right;
	width: 220px;
	margin-bottom: 40px;
}
#footer #footer-logo-area{
	margin-bottom: 15px;
	overflow: hidden;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}
#footer #footer-logo-area p.area{
	font-weight: bold;
	margin: 0 10px 0 0;
	padding-right: 10px;
}
#footer #footer-logo-area .logo{
	width: 75px;
	height: 29px;
	margin: 0 5px 0 0;
	line-height: 0;
}
#footer address{
	font-size: 90%;
	clear: both;
    line-height: 1.4em;
}
#footer address strong{
	font-size: 110%;
	margin-bottom: 5px;
	display: block;
}
#footer p.tel{
	position: relative;
}
#footer p.tel a{
	color: #FFF;
	font-size: 135%;
	font-weight: bold;
	padding-left: 20px;
	text-decoration: none;
}
#footer p.tel a::before{
	content: "";
	width: 16px;
	height: 16px;
	background-image: url(../img/tel_icon.png);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
/*	position: absolute;
	left: 0;
	top: 5px;*/
	display: inline-block;
	margin-right: 5px;
}
#footer p.contact a{
	font-weight: bold;
	background-color: #FFF;
	padding: 10px 0;
	text-align: center;
	text-decoration: none;
	display: block;
	transition-duration: 0.3s;
}
#footer p.contact a:hover{
	opacity: 1;
	background-color: #F7A81B;
	color: #fff;
}
#footer p#copyright{
	font-size: 80%;
	font-family: Verdana;
	margin: 0;
	padding: 0;
	clear: both;
}
@media all and (max-width: 640px){

#footer #address-section{
	float: none;
	width: 100%;
	margin-bottom: 40px;
}
#footer #contact-section{
	float: none;
	width: 100%;
	margin-bottom: 40px;
}
    
}

/* topicpath
----------------------------------------- */
#contents ol#topicpath{
	float: right;
	color: #FFF;
	font-size: 80%;
	margin: 0;
	padding: 0;
	line-height: 80px;
	overflow: hidden;
}
#contents ol#topicpath li{
	display: inline;
	margin: 0px;
	padding: 0px;
}
#contents ol#topicpath li a{
	color: #FFF;
	text-decoration: none;
	position: relative;
}
#contents ol#topicpath li a::after{
	content: ">";
	padding-left: 5px;
}
@media all and (max-width: 680px){
#contents ol#topicpath{
	float: none;
	line-height: 1.4;
	text-align: left;
}
}

/* content
----------------------------------------- */
#visual{
	width: 100%;
	padding-bottom: 31.25%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
}

#contents #visual{
	height: 230px;
	padding-bottom: 0;
	object-fit: cover;
}

.fixed #visual{
	margin-top: 80px;
}

.kv_mv {
	position: relative;
	line-height: 0;
}

@media screen and (min-width: 768px) {
  .kv_mv {
	height: auto;
  }
}

.kv_mv-mp4 {
	width: 100%;
	height: 400px;
	object-fit: cover;
}


@media screen and (min-width: 768px) {
  .kv_mv-mp4 {
	height: 100%;
	object-fit: contain;
  }
}

.rate{
    width: 960px;
	position: absolute;
	bottom: -5px;
    left: 50%;
    transform: translate(-775px, 0);
	z-index: 10;
}

@media screen and (min-width: 768px) {
 .rate{
    max-width: 100%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	bottom: 10px;
	z-index: 10;
}   
}

.rate dl{
	float: right;
	width: 360px;
	height: 40px;
	color: #17458F;
	font-size: 90%;
	margin: 0 0 20px;
	line-height: 40px;
	background-color: #FFF;
}
.rate dl dt{
	float: left;
	height: 40px;
	font-weight: bold;
	margin: 0;
	padding: 0 10px;
	background-color: #EEE;
	position: relative;
}
.rate dl dt::after{
	content: "";
	width: 0;
	height: 0;
	border-left: 8px solid #EEE;
	border-top: 20px solid transparent;
	border-bottom: 20px solid transparent;
	position: absolute;
	right: -8px;
	top: 0;
}
.rate dl dd{
	margin: 0 0 0 140px;
	padding: 0 10px 0 14px;
}
.rate dl dd strong{
	color: #F7A81B;
	font-size: 18px;
	font-weight: bold;
}
.rate dl dd strong span{
	font-size: 135%;
}
.rate dl dd p{
    margin:0px;
    padding:0px;
}
#visual #headline{
	width: 100%;
	height: 80px;
	background-color: #17458F;
	position: absolute;
	left: 0;
	bottom: 0;
	overflow: hidden;
}
#visual #headline h2{
	float: left;
	color: #FFF;
	font-size: 150%;
	font-weight: bold;
	margin: 0;
	padding: 0;
	line-height: 80px;
}
@media all and (max-width: 810px){
#visual{
	height: 400px;
	padding-bottom: 0px;
}
#visual .rate dl{
	float: none;
	margin: 0 auto 20px;
}
}
@media all and (max-width: 680px){
#visual #headline h2{
	float: none;
	padding-top: 15px;
	line-height: 1.4;
	text-align: left;

}
}

/* banner */
#banner-section{
	padding: 40px 0 20px;
	background-color: #F3F3F3;
}
#banner-section ul{
	margin: 0 -10px;
	padding: 0;
	overflow: hidden;
}
#banner-section ul li{
	float: left;
	width: calc(25% - 20px);
	margin: 0 10px 20px;
	padding: 0;
	list-style-type: none;
}
#banner-section ul li p{
	margin: 0;
	padding: 0;
	line-height: 0;
}
@media all and (max-width: 810px){
#banner-section ul li{
	width: calc(50% - 20px);
}	
}
@media all and (max-width: 680px){
#banner-section ul li{
	float: none;
	width: 220px;
	margin: 0 auto 20px;
}
}

/* page-nav */
#contents #main nav.page-nav ul{
	width: 100%;
	margin: 0 0 30px;
	padding: 0;
	border-bottom: #707070 solid 1px;
	text-align: center;
	letter-spacing: -.4em; 
	position: relative;
	z-index: 11;
}
#contents #main nav.page-nav ul li{
	font-weight: bold;
	margin: 0 8px;
	padding: 0;
	background: none;
	border: #707070 solid 1px;
	border-bottom: #FFF solid 1px;
	letter-spacing: normal;
	display: inline-block;
	position: relative;
	bottom: -1px;
	z-index: 10;
}
#contents #main nav.page-nav ul li br{
	display: none;
}
#contents #main nav.page-nav ul li.active{
	border-bottom: #F4F1EA solid 1px;
}
#contents #main nav.page-nav ul li a{
	padding: 5px 20px;
	text-decoration: none;
	display: block;
}

/* list-content */
#contents #main .list-contents{
	margin: 40px -10px 30px;
	padding: 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
	justify-content: left;
}
#contents #main .list-contents article{
	width: 25%;
	margin: 0 0 30px;
	padding: 0;
	text-align: left;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
	overflow-wrap: break-word;
	position: relative;
}
#contents #main .list-contents article figure,
#contents #main .list-contents article .aera{
	width: 100%;
	margin: 0 10px;
	padding: 0;
	text-align: left;
	overflow: hidden;
}
#contents #main .list-contents article figure{
	line-height: 1;
}
#contents #main .list-contents article figure img{
	width: 100%;
}
#contents #main .list-contents article figure figcaption,
#contents #main .list-contents article .aera p{
	margin: 0;
	padding: 0;
	line-height: 1.4;
}
#contents #main .list-contents article h4{
	font-size: 100%;
	margin: 0;
	padding: 0;
	background-color: #17458F;
}
#contents #main .list-contents article h4 a{
	color: #FFF;
	padding: 10px 30px 10px 10px;
	text-decoration: none;
	display: block;
	position: relative;
}
#contents #main .list-contents article h4 a::after{
	content: "";
	width: 14px;
	height: 14px;
	background-image: url(../img/link_icon2.png);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	right: 10px;
	top: calc( 50% - 7px );
}
#contents #main .list-contents article .aera p{
	padding: 10px;
	line-height: 1.6;
	font-size: 15px;
}
#contents #main .list-contents article dl,
#contents #main .list-contents article dl dd{
	margin: 0;
	padding: 0;
}
#contents #main .list-contents article dl dt{
	font-size: 125%;
	margin: 5px 0;
}
#contents #main .list-contents article dl dd.club{
	margin: 5px 0 10px;
}



@media all and (max-width: 680px){
#contents #main .list-contents article{
	width: 50%;
}
}




/* main css
----------------------------------------- */
#main ul,
#main ol,
#main p{
	padding: 0px 0px 0.5em;
}

#main h2,
#main h3,
#main h4,
#main h5,
#main h6,
#main p{
	margin: 0 0px 15px;
	padding-bottom: 0;
}

#home #main #schedule-section h2,
#home #main #info-section h2,
#contents #main h3{
	font-size: 150%;
	color: #17458F;
	margin: 40px 0 20px;
	padding: 10px 15px;
	border-top: #17458F solid 2px;
	position: relative;
	clear: both;
}
#home #main #schedule-section h2::after,
#home #main #info-section h2::after,
#contents #main h3::after{
	content: "";
	border-top: 5px solid #17458F;
	border-right: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 5px solid #17458F;
	position: absolute;
	top: 0;
	left: 0;
}
#home #main #schedule-section h2 span,
#home #main #info-section h2 span,
#contents #main h3 span{
	font-size: 60%;
	font-weight: normal;
	margin-left: 15px;
	display: inline-block;
}
#contents #main h4{
	color: #17458F;
	font-size: 125%;
	margin: 25px 0 20px;
	padding: 15px 0;
	border-top: #17458F solid 1px;
	border-bottom: #17458F solid 1px;
	clear: both;
}
#contents #main h5{
	color: #000;
	font-size: 18px;
	font-weight: 700;
	margin: 0 0 15px;
	clear: both;
}
#contents #main ul li{
	margin-left: 5px;
/* 	padding-left: 10px; */
	background-image: url(../img/list_icon.png);
	background-repeat: no-repeat;
	background-position: left 12px;
	list-style-type: none;
}
#contents #main ul li ul,
#contents #main ul li ol{
	padding: 5px 0px;
	margin-bottom: 0px;
}


#contents #main ol li{
	margin-left: 25px;
	list-style-type: decimal;
}
#contents #main ol li ol,
#contents #main ol li ul{
	padding: 5px 0px;
	margin-bottom: 0px;
}
#contents #main ol li ul li{
	list-style-type: none;
}
#contents #main p.mag50 { margin-bottom: 30px;}
.mediumbold { font-weight: 500!important;}
.bold { font-weight: 700!important;}

#contents #main table{
	width: 98%;
	font-size: 100%;
	margin: 0px 0px 30px 0px;
	border-bottom: #CCCCCC solid 1px;
	border-left: #CCCCCC solid 1px;
}
#contents #main table p{
	padding-left: 0px;
}
#contents #main table th,
#contents #main table td{
	padding: 10px;
	border-top: #CCCCCC solid 1px;
	border-right: #CCCCCC solid 1px;
}
#contents #main table th{
	font-weight: bold;
	background-color: #EFEFEF;
	width: 35%;
}

#contents #main .pamphlet-list article{
	width: 33.333%;
}
#contents #main .pamphlet-list article h4 span{
	font-size: 80%;
	font-weight: normal;
	position: absolute;
	right: 35px;
	top: 12px;
}
@media all and (max-width: 810px){
#contents #main .pamphlet-list article{
	width: 50%;
}
}
@media all and (max-width: 680px){
#contents #main .pamphlet-list article h4 span{
	display: none;
}
#contents #main table th { width: 50%;}
}

/* sub */

#contents .info #main #sub article{
	margin-bottom: 40px;
}
#contents .info #main #sub h3,
#contents .organization #main #sub h3{
	font-size: 125%;
	margin: 0;
	border-bottom: #CCC solid 1px;
}
#contents .info #main #sub .category-sub ul,
#contents .info #main #sub .entry-sub ul,
#contents .organization #main #sub .kbn-sub ul{
	margin: 0;
	padding: 0;
    line-height: 1.2em;
}
#contents .info #main #sub .category-sub ul li{
	border-bottom: #CCC solid 1px;
	background-position: left 14px;
}
#contents .info #main #sub .category-sub ul li a{
	padding: 5px 0px;
	display: block;
}
#contents .info #main #sub .entry-sub ul li,
#contents .info #main #sub .entry-sub ul li dl,
#contents .info #main #sub .entry-sub ul li dl dt,
#contents .info #main #sub .entry-sub ul li dl dd{
	margin: 0;
	padding: 0;
}
#contents .info #main #sub .entry-sub ul li{
	padding: 15px 0;
	border-bottom: #CCC solid 1px;
	background: none;
	overflow: hidden;
}
#contents .info #main #sub .entry-sub ul li .img{
	float: right;
	width: 60px;
	line-height: 0;
}
#contents .info #main #sub .entry-sub ul li .img + dl{
	margin-right: 70px;
}
#contents .info #main #sub .entry-sub ul li dl dt{
	font-size: 90%;
	font-weight: bold;
}
#contents .info #main #sub .entry-sub ul li dl dd{
	font-size: 70%;
}
#contents .organization #main #sub .kbn-sub ul li{
	padding: 10px 0;
	border-bottom: #CCC solid 1px;
	background: none;
	overflow: hidden;
}
@media all and (max-width: 680px){
#contents .info #main #sub h3{
	border-bottom: none;
}
#contents .info #main #sub .entry-sub ul li{
	margin-bottom: 15px;
	padding: 15px;
	background-color: #FFF;
	border-bottom: none;
}
	
	
	
	
	
	
/* #contents .info #main #sub .feed-sub{
	display: none;
} */
}


	

/* home
----------------------------------------- */
/* pickup */
#home #main #pickup-section{
	padding: 40px 0;
	background-color: #17458F;
}
#home #main #pickup-section h2{
	color: #FFF;
	font-size: 150%;
	margin: 0 0 40px;
	text-align: center;
	position: relative;
	
}
#home #main #pickup-section h2:before{
	content: "";
	width: 100%;
	height: 5px;
	border-top: #F7A81B solid 1px;
	border-bottom: #F7A81B solid 1px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	position: absolute;
	top: 50%;
	left: 0;
	z-index: 0;
}
#home #main #pickup-section h2 span{
	padding: 0 20px;
	background: #17458F;
	position: relative;
	z-index: 1;
}
#home #main #pickup-section .pickup-list{
	margin: 0 -10px;
}
#home #main #pickup-section .pickup-list a{
	text-decoration: none;
}
#home #main #pickup-section .pickup figure{
	margin: 0 10px;
	padding: 0;
	background-color: #FFF;
	height: 100%;
}
#home #main #pickup-section .pickup figure img {
	width: 100%;
	height: 200px;
	object-fit: cover;
}
.slick-track {
  display: flex;
}
.slick-slide {
  height: auto !important;
}
@media screen and (min-width: 768px) {
	#home #main #pickup-section .pickup figure img { height: 170px;}
}
#home #main #pickup-section .pickup figure .image{
	line-height: 0;
}
#home #main #pickup-section .pickup figure figcaption{
	margin: 0;
	padding: 10px 10px 15px;
	border-top: #F7A81B solid 3px;
}
#home #main #pickup-section .pickup figure figcaption h3{
	color: #17458F;
	font-size: 110%;
    margin-bottom:5px;
	line-height: 1.3;
}
#home #main #pickup-section .pickup figure figcaption p{
	color: initial;
    font-size:90%;
    line-height: 1.4em;
}
#home #main #pickup-section .pickup figure figcaption p.more{
	font-weight: bold;
	color: #17458F;
	padding-right: 20px;
	text-align: right;
	position: relative;
	margin-bottom: 0;
}
#home #main #pickup-section .pickup figure figcaption p.more::after{
	content: "";
	width: 14px;
	height: 14px;
	background-image: url(../img/link_icon.png);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	right: 0;
	top: 3px;
}



/* message */
#home #main #message-section{
	padding: 40px 0;
}
#home #main #message-section .balloon{
	color: #FFF;
	font-weight: bold;
	margin: 0 0 15px;
	padding: 5px 10px;
	background-color: #F7A81B;
	display: table;
	position: relative;
}
#home #main #message-section .balloon::after{
	content: "";
	width: 0;
	height: 0;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 7px solid #F7A81B;
	position: absolute;
	left: 10px;
	bottom: -6px;
}
#home #main #message-section h2{
	color: #17458F;
	font-size: 150%;
	margin: 0 0 40px;
	line-height: 1.4;
	word-break: auto-phrase;
}
#home #main #message-section .message-flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#home #main #message-section .photo{
	width: 240px;
}
#home #main #message-section figure{
	margin: 0;
}
#home #main #message-section figure img {
	display: block;
	width: 100%;
	margin-bottom: 10px;
}
#home #main #message-section .photo figcaption {
	font-size: 90%;
}
#home #main #message-section .photo figcaption span { font-weight: 500;}
#home #main #message-section .photo figcaption span.large { font-size: 160%;}
#home #main #message-section .greeting{
/*	margin-left: 235px;*/
	width: calc(100% - 260px);
}
#home #main #message-section .greeting p.more{
	text-align: center;
}
#home #main #message-section .greeting .textwidget {
	margin-bottom: 30px;
}
@media all and (max-width: 680px){
	#home #main #message-section .photo{
		margin: 0 auto 30px;
	}
	#home #main #message-section .greeting{
		margin-left: 0;
		width: 100%;
	}
}

/* info */
#home #main #info-section{
	background-color: #F3F3F3;
	overflow: hidden;
}
#home #main #info-section .feed-area{
	float: left;
	width: 52.631%;
	margin-bottom: 40px;
}
#home #main #info-section .sns-area{
	float: right;
	width: 42.105%;
	margin-bottom: 40px;
}
#home #main #info-section ul{
	margin: 0 0 20px;
	padding: 0;
	border-top: #CCC solid 1px;
}
#home #main #info-section ul li{
	padding: 15px 0;
	border-bottom: #CCC solid 1px;
	list-style-type: none;
}
#home #main #info-section ul li:nth-child(odd){
	background-color: #FFF;
}
#home #main #info-section ul li time{
	float: left;
	width: 95px;
	margin-left: 15px;
}
#home #main #info-section ul li a{
	margin-left: 120px;
	padding-right: 15px;
	display: block;
}
#home #main #info-section p.more{
	text-align: right;
}
#home #main #info-section p.more a{
	font-weight: bold;
	color: #17458F;
	padding-right: 20px;
	text-decoration: none;
	position: relative;
}
#home #main #info-section p.more a::after{
	content: "";
	width: 14px;
	height: 14px;
	background-image: url(../img/link_icon.png);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	right: 0;
	top: calc(50% - 7px);
}
@media all and (max-width: 680px){
#home #main #info-section .feed-area,
#home #main #info-section .sns-area{
	float: none;
	width: 100%;
	margin-bottom: 40px;
}
}

/* schedule */
#home #main #schedule-section .calender{
	height: 0;
	padding-bottom: 56.25%;
	overflow: hidden;
	position: relative;
}
#home #main #schedule-section .calender iframe{
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
}
@media all and (max-width: 680px){
#home #main #schedule-section .calender{
	height: 0;
	padding-bottom: 150%;
	overflow: hidden;
	position: relative;
}
}


/* info css
----------------------------------------- */
#content #main #entry-list p.count,
#content #main #entry-list p.back {
  margin: 10px 0 0;
  padding: 20px 0;
  border-bottom: #CCC solid 1px;
}

#content #main #entry-list p.back a {
  font-weight: bold;
  padding-left: 20px;
  text-decoration: none;
  position: relative;
}

#content #main #entry-list p.back a::after {
  content: "";
  width: 14px;
  height: 14px;
  background-image: url(../img/back_icon.png);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  left: 0;
  top: 3px;
}

#content #main #entry-list p.count span {
  color: #17458F;
}

#content #main #entry-list .entry-section {
  margin-bottom: 10px;
  padding-top: 30px;
  border-bottom: #CCC solid 1px;
  overflow: hidden;
  clear: both;
}

#content #main .entry-section .img {
  float: right;
  width: 130px;
  margin: 40px 0 20px;
  line-height: 0;
}

#content #main .entry-section .img + .entry-contents {
  margin-right: 155px;
  overflow: hidden;
}

#content #main #entry-list .entry-section.entry-detail {
  border-bottom: none;
}

#main #entry-list .entry-section time {
  color: #FFF;
  font-weight: bold;
  margin-bottom: 10px;
  padding: 5px 10px;
  background-color: #F7A81B;
  position: relative;
  display: inline-block;
}

#main #entry-list .entry-section time::after {
  content: "";
  border: 4px solid transparent;
  border-top: 6px solid #F7A81B;
  position: absolute;
  top: 100%;
  left: 28px;
}

#content #main #entry-list .entry-section h3 {
  margin: 0 0 15px;
  padding: 0;
  border-top: none;
}

#content #main #entry-list .entry-section h3::after {
  display: none;
}

#content #main #entry-list .entry-section h3 a {
  text-decoration: none;
}

#content #main #entry-list .entry-section h3 a:hover {
  text-decoration: underline;
}

#content #main #entry-list ul.entry-link {
  margin: 40px 0 0;
  padding: 25px 0;
  border-top: #CCC solid 1px;
  overflow: hidden;
}

#content #main #entry-list ul.entry-link li {
  float: left;
  margin: 0;
  padding: 0;
  background: none;
}

#content #main #entry-list ul.entry-link li.prev::before {
  content: "«";
  padding-right: 5px;
}

#content #main #entry-list ul.entry-link li.next {
  float: right;
}

#content #main #entry-list ul.entry-link li.next::after {
  content: "»";
  padding-left: 5px;
}
/* 
#contents .info #main #entry-list p.count,
#contents .info #main #entry-list p.back{
	margin: 10px 0 0;
	padding: 20px 0;
	border-bottom: #CCC solid 1px;
}
#contents .info #main #entry-list p.back a{
	font-weight: bold;
	padding-left: 20px;
	text-decoration: none;
	position: relative;
}
#contents .info #main #entry-list p.back a::after{
	content: "";
	width: 14px;
	height: 14px;
	background-image: url(../img/back_icon.png);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	left: 0;
	top: 3px;
}
#contents .info #main #entry-list p.count span{
	color: #17458F;
}
#contents .info #main #entry-list .entry-section{
	margin-bottom: 10px;
	padding-top: 30px;
	border-bottom: #CCC solid 1px;
	overflow: hidden;
	clear: both;
}
#contents .info #main .entry-section .img{
    float: right;
    width: 130px;
    margin: 40px 0 20px;
    line-height: 0;
}
#contents .info #main .entry-section .img + .entry-contents{
    margin-right: 155px;
	overflow: hidden;
}
#contents .info #main #entry-list .entry-section.entry-detail{
	border-bottom: none;
}
#main #entry-list .entry-section time {
	color: #FFF;
	font-weight: bold;
	margin-bottom: 10px;
	padding: 5px 10px;
	background-color: #F7A81B;
	position: relative;
	display: inline-block;
}
#contents .info #main #entry-list .entry-section time::after{
	content: "";
	border: 4px solid transparent;
	border-top: 6px solid #F7A81B;
	position: absolute;
	top: 100%;
	left: 28px;
}
#contents .info #main #entry-list .entry-section h3{
	margin: 0 0 15px;
	padding: 0;
	border-top: none;
}
#contents .info #main #entry-list .entry-section h3::after{
	display: none;
}
#contents .info #main #entry-list .entry-section h3 a{
	text-decoration: none;
}
#contents .info #main #entry-list .entry-section h3 a:hover{
	text-decoration: underline;
}
#contents .info #main #entry-list ul.entry-link{
	margin: 40px 0 0;
	padding: 25px 0;
	border-top: #CCC solid 1px;
	overflow: hidden;
}
#contents .info #main #entry-list ul.entry-link li{
	float: left;
	margin: 0;
	padding: 0;
	background: none;
}
#contents .info #main #entry-list ul.entry-link li.prev::before{
	content: "«";
	padding-right: 5px;
}
#contents .info #main #entry-list ul.entry-link li.next{
	float: right;
}
#contents .info #main #entry-list ul.entry-link li.next::after{
	content: "»";
	padding-left: 5px;
}

 */

/* organization css
----------------------------------------- */
#contents .organization #main p.back{
	margin-bottom: 40px;
	padding: 10px 0;
	border-top: #CCC solid 1px;
}
#contents .organization #main p.back:first-of-type{
	margin-top: 30px;
	border-top: none;
	border-bottom: #CCC solid 1px;
}
#contents .organization #main p.back a{
	font-weight: bold;
	padding-left: 20px;
	text-decoration: none;
	position: relative;
}
#contents .organization #main p.back a::after{
	content: "";
	width: 14px;
	height: 14px;
	background-image: url(../img/back_icon.png);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	left: 0;
	top: calc(50% - 7px);
}
#contents .organization #main .governor-profile figure{
	margin: 40px 0;
	padding: 0;
	overflow: hidden;
	position: relative;
}
#contents .organization #main .governor-profile figure img{
	float: left;
	width: 160px;
}
#contents .organization #main .governor-profile figure figcaption{
	margin: 0 0 0 180px;
	padding: 0;
	position: absolute;
	bottom: 0;
}
#contents .organization #main .governor-profile figure figcaption dl{
	margin: 0;
	padding: 0;	
}
#contents .organization #main .governor-profile figure figcaption dl dt{
	font-size: 150%;
}
#contents .organization #main .governor-profile figure figcaption dl dd{
	margin: 0;
	padding: 0;	
}
#contents .organization #main .governor-profile figure figcaption dl dd.club { margin-bottom: 10px;}

/* policy */
.d-policy-flex {
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	margin-bottom: 30px;
	justify-content: space-between;
}
.d-policy-flex .policy-photo {
	width: 250px;
	text-align: center;
	margin: 0;
}
.d-policy-flex .policy-photo img {
	width: 100%;
}
.d-policy-flex .policy-name {
	font-weight: 500;
	text-align: left;
	width: calc( 100% - 270px );	
}
.d-policy-flex .policy-name .large {
	font-size: 22px;
	font-weight: 700;
}
@media screen and ( max-width: 680px ) {
	.d-policy-flex .policy-photo {
		width: 100%;
		margin: 0 0 30px;
	}
	.d-policy-flex .policy-name { width: 100%;}
}


/* download
----------------------------------------- */
#contents .download #main #entry-list p.back,
#contents .download #main p.count{
	margin: 10px 0 0;
	padding: 20px 0;
	border-bottom: #CCC solid 1px;
}
#contents .download #main #entry-list p.back a{
	font-weight: bold;
	padding-left: 20px;
	text-decoration: none;
	position: relative;
}
#contents .download #main #entry-list p.back a::after{
	content: "";
	width: 14px;
	height: 14px;
	background-image: url(../img/back_icon.png);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	left: 0;
	top: calc(50% - 7px);
}
#contents .download #main p.count span{
	color: #17458F;
}
#contents .download #main .download-list .download-article{
	padding: 15px 0;
	border-bottom: #CCC solid 1px;
	overflow: hidden;
	position: relative;
}
#contents .download #main .download-list .download-article .img{
	float: left;
	width: 80px;
}
#contents .download #main .download-list .download-article .contents-text{
	padding-left: 100px;
}
#contents .download #main .download-list .download-article .contents-text time{
	color: #17458F;
	position: absolute;
	right: 0;
	top: 10px;
}
#contents .download #main .download-list .download-article .contents-text h3,
#contents .download #main #entry-list .download-headline h3{
	font-size: 125%;
	margin: 0 0 5px;
	padding: 0 120px 0 0;
	border: none;
	clear: none;
	position: static;
}
#contents .download #main .download-list .download-article .contents-text h3 a{
	text-decoration: none;
}
#contents .download #main .download-list .download-article .contents-text h3::after,
#contents .download #main #entry-list .download-headline h3::after{
	display: none;
}
#contents .download #main #entry-list .download-headline{
	margin: 30px 0 20px;
	overflow: hidden;
	clear: both;
}
#contents .download #main #entry-list .download-headline .img{
	float: left;
	width: 80px;
}
#contents .download #main #entry-list .download-headline h3{
	margin-top: 10px;
	padding-left: 100px;
}
#contents .download #main #entry-list .download-headline time{
	color: #17458F;
	padding-left: 20px;
}

#contents .download #main #entry-list .download-list ul{
	border-top: #CCC solid 1px;
}
#contents .download #main #entry-list .download-list ul li{
	margin: 0;
	padding: 0;
	background-image: none;
	border-bottom: #CCC solid 1px;
	overflow: hidden;
	clear: both;
}
#contents .download #main #entry-list .download-list ul li:nth-child(even){
	background-color: #F3F3F3;
}
#contents .download #main #entry-list .download-list ul li a{
	padding: 10px 5px;
	text-decoration: none;
	overflow: hidden;
	display: block;
	position: relative;
}
#contents .download #main #entry-list .download-list ul li a::after{
	content: "";
	width: 14px;
	height: 14px;
	background-image: url(../img/link_icon.png);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	right: 5px;
	top: 18px;
}
#contents .download #main #entry-list .download-list ul li img{
	float: left;
	width: 28px;
	margin: 0 20px 0 0;
}
#contents .download #main #entry-list .download-list ul li span{
	float: left;
	font-weight: normal;
}
#contents .download #main #entry-list .download-list ul li span.title{
	font-weight: bold;
	margin-right: 20px;
}
#contents .download #main #entry-list .download-list ul li span.size{
	float: right;
	color: #333;
	padding-right: 30px;
}

@media all and (max-width: 680px){
#contents .download #main .download-list .download-article .img{
	width: 60px;
}
#contents .download #main .download-list .download-article .contents-text{
	padding-left: 0;
}
#contents .download #main .download-list .download-article .contents-text time,
#contents .download #main .download-list .download-article .contents-text h3{
	margin: 0;
	padding: 0 0 0 80px;
}
#contents .download #main .download-list .download-article .contents-text time{
	padding: 0 0 0 20px;
	position: static;
}
#contents .download #main .download-list .download-article .contents-text p{
	clear: both;
}
#contents .download #main #entry-list .download-list ul li img{
	width: 20px;
	margin: 0;
	position: absolute;
	left: 5px;
	top: 12px;
}
#contents .download #main #entry-list .download-list ul li span{
	float: none;
	clear: both;
}
#contents .download #main #entry-list .download-list ul li span.title{
	margin: 0;
	padding-left: 30px;
	display: block;
}
#contents .download #main #entry-list .download-list ul li span.file{
	padding-left: 30px;
}
#contents .download #main #entry-list .download-list ul li span.size{
	float: none;
	padding-left: 10px;
}
}


/* contact
----------------------------------------- */
#contents #main #form-area .thanks-area{
	display: none;
}
#contents #main #form-area span.wpcf7-form-control-wrap,
#contents #main #form-area table td span.wpcf7-radio label span{
	font-weight: normal;
    
    display:block;
}
#contents #main #form-area input.wpcf7-text, #contents #main #form-area textarea {
  border: 1px solid #CCC;
  padding: 5px;
    width:100%;
    
}
#contents #main #form-area p.submit-button{
	background: none;
	line-height: 1.4;
	text-align: center;
}
#contents #main #form-area p.submit-button br{
	display: none;
}
div.wpcf7cp-btns { text-align: center;}
div#wpcf7cpcnf { z-index: auto;}
#contents #main #form-area p.submit-button input,
#contents #main #wpcf7cpcnf .wpcf7cp-btns button,
.wpcf7 .wpcf7-submit {
	color: #17458F;
	padding: 15px 40px;
	background-color: #FFF;
	border: #17458F solid 1px;
	text-decoration: none;
	text-align: center;
	display: inline-block;
	cursor: pointer;
	width: 100%;
	max-width: 230px;
}
#contents #main #form-area .wpcf7cp-btns button {
	color: #333;
	border-color: #333;
}
#contents #main #form-area p.submit-button input:hover{
	color: #FFF;
	background-color: #17458F;
}
#contents #main #form-area p.submit-button input[disabled],
#contents #main #form-area p.submit-button input[disabled]:hover,
.wpcf7 .wpcf7-submit:disabled,
.wpcf7 .wpcf7-submit:disabled:hover {
	color: #333;
    background: #DCDCDC;
	border: 1px solid #DCDCDC;
    cursor: not-allowed;
}
#contents #main .sent #form-area h2,
#contents #main .sent #form-area p{
	display: none;
}
#contents #main .sent #form-area .thanks-area,
#contents #main .sent #form-area .thanks-area h2,
#contents #main .sent #form-area .thanks-area p{
	display: block;
}
#contents #main .sent #form-area table,
#contents #main .sent #form-area p.submit-button{
	display: none!important;	
}



/* gallery css
----------------------------------------- */


#contents .gallery { /** ギャラリーを囲むボックス **/
	width: 100%;
	margin-bottom: 20px !important;
    overflow: hidden;
    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
}
#contents .gallery .gallery-icon img{
    border:none!important;
}

#contents .gallery br {display: none;} /** 自動で挿入される clearfix の余白解除 **/

#contents .gallery-item { /** 画像共通のスタイル **/
    float: left;
	margin-bottom: 0 !important;
}
#contents .gallery-icon { /** 画像を囲む dt のスタイル **/
    text-align: center;
}
#contents .gallery-icon a{
    border: 1px solid #CCCCCC;
    margin-bottom: 10px !important;
    transition: .2s;
    display:inline-block;
}
#contents .gallery-icon a:hover{
    border: 1px solid #1DA3D5;
}
#contents .gallery-icon a img{
    margin: 10px;
    width:calc(100% - 20px);
}
#contents .gallery-icon img {
	width: auto;
	height: auto;
	margin-bottom: 10px !important;
}

#contents .gallery-caption { /** キャプション **/
    color: #222;
    font-size: 12px;
    margin: 0 0 20px;
    text-align: center;
}

#contents .gallery-columns-1 .gallery-item { /** カラムなし **/
    width: 100%!important;
    margin-right: 0;
}
#contents .gallery-columns-2 .gallery-item { /** 2カラム **/
	width: 48%!important;
	margin: 0 1%;
}
#contents .gallery-columns-3 .gallery-item { /** 3カラム **/
    width: 31.33333%!important;
	margin: 0 1%;
}
#contents .gallery-columns-4 .gallery-item { /** 4カラム **/
    width: 23%!important;
    margin: 0 1%;
}
#contents .gallery-columns-5 .gallery-item { /** 5カラム **/
    width: 18%!important;
    margin: 0 1%;
}

@media screen and (max-width: 640px) {
	/* 640px以下用の記述 */
#contents .gallery-columns-3 .gallery-item,#contents  .gallery-columns-4 .gallery-item {
		width: 48%!important;
		margin: 0 1%;
	}
#contents .gallery-columns-5 .gallery-item {
		width: 100%!important;
		margin: 0;
        display: table;
	}
#contents .gallery-columns-5 .gallery-item .gallery-icon{
        width: 48%!important;
        display: table-cell;

    }
#contents .gallery-columns-5 .gallery-item .gallery-caption{
       
        display: table-cell;
	vertical-align: middle;
        padding:0 5%;
        
    }
}

/* sidebar */


/*========================
	youtube ショート用のcss
========================*/
.yt-vertical {
	width: 281px;
	height: 500px;
}

.yt-vertical iframe {
	width: 100%;
	height: 100%;
}


@media screen and ( min-width: 1026px ) {
	a:hover img { opacity: 0.7; transition-duration: 0.3s;}
}
