@charset "utf-8";


/* 
--------------------------------------------------------------------------------------*/
/* 
--------------------------------------------------------------------------------------*/
html {font-size: 62.5%;}
body{
	text-align: center;
	margin:0;
	padding:0;
	font-family: "Noto Serif JP", serif;
	font-size: 2.2rem;
	line-height: 2;
	color:#231815;
	overflow:auto;
	font-weight: 400;
  font-optical-sizing: auto;
  font-style: normal;
}
a:link {color:#0054a5; text-decoration:none;}
a:visited {color:#505050;text-decoration:none;}
a:hover {color:#ccc; text-decoration:none;}
a:active {color:#505050;text-decoration:none;}
.containar {transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);}
.hiragino{font-family:"Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";}
.fontGood {color:#48b3ce;}

/* header
--------------------------------------------------------------------------------------*/
#header{
	width: 100%;
	margin: 0;
	padding: 0;
	text-align:left;
	position: relative;
	height: 80px;
	background-color: #fff;
	display: block;
}

#header h1 {
	position: absolute;
	top: 15px;
	left: 1%;
  z-index: 8888;
	font-weight: 600;
	line-height: 1;
}
#header h1 .h1_caption{display: block;font-family: "M PLUS Rounded 1c", sans-serif;font-size: 0.5em; margin-bottom: 2%; color: #00b700; font-weight: 400;}
#header h1 img{display: block;}

#header #contactBox{
	height: 80px;
	font-family:"Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	display: flex;
	flex-direction: row-reverse;
}
#header #contactBox #contact_tel{
	position: absolute;
	margin: 0;
	padding: 0 1%;
	right: 270px;
	top: 0;
  height:80px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
#header #contactBox #contact_tel ul{}
#header #contactBox #contact_tel li{
	line-height: 1.1;
  font-weight: 700;
}
#header #contactBox #contact_tel li:nth-of-type(1){font-size: 0.5em;}
#header #contactBox #contact_tel li:nth-of-type(2){font-size: 1.4em;font-family: "M PLUS Rounded 1c", sans-serif;color: #00b700;}
#header #contactBox #contact_tel li:nth-of-type(3){font-size: 0.6em;}

#header #contactBox #contact_mail{
	width: 190px;
	position: absolute;
	margin: 0;
	padding: 0;
	right: 80px;
	top: 0;
}

/* common
--------------------------------------------------------------------------------------*/
#wrapper{
  width: 100%;
  margin: 0;
  padding: 0;
  text-align: center;
  position: relative;
	display: block;
	clear: both;
}
#index #wrapper{padding: 0 0 5% 0;}

#wrapper #grad{background: linear-gradient(to bottom, #ffe8f2, #fff);}

#wrapper #tagg{
	max-width: 960px;
	margin-right: auto;
	margin-left: auto;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}
#wrapper #tagg img{
	width: 100%;
	height: auto;
}

#wrapper .containar{
	max-width: 1200px;
	margin-right: auto;
	margin-left: auto;
	display: block !important;
	clear: both;
}

#wrapper .containar.tops{
	border-top: 4px dotted #48b3ce;
	padding-top: 5%;
}
#index h2{
	text-align: left;
	margin-bottom: 1.2em;
}
h3{
	text-align: left;
	margin-bottom: 5%;
}

#footer {
	width: 100%;
	clear:both;
	margin: 0;
	padding: 3% 0 1% 0;
	text-align:center;
  background: -moz-linear-gradient(left, #92e649 5%, #00af00);
  background: -webkit-linear-gradient(left, #92e649 5%, #00af00);
  background: linear-gradient(to right, #92e649 5%, #00af00);
	font-family:"Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	font-weight: 400;
}
#footer #foot{
	max-width: 1200px;
	margin-right: auto;
	margin-left: auto;
	padding: 1% 0;
}
#footer #foot #footL{
	width: 25%;
	margin-right: 2%;
	float: left;
}
#footer #foot #footL h1{
	font-weight: 700;
	text-align: left;
  font-size: 1.3em;
}
#footer #foot #footL p{
	color: #fff;
	text-align: left;
  font-size: 0.8em;
}
#footer #foot #navigation{
	width: 70%;
	float: right;
	display: flex;
	justify-content:flex-end;
}
#footer #foot #navigation div{
	text-align: left;
	margin-left: 30px;
}

