@charset "utf-8";

/* all
--------------------------------------------------------------*/
* {
  margin:0;
  padding:0;
}

html{
  font-size: 62.5%;/*10px*/
  overflow-x: hidden;
  position: relative;
}
body{
  font-size: 16px;
  font-size: 1.6rem;
  line-height:1.6;
  font-family: "游ゴシック Medium", "Yu Gothic UI", "Yu Gothic Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meriryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  color: #333;
}
_:-ms-lang(x)::-ms-backdrop, html,body {/* IE11のみ */
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
}

/* link */
a {
  text-decoration: none;
  color: #148541;
  transition: all 0.5s;
}
a img {transition: all 0.5s;}
a:hover {color:#666;}
a:hover img {opacity: 0.8;}
a.blank::after{
  margin-left:0.3em;
  content:'';
  display:inline-block;
  width:16px;
  height:15px;
  background:url(../img/icon_window.svg) left center no-repeat;
}

/* img */
img, svg {
  line-height: normal;
  vertical-align: bottom;
}

/* list */
ul,ol {list-style: none;}

/* h */
h1, h2, h3, h4, h5, h6 {font-weight:bold;
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;}
_:-ms-lang(x)::-ms-backdrop, h1, h2, h3, h4, h5, h6 {/* IE11のみ */
  font-family: "Hiragino Mincho ProN", "MS PMincho", "serif";
}

/* sup & sub */
sup,sub {font-size: small;}

/* clear */
.clear {clear: both;}
.clear::after {
  content:".";
  height:0px;
  clear:both;
  display: block;
  visibility:hidden;
}

/* float */
.floatLeft {float: left;}
.floatRight {float: right;}

/* text */
.textLeft{text-align:left;}
.textRight{text-align:right;}
.textCenter{text-align:center;}

/* color */
.red {color:  #f00;}
.grey {color: #555;}

/* font weight */
.bold{font-weight:bold;}

/* br pc/tb/sp */
br.pc{display:block;}
br.tb{display:none;}
br.sp{display:none;}
br.pc_tb{display:block;}
br.pc_sp{display:block;}
br.tb_sp{display:none;}

/* table */
.table table {
  width:100%;
  border-collapse:collapse;
  border-spacing:0;
  border-top:solid #ccc 1px;
}
.table table th,
.table table td {
  padding:7px 10px;
  border-bottom:solid #ccc 1px;
  line-height:normal;
}
.table table th {
  background-color:#eee;
  font-weight:normal;
  width:30%;
}
.table table td {
  text-align:left;
  background-color:#fff;
}

@media only screen and (max-width:768px) {
  .floatLeft,
  .floatRight {float: none;}
  br.pc{display:none;}
  br.tb{display:block;}
  br.sp{display:none;}
  br.pc_tb{display:block;}
  br.pc_sp{display:none;}
  br.tb_sp{display:block;}
}
@media only screen and (max-width:480px) {
  .table table th,
  .table table td {
	font-size:1.4rem;
	display:block;
	width:calc(100% - 20px);
  }
  br.pc{display:none;}
  br.tb{display:none;}
  br.sp{display:block;}
  br.pc_tb{display:none;}
  br.pc_sp{display:block;}
  br.tb_sp{display:block;}
}

/* wrapper
--------------------------------------------------------------*/
#wrapper {
  position:relative;
  height:100%;
}
.box{
  width:80%;
  max-width:1180px;
  margin:auto;
}
@media only screen and (max-width:1024px) {
  .box{width:90%;}
}
@media only screen and (max-width:768px) {}
@media only screen and (max-width:480px) {}

/* header
--------------------------------------------------------------*/
header{
  position:absolute;
  width:100%;
  background-color:rgba(76,55,13,.9);
  z-index:100;
  height:50px;
}
.logo{
  width:200px;
  position:absolute;
  top:14px;
  left:80px;
  filter:drop-shadow(0 0 3px rgba(0,0,0,.2));
}
.logo a img{opacity:1;}
.logo img{width:100%;}
.nav-sub{
  display:flex;
  position:absolute;
  top:14px;
  right:80px;
}
.nav-sub li{margin-left:30px;}
.nav-sub li a{color:#fff;}

#nav-toggle{display:none;}
.nav-main{display:none;}

/*スマホのトグルボタンのCSS*/
#nav-toggle {
  display: none;
  position: absolute;
  right: 13px;
  top: 15px;
  width: 60px;
  height: 60px;
  background: #000;
  cursor: pointer;
  z-index: 400;
  border-radius:5px;
}
#nav-toggle div {
  position: relative;
}
#nav-toggle span {
  display: block;
  position: absolute;
  height: 4px;
  width: 68%;
  background: #fff;
  left: 0;
  right: 0;
  margin: auto;
  transition: .35s ease-in-out;
  background:#fff;
}
#nav-toggle span:nth-child(1) {top:12px;}
#nav-toggle span:nth-child(2) {top:28px;}
#nav-toggle span:nth-child(3) {top:44px;}
@media only screen and (max-width:768px) {
  .logo{left:5%;}
  .nav-sub{right:5%;}
}
@media only screen and (max-width:480px) {
  #nav-toggle{display:block;}
  .header.menu-open{
	z-index:300;
	height:100vh;
	background-color:#4c370d;
	transition: all 0.5s;
	position:fixed;
	width:100%;
  }
  .global-nav{
	height:0;
	transition: all 0.5s ease-in-out;
	position:relative;
	top:-100vh;
	transition: all 0.5s;
  }
  .menu-open .global-nav{
	padding-top:95px;
	height:auto;
	top:inherit;
	transition: all 0.5s;
  }
  .nav-main,
  .nav-sub{
	display:block;
	width:100%;
  }
  .nav-sub{
	top:0;
	right:0;
	position:relative;
  }
  .nav-sub li{margin:0;}
  .nav-main li,
  .nav-sub li{padding:5px 20px;}
  .nav-main li a,
  .nav-sub li a{
	background-color:#edf2eb;
	width:100%;
	display:block;
	text-align:center;
	color:#333;
	padding:18px 0;
  }
}

