@charset "utf-8";
/* CSS Document */
.wf-notosansjapanese 
	{ font-family: "Noto Sans JP"; }

.new-amsterdam-regular {
  font-family: "New Amsterdam", sans-serif;
  font-weight: 400;
  font-style: normal;
}


.logo a:hover{
	opacity: 0.6;
}

#sp_topImg_hm{
	width: 100%;
}

#sp_topImg_hm img{
	width: 100%;
	margin: 40px 0 0 0;
	}

#topImg{
	padding: 80px 0 0 0;
}


#topImg img{
	width:100%;
}

.sample {
	font-size:2em;
	text-align:center;
	line-height:0.95em;
	font-weight:bold;
	color: transparent;
	-webkit-text-stroke: 0.04em rgba(255,255,255,0.5);
}

#topImg h1 {
    position: absolute;
    top: 60%;
    width: 100%;
    text-align: center;
  }	

#hello{
		text-align: center;
		width:95%;
		margin: 2em auto 20px;
		padding: 16px 0;
		font-size: 95%;
		line-height: 2em;
		color: #4c9ac0;
		
  /* 方眼紙模様に必須のスタイル */
  background-image: linear-gradient(0deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px)),
                    linear-gradient(90deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px));
  background-size: 16px 16px;
  background-repeat: repeat;
  background-position: center center;
	}
	

main{
	width:95%;
	margin: 0 auto;
	line-height: 2em;
}
.contactBrk{}

footer{
	width: 100%;
	padding: 1em 2.5%;
	letter-spacing: -1px;
}

header h1{
	font-size: 15px;
	font-weight: normal;
	color: #fff;
}
header h2{
	font-size: 55px;
	color: #fff;
	line-height: 1;
}		

footer{
	background-color:
		#4c9ac0;
	margin: 1em 0 0;
	padding: 36px 0 12px;
}

footer p small{
	display: block;
	text-align: center;
	color: #fff;
}

 /* 方眼紙模様に必須のスタイル */
  background-image: linear-gradient(0deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px)),
                    linear-gradient(90deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px));
  background-size: 32px 32px;
  background-repeat: repeat;
  background-position: center center;
	}
	
	.onlinesc{
		
	}
	.onlinesc p{
		width: 100%;
		line-height: 2.6em;
		padding: 16px;;
	}
	.onlinesc img{
		width: 100%;
		margin: 16px auto;
		
	}

	.hda{
		text-align: center;
		border: 3px solid #4c9ac0;
		background-color: #fff;
		padding: 0.5em 1em;
		position: relative;
	}
	
