@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
}

img{width: 100%; display:block;}

.sponly{display:none;}

@media screen and (max-width: 640px) and (max-width: 640px){
.sponly{display:block;}
.pconly{display:none;}
}	

body {
position: relative;
overflow-x: hidden;
background-image:url(../images/bg.png);
background-size:cover;
font-size:10px;
font-family: 'Noto Sans JP', sans-serif;
letter-spacing: 0.1em;
}

.mainbox{
width:100%;
min-height: 100vh; /* ←コンテンツの高さの最小値＝ブラウザの高さに指定 */
position: relative;/* ←相対位置 */
padding-bottom: 16em; /* ←フッターの高さを指定 */
box-sizing: border-box;
/* ↑ヘッダーやフッターを含むすべての要素の高さ＝min-height:100vhになるように指定 */
}

main{
width:90%;
max-width:1020px;
margin:0 auto;
}

a{
		transition:0.3s ;
}


/*ファーストビューエリア*/

#fvarea h1{
width:100%;
padding:2.8em 0;
}

#fvarea .wrap {
width:100%;
display:flex;
justify-content:space-between;
align-items: flex-end;
}

.top-text{
width:65%;
font-size:2em;
line-height:170%;
padding-bottom: 2em;
}

.top-photo{
width:29%;
}

.top-photo img{
}


@media screen and (max-width: 640px) and (max-width: 640px){
	
body {
font-size:1.6vw;
letter-spacing: 0.16em;
}
	
.wrap {
width:100%;
display:block;
margin-bottom:2em;
}

.top-text{
width:100%;
font-size:2em;
padding-bottom:0em;
}
	
}	

/*コンテンツエリア共通*/

#whitebox{
width: 93%;
margin:0 auto 4em auto;
background: white;
border-top:1em solid #2aa453;	
padding:3% 3.5%;
  -webkit-filter:drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.1));
  -moz-filter:drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.1));
  -ms-filter:drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.1));
  filter:drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.1));
}

#whitebox .wrap{
width:100%;
}

#whitebox .wrap h1{
font-size:3.2em;
font-weight: 700;
margin:0;
padding:0;
}

#whitebox .wrap h2{
font-size:1.3em;
font-weight: 700;
margin:0;
padding-bottom:0.5em;
color:#ed7425;
}

/*コンテンツエリア 日程*/

.date_box{
	width: 100%;
	display:flex;
	justify-content:space-between;
	font-size:3.5em;
	padding:0.4em 0;
	border-bottom:1px #ccc solid;
	font-weight:500;
}

.date_box:last-child{
	border-bottom:none;
	padding-bottom:0;
}

.date{
	width:25%;
	color:#ed7425;
}

.date span{
	font-size:50%;
	margin:0 0.5em;
}

.date_sub{
width:72%;
	display:flex;
	justify-content:space-between;
}

.place{
	width: 62%
}

.place span{
	font-size:75%;
	margin-left:0.5em;}

.date_box a{
	width:34%;
	display:block;
	padding-top:0.6em;
	font-size:50%;
	text-align:center;
	background-color:#e9f9de;
	color:#2aa352;
	text-decoration: none;
}

.date_box a:visited{
	background-color:#e9f9de;
	color:#2aa352;
}

.date_box a:hover{
	color:#69be86;
}

.web2{
	display:block;
	background-color:#f6f6f6;
	border-radius: 0.5em;
	margin-top:2em;
	font-size:2em;
	padding:1em;
	line-height:180%;
}

.web{
	display:block;
	background-color:#fff9d7;
	border-radius: 0.5em;
	margin-top:2em;
	font-size:2em;
	padding:1em;
	line-height:180%;
}

.web a{
	color:#ed7425;
	font-weight:500;
}

.web a:visited{
	color:#ed7425
}

.web a:hover{
	color:#2aa352;
}


@media screen and (max-width: 640px) and (max-width: 640px){

body {
background-image:url(../images/bg_sp.png);
}
	
#whitebox .wrap h1{
font-size:2.26em;
}	
	
.date_box{
	width: 100%;
	display:block;
	font-size:2.7em;
	padding-bottom:0.8em;
}
	
.date{
	width:100%;
	color:#ed7425;
}

.date span{
	font-size:60%;
}
	
.date_sub{
width:100%;
	display:flex;
	justify-content:space-between;
}
	
