@charset "utf-8";
/* CSS Document */
body {
  font-family: 'Noto Sans JP', sans-serif;
	background:#ede8df;
}





/* メインビジュアル */

.conA{
	background-image:url("../img/kf_hotaru/main_sm.gif");
	height: 90vh;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 0px;
}



.conA .container {
  text-align: center;
  padding-top: 50px;
  padding-bottom: 30px;
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}
@media print, screen and (min-width: 768px) {
	
	.conA{
		background-image:url("../img/kf_hotaru/main.gif");
		margin-bottom: 60px;
	}
	
  .conA .container {
    padding-top: 110px;
    width: 96%;
    max-width: 1100px;
    margin: 0 auto 40px;
  }
	
	.conA.last .container{
		margin-bottom: 0;
	}	
}
.post .container {
  max-width: 1000px;
  padding: 0 1em;
  margin-bottom: 0px;
	box-sizing: border-box;
}
.post h1 {
  text-align: center;
  font-size: 26px;
  line-height: 1.4em;
  color: #063980;
  font-family: 'Noto-serif', serif;
  font-weight: bold;
  margin-bottom: 30px;
}
.post h1.mini {
  font-size: 24px;
}
.post h2 {
  color: #063980;
  text-align: center;
  font-size: 22px;
  margin-bottom: 1em;
  border-top: 1px solid #063980;
  border-bottom: 1px solid #063980;
  padding: 0.5em 1em;
  box-sizing: border-box;
  line-height: 1.4em;
}
.setsumei {
  max-width: 800px;
  margin: 0 auto 50px;
}
@media print, screen and (min-width: 768px) {
  .post h1 {
    font-size: 44px;
	  margin-bottom: 50px;
  }
  .post h1.mini {
    font-size: 38px;
	  margin-bottom: 30px;
  }
  .post h2 {
    color: #063980;
    text-align: center;
    font-size: 30px;
    margin-bottom: 1.5em;
  }
}








.conB .container {
  margin-bottom: 50px;
  max-width: 1100px;
  padding: 0;
}



.conB h2 {
  margin-bottom: 1em;
	padding: 0 1em;
	color: #063980;
	font-family: "Noto serif jp", serif;
	text-align: left;
	line-height: 1.4em;
	text-align: center;
}


.conB p {
  text-align: left;
	line-height: 2em;
	
}

.conB .text{
	text-align: left;
	box-sizing: border-box;
	padding-bottom: 10px;
}

.conB .img{
	box-sizing: border-box;
	text-align: center;
	padding: 1em;
}


@media print, screen and (min-width: 768px) {
	
	
.conB .container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  margin-bottom: 50px;
  max-width: 1100px;
  padding: 0;
}	
	
	
.container.row{
	flex-direction: row-reverse
}	
	
	
  .conB .text {
    width: 45%;
	  padding:0 20px 0 0;
  }
	
	.conB .img{
		width: 55%;
	}
	
	
	.conB .row .img{
		text-align: left;
	}
	
	
  .conB h2 {
    font-size: 44px;
	  padding: 0;
	  text-align: left;
  }
	
	.conB p{
		font-size: 18px;
	}	
	
}


.h-image{
	text-align: center;
	padding: 1em;
	box-sizing: border-box;
	max-width: 1000px;
	margin: 0 auto;
}


.h-image img{
	margin-bottom: 30px;
}

@media print, screen and (min-width: 768px){
	.h-image img{
	margin-bottom: 50px;
}
}

.conC{
	margin-bottom: 50px;
}

.conC .container{
	width: 90%;
	max-width: 960px;
	margin: 0 auto;
	background:#efe584;
	padding:50px 20px 20px;
	box-sizing: border-box;
	border-radius: 30px;
	font-size: 14px;
}



.conC h2 {
    position: relative;
    padding:0.5em 1em;
    border: 1px solid #063980;
    font-weight: bold;
    font-size: 26px;
	top:30px;
	width: 70%;
	max-width: 700px;
	margin: 0 auto;
	background: #fff;
	border-radius: 10px;
	text-align: center;
	color: #063880;
	box-sizing: border-box;
	font-size: 18px;
	line-height: 1.4em;
}

