@charset "utf-8";


/*############################################*/
/*（1）文字設定-共有*/
/*############################################*/
html {
    box-sizing: border-box;
}
*, *:before, *:after {
    box-sizing: inherit;
}
html{
	font-size:14px;
	letter-spacing:0em;
	line-height:180%;
	_font-family: 'Noto Serif JP', serif;
	font-family: 'Noto Serif JP' ,"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	_font-weight:400;
	color:#000;
	-webkit-text-size-adjust: none;
	-moz-osx-font-smoothing: grayscale;
}
.large{ font-size:16px; }
.larger{ font-size:18px; }
.smaller{ font-size:12px; }
a:link{
	color:#5c93d7;
	text-decoration:none;
}
a:visited{
	color:#5c93d7;
	text-decoration:none;
}
/*ホバー*/
a:hover{
	color:#df5d5d;
	text-decoration:none;
}
/*文字色*/
.aka{
	color:#cc2222;
}
.kuro{
	color:#000000!important;
}
.ao{
	color:#69a9e1;
}
.bold{
	font-weight:bold;
}
.serif,
.serif span{
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}


/*############################################*/
/*（2）サイト全体-共有*/
/*############################################*/
html,
body{
	height:100%;
}
/* IE7でpadding指定 */
*:first-child+html body {
	padding-left:1px;
}
/* IE6以下でpadding指定 */
*html body {
	padding-left:1px;
}
img, h1, h2, h3, h4, h5, h6, p, form{
	border:none;
	margin:0;
}
img{
	vertical-align: top;
}
ul,dl{
	margin:0;
	padding:0;
	list-style:none;
}
table,
h1,h2,h3,h4,h5,h6{/*これないと、IEでbodyのフォントサイズが引き継がれない*/
	font-size:100%;
}
/*floatキャンセル*/
.clearfix:after {
	content: "";
	clear: both;
	display: block;
}
.tt{
	border:solid 1px #dbdbdb;
	_border-width:0 1px 1px 0px;
	border-collapse:collapse;
}
.tt td,
.tt th{
	padding: 6px 12px;
	border:solid 1px #dbdbdb;
	_border-width:1px 0 0 1px;
}
.scrollMargin{
	margin-top:-78px;
	padding-top:78px;
}

/*############################################*/
/*（3）ヘッダーとか基本構成*/
/*############################################*/
body{
	padding:0;
	margin:0;
	text-align:center;
}
.bodyWrapper{
	min-width:1200px;
}
.body{
	width:calc(100% - 216px);
	min-width:900px;
}
/**/
.linkButton{
	display:block;
	width:88px;
	height:auto;
	padding:5px 0 0;
	font-size:12px;
	text-align:center;
	line-height:1em;
	font-family: 'Noto Sans JP', sans-serif;
	color:#000;
	font-weight:normal;
	border:solid 1px #E0E0E0;
}
.linkButton:visited,
.linkButton:hover{
	color:#000;
	font-weight:normal;
}
/*右-ナビ----------------------------------------------------------------*/
.navWrapper{
	position:fixed;
	top:0;
	right:0;
	padding:6vh 0 0;
	width:216px;
	height:100vh;
	min-height:550px;
	background:#fff;
	z-index:999;
}
.navWrapper a,
.navWrapper a:link,
.navWrapper a:visited{
	line-height:1em;
	color:#000;
}
.navWrapper .logo{
	margin:0 0 3vh;
}
.navWrapper .nav01{
	position:relative;
	padding:0 0 4vh;
}
.navWrapper .nav01::after{
	position:absolute;
	content:"";
	bottom:2vh;
	width:1px;
	height:1vh;
	background:#000;
}
.navWrapper .nav01 li{
	padding:0;
	font-size:14px;
}
.navWrapper .nav02{
	padding:0 0 2vh;
}
.navWrapper .nav02 li{
	padding:0 0 0px;
	font-size:13px;
}
.navWrapper .nav03{

}
.navWrapper .nav03 .telBox {
	width:100%;
	text-align:center;
}
.navWrapper .nav03 .instBox{
	position:absolute;
	bottom:1.5vh;
	width:100%;
	text-align:center;
}
/*右-ナビ-入会リンクボタン--------------------*/
.nav03 .nyukaiBox {
margin-bottom: 1vh;
}
.nav03 .nyukaiBox a {
	position:relative;
	display:block;
	width: 174px;
	padding: 10px;
	height: 40px;
	margin: 0 auto;
	background: #B8D06E;
}