.hda::before {
  content: '';
  width: 100%;
  height: 100%;
  background-image: radial-gradient(#4c9ac0 8%, transparent 16%), radial-gradient(#4c9ac0 8%, transparent 16%);
  background-position: 0 0, 7px 7px;
  background-size: 12px 12px;
  position: absolute;
  top: -10px;
  left: 10px;
  z-index: -1;
}	
	
.fbox_a h2{
	text-align: center;
	font-weight: bold;
	}
	
	.fbox_a h2 {
	position: relative;
	text-align: center;
	margin: 0 0 16px;
}

.fbox_a h2:before {
  position: absolute;
  bottom: -3px;
  left: calc(50% - 30px);
  width: 60px;
  height: 3px;
  content: '';
  border-radius: 3px;
  background-color:#4c9ac0;
}

	
	.fbox_a{
		}
	.fbox_a div{
		width: 100%;
		padding: 24px 0 12px;
		background-color: rgba(10,147,214,0.09);
		margin: 12px 0;
	}
	.fbox_a div p{
		width: 80%;
		margin: 12px auto;
		text-align: center;
	}
	
	
	.fbox_b{
		width: 100%;
		}
		.fbox_b h2{
	text-align: center;
	font-weight: bold;
	padding: 0.5em 1em;
	}
	
		.fbox_b h2 {
	position: relative;
	text-align: center;
	margin: 0 0 16px;
}

.fbox_b h2:before {
  position: absolute;
  bottom: -3px;
  left: calc(50% - 30px);
  width: 60px;
  height: 3px;
  content: '';
  border-radius: 3px;
  background-color:#4c9ac0;
}


	.fbox_b div{
		width: 100%;
		border: 3px solid #4c9ac0;
		margin: 16px 0;
	}
	.fbox_b div p{
		width: 80%;
		margin: 12px auto;
		text-align: center;
	}
	.mat h2{
		text-align: center;
		padding: 1em 0 0;
	}


.contactBrk{
		text-align: center;
		width: 100%;
		margin: 0 auto 60px;
		
	}
	.contactBrk img{
		width: 60px;
	}
	
/* ドット斜め */
.bg_skew_dot{
  background-color: #fff;
  background-image:
    radial-gradient(#4c9ac0 20%, transparent 20%),
    radial-gradient(#4c9ac0 20%, transparent 20%);
  background-size: 10px 10px;
  backgbaund-position: 0 0, 20px 20px;
	padding: 30px 0;
}
	.bg_skew_dot div{
		width: 90%;
		margin: 0 auto;
		background: #fff;
		
	}
	.fnt_A{
		font-size:14px;
	}	

#n_inner {
  width: 90%;
  margin: 0 auto;
}

.head-border {
  display: flex;
  align-items: center;
  width: 80%;
  margin: 0 auto;
  font-family: 'Poppins', sans-serif;
  letter-spacing: -0.02em;
}

/* Tablet Layout: 481px to 768px. Inherits styles from: Mobile Layout. */

@media only screen and (min-width: 481px) {
.sample {
	font-size:5em;
	text-align:center;
	line-height:0.95em;
	font-weight:bold;
	color: transparent;
	-webkit-text-stroke: 0.04em rgba(255,255,255,0.5);
}
	

}
/* Desktop Layout: 769px to a max of 1232px.  Inherits styles from: Mobile Layout and Tablet Layout. */

@media only screen and (min-width: 769px) {
	
	#sp_topImg_hm{
	}
	
#topImg h1{
	position:absolute;
	top:25%;
	width: 100%;
	text-align: center;
}

#topImg_hm{
 position: relative;
	background-image:url("../images/topImg_A_uns.jpg");
    min-height: 100%;
    height: 450px;
    background-size: cover;
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-position: center center;
    z-index: 2;
    padding: 5em 0;	
}

	
	#hello{
		text-align: center;
		width:50%;
		margin: 2em auto 60px;
		padding: 36px 0;
		font-size: 110%;
		line-height: 2.1em;
		color: #333;
		text-shadow: #fff 2px 0, #fff -2px 0, #fff 0 -2px, #fff 0 2px, #fff 2px 2px, #fff -2px 2px, #fff 2px -2px, #fff -2px -2px, #fff 1px 2px, #fff -1px 2px, #fff 1px -2px, #fff -1px -2px, #fff 2px 1px, #fff -2px 1px, #fff 2px -1px, #fff -2px -1px;
		
		

  /* 方眼紙模様に必須のスタイル */
  background-image: linear-gradient(0deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px)),
                    linear-gradient(90deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px));
  background-size: 32px 32px;
  background-repeat: repeat;
  background-position: center center;
		


	}
	
	.onlinesc{
		display:flex;
		
	}
	.onlinesc p{
		width: 70%;
		line-height: 2.6em;
		padding: 16px;;
	}
	.onlinesc img{
		width: 20%;
		margin: 22px 16px 16px 5%;
		
	}

	.hda{
		text-align: center;
		border: 3px solid #4c9ac0;
		background-color: #fff;
		padding: 0.5em 1em;
		position: relative;
		font-size: 130%;
		margin: 1em 0 0 0;
	}
	