.conC h2:before,
.conC h2:after {
    position: absolute;
    top: 100%;
    left: 100px;
    height: 0;
    width: 0;
    border: solid transparent;
    content: "";
}

.conC h2:before {
    margin-left: -10px;
    border-color: transparent;
    border-top-color: #063980;
    border-width: 10px;
}

.conC h2:after {
    margin-left: -8px;
    border-color: transparent;
    border-top-color: white;
    border-width: 8px;
}


.conC .img{
	text-align: center;
	margin-bottom: 20px;
}


@media print, screen and (min-width: 768px){
	
	.conC{
		margin-bottom: 100px;
	}
	
	.conC .container{
		display: flex;
		justify-content: space-around;
		padding:60px 30px 40px 30px;
		font-size: 15px;
		
	}	
	
	
	.conC .img{
		width: 20%;
		margin-bottom: 0;
	}	
	
	.conC .text{
		width: 70%;
		padding: 0 1em;
	}
	
	.conC h2{
		font-size: 22px;
	}
}










.conD{
	width: 96%;
	max-width: 1260px;
	margin: 0 auto 30px;
	background: #063980;
	text-align: center;
	padding: 20px;
	box-sizing: border-box;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
}


.conD .container{
	background: #fff;
	width: 98%;
	max-width: 1100px;
	margin: 0 auto 30px;
	padding:2em 1em;
	box-sizing: border-box;
}

.conD .logo{
	text-align: center;
	width: 100px;
	margin: 0 auto 20px;
}

.conD h2{
	text-align: center;
	color: #fff;
	margin-bottom: 1em;
	line-height: 1.4em;
	font-size: 20px;
}

.conD .text{
	padding:1em;
	box-sizing: border-box;
}

.conD .img{
	padding: 1em;
	box-sizing: border-box;
}

.conD .container2{
	background: #fff;
	width: 98%;
	max-width: 1100px;
	margin: 0 auto 30px;
	padding:2em 1em;
	box-sizing: border-box;
	text-align: center;
}

.conD .text2{
	padding: 0 1em;
	text-align:left;
	margin-bottom: 2em;
}


.conD .text3{
	padding: 0 1em;
	box-sizing: border-box;
}

.conD .img3{
	padding: 0 1em;
	box-sizing: border-box;
}

.conD p{
	line-height: 2em;
}


.conD h3{
	font-size: 20px;
	margin-bottom: 0.5em;
	font-weight:bold;
	color: #063980;
/*	display: flex;
	align-items: center;*/
	line-height: 1.4em;
	font-family: 'Noto Serif Japanese', serif;
	text-align: center;
}

/*
.conD h3:before{
content:url("../img/kf_hotaru/test01.png");
position:relative;
right:10px;
	top:35px;
}*/





.conD h3 img{
	width: 40px;
	margin-right: 10px;
	position: relative;
	top:-10px;
}


.conD h4{
	color: #fff;
	background: #063880;
	padding: 0.5em;
	font-weight: bold;
	width: 90%;
	text-align: center;
	margin-bottom: 1em;
	margin: 0 auto 1em;
	line-height: 1.4em;
	font-size: 16px;
}


.m-muki{
	color: #fff;
	background: #0071a3;
	font-weight: bold;
	padding: 0.5em;
	box-sizing: border-box;
	text-align: center;
	margin-bottom: 0em;
	font-size: 15px;
}


.m-hotaru{
	color: #fff;
	background: #f2a325;
	font-weight: bold;
	padding: 0.5em;
	box-sizing: border-box;
	text-align: center;
	margin-bottom: 0em;
	font-size: 15px;
}


.conD .text3{
	margin-bottom: 2em;
}


.s-red{
	font-size: 20px;
	color: #D62F34;
	font-weight: bold;
	line-height: 1.6em;
}



.s-red2{
	font-size: 20px;
	color: #D62F34;
	font-weight: bold;
	line-height: 1.6em;
	text-align: center;
}


.conD p.s-blue, .conE p.s-blue{
	color: #063980;
	font-family: "Noto serif jp", serif;
	text-align: center;
	font-size: 22px;
	font-weight: bold;
	line-height: 1.4em;
}


