@charset "utf-8";
* {
margin: 0px;
padding: 0px;
box-sizing: border-box;
}
html {
	 box-sizing: border-box;
	}
body {
  background: #FFFFFF ;
  font-family: YuMincho, 'Yu Mincho', serif;
  color: #333;
  width:100vw;
  margin:0 auto;
  overflow-x: hidden;
}
.wrapper {
	margin:0 auto;
}
a {
  color:#333;
}
a:hover {
  color: #0033FF;
}
#nav_sp a{
	  text-decoration: none;
}
#nav_sp a:hover{
	  text-decoration: none;
}

#header nav ul a{
	    display: block;
    padding: 40px 1em;
	  transition-duration: 1s;	/*変化に掛かる時間*/
	  vertical-align: middle;
 text-align: center;
  text-decoration: none;
}
#header nav a:hover{
  color:#5CC4EF;
  transition-duration: 1s;	/*変化に掛かる時間*/
   text-decoration: none;
}
#header  #logo {
	height:50%;
	margin:auto 0;
	width: 15%;
}
h1{
	font-size:32px;
	padding:50px 0;
}
h2{
	font-size:24px;
	padding:3rem 0;
	background-image: url("../images/h2line.png");
	background-position: left center;
	background-repeat:no-repeat;
}
h3{
	font-size:18px;
	padding:25px 0;
}
h4{
	font-size:16px;
	padding:25px 0;
}
p{
	font-size:14px;
}
header {
	padding: 0 calc((100% - 1200px) / 2);
    width: 100%;
	position:fixed;
	top:0;
	background: rgba(255,255,255,0.8);
	z-index:99999;
}
#header {
	max-width:1200px;
	margin:auto;
	display:flex;
	height:auto;
}
.sns a{
	    width: 35%;
	margin-left: 1em;
	transition-duration:0.5s;
}
.sns a:hover{
	transform: scale(1.3);
	transition-duration:0.5s;
}
#header nav {
	vertical-align:middle;
	margin: auto 0 auto auto;
	font-size:14px;
	height:100px;
	display:flex;
}
#header #logo img{
	width: 100%;
	transition-duration:0.3s;
}
#header #logo img:hover, img#flogo:hover {
	opacity: 0.6;
}
#header ul{
	display:flex;
	margin-left: auto;
	height:100px;
	}
#header li {
	margin:auto;
	list-style: none;
	display:block;
	height:100px;
	transition-duration: 1s;	/*変化に掛かる時間*/
}
#header li:hover {
	  background-color:#ddd;
	   transition-duration: 1s;	/*変化に掛かる時間*/
}
.sns {
	    display: flex;
    margin: auto 0;
    width: 13%;
		height: 25px;;
}
.sns p{
	margin: auto 0;
}

.sns .snsicon{
	width: 100%;
	height: auto;
	vertical-align: middle;
}
#nav_sp{
	display:none;
}
.bulu {
	color:#aee46e;
}
.greene {
	color:#7fbbe5;
}
#header h2{
	display:none;
	background:none;
}

#footer {
	width:75vw;
	height:auto;
	padding:1em 70px;
	display:flex;
	position: relative;
 	z-index:999;
  margin-left: auto;
  background: transparent;
}
#footer a{
	text-decoration: none;
}
#footer .small {
	margin:auto auto 0 auto;
	padding: 10px;
	/* height: 110px; */
}

#flogo {
	margin:auto 0 0 auto;
	transition-duration:0.3s;
}
main {
	padding-top: 100px;
	display: block;
}
.main {
	padding:50px 0;

}
.main section {
	padding:50px 0;
}

@media screen and (max-width: 1000px) {
	#footer {
	width: 100vw;
	}
	#header ul{
		width:100vw;
		display:none;
	}
	#header nav {
		margin:0;
	}
	#nav_sp{
		display:inline;
	}
 header {
 	padding:0;
 	width:100vw;
 }
	#header #logo img{
		margin:auto;
		text-align:center;
		width: 100%;
	}
	#header #logo {
    height: 100%;
    width:30%;
    margin: auto;
	}

	#flogo {
	   width: 100 %;
	}
	.sns{
	width:20%;
	    top: 70px;
	    right: 15px;
	    position: fixed;
	    cursor: pointer;
	}
	.sns a {
	    width: 25%;
	    margin-left: 1em;
	}
}
@media screen and (max-width: 700px) {
@font-face {
	  font-family: 'Noto Serif Japanese';
	  font-style: normal;
	  font-weight: 400;
	  src: url(../fonts/NotoSerifCJKjp-Regular_1.woff) format('woff');
	  font-display: swap;
	}
	body,.main h1{
	  font-family: YuMincho, 'Yu Mincho','Noto Serif Japanese',serif, sans-serif;
	}

#footer {
	flex-direction:column-reverse;
	height:auto;
	width: 100vw;
	margin:0;
	padding-left:0;
	padding-right:0;
}
.small{
	margin:1em auto;
	text-align:center;
}
#flogo{
	display:block;
	margin:1em auto;
	width: 30%;
}
.sns{
width:15%;
    top: 70px;
    right: 10px;
}
.sns a{
	    width: 25%;
	margin-left: auto;
}
}
@media screen and (max-width: 550px) {

.small{
	margin:1em auto;
	text-align:center;
}
#flogo{
	display:block;
	margin:1em auto;
	width: 50%;
}
.sns {
    width: 130px;
}
/* .sns a{
	    width: 25%;
	margin-left: auto;
} */
.sns a:not(:first-child) {
    margin-left: 19px;
}
}