#footer #copyright{
	width: 98%;
	clear:both;
	text-align:center;
	color: #fff;
	padding: 0.2% 1%;
  font-size: 0.6em;
}


/* common
--------------------------------------------------------------------------------------*/

.flexBox{
	width:100%;
	display:flex;
	flex-wrap:wrap;
	justify-content:left;
	align-content: space-between;
}
.flexBox.reverse{flex-direction: row-reverse;}
.flexBox.align-itemsC{align-items: center;}

.flexBox .item48{
	width: 48%;
	margin: 0 2% 0 0;
}
.flexBox .item48:nth-child(2n){width: 48%;margin: 0 0 0 2%;}
.flexBox.reverse .item48{width: 48%;margin: 0 0 0 2%;}
.flexBox.reverse .item48:nth-child(2n){margin: 0 2% 0 0;}

.flexBox .item35{width: 35%; margin-right: 5%;}
.flexBox .item60{width: 60%;}
.flexBox .item60 img{width: 100%; height: auto;}

.flexBox .item25{width: 25%;}
.flexBox .item25 img{width: 100%; height: auto;}
.flexBox .item70{width: 70%; margin-right: 5%;}

.flexBox .item48 img,
.flexBox .item2 img,
.flexBox .item3 img,
.flexBox .item4 img,
.flexBox .item5 img,
.flexBox .item6 img{
	width:100%;
	height: auto !important;
}

p.palt{font-feature-settings: "palt";}

.iframe {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.iframe iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
	border-radius: 12px;
}
.form{text-align: left;}
::-webkit-input-placeholder {color:#b5b5b6;} :-moz-placeholder {color:#b5b5b6;}
input, textarea {border: 1px solid #b5b5b6; border-radius: 5px; margin: 0; padding: 10px 2%; background-color: #fff;}
input[type='radio'], input[type='checkbox']{margin-right: 1.5%;margin-left: 0em;margin-top: -.5em;}
input{margin-bottom: 1%;}
select {
	border: 1px solid #b5b5b6;
	padding: 10px 2%;
	border-radius: 5px;
	background: #fff;
}
.form label{
  display:inline;
  position:relative;
  padding-left:1em;
  line-height:1;
	margin-right: 4em !important;
	white-space: nowrap;
}
.form label input{
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  margin:auto;
}
textarea {
	width: 100%;
  height: 12em;
  border-radius: 5px;
}
.text_box{width: 80%;}
.text_box._name{width: 50%;}
.text_box._mails{width: 50%;}

.wrap_pink{background-color: #ffeef0; padding: 5% 0;}
.wrap_yellow{background-color: #faf9d7; padding: 5% 0;}
.wrap_green{background-color: #e0f2ec; padding: 5% 0;}
.wrap_blue{background-color: #ecf8f8; padding: 5% 0;}
.wrap_gray{background-color: #f7f8f8; padding: 5% 0;}
.wrap_none, .wrap_white{background-color: #fff; padding: 5% 0;}

.button {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
	
}
.button a {
  font-size: 1em;
  font-weight: 200;
  color: #fff;
  background-color: #4fb334;
  padding: 0.6em 4em;
  border: #4fb334 solid 1px;
  -webkit-transition: all ease-in-out 0.4s;
  -o-transition: all ease-in-out 0.4s;
  transition: all ease-in-out 0.4s;
  border-radius: 7px;
	letter-spacing:1em;
	text-indent: 1em;
}
.button a:hover {
  color: #4fb334;
  background-color: #fff;
}
.border{border-bottom: 1px dotted #999; margin-bottom: 3%; padding-bottom: 3%;}


/*  
--------------------------------------------------------------------------------------*/

@media screen and (max-width: 1024px) {
html, body{
	width: 100%;
	margin: 0;
	padding: 0;
	font-size:16px;
	line-height:1.5;
	min-width:initial;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
}
#nav{display: none !important;}
.slicknav_menu {display:block;}
}

@media screen and (width: 767px) {
html, body{
	width: 100%;
	margin: 0;
	padding: 0;
	font-size:16px;
	line-height:1.5;
	min-width:initial;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
}

}



/* sp
--------------------------------------------------------------------------------------*/
/* 
--------------------------------------------------------------------------------------*/

@media only screen and (max-width: 481px) {
html, body{
	width: 100%;
	margin: 0;
	padding: 0;
	font-size:16px;
	line-height:1.6;
	min-width:initial;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
}

/* header
--------------------------------------------------------------------------------------*/
#header{
	height: 50px;
}
#header h1 {
	top: 8px;
	width: 48%;
	left: 2.5%;
}
#header h1 .h1_caption{display: block;font-family: "M PLUS Rounded 1c", sans-serif;font-size: 0.4em; margin-bottom: 2%; color: #00b700; font-weight: 400;}
#header h1 img{
	width: 100%;
	height: auto;
}

#header #contactBox{
	height: 50px;
	display: flex;
}
#header #contactBox #contact_tel{
  display:none;
}
#header #contactBox #contact_mail{
	width:auto;
	margin: 0;
	padding: 0;
	right: 50px;
	position:relative;
}
#header #contactBox #contact_mail img{
	width: auto;
	height: 50px;
}

#wrapper{margin: 0;}
#index#wrapper{
  margin: 6% 0 0 0;
}
#wrapper #tagg{
	width: 90%;
	max-width: inherit;
	margin-right: 0;
	margin-left: 0;
  position: absolute;
  top: 0;
  left: 10%;
  transform: translate(-5%, -50%);
}
#wrapper #tagg img{
	width: 100%;
	height: auto;
}