/* container
--------------------------------------------------------------*/
#container{
  background-image:url(../img/bg_01.jpg);
  background-repeat:no-repeat;
  background-position:top center;
  padding-bottom:60px;
  background-size:100% auto;
  padding:80px 0;
  position:relative;
}

/* pagetop
--------------------------------------------------------------*/
#pagetop {
  position:fixed;
  bottom:20px;
  right:20px;
  z-index:100;
  width:50px;
  height:50px;
  background:rgba(20,133,65,0.8);
  border-radius:3px;
}
#pagetop a {
  display: block;
  width:50px;
  height:50px;
}
#pagetop:before,
#pagetop:after {
  width:16px;
  height:2px;
  border-radius:5px;
  position:absolute;
  display:block;
  background:#fff;
  content:'';
}
#pagetop:before {
  transform:rotate(45deg);
  top:22px;
  right:12px;
}
#pagetop:after {
  transform:rotate(-45deg);
  top:22px;
  left:12px;
}
#pagetop span {display: none;}

@media only screen and (max-width:768px) {
  #pagetop {
    position:inherit;
    bottom:auto;
    right:auto;
    background:transparent;
    width:auto;
    height:auto;
    text-align:center;
    border-radius:0;
	z-index:auto;
  }
  #pagetop:before,
  #pagetop:after{display: none;}
  #pagetop a {
    width:100%;
	height:50px;
    line-height:50px;
	background-color:rgba(20,133,65,0.8);
  }
  #pagetop span {
    display:block;
    font-size:16px;
    color:#fff;
  }
}

/* footer
--------------------------------------------------------------*/
footer{
  font-size:1.4rem;
  background-color:#edf2eb;
}
.footer{
  display:flex;
  justify-content:space-between;
  padding:20px 0;
}
.footer-logo{
  width:200px;
  margin-bottom:10px;
  filter:drop-shadow(0 0 3px rgba(0,0,0,.2));
  margin-right:20px;
}
.footer-logo img{width:100%;}
.footer .address{display:flex;}
.footer-link{
  display:flex;
  justify-content:space-between;
}
.footer-link ul{margin-left:20px;}
.footer-link ul li{
  position:relative;
  padding-left:1em;
  line-height:2;
}
.footer-link ul li::before{
  content:'';
  width:6px;
  height:6px;
  border-radius:50px;
  background-color:#148541;
  position:absolute;
  top:50%;
  left:0;
  transform:translateY(-50%);
}
.footer-link ul li a{color:#333;}
.footer-link ul li a:hover{color:#148541;}
footer .copy{
  height:50px;
  line-height:50px;
  text-align:center;
  background-color:#333;
  color:#fff;
}
@media only screen and (max-width:768px) {
  footer{margin-top:0;}
}
@media only screen and (max-width:480px) {
  .footer{display:block;}
  .footer .address{display:block;}
  .footer-link ul{margin:20px 0 0;}
}


/* for print
--------------------------------------------------------------*/
@media print {
  body {
    width: 1280px;
    min-width: 1280px;
    max-width: 1280px;
    transform: scale(1);
    -ms-transform: scale(1);
    -moz-transform: scale(1);
    -webkit-transform: scale(1);
    transform-origin: 0 0;
    zoom:1;
    -webkit-print-color-adjust: exact;
  }
  #pagetop{display:none;}
}
