@charset "utf-8"; 
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
* {
	margin: 0px;
	padding: 0px;
}

.bnr a:hover img {
  opacity: 0.70;
  filter: alpha(opacity=70);
  -moz-opacity: 0.70;
  -ms-filter: "alpha(opacity=70)";
}
html,body {
width: 100%;
height: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
-webkit-text-size-adjust: 100%;
background-color:transparent;

}
html{
	width: 100%;
	overflow-y:scroll;
	}
body{
	counter-reset: number 0;
	display: flex;
	flex-direction: column;
	position: relative;
	min-height: 100vh;
	/*font-family: "arial";*/
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1em;
	border-top: 5px solid #7abb23;
	color: #333333;
}
.clearfix:after{
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.clearfix{
	min-height: 1px;
}
* html .clearfix{
	height: 1px;
}
ul,ol,li{
	list-style: none outside none;
	 margin: 0;
	 padding: 0;
	 border: 0;
}
img{
	border: 0px;
}
a{
	color: #0065b3;
	text-decoration: none;
}
a:hover{
	text-decoration: underline;
}
.center{
	text-align: center;
}
p{
	line-height: 1.4em;
}
.clear{
	clear: both;
}
.red{
	color: #ff0000;
}
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;
    background:transparent;
	
}


table {
    border-collapse:collapse;
    border-spacing:0;
}
/***********************************************************
Header
***********************************************************/
#header{
	display: block;
	width: 100%;
	max-width: 870px;
	margin: 5px auto 40px;
	
}
/***********************************************************
Footer
***********************************************************/
#footer{
	margin-top: 35px;
	padding-bottom: 20px;
	text-align: center;
}
#footer p{
	text-align: center;
}
/***********************************************************
Common
***********************************************************/
div.contents{
	display: block;
	width: 100%;
	max-width: 880px;
	margin: 0px auto;
	background: #fff;
}


div.contents section{
	display: block;
	width: 96%;
	margin: 0 auto 3rem;
}
@media only screen and (min-width: 1120px) {
div.contents section{
	display: block;
	margin: 0 auto 5rem;
}
}

#menu {
	display: block;
	width: 100%;
	max-width: 1120px;
	padding: 20px 0 0 0;
	margin: 0 auto 100px auto;
}

#menu ul{
	display: flex;
	justify-content: center;
	width: 100%;
	padding: 0;
	margin: 0 auto;
}
#menu ul li{
	display: block;
	text-align: center;
	font-weight: bold;
	padding: 20px 5% 0;
	font-size: calc(18px + 2 * (100vw - 320px)/800);
	
}
@media only screen and (min-width: 1120px) {
#menu ul li {
	font-size:1.25rem;
	}
}
#menu ul li a{
	display: flex;
	flex-direction: column;
	justify-content: center;
	color: inherit;
}

#menu ul li a span{
	display: block;
	font-size: 14px;
	font-weight: normal;
	padding: 5px 0 0 0;
	margin: 0;
}
#menu ul li a:hover{
	color: #7abb23;
	text-decoration: none;
}

@media only screen and (max-width: 1119px) {
#menu ul{
	display: flex;
	justify-content: space-between;
	flex-flow: row wrap;
	width: 100%;
	padding: 0;
	margin: 0;
}
#menu ul li{
	padding: 20px 0 20px;
	width: 50%;
	
}
}
@media only screen and (max-width: 599px) {
#menu {
	display: block;
	margin: 0 auto 50px auto;
}
	