.conD p.s-blue2, .conE p.s-blue2{
	color: #063980;
	font-family: "Noto serif jp", serif;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.6em;
}

.conD p.s-blue0, .conE p.s-blue0{
	color: #063980;
	font-family: "Noto serif jp", serif;
	text-align: center;
	font-size: 28px;
	font-weight: bold;
	line-height: 1.6em;
}

.conD .container2.ryoritsu{
	background-image: url("../img/kf_hotaru/hotaru20.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 30px;
	/*height: 500px;*/
}


.conD .ryoritsu .text{
	background: rgba(255,255,255,0.9);
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 1em;
	width: auto;
}


.conD .container2.sekinin{
	background-image: url("../img/kf_hotaru/hotaru26.png");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 30px;
	/*height: 500px;*/
	box-sizing: border-box;
}


.conD .sekinin .text{
	background: rgba(255,255,255,0.9);
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 1em;
	width: auto;
}



@media print, screen and (min-width: 768px){
	
	.conD{
		padding: 50px 30px;
		border-top-left-radius: 40px;
	border-top-right-radius: 40px;
		margin-bottom: 80px;
	}
	
	
	
	.conD h2{
		font-size: 48px;
	}	
	
	.conD .logo{
	width: 248px;
}
	
	
	.conD .container{
		display: flex;
		justify-content: space-around;
		padding: 50px;
	}
	
	.conD .container2{
		padding: 50px;
	}	
	
	
.conD .text{
	width: 50%;
}

.conD .img{
	width: 50%;
}
	
	.conD .text2{
	text-align: center;
}
	
	.conD .text3{
	width: 46%;
}

.conD .img3{
	width: 53%;
	text-align: center;
}
	
.conD h3{
	font-size: 34px;
}

.conD h3 img{
	width: 77px;
	margin-right: 20px;
}	
	
	.conD h4{
		font-size: 26px;
	}
	
.m-muki{
	font-size: 20px;
}


.m-hotaru{
	font-size: 20px;
}	
	
	
.conD .text3{
	width: 45%;
}
	
	
	.s-red{
	font-size: 40px;
}
	
	
.s-red2{
	font-size: 30px;
}

	.conD p.s-blue, .conE p.s-blue{
	font-size: 34px;
}

.conD p.s-blue2, .conE p.s-blue2{
	font-size: 26px;
}
	
.conD p.s-blue0, .conE p.s-blue0{
	font-size: 70px;
}	
	
	
.conD .container2.sekinin{
	height: 600px;
}
	
	
.conD .container2.ryoritsu{
	padding: 100px;
	/*height: 500px;*/
}


.conD .ryoritsu .text{
	padding: 3em;
	width: auto;
}
	
	
.conD .container2.sekinin{
	padding: 100px;
	/*height: 500px;*/
}


.conD .sekinin .text{
	padding: 3em;
	width: auto;
}	
	
	
	
}


.conE .container{
	max-width: 1200px;
	margin: 0 auto 100px;
	text-align: center;
}




@media print, screen and (min-width: 768px){
	
.conE .container{
	margin-bottom: 150px;
}	
	
}







dl {
  width: 94%;
  max-width: 800px;
  margin: 30px auto 0;
}
dt {
  font-size: 20px;
  margin-bottom: 0em;
  font-weight: bold;
  color: #063980;
  border-left: 2px solid #063980;
}
dd {
  margin-bottom: 2em;
  /*display: flex;*/
}
.font90 {
  font-size: 90%;
  line-height: 1.4em;
  display: block;
}
@media print, screen and (min-width: 768px) {
  dt {
    font-size: 22px;
  }
  .post dt img {
    max-width: 130px;
    margin-right: 10px;
  }
}



.allow{
	text-align: center;
	margin-bottom: 40px;
}

.allow img{
	width: 100px;
}


@media print, screen and (min-width: 768px){
	
.allow img{
	width:auto;
}	
}


p.left{
	text-align:center;
}

@media print, screen and (min-width: 768px){
p.left{
	text-align:left;
}
}