.nav03 .nyukaiBox.donationBtn a {
	background: #84b9cb;
}

.nav03 .nyukaiBox.procedureBtn a {
	background: #a59aca;
}

.nav03 .nyukaiBox a span{
	display:block;
	position: relative;
	top: 45%;
	-webkit-transform: translateY(-50%); /* Safari用 */
	transform: translateY(-50%);
	font-weight:bold;
	font-family: 'Noto Sans JP', sans-serif;
	color:#fff;
	font-size: 13px;
}
.nav03 .nyukaiBox a:before{
	position:absolute;
	content:"";
	top: 50%;
	-webkit-transform: translateY(-50%); /* Safari用 */
	transform: translateY(-50%);
	left:0;
	right:0;
	content:"";
	width: 94%;
	height: 76%;
	margin:0 auto;
	border:solid 1px #fff;
	opacity:80%;
}
/*footer-------------------------------------------------------*/
footer{
	width:calc(100% - 20px);
	margin:0 10px;
}
footer .ue{
	width:100%;
	margin:60px 0 0;
	padding:55px 0;
	background:#F5F5F5;
}
footer h1{
	margin:0 0 37px;
}
footer .sita{
	display:flex;
	justify-content:center;
	width:100%;
	padding:15px 0;
	border-bottom:solid 1px #CCCCCC;
}
footer .sita ul{
	display:flex;
	justify-content:center;
}
footer .sita ul li a{
	position:relative;
	font-family: 'Noto Sans JP', sans-serif;
	color:#000;
}
footer .sita ul li a::after{
	content:" ｜ ";
}
footer .sita ul:last-child li:last-child a::after{
	content:"";
}
footer .copy{
	width:100%;
	padding:15px 0;
}
/**/


/*見出し*/
.main h2{
	font-size: 32px;
	font-weight: normal;
	text-align: center;
	position: relative;
	margin-bottom: 75px;
	
}

.main h2:after{
	content: '';
	display: inline-block;
	width: 60px;
	height: 2px;
	background: #000;
	position: absolute;
	bottom: -35px;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}




/*下層ページ*/
.main section{
	margin-top: 115px;
}
.main .page{
	margin-top: 115px;
}




/*hover時に薄くする------------------------------------------------*/


a:hover{
  animation-name: animation;
  animation-duration: 1s;
	animation-iteration-count:1;

}

@keyframes animation{
  0%{
    opacity: 1;
  }
30%{
    opacity: 0.2;
  }
  100%{
    opacity: 1;
  }
}




/**/
.drawer--top .drawer-nav {
    top: 0;
    left: auto;
	right:0;
    width: 216px;
    height: 100%;
    max-height: 100%;
}
.drawer-hamburger{
	display:none;
}
.spLogo{
	display:none;
}
/*responsive---------------------------------------------------------------------------------------*/
.ip5{
	display:none;
}
.img100per{
	width:100%;
	height: auto;
}
.img-sp100per{
}
.img-max100per{
	display: block;
	max-width: 100%;
	height: auto;
}