.hda::before {
  content: '';
  width: 100%;
  height: 100%;
  background-image: radial-gradient(#4c9ac0 8%, transparent 16%), radial-gradient(#4c9ac0 8%, transparent 16%);
  background-position: 0 0, 7px 7px;
  background-size: 12px 12px;
  position: absolute;
  top: -10px;
  left: 10px;
  z-index: -1;
}	
	
.fbox_a h2{
	text-align: center;
	font-weight: bold;
	}
	
	.fbox_a h2 {
	position: relative;
	text-align: center;
	margin: 0 0 16px;
}

.fbox_a h2:before {
  position: absolute;
  bottom: -3px;
  left: calc(50% - 30px);
  width: 60px;
  height: 3px;
  content: '';
  border-radius: 3px;
  background-color:#fff;
}

	
	.fbox_a{
		width: 100%;
		display: flex;
		margin: 36px 0 60px;
		justify-content: space-between;
		align-items: stretch;
		}
	.fbox_a div{
		width: 33%;
		padding: 24px 0 12px;
		background-color: rgba(10,147,214,0.09)
	}
	.fbox_a div p{
		width: 80%;
		margin: 12px auto;
		text-align: center;
	}
	
	
	.fbox_b{
		width: 100%;
		display: flex;
		margin: 36px 0 60px;
		justify-content: space-between;
		align-items: center;
		}
		.fbox_b h2{
	text-align: center;
	font-weight: bold;
	padding: 0.5em 1em;
	}
	
		.fbox_b h2 {
	position: relative;
	text-align: center;
	margin: 0 0 16px;
}

.fbox_b h2:before {
  position: absolute;
  bottom: -3px;
  left: calc(50% - 30px);
  width: 60px;
  height: 3px;
  content: '';
  border-radius: 3px;
  background-color:#4c9ac0;
}


	.fbox_b div{
		width: 24.5%;
		height: 160px;
		border: 3px solid #4c9ac0;
	}
	.fbox_b div p{
		width: 80%;
		margin: 12px auto;
		text-align: center;
	}
	.mat h2{
		text-align: center;
		padding: 1em 0 0;
	}
	
	.contactBrk{
		text-align: center;
		width: 100%;
		margin: 0 auto 80px;
		
	}
	.contactBrk img{
		width: 60px;
	}
	
/* ドット斜め */
.bg_skew_dot{
  background-color: #fff;
  background-image:
    radial-gradient(#4c9ac0 20%, transparent 20%),
    radial-gradient(#4c9ac0 20%, transparent 20%);
  background-size: 10px 10px;
  backgbaund-position: 0 0, 20px 20px;
	padding: 30px 0;
}
	.bg_skew_dot div{
		width: 50%;
		margin: 0 auto;
		background: #fff;
		
	}
	.fnt_A{
		font-size:20px;
	}	

.head-border {
    display: flex;
    align-items: center;
    width: 30%;
    margin: 0 auto 0;
  }
	
.head-border::before, .head-border::after {
    content: "";
    height: 2px;
    flex-grow: 1;
    background-color: #666;
  }

	border::after {
    content: "";
    height: 2px;
    flex-grow: 1;
    background-color: #666;
  }
	#newsArea{
		background-color: #FFF9F5;
  padding: 36px; /* drop-shadowを適用する要素に十分なpaddingをつける等して、影の対象に十分な余白を作る */
  filter: drop-shadow(0 0px 3px rgba(0, 0, 0, .9));
		width: 99.3%;
		margin: 0 auto 66px;
}
		
	}	
ul.newsList {
  display: flex;
  flex-flow: row wrap;
  border-bottom: 1px dotted #392415;
  padding: 10px 0;
}

	ul.newsList li:nth-child(1) {
		width: 8em;
}

	ul.newsList li:nth-child(2) {
  color: #fff;
		width: 100px;
  font-size: 12px;
  padding: 5px 10px;
  text-align: center;
  background-color: #4c9ac0;
}

	ul.newsList li:nth-child(3) {
  padding: 5px 10px;
}

#n_inner p a {
  display: block;
  padding: 1em 0 0;
  text-align: center;
  color: #333;
}
	
section h2 {
	text-align: center;
	color: #333;
	margin: 0 auto 1em;
	font-weight: bold;
	font-size: 100%;

	

}