#menu ul li{
	padding: 20px 0 20px;
	width: 100%;
	
}
}
/***********************************************************
INDEX
***********************************************************/
div.fade_img{
	display: block;
	width: auto;
	max-width: 870px;
	height: 100vh;
	max-height: 330px;
	margin-bottom: 15px;
}
div.fade_img img {
	display: block;
	width: auto;
	height: 100%;
	max-height: 330px;
	margin: 0 auto 0;
}
/***********************************************************
PAGE
***********************************************************/
h1.title {
  padding: 20px 10px 10px;
  text-align: center;
  font-size: calc(20px + 8 * (100vw - 320px)/800);
}
h1.title span {
  display: block;
  font-weight: normal;
  font-size: calc(14px + 2 * (100vw - 320px)/800);
}
@media only screen and (min-width: 1120px) {
  h1.title {
    font-size: 1.75rem;
  }
  h1.title span {
    font-size: 1rem;
  }
}
div.page_img {
  display: block;
  width: 100%;
  text-align: center;
  padding: 20px 0 20px;
}
div.page_img img {
  display: block;
  width: 100%;
  max-width: 870px;
  margin: 0 auto 0;
}
/***********************************************************
Contents
***********************************************************/

#Message {
  text-align: center;
}
#Message img {
  display: block;
  width: 100%;
  max-width: 250px;
  margin: 0 auto 0;
}
#Message h2 {
  font-size: calc(18px + 2 * (100vw - 320px)/800);
  line-height: 160%;
}
#Message p {
  font-weight: 600;
  font-size: calc(16px + 2 * (100vw - 320px)/800);
  line-height: 160%;
}
@media only screen and (min-width: 1120px) {
  #Message h2 {
    font-size: 1.25rem;
  }
  #Message p {
    font-size: 1.125rem;
  }
}
#Contact {
  text-align: center;
}
#Contact dl {
  font-weight: 600;
}
#Contact dd {
  font-size: calc(16px + 2 * (100vw - 320px)/800);
	
}
#Contact dt {
  margin-bottom: 10px;
  font-size: calc(15px + 1 * (100vw - 320px)/800);
}
#Contact dd .mail{
	font-size: 180%;
	line-height: 230%;
}

@media only screen and (min-width: 1120px) {
  #Contact dt {
    font-size: 1.25rem;
  }
  #Contact dd {
    font-size: 1rem;
  }
}
#Company {}
#Company table {
  width: 100%;
  margin: 0 0 0rem;
  table-layout: fixed;
  word-break: break-all;
  word-wrap: break-all;
  border-top: 1px solid #CCC;
  border-left: 1px solid#CCC;
  border-right: 1px solid#CCC;
  background: #FFF;
}
#Company table tr {
  border-bottom: 1px solid #CCC;
}
#Company table th {
  vertical-align: middle !important;
  padding: 10px 15px;
  /*white-space: nowrap;*/
  width: 24%;
  text-align: left;
  font-weight: 500;
  background-color: #7abb23;
  color: #FFF;
}
#Company table td {
  padding: 10px 15px;
  text-indent: 0px;
  text-align: left;
}
@media screen and (max-width: 599px) {
  #Company table {
    width: 100%;
    overflow: hidden;
  }
  #Company table th,
  #Company table td {
    border-bottom: none;
    display: block;
    width: 100%;
  }
  #Company table th {
    padding: 10px 10px 10px;
    background-color: #7abb23;
    color: #FFF;
  }
  #Company table td {
    padding: 10px 10px 10px;
  }
  /*#Company table th::before{
	content: "■";
	margin-right: .25rem;
	color: var(--base-color01);
	}*/
  #Contact dd .mail{
	font-size: 140%;
	line-height: 230%;
	}
}

@media screen and (max-width: 379px) {
  #Contact dd .mail{
	font-size: 120%;
	line-height: 230%;
	  white-space: nowrap;
	}
	
}

a.btn_links {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 120px;
	margin: auto;
	padding: 1rem 4rem;
	font-weight: bold;
	border: 2px solid #7abb23;
	color: #7abb23;
	border-radius: 100vh;
	transition: 0.5s;
}
a.btn_links:hover {
	color: #fff;
	background: #7abb23;
}
/***********************************************************
etc
***********************************************************/
.mt10 {
  margin-top: 10px;
}
.mt15 {
  margin-top: 15px;
}
.mt20 {
  margin-top: 20px;
}
.mt30 {
  margin-top: 30px;
}
.mt40 {
  margin-top: 40px;
}
.paR50 {
  padding-right: 50px;
}
.mb20 {
  margin-bottom: 20px;
}