/*############################################*/
/*  */
/*############################################*/
.sp{
	display:none;
}
@media (max-width: 992px) {

}
@media only screen and (max-width: 767px) {
	.scroll_position{
		_margin-top:0px;
		_padding-top:0px;
	}
	.pc{
		display:none;
	}
	.sp{
		display:block;
	}
	.img100per{
		width:100%;
		height: auto;
	}
	.img-sp100per{
		width:100%;
		height: auto;
	}
	.img-max100per{
		display: block;
		max-width: 100%;
		height: auto;
	}
	/*------------------------------------------------*/
	html,
	body{
		height:auto;
		font-size:14px;
		_overflow:hidden;/*これがあると、AndroidのChromeでスクロールしなくなる*/
	}
	.body{
		width:100%;
		min-width:100%;
		_overflow:hidden;
	}
	.bodyWrapper{
		min-width:100%;
	}
	/*ナビ----------------------------------------------------------------------*/
	/*drawer追記分のみ*/
	.drawer-hamburger{
		position:fixed;
		display:block;
		top:0;
		right:0;
		padding:15px 15px 25px;
		z-index:9999;
		background:rgba(255,255,255,0.8);
	}
	.drawer-hamburger:before{
	}
	.drawer-hamburger:hover {
		cursor: pointer;
		background:rgba(255,255,255,0.8);
	}
	.drawer-nav{
		z-index:14;
		background: linear-gradient(180deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0.9) 50%, rgba(0,0,0,1) 100%);
	}
	.drawer-hamburger-icon, .drawer-hamburger-icon::after, .drawer-hamburger-icon::before {
		height:2px;
		background:rgba(0,0,0,1);
	}
	.drawer-nav .drawer-menu{
		margin:0px 0 0px;
		padding:0px 0;
	}
	.drawer-nav .drawer-menu li{
	}
	.drawer-nav .drawer-menu li a{
		color:#5a5a5a;
		font-size:16px;
	}
	.drawer--top.drawer-open .drawer-nav {
	}
	/**/
	.drawer-menu .logo{
		margin-bottom:20px;
	}
	.drawer--top .drawer-nav {
		top: -100%;
		left: 0;
		width: 100%;
		height: auto;
		max-height: 100%;
		-webkit-transition: top .6s cubic-bezier(.19,1,.22,1);
		transition: top .6s cubic-bezier(.19,1,.22,1);
	}
	.drawer--top.drawer-open .drawer-nav {
	}
	/**/
	.spLogo{
		display:block;
		width:200px;
		padding:10px 0 0 10px;
		text-align:left;
	}
	.spLogo img{
		width:200px;
	}
	/*footer-------------------------------------------------------*/
	footer{
		width:100%;
		margin:0;
	}
	footer .ue{
		margin-top:0px;
	}
	footer h1{
	}
	footer .sita{
		display:block;
	}
	footer .sita ul{
	}
	footer .sita ul li a{
	}
	footer .sita ul li a::after{
		content:" ｜ ";
	}
	footer .sita ul li:nth-child(2) a::after,
	footer .sita ul li:last-child a::after{
		content:"";
	}
	footer .copy{
	}
	footer a:link,
	footer a:visited{
		color:#000;
	}
	/*右-ナビ----------------------------------------------------------------*/
	.navWrapper{
		padding:6vh 0 10px;
		width:100vw;
		height:auto;
		min-height:0;
		background:#fff;
		z-index:999;
	}
	.navWrapper a,
	.navWrapper a:link,
	.navWrapper a:visited{
	}
	.navWrapper .logo{
	}
	.navWrapper .nav01{
	}
	.navWrapper .nav01::after{
	}
	.navWrapper .nav01 li{
		font-size:14px;
	}
	.navWrapper .nav02{
	}
	.navWrapper .nav02 li{
		font-size:13px;
	}
	.navWrapper .nav03{
	}
	.navWrapper .nav03 .telBox{
		margin-bottom:40px;
	}
	.navWrapper .nav03 .instBox{
		position:relative;
		bottom:none;
		margin-bottom:10px;
	}







} /* /@media */
@media only screen and (max-width: 374px) {
	/*iPhone5サイズ*/

	.thumFairBox .dayBox{
		padding:0;
	}

	/*なぜかdrawer内の文字サイズがおかしくなるので*/
	/*
	と思ったけど、以下をhtmlに指定することで解決
	-webkit-text-size-adjust: none;
	どうもiPhoneの文字サイズ自動調整機能みたい
	.firstBtnBox a{
		font-size:8px;
		line-height:1.8em;
	}
	.drawer-nav .drawer-menu li a{
		font-size:10px;
		line-height:2.2em;
	}
	.spNavSita p:nth-child(1){
		font-size:8px;
	}
	*/


} /* /@media */