#wrapper .containar{
	max-width:inherit;
	width: 90%;
	margin-right: 0;
	margin-left: 0;
	padding: 5%;
}
#wrapper .containar.mgB200{ margin-bottom: 2% !important;}
.containar h2{
	font-size: 1.5em;
	margin-bottom: 1em;
}
#footer {
	width:100%;
	padding: 8% 0 4% 0;
	text-align:center;
  background: -moz-linear-gradient(left, #92e649 5%, #00af00);
  background: -webkit-linear-gradient(left, #92e649 5%, #00af00);
  background: linear-gradient(to right, #92e649 5%, #00af00);
	font-family:"Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	font-weight: 400;
}
#footer #foot{
	max-width: inherit;
	width: 100%;
	margin-right: 0;
	margin-left:0;
	padding: 1% 0;
}
#footer #foot #footL{
	width: 92%;
	margin: 0;
	float: none;
	text-align: center;
	padding: 0 4%;
}
#footer #foot #footL h1{
	width: 90%;
	margin: 4% 5% 5% 5%;
	text-align: center;
}
#footer #foot #footL h1 img{
	width: 100%;
	height: auto;
}
#footer #foot #footL p{
	text-align: center;
  font-size: 1.2em;
}
#footer #foot #navigation{
	width: 92%;
	margin-top: 5%;
	float: none;
	display: block;
	padding: 0 4%;
}
#footer #foot #navigation div{
	text-align: center;
	margin-left: 0;
	margin-bottom: 5%;
}
#footer #foot #navigation div img{
	width: 100%;
	height: auto;
}
#footer #copyright{
  font-size: 1em;
}
.flexBox{
	width:100%;
	flex-direction:column;
	margin: 0;
	padding: 0;
}
.flexBox .item48{
	width: 98%;
	margin: 0 1%;
}
.flexBox .item48:nth-child(2n){width: 98%;margin: 0 1% 0 1%;}
.flexBox .item48 img{
	width:100%;
	height: auto !important;
}
.flexBox .item70{
	width: 100%;
	margin: 0;
	padding: 0;
}

.flexBox.reverse .item48{
	width: 100%;
	margin: 0;
}
.flexBox .item25{width: 50%; margin: 0 25%;}
.flexBox .item35{width: 100%; margin-right: 0;}
.flexBox .item60{width: 100%;}
.flexBox .item60 img{width: 100%; height: auto;}

.iframe { height:200px;}
input {margin: 2% 0 2% 0;}
#contact textarea{width: 94%;}
.text_box{width: 94%;}
.text_box._name{width: 94%;}
.text_box._mails{width: 94%;}
._tel{width: 50%;}
.checkbox {margin-right: 1% !important; background-color: #f00;}
.form label{
  display:inline-block;
  position:relative;
  padding-left:0;
  padding-right:1em;
  line-height:1;
  margin-left:0;
	margin-right: 2em !important;
	margin-bottom: 0.5em !important;
	white-space: nowrap;
}
.form label input{
  position:relative;
  display:inline;
  margin:0 0.5em 0 0 !important;
}
	
#topcontrol img{width:40px !important; height: 40px !important;}


}