.place span{
	font-size:68%;}

	.date_box a{
	padding-top:0.4em;
	font-size:58%;
}
	
}



/*コンテンツエリア 日程以外*/

.contents_box{
	width: 100%;
	font-size:2em;
	padding:1.5em 0;
	border-bottom:1px #ccc solid;
	font-weight:500;
}

.contents_box .day{
	font-size:130%;
}

.contents_box .day span{
	font-size:70%;
	margin-left:0.5em;
}

.contents_box .day p{
	font-size:70%;
	font-weight: 400;
	margin-top:1em;
	line-height:170%;
}

.contents_box .day p span{
	font-size:70%;
}

.contents_box:first-child{
	padding-top:0;
}

.contents_box:last-child{
	border-bottom:none;
	padding-bottom:1em;
}

.contents_box a:link{
	color:#000;
	text-decoration: underline;
}

.contents_box a:visited{
	color:#000;
}

.contents_box a:hover{
	color:#999;
}

li{
	width:96.5%;
	list-style:none;
	margin-left: 1em;
	padding:0 0 0.5em 0;
	text-indent: -1em;
	font-weight: 400;
}

li::before{
	content:"";
	width:0.5em;
	height:0.5em;
	margin-right:0.5em;
	display:inline-block;
	background:#2aa352;
	border-radius: 50%;
}

ul{
	list-style-position:inside;
}


/*コンテンツエリア 相談メンバー*/

.member-box{
	width: 100%;
	padding-bottom:1em;
}

.member-box:last-child{
	padding-bottom:0;
}

.photo-name{
	width: 100%;
	display:flex;
	align-items: center;
	padding:0.5em 0 1em 0;
}

.photo-name img{
	display:block;
	width:23%;
	margin-right:3%;
}

.member-name {
	font-size:0.8em;
	font-weight: 700;
}

.member-name span{
	display:block;
	padding-bottom: 0.2em;
	font-size:1.5em;
}

@media screen and (max-width: 640px) and (max-width: 640px){
.photo-name img{
	width:33%;
}	
	
}

/*ページ下リンク*/
.links{
	text-align:center;
	font-size:1.5em;
	line-height:250%;
	margin-bottom:2.5em;
	display: flex; 
	flex-wrap:wrap;
	justify-content:center;
}


.links_title{
	width:100%;
	text-align: center;
	margin-bottom: 1em;
	display:block;
	color:#000;
	font-size:1.5em;
	font-weight:400;
}

.links a{
	display:block;
	margin:0 1em;
	color:#000;
}

.links a:visited{
		color:#000;
}

.links a:hover{
		color:#999;
}

/*フッター*/

#foot-index{
	width:100%;
	text-align: center;
	font-size:1.6em;
	padding:1.6em 0;
	background-color:rgba(250,250,250,0.85);
	bottom:0;
	border-top:1px solid #efefef;
}

#foot-index span{
	display:block;
	margin-top:1em;
}

#foot-index span{
	display:block;
	margin-top:1em;
}


#foot-index span{
	display:block;
	margin-top:1em;
}

footer{
	width:100%;
	text-align: center;
	font-size:1.6em;
	padding:1.6em 0;
	background-color:rgba(250,250,250,0.85);
	position:fixed;
	bottom:0;
	border-top:1px solid #efefef;
}

footer span{
	display:block;
	margin-top:1em;
}

footer a{
	width:55%;
	max-width:700px;
	display:block;
	margin:0 auto;
	padding: 0.6em 0;
	text-align: center;
	background: #ed7425;
	color:white;
	text-decoration:none;
	font-size:2em;
	font-weight: 700;
  -webkit-filter:drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.3));
  -moz-filter:drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.3));
  -ms-filter:drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.3));
  filter:drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.3));
}


footer a:visited{
	background-color:#ed7425 ;
}

footer a:hover{
	background-color:#ed9219 ;
}

@media screen and (max-width: 640px) and (max-width: 640px){

footer a{
	width:90%;
	max-width:700px;
	display:block;
	margin:0 auto;
	padding: 0.6em 0;
	text-align: center;
	background: #ed7425;
	color:white;
	text-decoration:none;
	font-size:1.9em;
	font-weight: 700;
  -webkit-filter:drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.3));
  -moz-filter:drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.3));
  -ms-filter:drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.3));
  filter:drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.3));
}
	
}

