@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;500;700&display=swap');


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

html{scroll-behavior:smooth; overflow:auto; }
body,input,textarea {font-family:"Noto Serif JP","游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
* { box-sizing:border-box; }
body {margin:0px;
	padding:0px;
	font-size:100%;
	line-height:1.5;
	color:#666666;
	font-feature-settings:"palt";
	overflow-x:hidden;
	box-sizing:border-box;
	min-width:1000px;
}
header a, footer a { color:#555; text-decoration:none; display:inline-block; }

h1 { font-size:150%; }
h2 { font-size:140%; }
h3 { font-size:130%; }
h4 { font-size:120%; }
h5 { font-size:100%; }
h6 { font-size:100%; }
h1,h2,h3,h4,h5,h6,div,dl,dt,dd,p,a,table,tr,td,address,img,
header ul, footer ul{margin:0px;
	padding:0px;
	text-align:left;
	font-style:normal;
	list-style:none outside;

}

p,td,li{text-align:justify; }

img{vertical-align:top; }
ul { margin:1em 0; padding:0 0 0 2em; } li { margin:0 0 .5em; }
header li, footer li { margin:0; }
i,em { font-style:normal; } u { text-decoration:none; } sup,sub { font-size:60%; }
label { cursor:pointer; }



/* table */
table        { width:100%; border-collapse:collapse; border-spacing:0; }
thead th, thead td { background:#ABD0CC; color:#FFF; font-weight:bold; white-space:normal; }
th, td       { border-bottom:1px solid #DDD; padding:5px; vertical-align:top; }
th         { text-align:center; white-space:nowrap; background-color:#333; color:#FFF; }
table, tr, td, th  { border-color:#dddddd; }
td         { text-align:left; background:#FFF; }

/* * */
.aster li:before { content:"※"; }
.aster li { padding-left:1em; text-indent:-1em; font-size:90%; }

/* -------------------------------------------- */
a 		{ text-decoration:none; color:#666666; cursor:pointer; }
a:hover { /*opacity:.50;*/ text-decoration:none; }
/* --------------------------------------------*/

/* inner */
main {margin:0;width:100%; }
main .inner      { padding:80px 0px; margin:0px auto; width:1000px; text-align:justify; }


/*safari アニメーションの残像用*/
_::-webkit-full-page-media, _:future, :root *, :root *::before, :root *::after{
transform: translate3d(0, 0, 0);
}

/*--------------------------------------------
header
--------------------------------------------*/
header .inner         { width:1000px; display:flex; justify-content:space-between; align-items:center; margin:0 auto; }
header h1{display:flex; align-items:center; justify-content:center; width:380px; height:120px; margin:0; padding:0; background:#000; }


/* haeder nav ********** */

header .inner .hamburger-menu nav     { margin:0; width:620px; display:flex; justify-content:flex-end; }
header .inner .hamburger-menu nav ul  { width:auto; margin:0; display:flex; list-style:none; }


header .inner .hamburger-menu nav ul li    { width:auto; margin:0px 10px 0 0;list-style:none; position:relative; }
header .inner .hamburger-menu nav ul li:after  { content:""; background:#829f5c; display:block; height:100%; width:1px; position:absolute; right:-6px; top:0; transform:rotate(20deg); }
header .inner .hamburger-menu nav ul li a    { display:block; padding:0 20px; font-weight:bold; color:#000;position:relative; }

#menu-btn-check { display:none; }





header .inner .hamburger-menu nav ul li a::after {
  /*アンダーラインのスタイル*/
  position:absolute;
  content:"";
  display:block;
  width:100%;
  height:5px;
  background-color:#829f5c;
  bottom:-10px;
  left:0;
  /*横方向0で非表示にする*/
  -webkit-transform:scale(0, 1);
  transform:scale(0, 1);
  /*中央を基点にアニメーション*/
  -webkit-transform-origin:center top;
  transform-origin:center top;
  /*アニメーションの速度設定*/
  -webkit-transition:all 0.5s ease;
  transition:all 0.5s ease;

}

header .inner .hamburger-menu nav ul li a:hover::after {
  /*横方向等倍まで拡大*/
  transform:scale(1, 1);
}



/*--------------------------------------------
footer
--------------------------------------------*/
footer   { background:#000; color:#fff; padding:60px 0; }
footer a { color:#fff; }

footer div.contact   { width:100%;border-bottom:solid 1px #fff;text-align:center; }
footer div.contact div { display:flex; justify-content:space-between; align-items:flex-start; width:1000px; margin:0 auto; }
footer div.contact div ul  { list-style:none; font-size:1.5em; }
footer div.contact div ul li { padding:0 0 0 15px; border-left:solid 10px #91b068; margin:0 0 45px 0; }


footer .inner { margin:0 auto; !important; width:1000px; text-align:justify; text-justify:inter-ideograph; padding:0; }
footer .inner address  { margin:60px 0 0 0; }
footer .inner address img{ margin-bottom:30px; }
footer .inner .copyright { margin-top:30px; }



/*------------------------------------------------------------
	ページトップ
------------------------------------------------------------*/

.pagetop {
  position:fixed;
  right:60px;
  bottom:60px;
  height:60px;
  text-decoration:none;
  font-weight:bold;
  transform:rotate(90deg);
  font-size:90%;
  line-height:1.5rem;
  color:#ccc;
  padding:0 0 0 35px;
  border-top:solid 1px #ccc;
}


.pagetop:before {
  content:"";
  display:block;
  position:absolute;
  top:-1px;
  left:0px;
  width:15px;
  border-top:solid 1px #ccc;
  transform:rotate(-35deg);
  transform-origin:left top;
}


.pagetop:after {
  content:'';
  background:#666;
  width:100%;
  height:1px;
  position:absolute;
  right:0px;
  top:-1px;
  margin:auto;
  transition:transform .3s;
  transform-origin:left top;
  transform:scale(0, 1);
}
.pagetop:hover:after {
  transform-origin:right top;
  transform:scale(1, 1);
}

.pagetop:hover:before{border-top:solid 1px #666; }
.pagetop:hover{ color:#666; }



.sp { display:none; }



